Software Development Process

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Software Dev Process

 Process is distinct from product


 products are outcomes of executing a process on a project
 SW Eng. focuses on process
 Premise: Proper processes will help achieve project objectives of high QP
Process
 Process: A particular method, generally involving a number of steps
 Software Process: A set of steps, along with ordering constraints on execution, to produce software with
desired outcome
 Many types of activities performed by diff people
 Software process is comprising of many component processes

Development Process

Commonly has these activities:


1. Requirements analysis,
2. Design
3. Coding,
4. Testing,
5. Delivery
Different models perform them in different manner

Types Of Process Models


Common Methods
Waterfall – the oldest and widely used
Prototyping – Prototype, followed by Waterfall
Iterative – used widely in product dev
Timeboxing – Iterative 2.0
Agile - Lightweight" methodologies (Speaker)

Waterfall Model
 What is Waterfall model?
 It’s a classical model used in system development life cycle to create a system with a linear and sequential
approach. It is termed waterfall because the model develops systematically from one phase to another in
a downward fashion
 Introduced by Dr. Winston W. Royce in 1970

The sequential phases


1.)Requirements Gathering-all possible requirements are captured in product requirement documents
2.)Analysis Read-the requirement and based on analysis define the schemas, models and business rule
3.)System design-Bases on analysis design the software structure
4.)Implementation Development of the software in the small units with functional testing.
5.)Integration and Testing integrating of each unit developed in previous phase and post integration test the entire
system for any faults
6.)Development of system- Make the product live on production environment after all functional and
nonfunctional testing completed
7.)maintenance fixing issues and release new version with the issue patches as required
Note:
A phase starts only when the previous has completed; no feedback
The phases partition the project, each addressing a separate concern
 Linear ordering implies each phase should have
some output
 The output must be validated/certified
 Outputs of earlier phases: work products
 Common outputs of a waterfall: SRS, project
plan, design docs, test plan and reports, final
code, supporting docs

Waterfall Advantages
 Natural approach for problem solving
 Conceptually simple, cleanly divides the problem into distinct independent phases
 Easy to administer in a contractual setup – each phase is a milestone

Waterfall disadvantages
 Assumes that requirements can be specified and frozen early
 May fix hardware and other technologies too early
 Follows the “big bang” approach – all or nothing delivery; too risky
 Very document oriented, requiring docs at the end of each phase

Waterfall Usage
 Well suited for projects where requirements can be understood easily and technology decisions are easy
 Has been used widely
 For standard/familiar type of projects it still may be the most optimum
 Well suited to the out sourcing model

Prototyping
 Addresses the requirement specification limitation of waterfall
 Instead of freezing requirements only by discussions, a prototype is built to understand the requirements
 Helps alleviate the requirements risk
 A small waterfall model replaces the requirements stage
Development of prototype
 Starts with initial requirements
 Only key features which need better understanding are included in prototype
 No point in including those features that are well understood
 Feedback from users taken to improve the understanding of the requirements

Prototyping
Cost can be kept low
 Build only features needing clarification
 “quick and dirty” – quality not important, scripting etc can be used
 Things like exception handling, recovery, standards are omitted
 Cost can be a few % of the total
 Learning in prototype building will help in building, besides improved requirements
Advantages
 Requirement will be more stable and more likely to satisfy user needs
 Early opportunity to explore scale/performance issues
 Ability to modify or cancel the project early
 Enhanced user engagement
Disadvantages:
 Potential hit on cost and schedule
 Potential false sense of security if prototype does not focus on key (high risk) issues

Applicability:
 When req are hard to elicit
 When confidence in reqs is low
 Where reqs are not well understood
 When design is driven by user needs

Variants
 Paper Prototypes
 UI Prototypes
 Technology Proving
 Rapid Prototyping environments

You might also like