Unit-2 Software Engineering
Unit-2 Software Engineering
2.1 Introduction
Software development life cycle (SDLC) is a structured process that is used to
design,cycle, is a methodology that defines the entire procedure of software
development step-by-step. The goal of the SDLC life cycle model is to deliver
high-quality, maintainable software that meets the user’s requirements. SDLC in
software engineering models outlines the plan for each stage so that each stage of
the software development model can perform its task efficiently to deliver the
software at a low cost within a given time frame that meets users requirements. In
this article we will see Software Development Life Cycle (SDLC) in detail.
Organizational Project Enabling Processes are set of processes that define and
maintain life cycle models and procedures for use by organization with respect to
scope of international standards.
3. Project Processes:
4. Technical Processes:
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
There are certain processes such as domain engineering processes, reuse program
management processes that serve as software reuse processes.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
4. Construction: This step consists of code generation and its testing. Coding
will implement the design details using appropriate programming
languages.Testing checks if the program or the code provides expected
output, and also checks whether the flow of the code is correct or not.
1. Testing activities like planning of test cases, test designing will be done way
before coding, which saves a lot of time.
2. Based on Waterfall Model, it lacks flexibility, and the delivery of products is
relatively fast.
3. It is useful when there are long-life complex applications being built.
4. It is not cost-effective and is static
5. In the Evolutionary Process model, Incremental developments are possible
and new developments are reflected in the products.
6. It has poor structure and has a high risk of failure in delivering the product
7. In RAD, it supports future development and maintenance users can reuse the
system, and had a low risk of failure with reduced cost.
8. Here, requirements are not always served and is not suitable for all types of
application development.
9. In Agile Model, requirements are delivered in a rapid manner with less risk
and software reliability.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
2.4.1 Waterfall Model
This model has five phases: Requirements analysis and specification, design,
implementation, and unit testing, integration and system testing, and operation and
maintenance. The steps always follow in this order and do not overlap. The
developer must complete every phase before the next phase begins.
Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate phases. In this
Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high
risk of changing. So, risk and uncertainty is high with this process model.
It is difficult to measure progress within stages.
Cannot accommodate changing requirements.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
1. Requirement analysis: In the first phase of the incremental model, the product
analysis expertise identifies the requirements. And the system functional
requirements are understood by the requirement analysis team. To develop the
software under the incremental model, this phase performs a crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the
design of the system functionality and the development method are finished with
success. When software develops new practicality, the incremental model uses
style and development phase.
3. Testing: In the incremental model, the testing phase checks the performance of
each existing function as well as additional functionality. In the testing phase, the
various methods are used to test the behavior of each task.
4. Implementation: Implementation phase enables the coding phase of the
development system. It involves the final coding that design in the designing and
development phase and tests the functionality in the testing phase. After
completion of this phase, the number of the product working is enhanced and
upgraded up to the final system product
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
Advantage of Incremental Model
Errors are easy to be recognized.
Easier to test and debug
More flexible.
Simple to manage risk because it handled during its iteration.
The Client gets important functionality early.
Phases:
1. Initial Concept
2. Design and implement prototype based on initial concept
3. Refine prototype until it is acceptance
4. Complete and release the prototype
1. Prototyping Model:
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
Steps of Prototype Model
1. Requirement Gathering and Analysis
2. Quick Decision
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
3. Build a Prototype
4. Assessment or User Evaluation
5. Prototype Refinement.
2. Spiral Model:
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
The spiral model is an evolutionary software process model
that couples the iterative feature of prototyping with the controlled and
systematic aspects of the linear sequential model. It implements the potential
for rapid development of new versions of the software. Using the spiral model,
the software is developed in a series of incremental releases. During the early
iterations, the additional release may be a paper model or prototype. During
later iterations, more and more complete versions of the engineered system are
produced.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.
Advantage of Spiral Model
High amount of risk analysis
Useful for large and mission-critical projects.
Notes By:
Mr.Ajit T.Bhosle
Assistant Professor
MGM’S College of Computer Science & IT, Nanded.