SD Prelim Flashcards

1
Q

such as meeting deadlines, managing resources effectively, handling changing requirements, ensuring quality, and addressing communication gaps.

A

Software Development Challenges

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

defines the boundaries and functionalities of a software project.
- identifying what the software will do & don’t
-crucial to prevent scope creep, which can lead to project delays and increased costs.

A

Software Scope

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

is a systematic and disciplined approach to the development, operation, and maintenance of software

A

Software Engineering Discipline:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

systematic approaches to software development that prescribe the structure and interaction of the development process.

A

Software methodologies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

recognizes the importance of people, communication, and teamwork in software development.

A

The Human Side of Software Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

an iterative and incremental approach to software development that prioritizes flexibility and responsiveness to change

A

Agile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Linear and sequential model where each phase must be completed before moving to the next
- Phases: Requirements, Design, Implementation, Testing, Deployment, Maintenance.

A

Waterfall Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

extension of the waterfall model where each development stage corresponds to a testing phase.
- Phases: R, D, I, T, D, M.

A

V-Model (Verification and Validation)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Breaks down the system into a number of small builds or increments.
- Phases: Planning, Design, Implementation, Testing, Deployment.

A

Phased (or Incremental) Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Develops the system incrementally, with each increment adding functionality.
- Phases: Prototyping, Incremental Development, Operational Deployment.

A

Evolutionary Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Integrates elements of both the waterfall model and evolutionary model.
- Phases: risk analysis, engineering, prototyping, and testing.

A

Spiral Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Focuses on the assembly of pre-built software components to create larger systems.
- Phases: Component Acquisition, System Design, Construction, Integration, and Testing.

A

Component-Based Software Engineering (CBSE):

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

An iterative and incremental approach.
Phases: Inception, Elaboration, Construction, Transition.
Emphasizes iterative development, flexibility, and adaptability.

A

Unified Process (UP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Emphasizes quick development and iteration.
Phases: Planning, User Design, Construction, Cutover.
Prototyping and user feedback are integral.

A

Rapid Application Development (RAD)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Involves end-users in the design and development process.
Emphasizes collaborative workshops and rapid prototyping.

A

Joint Application Development (JAD)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Focuses on individual and team performance improvement.
Phases: Planning, High-Level Design, Detailed Design, Code, Compile, Test.

A

Personal Software Process (PSP) / Team Software Process (TSP)

16
Q

creating a partial or initial version of the system to gather feedback.
Phases: Requirements Specification, Quick Design, Build Prototype, User Evaluation.

A

Prototyping

17
Q

Emphasizes customer satisfaction and flexibility.

A

Extreme Programming (XP)

18
Q

umbrella term for various iterative and incremental software development
approaches.

A

Agile Software Development

19
Q

collaboration between development and operations teams to enhance the entire software delivery process.
- Aims to automate the software delivery pipeline, e

A

DevOps

20
Q

discipline that incorporates aspects of software engineering and applies them to infrastructure and operations problems.

A

Site Reliability Engineering (SRE)

21
Q

Represents the customer, defines features, and prioritizes the product backlog.

A

Product Owner:

22
Q

Facilitates the Scrum process, removes impediments, and ensures adherence to AGILE principles.

A

Scrum Master:

23
Q

Cross-functional group responsible for delivering the product incrementally.

A

Development Team

24
Q

Individuals or groups with an interest in the project’s outcome.

A

Stakeholders:

25
Q
  • Establishes a framework for software life cycle processes.
  • Defines processes, activities, and tasks involved in software development and maintenance.
A

International Organization for Standardization (ISO) 12207:

26
Q

essential part of the software development process, as it lays the foundation for the implementation of a software system.

A

Software design

27
Q

subject to intellectual property laws, which are designed to protect the rights of the creators of original works, including software designs

A

Software design

28
Q

needs, expectations, and desires of the end-users of a software system.
- serve as the foundation for the design and development of a software system
- define what the software should do and how it should perform.

A

User requirements

29
Q

a critical phase in the software development life cycle (SDLC)
- involves studying and understanding the existing system, identifying problems or opportunities for improvement, and specifying the requirements for a new or enhanced system.

A

System analysis

30
Q

Adopts the ISO 12207 standard for software life cycle processes.

A

IEEE 12207

31
Q

Specifies the format for documenting software requirements.

A

IEEE 830

32
Q

Describes the process for validating software products.

A

IEEE 1012

33
Q

Defines the process for developing and acquiring software user documentation.

A

IEEE 1063:

34
Q

Provides a framework for describing the architecture of a software-intensive system.

A

IEEE 1471:

35
Q

form of intellectual property protection that applies to inventions

A

Patents

35
Q

protects the expression of an idea, rather than the idea itself.

A

Copyright

36
Q

confidential information that provides a competitive advantage to a business.

A

Trade secrets