SDLC is a disciplined and systematic approach that divides software development process into various phases such as requirement analysis, design and coding The phase-wise development process helps to track schedule, cost and quality of software projects.
6 phases in SDLC are Feasibility analysis Requirement analysis and specification Design Coding Testing maintenance
Different types of projects have different requirements It is required to tailor the SDLC phases according to the specific needs of the project. This gives rise to various software development approaches Waterfall approach Prototyping approach Spiral approach Win-win spiral approach Incremental approach
It describes the software development process in a linear sequential flow It is the earliest approach that was used for software development . It defines software development process in 7 phases Conception Initiation Analysis Design Construction Integration and testing Implementation and maintenance
Also known as evolutionary approach Came into picture because of failures that occurred in final version of software application developed using waterfall approach. Prototype is a sample implementation of system that show limited and main functional capabilities of the proposed system Used in the requirements gathering and analysis phase to capture the exact requirements of the proposed system
Prototypes are of 2 types Throwaway prototypes Evolutionary prototypes Disadvantage of prototyping It gives client false impression that a few minor changes to prototype will give them required system It may compromise on the overall quality of the software in the rush to develop the prototype
Includes iterative nature of prototyping approach and linear nature of waterfall approach It is ideal for developing software that are released in various versions. It includes 6 phases: Customer communication Planning Risk analysis Engineering Construction and release Customer evaluation
It is an extension of spiral approach The phases are same as phases in spiral approach In this phase, development team and customer hold discussions and negotiate on the requirements that need to be included in current iteration of software The approach is called win-win because it is a winning situation for development team and also for customer It is generally used when you have time-bound releases
Software requirements are broken down into various functional units Each functional unit is implemented in an increment and final product is achieved after all the functional units are implemented in the development process Each increment includes 3 phases Design Implementation analysis
Which of the following approaches includes the iterative nature ofthe prototyping approach and linear nature of the waterfallapproach? Incremental approach Spiral approach Evolutionary approachAns:Spiral approach
In the design phase of any software development approach, you can follow two approaches to software development. function-oriented approach Object-oriented approach function-oriented approach is module-centric and concentrates on functions of the software The fundamental idea behind object orientation is to portray things as they exist in real world. Object-oriented approach supports reusability and encapsulation of data and concepts such as inheritance, abstraction and polymorphism
Classes and objects A class is an abstract data type that contains a set of attributes and functions. An object is an instance of class.Inheritance It refers to sharing of attributes and behaviors among classes based upon hierarchical relationship.Abstraction It focuses on essential, inherent aspects of an entity ignoring its implementation detailsEncapsulation Means preventing access to non-essential details
Polymorphism the concept of using operators or functions in different ways depending on what they are operating on is called polymorphism. Operator overloading refers to the difference in functionality of an operator depending upon type of operands When polymorphism is used in the context of functions performing different tasks, it is referred to as function overloading
Which phase of SDLC includes translation of the requirements specifiedin the SRS into a logical structure that can be implemented in aprogramming language? Feasibility analysis Design Coding MaintenanceAns:design
OO approach does not replace the standard approaches, such as DFD or ER diagrams. OO approach is only an addition to the existing toolkit. OOAD uses the OO approach to solve the real world problems It uses OO approach to analyze the system requirements and break a large and complex system into smaller and simpler components. OOAD is analysis of requirements and design of software system in terms of the objects, classes, encapsulation, inheritance, polymorphism, abstraction and dynamic binding. OOAD is a methodology that can be applied to any software development approach
In this session, you learned that: SDLC is a disciplined and systematic approach towards software development. SDLC divides the software development process into six phases: Feasibility analysis Requirement analysis and specification Design Coding Testing Maintenance
Different types of projects have different requirements. Therefore, it may be required to tailor the SDLC phases according to the specific needs of the project. This gives rise to various software development approaches. Some of these approaches are: Waterfall approach Prototyping approach Spiral approach Win-win spiral approach Incremental approach The function-oriented approach is module-centric and concentrates on the functions of the software.
The object-oriented (OO) approach supports reusability and encapsulation of data and concepts such as inheritance, abstraction, and polymorphism. OOAD is analysis of requirements and design of software system in terms of objects, classes, encapsulation, inheritance, polymorphism, abstraction, and dynamic binding.