Académique Documents
Professionnel Documents
Culture Documents
B S Gandhi
Engineering Practices are covered more in detail later Management Practices are about
Estimations Planning Monitoring and Control
B S Gandhi
Quality Basics
What is Quality
Meeting the specifications Meeting the requirements Fitness for use Meeting the stated, implied and legal requirements Minimum loss to the society
Software Challenges
Software is developed, not manufactured Software does not wear out Software is mostly custom built Software does not contain sub-assemblies from outsiders
B S Gandhi
Challenges (contd)
Y2K problem !!! Some small programs and tools live longer than expected No visibility to decide how much is completed (during development) No proper estimation of effort and schedule
B S Gandhi
Myths
Management
We have a book containing all standards If we are behind schedule, we can add more programmers and catch up We can always decide to outsource if we do not know how to build
B S Gandhi
Myths (contd)
Customer
Basic requirements should be good enough to start coding. We can add more details of what we want later We agree that requirements continually change, but so what? Change can easily be accommodated since software is flexible
B S Gandhi
Myths (contd)
Programmer
Once we get the program to work, our job is done Until I finish coding, how do I assess the quality? The only deliverable work product is a working program Software engineering practices make us write more documents and slows down our work
B S Gandhi
Failed
28% 46%
Challenged
Succeeded
26%
11
Process approach
What is a process A good process can deliver good output Engineering, Management and Support processes Software Development Life Cycle Phases of SDLC
B S Gandhi
Software Development
Software life cycle processes that comprise the activities of Requirements analysis Design Coding Testing Installation & Acceptance User Support
13
Requirements Analysis
Requirements specification of the characteristics to be possessed by the software project or service Requirements analysis elicitation, documentation, review and approval of requirements
Software Project Management
14
Design
Design logical view of the implementation of the solution meeting customer requirements Data design data structures, data base elements Architectural design sub-systems, modules and programs Interface design user and external environment
15
Coding
Coding converting the logic specified in the design in to programs as per chosen programming language
16
Testing
Testing to ensure that the product is working according to the requirements Levels of testing unit, module, integration, system and acceptance
Software Project Management
17
18
User Support
Problem resolution Functionality enhancements Migration to new environments
Software Project Management
19
Process Architecture
For all the software development activities the process architecture defines
Entry and exit criteria Inputs and outputs Participants and responsibilities Activities to be carried out Verification and approval Standards
20
21
SDLC Models
Waterfall model Spiral model Prototype model Iterative model Rapid application development model
22
Waterfall Model
Also known as classic life cycle model, linear sequential model This model suggests a systematic and sequential approach to software development that begins at requirements analysis and progresses through all life cycle phases sequentially
Software Project Management
23
RA
D
C T
I &A
CS
24
Waterfall Model
Users Software Requirements Software Requirement Specifications High Level Design
Software Project Management
Detailed Design Coding and Unit Testing Integration Testing System Testing
Acceptance Testing
25
Warranty
V MODEL
Contract
Users Software Requirements Software Requirements Specifications
Review / Test
Acceptance Testing
Warranty
Software Development
Integration Testing
Quality Assurance
Detailed Design
Unit Testing
Coding
26
Project Management
System Testing
27
28
29
30
Spiral Model
In a spiral model, software is developed in a series of incremental releases The spiral model is divided in to a number of framework activities or task regions
Software Project Management
31
I&A
T
32
RA
33
34
Prototype Model
A prototype model is a representation of a real life situation, which can be evaluated by the user A prototype is developed based on the initial understanding of the customer requirements A visible working prototype helps customer to define the requirements
35
36
Intial Requirements
37
Can be used when customer is not sure about what he wants Faster way of finalising the requirements Useful for new technologies and domains
Disadvantage :
A prototype if used in a production environment, may lack quality or maintainability
38
Incremental Models
B S Gandhi
B S Gandhi
Agile Principles
Highest Priority Customer Satisfaction Welcome changing requirements Even late in the development Deliver working software frequently Business people and developers work together Build Projects around motivated individuals Most efficient method of conveying information within development teams face to face
41
42
B S Gandhi
44
45