Midterm

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/68

encourage image

There's no tags or description

Looks like no tags are added yet.

69 Terms

1
New cards

Software

Computer programs and associated documentation.

2
New cards

Software Engineering

The application of a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software.

3
New cards

Software Documentation

Deliverables including requirements, design models, program comments, configuration files, and user manuals.

4
New cards

Importance of Software Engineering

Societies rely heavily on reliable software produced economically and quickly; using engineering methods is cheaper in the long run than personal programming approaches.

5
New cards

Quality Focus

The bedrock that supports all software engineering practices.

6
New cards

Process

The glue that holds technology layers together and enables timely software development.

7
New cards

Methods

Technical 'how-to’s' for building software.

8
New cards

Tools

Automated or semi-automated support for processes and methods.

9
New cards

Software Specification

Defining the functionality and operational constraints of the software.

10
New cards

Software Development

Producing software that meets the specification through design and implementation.

11
New cards

Software Validation

Verifying that the software does what the customer wants.

12
New cards

Software Evolution

Modifying software to meet changing customer needs over time.

13
New cards

Stand-alone Applications

Run locally on a computer without requiring a network connection.

14
New cards

Interactive Transaction-Based Applications

Remote applications accessed by users over a network (e.g., e-commerce).

15
New cards

Embedded Control Systems

Software that manages and controls hardware devices.

16
New cards

Batch Processing Systems

Business systems designed to process data in large batches.

17
New cards

Entertainment Systems

Personal use systems designed primarily to entertain.

18
New cards

Systems for Modeling and Simulation

Computational models of physical processes containing interacting objects.

19
New cards

Data Collection Systems

Sensor-driven systems that collect environmental data for processing.

20
New cards

Systems of Systems

Complex software systems composed of multiple individual software systems.

21
New cards

Software Process

A structured set of activities required to develop a software system.

22
New cards

Software Process Model

An abstract, high-level representation of a software process from a specific perspective.

23
New cards

Plan-Driven Software Process

A process where all activities are planned in advance and progress is measured against this pre-established plan.

24
New cards

Agile Process

A process where planning is incremental, making it easy to adapt to changing customer requirements.

25
New cards

Waterfall Model

A plan-driven, sequential model with separate and distinct phases of specification and development.

26
New cards

Incremental Development

Interleaved specification, development, and validation that delivers software as a series of increments.

27
New cards

Agile Software Development

Iterative methodology focused on code delivery, frequent releases, customer collaboration, and minimal documentation.

28
New cards

Customer Involvement

Customers actively prioritize requirements and evaluate system iterations.

29
New cards

Incremental Delivery

Software is delivered in small increments based on customer priorities.

30
New cards

People Not Process

Exploiting team skills without imposing prescriptive processes.

31
New cards

Embrace Change

Designing systems to easily accommodate evolving requirements.

32
New cards

Maintain Simplicity

Actively working to eliminate complexity from the software and process.

33
New cards

Extreme Programming (XP)

An extreme iterative approach featuring small releases, automated testing, and strong technical practices.

34
New cards

User Story

Customer requirements expressed as scenarios on cards, which are broken down into implementation tasks.

35
New cards

Refactoring

Continually improving internal code structure without changing its external behavior.

36
New cards

Test-Driven Development (TDD)

Writing automated unit tests before writing the production code to clarify requirements.

37
New cards

Pair Programming

Two developers working together at one screen, sharing knowledge and providing real-time code review.

38
New cards

Scrum

An agile framework focused on managing iterative development using sprints, backlogs, and daily check-ins.

39
New cards

Sprint

A fixed-length development iteration (typically 2–4 weeks).

40
New cards

Product Backlog

A prioritized list of required features, stories, and tasks to be completed.

41
New cards

Potentially Shippable Product Increment

A fully tested, finished software increment produced at the end of a sprint.

42
New cards

ScrumMaster

A facilitator who enforces the Scrum process and protects the development team from external distractions.

43
New cards

Product Owner

The individual responsible for identifying features, maintaining the product backlog, and driving business value.

44
New cards

Development Team

A self-organizing group of software developers (7 people or fewer) responsible for building the software.

45
New cards

Requirements Engineering (RE)

The process of establishing the services required of a system and the constraints under which it operates.

46
New cards

Requirement

A statement defining what a system must do or a constraint under which it must function.

47
New cards

User Requirements

High-level natural language statements and diagrams specifying system services and constraints for customers.

48
New cards

System Requirements

Detailed structured documentation defining precise system functions, services, and operational constraints for developers.

49
New cards

Functional Requirements

Statements describing specific services, inputs, behaviors, or what the system must not do.

50
New cards

Non-Functional Requirements

Constraints on system services or qualities (such as timing, performance, standards, and security).

51
New cards

Requirements Elicitation

Interacting with stakeholders to discover system needs and constraints.

52
New cards

Requirements Specification

Formally documenting user and system requirements into an official requirements document.

53
New cards

Requirements Validation

Checking requirements to ensure they are valid, consistent, complete, realistic, and verifiable.

54
New cards

Requirements Management

Tracking and managing changing requirements throughout the software development lifecycle.

55
New cards

Stakeholders

Any person or organization affected by the system or having a legitimate interest in its outcome.

56
New cards

Software Design

The process of converting requirements into an organized software structure, divided into architectural and detailed design.

57
New cards

Architectural Design

Identifying the principal system components, their relationships, and how they are distributed.

58
New cards

Detailed Design

Decomposing main components to describe them at a finer level of detail.

59
New cards

Coupling

The measure of dependencies between two software subsystems.

60
New cards

Loose Coupling

Subsystems are independent; changes in one have minimal impact on the other.

61
New cards

Strong Coupling

Subsystems are highly dependent; changes in one likely impact the other.

62
New cards

Cohesion

The measure of dependencies among classes or objects within a single subsystem.

63
New cards

High Cohesion

Subsystem contains closely related objects performing similar tasks.

64
New cards

Low Cohesion

Subsystem contains unrelated objects.

65
New cards

Design Inputs

Platform information, requirements specification, and data description.

66
New cards

Design Outputs

System architecture, database specification, interface specification, and component specification.

67
New cards

Interface Design

Defining unambiguous specifications for communication between system components.

68
New cards

Component Design

Designing the precise internal operation and functionality of individual components.

69
New cards

Database Design

Structuring and representing system data structures within a database.