SEN Unit 1. CM Software Development Process
SEN Unit 1. CM Software Development Process
Class: CM4I
Course: Software Engineering
Course Code: 22413
UNIT 1
SOFTWARE DEVELOPMENT PROCESS
Marks: 12
1
Padmashri Dr. Vithalrao Vikhe Patil Institute of Technology &
Engineering (POLYTECHNIC) Loni
INSTITUTE VISION AND MISSION
Institute Vision:
Institute Mission:
Program Vision:
To provide quality technical education in the computer engineering field that prepares the rural students for socio-economic development.
Program Mission:
M1: To impart technical skills to solve problems in the field of computer engineering.
M2: To mould the students as computer professionals through the teaching - learning process.
M3: To create career opportunities through industry interaction and higher education.
• Types of Software:
1. System S/W: program to run computer itself. Ex: OS
2. Networking S/W: provide support to interact one computer to
another. Ex: www
3. Embedded S/W: s/w integrated with hardware. Ex: washing m/c
4. Business S/W: used to support business. Ex: Banking
5. Scientific S/W: used for scientific & engineering users.
Ex: AutoCAD
• Software Engineering:
Process of analyzing user needs and designing, constructing, testing
end user application, that will satisfy user needs.
SEN 22413 CM4I 5
Software Engineering Layered Approach
1. Tools: provides computerized and other tools to support methods
and process in s/w development.
2. Methods: provides technical knowledge for developing s/w.
(requirement analysis, design, coding, testing, maintenance)
3. Process: outline for set of process, that allows development of s/w
on time.
4. Quality Focus: it tests the end product (s/w) to see if it meets the
user requirements. Tools
Methods
Process
Quality Focus
SEN 22413 CM4I 6
Software Development Framework
A framework, or software framework, is a platform for developing
software applications. It provides a foundation on which software
developers can build programs for a specific platform.
5 activities in framework:
a. Waterfall Model
b. Incremental Model
c. RAD Model
a. Spiral Model
b. Prototyping
One phase is completed before start of next phase (no overlapping of phases)
4. Integration and Testing: all modules are combined in single s/w, then this s/w is
tested for errors.
5. Deployment: s/w is handover to customer
after completion.
6. Maintenance: after handover,
the feedback from customer is taken
and s/w can be changed is required
by the customer.
Advantages:
Disadvantages:
3. No user involvement.
4. Delay in testing.
It involves both development and maintenance. The product is defined as finished when
it satisfies all of its requirements.
Each iteration passes through the requirements, design, coding and testing phases.
2. Model is flexible.
Disadvantages:
Advantages:
4. Reusability of product.
Disadvantages:
• Identification: This phase starts with gathering the business requirements in the
baseline spiral (identification of system requirements, subsystem requirements
and unit requirements are all done in this phase.)
• Design: The Design phase starts with the conceptual design in the baseline spiral
and involves architectural design, logical design of modules, physical product
design and the final design in the subsequent spirals.
Advantages:
1. Includes requirement changes.
2. Focuses on early error detection.
3. Provides quality.
Disadvantages:
1. Costly.
2. High risk.
SEN 22413 CM4I
21
Software Process Models: Prototyping
Model follows iterative approach.
Phases:
Advantages:
1. More efforts over development
(not on documentation)
2. Lots of feedback taken from users.
3. Missing functionality easily identified.
4. Flexible for changes.
SEN 22413 CM4I
22
Software Process Models: Agile Model
Agile SDLC model is a combination of iterative and incremental process models
with focus on process adaptability and customer satisfaction by rapid delivery of
working software product.
Agile Methods break the product into small incremental builds. These builds are
provided in iterations.
Every iteration involves cross functional teams working simultaneously on various
areas like:
1. Planning
2. Requirements Analysis
3. Design
4. Coding
5. Unit Testing and
6. Acceptance Testing.
At the end of the iteration, a working product is displayed to the customer and
important stakeholders.
SEN 22413 CM4I
23
Software Process Models: Agile Model
Disadvantages:
1. More risk.
2. Depends more on user interaction.
3. Not used in complex mode.
4. Early delivery leads in adjustment in functionality.
1. Speculation:
During this phase project is initiated and planning is conducted. Initiation information like
project requirements, user needs, customer mission statement etc.
2. Collaboration:
It is the difficult part of ASD as it needs the workers to be motivated. It collaborates communication
and teamwork. People working together must trust each others to
•Criticize without animosity,
•Assist without resentment,
•Work as hard as possible,
•Possession of skill set,
•Communicate problems to find effective solution.
3. Learning:
Learning helps the workers to increase their level of understanding over the project.
Learning process is of 3 ways:
1.Focus groups
2.Technical reviews
3.Project postmortem
SEN 22413 CM4I
29
Adaptive Software Development
Phases:
1. Feasibility Study:
It establishes the basic business requirements and constraints associated with the
application to be built.
Business Study: It establishes the functional and information requirements that will allow the
application to provide business value.
2. Functional Model Iteration:
produces a set of increments that demonstrate functionality for the customer.
In this phase risk has to be identified and recognize a plan on how to deal with risk for
future developments.
4. Implementation:
This is the final phase in the methodology where the built-in system is moved into the
production environment from the developed environment.
SEN 22413 CM4I
31
Dynamic Systems Development Method DSDM
Advantages:
1. User involvement.
2. Iterative and incremental development.
3. Testing at each phase.
• Project Type
• Risk associated with Project
• Requirement of the Project
• Users (limited or unlimited)
• Time required
• Members required
• Documentation
• Cost
4 Marks
1. Explain Waterfall Model with neat labelled diagram. (L2)
2. Draw and explain Software Engineering Layered technology approach. (L3)
3. Distinguish between perspective process model and agile process model.
(L4)
4. Explain Dynamic Systems Development Method (DSDM). (L2)
5. Explain process framework with suitable diagram. (L2)