ii - software processes Flashcards
coherent set of activities for software production
software process
process descriptions may also include…
- products
- roles
- pre- and post-conditions
[1] discuss, each approach is suitable for different types of software
Boehm and Turner (2003)
what are the process models covered?
- waterfall model
- incremental development
- reuse-oriented software engineering
fundamental process activities of specification,
development, validation, and evolution and represents them as separate process phases such as requirements specification, software design, implementation, testing, and so on.
waterfall model
interleaves the activities of specification,
development, and validation. The system is developed as a series of versions (increments), with each version adding functionality to the previous version.
incremental development
This approach is based on the existence of a significant number of reusable components. The system development process focuses on integrating these components into a system rather than developing
them from scratch.
Reuse-oriented software engineering
The [1] model is an example of a plan-driven process—in principle, you must plan and schedule all of the process activities before starting work on them.
waterfall
enumerate
principal stages of waterfall model
- requirements analysis and definition
- system and software design
- implementation and unit testing
- integration and system testing
- operation and maintenance
An example of a formal development process, originally developed by IBM; each software increment is formally specified and this specification is transformed into an
implementation
Cleanroom process
Description: A sequential software development model that follows distinct phases, producing documentation at each stage.
Key Feature: Consistency with engineering process models, visibility for managers to monitor progress, but inflexible partitioning of the project.
waterfall model
Description: Major problem lies in the inflexible partitioning of the project into distinct stages.
Key Challenge: Commitments made early in the process, difficulty in responding to changing customer requirements.
Use Case: Suitable when requirements are well understood and unlikely to change radically during system development.
Waterfall Model Challenges
Description: A variant of the waterfall model involving creating a mathematical model of a system specification, refined into executable code using mathematical transformations.
Use Case: Particularly suited for systems with stringent safety, reliability, or security requirements.
Advantage: Simplifies the production of a safety or security case, demonstrating compliance with requirements to customers or regulators.
Formal System Development
Description: Typically applied to the development of safety-critical or security-critical systems, requiring specialized expertise.
Consideration: Not generally cost-effective for the majority of systems, but beneficial for projects with stringent safety or security requirements.
Examples: B method (Schneider, 2001; Wordsworth, 1996).
Processes Based on Formal Transformations
based on the idea of developing an initial implementation, exposing this to user comment and evolving it through several versions until an adequate system has been developed
incremental development
From a management perspective, the incremental approach has two problems
- process is not visible
- system structure tends to degrade as new increments are added
stages in reuse-oriented process
- component analysis
- requirements modification
- system design with reuse
- development and integration