Software Engineering 3 Flashcards

1
Q
  • A sequential and linear approach to
    software development.
  • The progressflows steadily (like a waterfall) through several distinct phases.
  • Each stage must be completed before moving to the next.
A

Waterfall Model

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

THE PHASES OF THE WATERFALL MODEL

A
  1. requirements
  2. design’
  3. implementation
  4. testing
  5. deployment
  6. maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ADVANTAGES OF THE WATERFALL MODEL

A
  1. easy to understand
  2. individual processing
  3. prperly defined phases
  4. clear milestones
  5. properly documented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DISADVANTAGES OF THE WATERFALL MODEL

A
  1. Lack of flexibility
  2. lack of feedback
  3. difficult to accomodate change requests
  4. phases has no overlap
  5. late testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

WHEN TO USE THE WATERFALL MODEL?

A
  1. Only well-defined, unambiguous, and fixed requirements are employed with this paradigm.
  2. product is constant
  3. no unclear prerequisits
  4. brief projects
  5. many resources available with necessary knowledge
  6. people understand technology
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

WHAT TYPES OF SYSTEM CAN WATERFALL CAN BE APPLIED?

A
  1. governement and defense projects
  2. large-scale development projects
  3. projects with stable environment
  4. projects with well-defined environment
  5. safety-critical system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Iterative Process
Model Diagram

A
  1. Initial Planning
  2. Planning
  3. Requirements
  4. Analysis & Design
  5. Implementation
  6. Deployment
  7. Testing
  8. Evaluation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  • refers to an approach where the development process is divided into multiple cycles or iterations.
  • Each iteration involves a subset of the overall development tasks, including planning, requirements gathering, design, implementation, testing, and deployment.
A

ITERATIVE MODEL

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

WHEN TO USE
ITERATIVE MODEL

A
  1. uncretain requirements
  2. project with long development cycles
  3. customer-driven projects
  4. Highly innovative projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

For projects involving innovative or experimental features, the iterative model supports an exploratory approach

A

Highly innovative projects

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

In projects where customer satisfaction and feedback are paramount, such as software products or services directly used by end-users, the iterative model enables early and continuous engagement with customers.

A

Customer-driven projects

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

In projects where the development cycle is long, such as those involving cutting-edge technology or extensive research and development, the iterative model allows for the delivery of intermediate results at regular intervals.

A

Projects with long development cycles

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

When the requirements for a project are not fully understood or are likely to change over time, the iterative model provides flexibility.

A

Uncertain or evolving requirements

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

WHAT SYSTEMS ITERATIVE APPLICABLE TO

A
  1. software develpment
  2. product development
  3. web development
  4. mobile app development
  5. game development
  6. biomedical system
  7. engineering system
  8. data science and machine learning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ADVANTAGES OF ITERATIVE MODEL

A
  1. flexible
  2. easy to understand
  3. parallel development can be planned
  4. improved stakeholder engagement
  5. risks are recognized and resolved as early as possible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

DISADVANTAGES OF ITERATIVE MODEL

A
  1. not suitable for large projects
  2. higher resource allocation
  3. project completion date not confirmed
  4. project scope gradually expnads
  5. more management attention is required
17
Q

AGILE METHOD

A

software development methodology that focuses on iterative, incremental development with continuous feedback and collaboration

18
Q

KEY PRINCPLES IN AGILE METHOD

A
  1. adaptive
  2. iterative
  3. incremental
  4. collaborative
  5. feedback-driven
19
Q

Involves the entire team, including developers, testers, and customers

A

COLLABORATIVE

20
Q

Uses feedback from testing, customer input, and team retrospectives to improve the process

A

FEEDBACK-DRIVEN

21
Q

Delivers working
software regularly

A

INCREMENTAL

22
Q

Develops software in small,
manageable increments

A

ITERATIVE

23
Q

Responds to changing
requirements and customer feedback

A

ADAPTIVE

24
Q

Agile is used in a wide range of software development projects, including

A
  1. web applcation
  2. mobile application
  3. enterprise software
  4. embedded system
  5. real-time system
25
Q

Agile Pros

A
  1. flexibility
  2. teamwork
  3. customer satisfaction
  4. speed
  5. quality
26
Q

Agile Cons

A
  1. documentation may be lacking
  2. not suitable for all projects
  3. challenging for large projects
  4. requires high level of team collaboration