2. PROCESS OVERVIEW
• Software Development Process provides a basis for the
organized production of software, using a collection of
predefined techniques and notations.
• There are various software development approaches defined
and designed which are used/employed during development
process of software, these approaches are also referred as
“Software Development Process Models” (e.g. Waterfall
model, incremental model, V-model, iterative model, etc.).
• Each process model follows a particular life cycle in order to
ensure success in process of software development.
• Software life cycle models describe phases of the software
cycle and the order in which those phases are executed.
Each phase produces deliverables required by the next
phase in the life cycle.
3. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) PHASES
• There are following eight phases in every Software
Development Life Cycle model:
• System Conception
• Requirement gathering and analysis
• System Design
• Class Design
• Implementation or coding
• Testing
• Deployment
• Maintenance
4. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) PHASES
• There are following eight phases in every Software Development
Life Cycle model:
• System Conception
deals with the genesis of an application, somebody thinks of an idea
for an application, prepares business case and sells idea to the
organization after understanding business needs and technological
capabilities.
• Requirement gathering and analysis
Analysts capture and scrutinize requirements by constructing
models- what must be done , not how it should be done
Developers consider the available sources of information and
resolve ambiguities.
There are two sub-stages of analysis: Domain Analysis and
Application Analysis
Domain Analysis focuses on real-world object
Application Analysis emphasizes concepts and relationships. The
job of constructing a domain model is mainly to decide which
information to capture and how to represent it.
5. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) PHASES
• System Design
During this phase developer makes strategic decisions with broad
consequences. In this phase the system and software design is
prepared from the requirement specifications which were studied
in the first phase. System Design helps in specifying hardware
and system requirements and also helps in defining overall
system architecture. The system design specifications serve as
input for the next phase of the model.
• Class Design
During this phase developer expands and optimizes analysis
models; shift from application concepts toward computer
concepts. Developer choose algorithms to implement major
system functions.
• Implementation or coding
On receiving system design documents, the work is divided in
modules/units and actual coding is started. Since, in this phase
the code is produced so it is the main focus for the developer.
This is the longest phase of the software development life.
6. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) PHASES
• Testing
After the code is developed it is tested against the
requirements to make sure that the product is actually
solving the needs addressed and gathered during the
requirements phase. During this phase unit testing,
integration testing, system testing, acceptance testing are
done.
• Deployment
After successful testing the product is delivered / deployed
to the customer for their use.
• Maintenance
Once when the customers starts using the developed
system then the actual problems comes up and needs to be
solved from time to time. This process where the care is
taken for the developed product is known as maintenance.
8. WHAT IS A DOMAIN MODEL?
• “A domain model captures the most important
types of objects in the context of the business. The
domain model represents the ‘things’ that exist or
events that transpire in the business environment.”
– I. Jacobsen
9. WHY DO A DOMAIN MODEL?
• Gives a conceptual framework of the things in the
problem space
• Helps you think – focus on semantics
• Provides a glossary of terms – noun based
• It is a static view - meaning it allows us convey
time invariant business rules
• Foundation for use case/workflow modelling
• Based on the defined structure, we can describe
the state of the problem domain at any time.
10. • What do you mean by Software Development Life
Cycle (SDLC)?
• What are the phases (stages) of it? Which phase
requires maximum efforts?
• Also explain why domain analysis is important.
ANALYSIS , DESIGN AND DOMAIN ANALYSIS:
EXERCISE/ ASSIGNMENT