Process Models Flashcards
What is a software process?
A frameworks for the tasks that are required to build high quality software.
What is software engineering?
The application of systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is the application of engineering to software.
What is SE made of?
- The basis is the quality focus: everything is done to ensure the quality of the software.
- Process: schedules and controls the activities of software development.
- Methods: the tasks that are performed (communication, design, construction, testing, …).
- Tools: software that help build software (compilers, IDE, etc.).
What is CASE
Computer-aided software engineering. It is based on integrated tools covering all software activities. Output form each intermediate tool is an input for another tool.
General view of a software process.
A process consists of a small number of activities (communication, planning, etc). Each activity is a set of concrete tasks. There are also umbrella activities which are performed throughout the whole process.
What are the common SP framework activities?
- Communication (requirements gathering).
- Planning (Identify tech. tasks, risks, resources, products, schedule).
- Modeling (to better understand the requirements and design)
- Construction (code generation and testing).
- Deployment (deliver to the customer and get the feedback).
What is analysis?
A modeling task: requirements gathering, elaboration, negotiations, specification and validation. Result - analysis model and/or specification.
What is design?
A modeling task: data, architectural, interface, and component-level design. Result - design model and/or specification.
What are the SP umbrella activities?
- Software project tracking and control.
- Risk management.
- Software quality assurance.
- Formal technical reviews.
- Measurement.
- Software configuration management.
- Reusability management.
- Work product preparation and production.
What is software configuration management for?
To manage the effect of change throughout the process.
What are the stages of the Waterfall model?
- Communication.
- Planning.
- Modeling.
- Construction.
- Deployment.
When the Waterfall model can be acceptable?
When the requirements are well understood. For example, when a well-defined adaptation is made to the software.
What are the problems with the Waterfall model?
- Real projects rarely follow sequential flow. Changes are made. And they cause confusion as there are no provisions for them in the workflow.
- It is difficult for the customer to state the requirements clearly.
- It takes a long time to produce a working version of the software.
- Often teams have to wait others to finish their part of the software before they can proceed.
What is the Incremental model?
- Delivers a series of releases (increments) that provide progressively more functionality.
- To produce each increment a Waterfall model is used.
- Next iteration starts when the results of the previous one are clear, feedback is given and requirements clarified.
When the Incremental model is appropriate?
When an operational (partly) software must be delivered early. When more advanced requirements are not fully understood.