Upload
shaharukh-nadaf
View
219
Download
0
Embed Size (px)
Citation preview
8/10/2019 Se Intro Sdlc
1/37
8/10/2019 Se Intro Sdlc
2/37
Software is engineered, not manufactured.
Software Doesnt Wear outMost software are custom-build
Why is Software Different?
8/10/2019 Se Intro Sdlc
3/37
Infant
mortalityWear out
Time
Hardware
Failure rate.
8/10/2019 Se Intro Sdlc
4/37
LIST OF PROBLEMS
Role of Software :
Advances in Hardware outpace the software.
Cannot keep pace with the demand for new Software.
Struggle to build high quality and reliable software.
Ability to support and enhance existing programs is
threatened by poor doc and inadequate resources.
8/10/2019 Se Intro Sdlc
5/37
LIST OF PROBLEMS
Industry Perspective :
Why does it take so long to get programs finished ?
Why are costs so high?
Why cant we find all errors before we give the
software to our customers ?
8/10/2019 Se Intro Sdlc
6/37
LIST OF PROBLEMS
Ageing of S/W plant :
Even small changes can fail the S/W.
No one understands the internals.
8/10/2019 Se Intro Sdlc
7/37
Why Projects Fail ?
Lack of clear & understandable specifications
Poor Documentation
Over Ambitious Objectives
Poor Communication
8/10/2019 Se Intro Sdlc
8/37
The application of a systematic, disciplined,quantifiable approach to development, operation,
and maintenance of software; that is, the applicationof engineering to software.
IEEE Standard Computer Dictionary, 610, ISBN 1-55937-079-3, 1990
Definition of Software Engineering
8/10/2019 Se Intro Sdlc
9/37
Why?
As a solution provider, you need to
understand why the customer is interested inyour solution.
Understanding of the context and
background of the customers request
Without this, you will not feel the
importance of the project/product.
8/10/2019 Se Intro Sdlc
10/37
What?
What the customer is looking for?
Requirements and Analysis would cover this
in a formal way.
i.e. What solution will suit the purpose thanwhat you can do or would like to do.
8/10/2019 Se Intro Sdlc
11/37
How?
How to implement? What are the methods
to be followed?
Follow a scientific way of implementing the
project/ developing the product.
8/10/2019 Se Intro Sdlc
12/37
1. Project Startup - Concept, Proposal.
2. Requirements and Analysis.
3. High level Design.
4. Low level Design.
5. Construction - Unit test, Code inspection.
6. Integration and System tests.
7. Replication, delivery, installation.8. Acceptance Testing (Requirements mapped)
9. Maintenance (may involve all the above)
10.Project windup - Checklist, Report, Lessons learnt.
Phases of Software Development
8/10/2019 Se Intro Sdlc
13/37
S D L C
Determine project scope
Secure project sponsorship
Define preliminary resources
Secure core resources
Scope complete
Scope
8/10/2019 Se Intro Sdlc
14/37
How the customer explained it
8/10/2019 Se Intro Sdlc
15/37
S D L C
Scope
Conduct needs analysis
Draft preliminary software specifications
Develop preliminary budget
Review software specifications/budget with team
Incorporate feedback on software specifications
Develop delivery timeline
Obtain approvals to proceed (concept, timeline,
budget) Secure required resources
Analysis complete
Requirements
8/10/2019 Se Intro Sdlc
16/37
How the project leader understood it
8/10/2019 Se Intro Sdlc
17/37
S D L C
ScopeRequirements
Review preliminary software specifications
Develop functional specifications
Review functional specifications
Incorporate feedback into functional
specifications
Obtain approval to proceed Design complete
Design
8/10/2019 Se Intro Sdlc
18/37
How the system analyst designed it
8/10/2019 Se Intro Sdlc
19/37
S D L C
ScopeRequirements
Design Identify modular/tiered design parameters
Assign development staff
Develop code
Developer testing (primary debugging)
Development
8/10/2019 Se Intro Sdlc
20/37
How the programmer wrote it
8/10/2019 Se Intro Sdlc
21/37
S D L C
ScopeRequirements
Design
Development
Develop unit test plans using product
specifications
Develop integration test plans using product
specifications
Unit Testing
Review modular code
Test component modules to productspecifications
Identify anomalies to product specifications
Modify code
Re-test modified code
Testing
8/10/2019 Se Intro Sdlc
22/37
S D L C
ScopeRequirements
Design
DevelopmentIntegration Testing
Test module integration
Identify anomalies to specifications
Modify code
Re-test modified code
Testing (Contd)
8/10/2019 Se Intro Sdlc
23/37
What operations installed
8/10/2019 Se Intro Sdlc
24/37
S D L C
ScopeRequirements
Design
Development
Testing
Develop training specifications for end users
Develop training specifications for helpdesk
support staff
Identify training delivery methodology
(computer based training, classroom, etc.)
Develop training materials Conduct training usability study
Finalize training materials
Develop training delivery mechanism
Training
8/10/2019 Se Intro Sdlc
25/37
S D L C
ScopeRequirements
Design
Development
Testing
Training
Develop Help specification
Develop Help system
Review Help documentation Incorporate Help documentation feedback
Develop user manuals specifications
Develop user manuals
Review all user documentation
Incorporate user documentation feedback
Documentation
8/10/2019 Se Intro Sdlc
26/37
How the project was documented
8/10/2019 Se Intro Sdlc
27/37
How the customer explained it
8/10/2019 Se Intro Sdlc
28/37
How the project leader understood it
8/10/2019 Se Intro Sdlc
29/37
How the system analyst designed it
8/10/2019 Se Intro Sdlc
30/37
How the programmer wrote it
8/10/2019 Se Intro Sdlc
31/37
How the Business Consultant described it
8/10/2019 Se Intro Sdlc
32/37
How the project was documented
8/10/2019 Se Intro Sdlc
33/37
What operations installed
8/10/2019 Se Intro Sdlc
34/37
How the customer was billed
8/10/2019 Se Intro Sdlc
35/37
How it was supported
8/10/2019 Se Intro Sdlc
36/37
What the customer really needed
8/10/2019 Se Intro Sdlc
37/37
Increasing quality Achieve conformance to requirements
reduce the number of software defects
mitigate risks associated with the software
Reducing project cost and schedule
provides a framework for systematic, incremental software process improvements reduces the cost and schedule of the testing, installation, and maintenance phases
Improving manageability enhanced accuracy of project planning
detailed means of tracking projects
early measures of software quality
improved repeatability of success stories
Benefits of SDLC