2. Software Processes Flashcards

(35 cards)

1
Q

What are the final products (deliverables) of software development?

A

Code and Documentation (installation

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

What are examples of development artifacts?

A

Documents (requirements, analysis, design, testing) and Diagrams/models

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

What is the definition of KLOC?

A

1000 Lines of Code

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

What is the typical industry standard for Defects per KLOC?

A

1-50 defects

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

What are the two steps in the ““Code and fix”” process?

A
  1. Write some code. 2. Fix the problems in the code.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the disadvantages of the ““Code and fix”” approach?

A

Code becomes poorly structured (spaghetti code), fails to meet user needs, is difficult to maintain, and often runs out of schedule/budget

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

What lessons were learnt from the failure of ““Code and fix””?

A

Design is needed before coding, requirement specifications are needed before design, and proper management (planning/monitoring) is required

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

What triggered the ““Software Crisis”” described in the slides?

A

Powerful hardware enabled larger/complex systems, but informal approaches (like code and fix) failed to manage them, leading to late delivery and unreliability

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

What four goals for software were established at the 1968 NATO workshop?

A

Software must: satisfy customers, be delivered on time, be of high quality, and be economical

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

How is Software Engineering defined in the slides?

A

A collection of management processes, software tools, design methods, and practices for software development

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

What is Requirement Specification?

A

A high-level abstract statement describing the services and constraints of the software

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

What is a Software Process model?

A

A structure that organizes a set of activities and results to produce a software product

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

What characterizes the Waterfall model?

A

It is a linear sequential model that emphasizes completing one phase of development completely before proceeding to the next

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

What are the main problems with the Waterfall model?

A

Complexity overload, delayed feedback, frozen requirements, increasing cost of change, and delayed risk mitigation

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

What is the Incremental model?

A

A process where an overall architecture is developed first, followed by detailed increments which are developed in their own lifecycles (design, code, test, release)

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

What are the advantages of the Incremental model?

A

Increments are easier to manage, it is more adaptable to changing requirements, provides early user functionality/feedback, and increases customer satisfaction

17
Q

What are the requirements for using the Incremental model?

A

Clear interfaces between components and well-known/understood user requirements

18
Q

What is the Evolutionary model?

A

A model based on sequential incremental development that does not require an initial architectural design; the first release serves as the architectural prototype

19
Q

What is a key advantage of the Evolutionary model over the Incremental model?

A

It works even when requirements are not yet decided or known, allowing for the discovery of requirements

20
Q

What are the disadvantages of the Evolutionary model?

A

Difficult project planning due to uncertainty, the initial prototype may be suboptimal, and it can be criticized as being similar to “code and fix”

21
Q

What are the three generic phases of the Waterfall model?

A

Definition (What?), Development (How?), and Support (Change!)

22
Q

What activities are included in the ““Definition Phase”” of the Waterfall model?

A

System engineering (domain analysis), Project planning, and Requirements analysis

23
Q

What defines a Software Process Model?

A

It determines the order of stages (phases) and the transition criteria (entrance/completion) for moving between them

24
Q

What is Rapid Application Development (RAD)?

A

A model based on concurrent development where separate teams work on decomposed products with short cycles (30-90 days)

25
What is the ""Synch-and-stabilize"" approach in RAD?
A Microsoft model involving loosely structured small teams and continuous integration
26
What are the requirements for using Rapid Application Development (RAD)?
Heavy use of reusable components, clear customer requirements, defined interfaces, and sufficient resources
27
When is the Prototyping technique most useful?
When requirements are unclear, the customer is unsure of what they want, or technical risk is high
28
What are the five steps of the Prototyping technique?
1. Requirements gathering, 2. Quick design, 3. Prototype construction, 4. Evaluation, 5. Requirements identification
29
What are the weaknesses of Prototyping?
It can be "quick and dirty" with poor documentation/performance, and creates a dilemma of whether to throw it away or keep it
30
Is Prototyping a standalone process model?
No, it is a technique; it is usually followed by a process model or encompassed within one
31
What distinguishes the Spiral model from other models?
It is a risk-driven approach rather than document-driven or code-driven
32
How is effort distributed in the Spiral model?
Only about 1/4 is spent on traditional development; the rest is spent on evaluation, risk management, and planning
33
What are the four high-level processes in each cycle of the Spiral model?
1. Determine objectives/alternatives, 2. Evaluate alternatives and resolve risks, 3. Develop/verify next-level product, 4. Plan next phase
34
What are the main disadvantages of the Spiral model?
It requires high expertise in risk analysis, is complex to manage, and is not suitable/too expensive for small or low-risk projects
35
What factors should be considered when choosing a software process model?
Risk (technological, business), Resources (team size, experience), and Project Size