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

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
Individuals or groups with an interest in the project's outcome.
Stakeholders:
25
- Establishes a framework for software life cycle processes. - Defines processes, activities, and tasks involved in software development and maintenance.
International Organization for Standardization (ISO) 12207:
26
essential part of the software development process, as it lays the foundation for the implementation of a software system.
Software design
27
subject to intellectual property laws, which are designed to protect the rights of the creators of original works, including software designs
Software design
28
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.
User requirements
29
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.
System analysis
30
Adopts the ISO 12207 standard for software life cycle processes.
IEEE 12207
31
Specifies the format for documenting software requirements.
IEEE 830
32
Describes the process for validating software products.
IEEE 1012
33
Defines the process for developing and acquiring software user documentation.
IEEE 1063:
34
Provides a framework for describing the architecture of a software-intensive system.
IEEE 1471:
35
form of intellectual property protection that applies to inventions
Patents
35
protects the expression of an idea, rather than the idea itself.
Copyright
36
confidential information that provides a competitive advantage to a business.
Trade secrets