Chapter 1Introduction to Software Engineering--And Process Models--.Docx
Chapter 1Introduction to Software Engineering--And Process Models--.Docx
Project
1. Prepare detailed statement of problem for the
selected mini project
2. Identify suitable process model for the same.
3. Develop Software Requirement Specification for the
project.
4. Identify scenarios and develop UML Use case
5. Other artifacts: Class Diagram, activity diagram,
sequence diagram, component diagram and any other
diagrams as applicable to the project.
Software Process
Process- “ A particular method of doing something”
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 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.
Generic Process Model
A generic process framework for software engineering defines five framework
activities—communication, planning, modelling , construction, and
deployment.
A generic process framework for software engineering encompasses five
activities:
Communication. Before any technical work can commence, it is critically
important to communicate and collaborate with the customer (and other
stakeholders11 The intent is to understand stakeholders’ objectives for the
project and to gather requirements that help define software features and
functions.
Planning. Any complicated journey can be simplified if a map exists. A
software project is a complicated journey, and the planning activity creates a
“map” that helps guide the team as it makes the journey. The map—called a
software project plan—defines the software engineering work by describing
the technical tasks to be conducted, the risks that are likely, the resources that
will be required, the work products to be produced, and a work schedule.
Umbrella Activities
In addition, a set of umbrella activities—project tracking and control, risk
management, quality assurance, configuration management, technical
reviews, and others—are applied throughout the process.
Process Adaptation
A process adopted for one project might be significantly different than a
process adopted for another project. Among the differences are
• Overall flow of activities, actions, and tasks and the interdependencies
among them • Degree to which actions and tasks are defined within each framework
activity
• Degree to which work products are identified and required
Process Flow—
Process flow describes how the framework activities and the actions and tasks that
occur within each framework activity are organized with respect to sequence and
time.
1. linear process flow - executes each of the five framework activities in
sequence, beginning with communication and culminating with deployment
2. An iterative process - flow repeats one or more of the activities before
proceeding to the next .
3. An evolutionary process flow executes the activities in a “circular” manner.
Each circuit through the five activities leads to a more complete version of the
software
4. A parallel process flow - executes one or more activities in parallel with other
activities.
1.6 Prescriptive Process Models
1.6.1 The Waterfall Model
1.6.2 Incremental Process Models
1.6.3 Evolutionary Process Models
1.6.4 Concurrent Models
1.6.5 The Unified Process