SDLC
SDLC
(S)oftware (d)evelopment (l)ife (c)ycle
a systematic and disciplined approach to develope a software with low cost , superior quality and with no schedule slippage
PHASES IN
SDLC
1. feasibility analysis2.requirement analysis & specification3. design4. coding5. testing6.maintanence
FEASIBILITY ANALYSIS
1.analysis of project requirements : 1. input data and desired output 2. processing required to transform input to output 3.cost benifit analysis 4.schedule of project 2.technical feasibility : focuses on: 1. availability of software tools 2.availability of hardware 3.availability of skilled software professionals
at the end of this phase a feasibility report is generated.
REQUIREMENT
ANALYSIS
AND
SPECIFICATION
1.an SRS ( software requirement specification) document is generated.
2. SRS is a formal document includes performance, functional, software ,hardware and network requirements of the project.
3.it acts as an agreement between development team and customer .
DESIGN :
SRS requirement translated into a raw and logical structure .
CODING
implementing the design specified in design document to an executable programming language code.
TESTING
code is mapped against design document
test plan involves:1. test case generation2. testing criteria3. resourse allocation for testing
MAINTENANCE
1. handling errors that may exist in software even after testing phase
2. implementation of new requirements after software is deployed at customer location.
SOFTWARE DEVELOPMENT
APPROACHES
WATERFALL APPROACH
uses linear approach , that means it provide no process to go back to previous phase to handle changes in the requirement.
PROTOTYPING APPROACH
2. a prototype is generated acc to requirements of software that tells customer how the software is going to function and to get better knowledge of requirements.
until the customer approves the prototype , generating a new prototype is continued ( before finalizing and frozing the requirements )
types of prototypes :1. throwaway prototypes: those
prototypes that are eventually discarded rather than becoming a part of finally delivered software.
2. evolutionary prototypes: are those that evolve into the final system through iterative incoorperation of user(ustomer) feedback.
SPIRAL APPROACH
includes both iterative nature of prototyping approach and linear nature of waterfall approach.
example: evolution of windows operating system from windows 3.1 to windows 2000
WIN WIN SPIRAL APPROACH
here the concept is same as spiral approach but also includes time of identifying requirements,communication and planning
INCREMENTAL APPROACH
there are number of functional units , each containing group of similar tasks.
each functional unit is implemented with an increment and final product is acheived after all units are implemented in the development process.
limitation:
applicable only to large applications.
Various object oriented
concepts
1. classes and objects
classes: an abstract data type that contains set of attributes and functions.object: instance of class
all the objects share same copy of member functions ,but maintain a seperate copy of the member data.
2. inheritance :
sharing of attributes and behaviours among classes based upon hierarchial relationship.
3. abstraction:
focuses on essential inherent aspects of an entity ignoring its implementation detdails .
4. encapsulation:
also called information hiding .it involves preventing access to non-essential details .
5. polymorphism
concept of using same operatiors or functions in different ways depending on what they are operating on.
ROLE OF OOAD IN SDLC
ooad is a tool used in sdlc to reduce complexity of software