Nothing Special   »   [go: up one dir, main page]

Lec 4 Software Development Process

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 7

Software Development Process Models

Software Engineering (SE-)

Instructor: Abd Ullah Khan


abdullah@nbc.nust.edu.pk
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)
• An action (e.g., architectural design) encompasses a set of tasks
that produce a major work product (e.g., an architectural model)
• A task focuses on a small but well-defined objective (e.g.,
conducting a unit test) that produces a tangible outcome.
• A process is not a rigid prescription for how to build software.
• Rather, it is an adaptable approach that enables the software team to pick
and choose the appropriate set of work actions and tasks.
• The intent is always to deliver quality software on time to satisfy both
sponsors and users.
The Process Framework

• A process framework establishes the foundation for a complete software


engineering process by identifying a small number of framework activities
that apply 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.

• Note: Umbrella activities include software project tracking and control, risk
management, quality assurance, reusability management, etc.
The Process Framework
• A generic process framework for software engineering encompasses five
activities:
1. Communication. Before any technical work can start, it is critically important to
communicate and collaborate with the customer (and other stakeholders).
• The intent is to understand stakeholders’ objectives for the project and to gather requirements
that help define software features and functions.
2. Planning. It defines the technical tasks to be conducted, the likely risks, the required
resources, the work products to be produced, and a work schedule.
3. Modeling. In modeling, we create a “sketch” of the thing to understand what it will look
like architecturally, how the parts fit together, etc.
• A software engineer does the same thing by creating models to better understand software
requirements and the design that will achieve those requirements.
The Process Framework

4. Construction. This activity combines code generation and the testing that is required
to uncover errors in the code.
5. Deployment. The software (as a complete entity or as a partially completed
increment) is delivered to the customer, who evaluates the delivered product and
provides feedback based on the evaluation.

• These five generic framework activities can be used during the development
of any software.
• The details of the software process will be quite different in each case, but the
framework activities remain the same.
Process Adaptation
• The software engineering process is not a rigid prescription that must be
followed strictly by a software team.
• Rather, it should be agile and adaptable (to the problem, to the project, to
the team, and to the organizational culture).
• Therefore, a process adopted for one project might be significantly different
from a process adopted for another project.
• Among the differences are:
• Overall flow of activities, actions, and tasks
• Manner in which quality assurance activities are applied
• Degree to which the customer and other stakeholders are involved with the project
• Level of autonomy given to the software team, etc.
Thanks
Let’s stop contaminating the environment and leave a better world for our generations.

You might also like