Software Development Models: Waterfall, Prototype, and More

Classified in Computers

Written at on English with a size of 3.14 KB.

Software Development Models

Attributes of Effective Requirements (AtrERS): Correct, unambiguous, complete, verifiable, consistent, modifiable, concise, organized, searchable, understandable by the client, regardless of design.

Scaling Factors: Correctness, reliability, efficiency, integrity, ease of use and maintenance, flexibility, ease of testing, portability, reusability, ease of interoperation.

Life History: Succession of stages through which a software product passes during its existence. Attempts to determine the order of the steps involved and the criteria associated with the transition between these stages.

Software Engineering: Application of scientific knowledge to the design and construction of computer programs and associated documentation for their development.

Waterfall Model

Each stage begins when the previous phase ends. The goals must be met to advance to the next stage. Each step generates documentation and inputs, preventing excess dates.

Phases: Planning, analysis, design, coding, testing, maintenance.

Cons: Strictly sequential, difficulties in establishing all the requirements at the beginning, errors detected later require maintenance patches.

Classic Model with Prototyping

A first version of the product which has incorporated some of the final system's features.

Pros: Helps in establishing the requirements, helps developers improve the product, reduces the risk of patching.

Cons: The customer is not aware that the product is not yet final, additional investments, potential for bad decisions.

Automatic Programming Model

Introduces automation in the software process, using formal specification languages which produce a product prototype. Validation and maintenance burdens are placed on the specification.

Pros: Maintaining software quality improvement, reduces development costs.

Cons: Greater involvement of the client, compromise between the benefits received and the level to which the specification must rise, technology may not be readily available.

Incremental Model

Sequences of classical cycle applications, each iteration produces an increase in output.

Pros: Useful when staff are available for complete implementation, each delivery allows evaluation by the user.

Cons: The difficulty of determining the required increase in each iteration.

Spiral Model

An iterative, interactive, and evolving model where the prototype is not a simple model but evolves towards the final product.

Phases: Planning, risk analysis, engineering evaluation of the customer.

Pros: The prototype evolves into the final product.

Cons: The evaluation of risks is very difficult, newer model, less used.

Assembly Model

Characterized by a spiral model, evolutionary interactive approach, and XP programming: high-speed adaptation cascade.

Entradas relacionadas: