3. SOFTWARE DEVELOPMENT PROCESS MODELS

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/179

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

180 Terms

1
New cards

What are the three key elements essential for creating a successful software product?

People, projects, and processes.

<p>People, projects, and processes.</p>
2
New cards

What role do processes play in software development?

They guide project tasks and ensure the quality of the final product.

3
New cards

Why is choosing the right process model critical in software development?

A poor selection can negatively impact project quality.

4
New cards

What can software development models be tailored to fit?

The specific needs of an organization based on its size, maturity, and the complexity of the software being developed.

5
New cards

What are the three generic stages of the software development process?

Definition, Implementation, and Maintenance.

6
New cards

What is the Classic System Development Life Cycle (SDLC) also known as?

The Waterfall Approach or Linear Sequential Model.

<p>The Waterfall Approach or Linear Sequential Model.</p>
7
New cards

What is the first phase of the Classic SDLC?

Analysis, which establishes system requirements through user consultations.

8
New cards

What is produced during the Analysis phase of the Classic SDLC?

The Requirements Specification Document and other deliverables like the acceptance test plan and project plan.

9
New cards

What is the focus of the System/Software Design phase in the Classic SDLC?

Developing the overall architecture, including high-level and detailed designs, database schema, and interfaces.

10
New cards

What key outputs are produced during the System/Software Design phase?

Design Specifications Documents detailing the system's components and interactions.

11
New cards

What occurs during the Implementation phase of the Classic SDLC?

Translating design into executable code using a programming language and integrating the database.

12
New cards

What is the purpose of the Testing and Integration phase in the Classic SDLC?

To execute test plans to verify that the software meets requirements and specifications.

13
New cards

What happens during the Operation and Maintenance phase of the Classic SDLC?

The system is installed for practical use, usability is tested, and client acceptance is obtained.

14
New cards

What deliverables are included in the Operation and Maintenance phase?

An acceptance document and the operational software system.

15
New cards

What are the three major categories of software engineering process models?

Linear Models and Variants, Iterative Models, and Agile Models.

16
New cards

What is the significance of proven software development and maintenance models?

They offer structured approaches often supported by useful tools.

17
New cards

How can software development models impact project outcomes?

By providing a framework that can enhance the quality and efficiency of the software development process.

18
New cards

What is a potential consequence of not following a structured software development model?

Increased risk of project failure and lower quality of the final product.

19
New cards

What is the relationship between software engineering models and project controls?

The choice of model influences the methods, tools, controls, and deliverables required for the project.

20
New cards

Why is user consultation important in the Analysis phase?

It helps establish accurate system requirements.

21
New cards

What is the end goal of the Testing and Integration phase?

To ensure the final integrated software meets all specified requirements.

22
New cards

What does the term 'deliverables' refer to in the context of software development?

The tangible outputs produced at various stages of the development process, such as documents and software.

23
New cards

What are the characteristics of project development phases in the Waterfall Model?

They are sequential, generally one-way, with deadlines determined early, unambiguous required results, and milestone documents that signal the start of subsequent phases.

24
New cards

What is a key advantage of the Waterfall Model in project management?

It divides large and complex tasks into smaller, manageable tasks, allowing for careful planning and clear delineation of authorities and responsibilities.

25
New cards

What is a significant disadvantage of the Waterfall Model?

Real projects rarely follow the sequential flow, making it difficult to accommodate changes once the process is underway.

26
New cards

How does the Fountain Model differ from the traditional Waterfall Model?

The Fountain Model allows for upward flow and supports iterations back to previous phases, acknowledging the need to revisit earlier stages.

27
New cards

What is the purpose of the Business Modeling phase in the Rapid Application Development (RAD) Model?

To analyze information flow among business functions to determine what information drives processes, who generates it, and where it goes.

28
New cards

What does the Data Modeling phase in the RAD Model focus on?

It refines the information flow into data objects needed for the business, identifying each object's attributes and relationships.

29
New cards

What is the goal of the Process Modeling phase in the RAD Model?

To transform data objects to create the necessary information flow for implementing business functions, detailing processes for managing data.

30
New cards

What does the Application Generation phase in the RAD Model utilize?

It utilizes fourth-generation techniques, focusing on reusing existing program components and automated tools for software construction.

31
New cards

What is a major drawback of the Waterfall Model regarding customer requirements?

It is often difficult for the customer to state all requirements explicitly, which can lead to issues later in the project.

32
New cards

What happens if an ambiguity in software requirements is discovered during the design phase of the Waterfall Model?

The designer must report the error to the manager, and the analysis team must address the ambiguity, which can lead to higher repair costs if ignored.

33
New cards

What is a common issue with the documentation in the Waterfall Model?

The amount of documentation can be excessive, potentially leading to increased maintenance costs.

34
New cards

What does the linear sequential nature of the Waterfall Model discourage?

It discourages late changes, as one phase must be completed before moving on to the next.

35
New cards

What is the ideal scenario for applying the Waterfall Model?

It is ideal when resources are available and standard procedures are fully documented.

36
New cards

What is the significance of milestone documents in the Waterfall Model?

Milestone documents conclude each project phase and, when approved, signal the start of the subsequent phase.

37
New cards

What is a potential consequence of the linear sequential nature of the Waterfall Model?

It may lead to a 'blocking state' where progress is halted due to unresolved issues in earlier phases.

38
New cards

How does the Fountain Model improve upon the Waterfall Model?

It allows for revisiting earlier stages, making it more adaptable to changes and issues identified during development.

39
New cards

What is the focus of the Application Generation phase in the RAD Model?

It emphasizes reusing existing program components and using automated tools to expedite software construction.

40
New cards

What is a notable feature of the RAD Model compared to the Waterfall Model?

RAD is designed for short development cycles through component-based construction.

41
New cards

What is one of the main challenges of managing the Fountain Model?

It necessitates effective change control procedures due to its iterative nature.

42
New cards

What is a key benefit of having clearly specified inputs, deliverables, and milestones in project phases?

It allows management to assess project progress and take corrective action if necessary.

43
New cards

What does the term 'blocking state' refer to in the context of the Waterfall Model?

It refers to a situation where progress is halted due to unresolved issues from earlier phases.

44
New cards

What is the role of authorities and responsibilities in the Waterfall Model?

They can be clearly delineated, which aids in project management and accountability.

45
New cards

What does RAD emphasize in testing and turnover?

The reuse of tested components, reducing overall testing time while ensuring new components and interfaces are thoroughly tested.

46
New cards

What are the requirements for successful RAD implementation?

Sufficient human resources to create RAD teams, and commitment from customers and developers to rapid-fire activities.

47
New cards

In what situations is RAD not appropriate?

1) When the system cannot be properly modularized, 2) When high performance is needed, 3) When technical risks are high due to interoperability issues.

48
New cards

What are some linear life-cycle strategies customized for specific organizations?

1) Model Systems Ltd used by NCC-UK, 2) Foundation used by Andersen Consulting, 3) Structured Project Life-cycle used by Yourdon group.

49
New cards

What is the purpose of creating a software prototype in the iterative or prototyping process?

To better understand customer requirements before delivering the final system.

50
New cards

What is a key characteristic of the iterative or prototyping approach?

Development starts with incomplete requirements and full requirements are derived from user interaction on a prototype.

51
New cards

What are the three types of prototyping based on the amount of code retained in the final system?

1) Prototyping with disposable system, 2) Prototyping with working system, 3) Evolutionary prototyping.

52
New cards

What is the goal of prototyping with a disposable system?

To test proposed solutions, formalize requirements based on feedback, and discard the prototype before following a linear sequential model.

53
New cards

What does prototyping with a working system involve?

Building a prototype of critical functions that is expanded into a fully functional system upon acceptance.

54
New cards

What is the focus of evolutionary prototyping?

Adapting to changing requirements, with subsequent prototypes evolving into the operational system for deployment.

55
New cards

When is the iterative or prototyping approach ideal?

For systems where requirements may be defined but human-computer interface suitability is not yet known.

56
New cards

What are some advantages of the iterative or prototyping approach?

1) System requirements can change during the project, 2) Delivers clear system definitions, 3) Enhances communication and user involvement.

57
New cards

What is a disadvantage of the iterative or prototyping approach?

Rising expectations of the end user, who may see a working version of the software without understanding the quality and maintainability issues.

58
New cards

How does the iterative approach enhance communication?

It increases end user involvement and satisfaction regarding the suitability of human-computer interfaces.

59
New cards

What can the iterative approach quickly test?

The development environment.

60
New cards

What can the iterative approach be used to demonstrate?

Technical, economic, and political feasibility.

61
New cards

What is a potential issue with user expectations in iterative development?

Users may demand fixes for the product thinking it is a complete working system, unaware of overall software quality concerns.

62
New cards

What is the main focus of the APC-model in prototyping?

It depicts human-machine interactions and focuses on the functional aspects related to the graphical user interface.

63
New cards

What does the iterative process continue until?

The customer is satisfied with the developed model.

64
New cards

What is the role of customer feedback in the prototyping process?

It is gathered to implement functions required of the system in subsequent prototypes.

65
New cards

What is a key benefit of developing a prototype before the final system?

It allows for better understanding and refinement of customer requirements.

66
New cards

What is the significance of user interaction in the prototyping process?

It helps derive full requirements from initial incomplete requirements.

67
New cards

What is the outcome of the iterative approach in terms of system delivery?

A system that evolves through iterations based on user feedback and changing requirements.

68
New cards

What is a danger of never-ending development in software projects?

It arises from user-developer interactions during development.

69
New cards

What planning aspects can be neglected in software development?

Planning, verification, validation, backup procedures, and documentation.

70
New cards

What is a risk of modeling before analyzing current and desired results?

It can lead to inadequate understanding and poor design outcomes.

71
New cards

What compromises might be made to quickly get a prototype working?

Design and implementation compromises.

72
New cards

Why should building on top of a prototype be avoided?

It often leads to software project failure unless the prototype accurately reflects customer desires.

73
New cards

What is the purpose of prototyping in software development?

To clarify requirements and explore design alternatives, addressing weaknesses in the Waterfall Model.

74
New cards

How does prototyping help in the software development process?

It facilitates requirement review and approval, reducing the risk of changes and minimizing revisions.

75
New cards

What is the starting point of the evolutionary software process model?

The problem domain that needs to be solved by means of a software system.

76
New cards

What are the steps in the evolutionary software process model?

1. Define functional boundaries of the desired system; 2. Split the system into microsystems; 3. Develop and put the microsystem into production; 4. Reassess long-term goals and adjust subsequent microsystems.

77
New cards

What characterizes the evolutionary model in software development?

It is product-oriented, iterative, and involves continuous testing and re-planning.

78
New cards

What are some advantages of the evolutionary model?

Faster results for developers, quick responses for end users and management, fast reactions to changing goals, and better manageability.

79
New cards

What are some disadvantages of the evolutionary model?

No recursion to previous microsystems is scheduled, changing environments might obliterate long-term goals, and it could be costly.

80
New cards

What is the Incremental Model in software development?

It combines elements of the linear sequential model with the iterative philosophy of prototyping, producing deliverable increments of software.

<p>It combines elements of the linear sequential model with the iterative philosophy of prototyping, producing deliverable increments of software.</p>
81
New cards

What happens after the core product is evaluated in the Incremental Model?

A plan is developed for the next increment or release, addressing medium priority requirements and additional features.

82
New cards

What is an advantage of the Incremental Model?

An operational product is produced with each intermediate progress/version.

83
New cards

How does the Incremental Model reduce risk?

It reduces the risk of failure and changing requirements.

84
New cards

What is a disadvantage of the Incremental Model regarding process visibility?

It lacks visibility; it is difficult to determine how far the product is from the final version.

85
New cards

What is a common issue with systems developed using the Incremental Model?

They are often poorly structured.

86
New cards

What can users do with the Incremental Model?

Users can adjust to new technology in incremental steps.

87
New cards

What is the main purpose of the Incremental Model in software development?

It is useful when technical requirements or staffing are unavailable for complete implementation by the business deadline.

88
New cards

What are the key requirements for using the Incremental Model?

Requirements should be clearly defined, releases should be carefully scheduled, and a specifications document should be produced before coding.

89
New cards

What is a significant advantage of the Spiral Model?

It combines the iterative nature of prototyping with the systematic approach of the linear sequential model, allowing for incremental releases.

<p>It combines the iterative nature of prototyping with the systematic approach of the linear sequential model, allowing for incremental releases.</p>
90
New cards

List the framework activities involved in the Spiral Model.

1. Customer Communication 2. Planning 3. Risk Analysis 4. Engineering 5. Construction and Release 6. Customer Evaluation.

91
New cards

How does the Spiral Model address risks in software development?

It emphasizes risk assessment and may include throwaway prototypes to reduce risks.

92
New cards

What are some advantages of the Spiral Model?

It splits large development efforts into small chunks, allows for incremental release, and enables cumulative cost assessment.

93
New cards

What are the disadvantages of the Spiral Model?

The model is complex, may be too costly, lacks clear distinct phases, and requires additional documentation for intermediate stages.

94
New cards

In what situations is the Spiral Model ideally applicable?

It is ideal for large-scale systems, when there are too many risks involved, when procedures and technology are dynamic, and when there is a lack of expertise.

95
New cards

How does the Spiral Model improve upon the Waterfall Model?

It incorporates formal and continuous risk management throughout the software development process.

96
New cards

What is the Concurrent Development Model also known as?

Concurrent Engineering.

97
New cards

What is the main function of the Concurrent Development Model?

It allows tracking of the status of complex sets of activities that occur simultaneously during any one phase.

98
New cards

What does the Concurrent Development Model define regarding software engineering activities?

It defines a network of activities that exist simultaneously rather than confining them to a sequence of events.

99
New cards

What is a key recommendation for using the Incremental Model?

It is applicable for small companies in a growing stage, especially when the budget is limited.

100
New cards

What should be done before coding in the Incremental Model?

A specifications document should be produced.