The document discusses the software process, which is a collection of activities, actions, and tasks performed to create software work products. It describes the software process framework, which establishes the foundation for a complete software engineering process through five generic activities: communication, planning, modeling, construction, and deployment. These activities are applied iteratively and complemented by umbrella activities like project tracking, risk management, and quality assurance. The document also contrasts prescriptive and agile process models.
The document discusses the software process, which is a collection of activities, actions, and tasks performed to create software work products. It describes the software process framework, which establishes the foundation for a complete software engineering process through five generic activities: communication, planning, modeling, construction, and deployment. These activities are applied iteratively and complemented by umbrella activities like project tracking, risk management, and quality assurance. The document also contrasts prescriptive and agile process models.
The document discusses the software process, which is a collection of activities, actions, and tasks performed to create software work products. It describes the software process framework, which establishes the foundation for a complete software engineering process through five generic activities: communication, planning, modeling, construction, and deployment. These activities are applied iteratively and complemented by umbrella activities like project tracking, risk management, and quality assurance. The document also contrasts prescriptive and agile process models.
The document discusses the software process, which is a collection of activities, actions, and tasks performed to create software work products. It describes the software process framework, which establishes the foundation for a complete software engineering process through five generic activities: communication, planning, modeling, construction, and deployment. These activities are applied iteratively and complemented by umbrella activities like project tracking, risk management, and quality assurance. The document also contrasts prescriptive and agile process models.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 6
The Software Process
• A process is a collection of activities, actions, and tasks that are
performed when some work product is to be created. • An activity strives to achieve a broad objective (e.g., communication with stakeholders) and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is to be applied.
• An action (e.g., architectural design) encompasses a set of tasks that
produce a major work product (e.g., an architectural design model).
• A task focuses on a small, but well-defined objective (e.g., conducting a
unit test) that produces a tangible outcome. • In the context of software engineering, a process is not a rigid prescription for how to build computer software. Rather, it is an adaptable approach that enables the people doing the work (the software team) to pick and choose the appropriate set of work actions and tasks. The intent is always to deliver software in a timely manner and with sufficient quality to satisfy those who have sponsored its creation and those who will use it. • A process framework establishes the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. In addition, the process framework encompasses a set of umbrella activities that are applicable across the entire software process. A generic process framework for software engineering encompasses five activities: • Communication. • Planning • Modeling. • Construction • Deployment • These five generic framework activities can be used during the development of small, simple programs, the creation of large Web applications, and for the engineering of large, complex computer-based systems.
• For many software projects, framework activities are
applied iteratively as a project progresses. That is, communication, planning, modeling, construction, • and deployment are applied repeatedly through a number of project iterations. • Each project iteration produces a software increment that provides stakeholders with a subset of overall software features and functionality. As each increment is produced, the software becomes more and more complete. Software engineering process framework activities are complemented by a number of umbrella activities. • Typical umbrella activities include: • Software project tracking and control—allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule. • Risk management—assesses risks that may affect the outcome of the project or the quality of the product. • Software quality assurance—defines and conducts the activities required to ensure software quality. • Technical reviews—assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity. • Measurement—defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ needs; can be used in conjunction with all other framework and umbrella activities.
• Software configuration management—manages the effects of change
throughout the software process.
• Reusability management—defines criteria for work product reuse
(including software components) and establishes mechanisms to achieve reusable components.
• Work product preparation and production—encompasses the activities
required to create work products such as models, documents, logs, forms, and lists. • Prescriptive process models Stress detailed definition, identification, and application of process activities and tasks. Their intent is to improve system quality, make projects more manageable, make delivery dates and costs more predictable, and guide teams of software engineers as they perform the work required to build a system. • Agile process models emphasize project “agility” and follow a set of principles that lead to a more informal (but, proponents argue, no less effective) approach to software process. These process models are generally characterized as “agile” because they emphasize maneuverability and adaptability.