0% found this document useful (0 votes)
3 views

Oose unit-1

The document provides an overview of software engineering, including its definition, challenges, and methodologies. It discusses the software crisis, which highlights issues such as high costs, inefficiency, and reliability problems in software development. Additionally, it outlines the evolution of software engineering practices and the importance of systematic approaches to improve software quality and address user needs.

Uploaded by

Prudhvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Oose unit-1

The document provides an overview of software engineering, including its definition, challenges, and methodologies. It discusses the software crisis, which highlights issues such as high costs, inefficiency, and reliability problems in software development. Additionally, it outlines the evolution of software engineering practices and the importance of systematic approaches to improve software quality and address user needs.

Uploaded by

Prudhvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

lOMoARcPSD|5982446

OOSE 1

COMPUTER SCIENCE ENGINEERING (Jawaharlal Nehru Technological University,


Kakinada)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)
lOMoARcPSD|5982446

UNIT I: Introduc琀椀on to So昀琀ware Engineering: So昀琀ware, So昀琀ware Crisis, So昀琀ware


Engineering de昀椀ni琀椀on, Evolu琀椀on of So昀琀ware Engineering Methodologies, So昀琀ware
Engineering Challenges. So昀琀ware Processes: So昀琀ware Process, Process Classi昀椀ca琀椀on,
Phased development life cycle, So昀琀ware Development Process Models, Process, use,
applicability and Advantages/limita琀椀ons.

1. Introduc琀椀on to So昀琀ware Engineering:


So昀琀ware
 The term so昀琀ware engineering is composed of two words, so昀琀ware and
engineering. So昀琀ware is more than just a program code.
 A program is an executable code, which serves some computa琀椀onal purpose.
So昀琀ware is considered to be a collec琀椀on of executable programming code,
associated libraries and documenta琀椀ons.
 So昀琀ware, when made for a speci昀椀c requirement is called so昀琀ware product.
 Engineering on the other hand, is all about developing products, using well-
de昀椀ned, scien琀椀昀椀c principles and methods. So, we can de昀椀ne so昀琀ware
engineering as an engineering branch associated with the development of
so昀琀ware product using well-de昀椀ned scien琀椀昀椀c principles, methods and
procedures.
 The outcome of so昀琀ware engineering is an e昀케cient and reliable so昀琀ware
product.

SOFTWARE CRISIS:

 So昀琀ware engineering appears to be among the few op琀椀ons available to tackle the
present so昀琀ware crisis.
 So昀琀ware Crisis is a term used in computer science for the di昀케culty of wri琀椀ng
useful and e昀케cient computer programs in the required 琀椀me.
 If we will use the same workforce, same methods, and same tools a昀琀er the fast
increase in so昀琀ware demand, so昀琀ware complexity, and so昀琀ware challenges, then
there arise some problems like so昀琀ware budget problems, so昀琀ware e昀케ciency
problems, so昀琀ware quality problems, so昀琀ware management, and delivery
problem, etc. This condi琀椀on is called a So昀琀ware Crisis.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

 Let us explain the present so昀琀ware crisis in simple words, by considering the
following.
 The expenses that organiza琀椀ons all around the world are incurring on so昀琀ware
purchases compared to those on hardware purchases have been showing a worrying
trend over the years (Fig 1.6)

Organiza琀椀ons are spending larger and larger por琀椀ons of their budget on so昀琀ware
not only are the so昀琀ware products turning out to be more expensive than hardware,
but also presented a lot of other problems to the customers such as:
 so昀琀ware products are di昀케cult to alter,
 debug, and enhance;
 use resources non op琀椀mally;
 o昀琀en fail to meet the user requirements;
 are far from being reliable;
 frequently crash;
 and are o昀琀en delivered late.
Due to ine昀昀ec琀椀ve development of the product characterized by ine昀케cient resource
usage and 琀椀me and cost over-runs. Other factors are larger problem sizes, lack of
adequate training in so昀琀ware engineering, increasing skill shortage, and low
produc琀椀vity Improvements
S/W crisis from programmer point of view:-
i)Problem of compa琀椀bility.
ii)Problem of Portability.
iii)Proclaiming documenta琀椀on.
iv)Problem of pirated s/w.
v)Problem in co-ordina琀椀on of work of di昀昀erent people.
vi)Problem of proper maintenance.
S/W crisis from user point of view:-
i)s/w cost is very high.
ii)Price of h/w grows down.
iii)Lack of development speci昀椀ca琀椀on.
iv)Problem of di昀昀erent s/w versions.
v)Problem of bugs or errors.
So昀琀ware Engineering :
 It is the process of designing, developing, tes琀椀ng, and maintaining so昀琀ware. It is a
systema琀椀c and disciplined approach to so昀琀ware development that aims to create

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

high-quality, reliable, and maintainable so昀琀ware. So昀琀ware engineering includes a


variety of techniques, tools, and methodologies, including requirements analysis,
design, tes琀椀ng, and maintenance.
 So昀琀ware engineering is a rapidly evolving 昀椀eld, and new tools and technologies are
constantly being developed to improve the so昀琀ware development process. By
following the principles of so昀琀ware engineering and using the appropriate tools
and methodologies, so昀琀ware developers can create high-quality, reliable, and
maintainable so昀琀ware that meets the needs of its users.
 So昀琀ware Engineering is mainly used for large projects based on so昀琀ware systems
rather than single programs or applica琀椀ons. The main goal of So昀琀ware Engineering
is to develop so昀琀ware applica琀椀ons for improving quality, budget, and 琀椀me
e昀케ciency. So昀琀ware Engineering ensures that the so昀琀ware that has to be built
should be consistent, correct, also on budget, on 琀椀me, and within the required
requirements.
Evolu琀椀on of So昀琀ware Engineering Methodologies:
So昀琀ware development is becoming vital to nearly every organiza琀椀on. The so昀琀ware
development prac琀椀ce has been advanced from its beginning about a half-century ago.
HISTORY OF SOFTWARE DEVELOPMENT
 The development of an informa琀椀on system began as early as 1940 up to 1960. The
rise of the so昀琀ware crisis leads to the development of organized and systema琀椀c
so昀琀ware engineering approaches. Certainly, the so昀琀ware industry is very dynamic
and requires constant upda琀椀ng. Therefore, numerous methodologies of So昀琀ware
 Development have been proposed for the e昀케ciency and improvement of the
so昀琀ware. Currently, the 昀椀eld of so昀琀ware engineering uses life cycle models for
so昀琀ware development. These models include the Waterfall Model, Agile model etc.
Among all the life cycle models, Agile is the most popular and reliable one.
THE IDEA OF PROJECT MANAGEMENT
In 1910, Henry Gan琀琀 and Frederick Taylor proposed the idea of project management by
inven琀椀ng the diagram of project management..
In 1916 Henri Fayol introduced the concepts e.g. division of work, the unity of command,
centraliza琀椀on of discussion.
TEAM WORK
In the period of 1927-1932, Elton Mayo carried the Hawthorne experiment. The results of
the experiment concluded that the mo琀椀va琀椀onal work of the team helps to increase
produc琀椀vity.
THE WATERFALL APPROACH
 The 琀椀me of the 1950s basically depended on code and 昀椀x methodologies.
 However, in 1953, the idea of so昀琀ware was introduced which was not taken
seriously at that 琀椀me.
 In 1956, Herbert D. Bennington gave the 昀椀rst formal descrip琀椀on of the Waterfall
model. Bell and Thayer, in 1976, used the earliest term of Waterfall.
 In 1985, the US Department of Defense standardized the Waterfall methodology.
THE SPIRAL MODEL AND SCRUM
 In 1986, Barry Boehm described the process of so昀琀ware development in the form of
Spiral Model. The spiral processes use itera琀椀ve development concepts to reduce the
risks.
 The term Scrum was also introduced in 1986 by Takeuchi and Nonaka.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

 Scrum was de昀椀ned as an approach to organiza琀椀onal knowledge crea琀椀on.


 This method is a good tac琀椀c for bringing innova琀椀on in a constant and bene昀椀cial way.
Furthermore, in 1990, Ken Schwaber referred to Scrum as Advanced Development
Method.
 Meanwhile, Je昀昀 Sutherland developed a related method, referring to it with the
single word Scrum. Schwaber and Sutherland described the Scrum methodology in
1995.
ITERATIVE & INCREMENTAL SOFTWARE PROCESSES
 The period of 1996-1998 gave rise to itera琀椀ve and incremental so昀琀ware processes.
This process became standard for the industry because it is focused on structural
design.
AGILE REVOLUTION
 The age of 1999 is the 琀椀me of the Agile revolu琀椀on. In 2001, Agile manifesto was
published.
DEVOPS APPROACH
 DevOps was introduced in 2009 which is now the most reliable than other
methodologies.
So昀琀ware Engineering Challenges.
Some common challenges include:
1. Understanding the user’s needs: Requirements are o昀琀en poorly de昀椀ned and may
change over 琀椀me, making it di昀케cult for engineers to understand the user’s true needs.
2. Managing stakeholders: There may be mul琀椀ple stakeholders with di昀昀erent goals and
priori琀椀es, making it di昀케cult to sa琀椀sfy everyone’s requirements.
3. Iden琀椀fying and mi琀椀ga琀椀ng risks: Engineers must iden琀椀fy and mi琀椀gate poten琀椀al risks
associated with the requirements, such as security vulnerabili琀椀es or scalability issues.
4. Handling ambiguity: Requirements may be ambiguous, inconsistent, or incomplete,
making it di昀케cult for engineers to understand what the system should do.
5. Keeping up with changing technology: Requirements must be aligned with the latest
technology trends and innova琀椀ons, which can be di昀케cult to predict and keep up with.
6. Maintaining a balance between feasibility, cost and 琀椀me: Engineers need to balance
the feasibility of implemen琀椀ng a requirement, the cost of implementa琀椀on, and the
琀椀me required to implement it.
7. Maintaining traceability: Engineers need to maintain traceability of requirements
throughout the development process to ensure that all requirements are met and any
changes are tracked.
8 .Elici琀椀ng requirements is the 昀椀rst step of the Requirement Engineering process. It
helps the analyst to gain knowledge about the problem domain which in turn is used to
produce a formal speci昀椀ca琀椀on of the so昀琀ware. There are a number of issues and
challenges encountered during this process.
So昀琀ware Processes:
So昀琀ware Process:
 The term so昀琀ware speci昀椀es to the set of computer programs, procedures and
associated documents (Flowcharts, manuals, etc.) that describe the program and
how they are to be used.
 A so昀琀ware process is the set of ac琀椀vi琀椀es and associated outcome that produce a
so昀琀ware product. So昀琀ware engineers mostly carry out these ac琀椀vi琀椀es. These are
four key process ac琀椀vi琀椀es, which are common to all so昀琀ware processes.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

These ac琀椀vi琀椀es are:


So昀琀ware speci昀椀ca琀椀ons: The func琀椀onality of the so昀琀ware and constraints on its opera琀椀on
must be de昀椀ned.
So昀琀ware development: The so昀琀ware to meet the requirement must be produced.
So昀琀ware valida琀椀on: The so昀琀ware must be validated to ensure that it does what the
customer wants.
So昀琀ware evolu琀椀on: The so昀琀ware must evolve to meet changing client needs.
Phased development life cycle:
So昀琀ware Development Lifecycle has 昀椀ve phases:
 incep琀椀on
 design
 implementa琀椀on
 maintenance
 audit or disposal
which includes an assessment of the risk management plan.
1. The phase of incep琀椀on includes the planning and requirement analysis, and the crea琀椀on
of a rough dra昀琀 of the system including iden琀椀昀椀ca琀椀on of the possible risks. This is also the
昀椀rst step for risk management where project managers iden琀椀fy and priori琀椀ze so昀琀ware
development risks.
2. The design and prototyping phase of SDLC is when the system designers take into account
possible risks, so the list of poten琀椀al risks the system has to deal with is formed at this stage.
3. The implementa琀椀on of the so昀琀ware development phase includes the system
con昀椀gura琀椀on and crea琀椀on of func琀椀onal so昀琀ware, tes琀椀ng, and veri昀椀ca琀椀on. Here the system
is tested against the risks iden琀椀昀椀ed in the previous two phases.
4. The maintenance phase includes debugging and upda琀椀ng if new risks are iden琀椀昀椀ed they
have to be included in the system modules.
5. The audit phase includes the risk management plan assessment and any necessary
re昀椀nements. Any substan琀椀al changes in risk management are then incorporated into the
updates based on system audit results.
So昀琀ware Development Process Models, Process, use, applicability and
Advantages/limita琀椀ons.
SOFTWARE DEVELPOMENT PROCESS MODELS:

 n so昀琀ware development life cycle, various models are designed and de昀椀ned. These
models are called as So昀琀ware Development Process Models.
 On the basis of project mo琀椀ve, the so昀琀ware development process model is selected
for development.

Following are the di昀昀erent so昀琀ware development process models:


1) Big-Bang model
2) Code-and-昀椀x model
3) Waterfall model
4) V model
5) Incremental model
6) RAD model
7) Agile model

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

8) Itera琀椀ve model
9) Spiral model
10) Prototype model
Big-Bang Model

 Big-Bang is the SDLC(So昀琀ware Development Life cycle) model in which no par琀椀cular


process is followed.
 Generally this model is used for small projects in which the development teams are
small. It is specially useful in academic projects.
 This model is needs a li琀琀le planning and does not follow formal development.
 The development of this model begins with the required money and e昀昀orts as an
input.
 The output of this model is developed so昀琀ware, that may or may not be according
to the requirements of the customer.

Advantages of Big-Bang model


 Big-Bang model is a simple model.
 It needs li琀琀le planning.
 It is simple to manage. It needs just a few resources to be developed.
 It is useful for students and new comers.
Disadvantages of Big-Bang model
 It is a very high risk model.
 This model is not suitable for object oriented and complex projects.
 Big-Bang is poor model for lengthy and in-progress projects.
2) Code-and-昀椀x Model

 Code and fix model is one step ahead from the Big-Bang model. It iden琀椀昀椀es the
product that must be tested before release.
 The tes琀椀ng team 昀椀nd the bugs then sends the so昀琀ware back for 昀椀xing. To deliver
the 昀椀xes developers complete some coding and send the so昀琀ware again for tes琀椀ng.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

 This process is repeated 琀椀ll the bugs are found in it, at an acceptable level.

Advantages of Code-and-昀椀x model


  This model is suitable for small projects.  It needs less project planning.
Disadvantages of Code-and-昀椀x model
 It is di昀케cult to accommodate changes.
 It is not clear what will be delivered and when.
 It is di昀케cult to assess quality.
3) Waterfall Model

 The waterfall model is the classic model or oldest model and is known as mother
of all the model. It is widely used in government projects and many vital projects in
company.
 The waterfall model is also called as 'Linear sequen琀椀al model' or 'Classic life cycle
model'.
 In this model, each phase is executed completely before the beginning of the next
phase. Hence the phases do not overlap in waterfall model.
 This model is used for small projects.  In this model, feedback is taken a昀琀er each
phase to ensure that the project is on the right path.  Tes琀椀ng part starts only a昀琀er
the development is completed.
Following are the phases in waterfall model:
i) Communica琀椀on The so昀琀ware development starts with the communica琀椀on between
customer and developer.
ii) Planning It consists of complete es琀椀ma琀椀on, scheduling for project development.
iii) Modelling
 Modelling consists of complete requirement analysis and the design of the project
i.e algorithm, 昀氀owchart etc.
 The algorithm is the step-by-step solu琀椀on of the problem and the 昀氀ow chart shows
a complete 昀氀ow diagram of a program.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

iv) Construc琀椀on
 Construc琀椀on consists of code genera琀椀on and the tes琀椀ng part.
 Coding part implements the design details using an appropriate programming
language.
 Tes琀椀ng is to check whether the 昀氀ow of coding is correct or not.
 Tes琀椀ng also checks that the program provides desired output.
v) Deployment
 Deployment step consists of delivering the product to the customer and taking
feedback from them.
 If the customer wants some correc琀椀ons or demands for the addi琀椀onal capabili琀椀es,
then the change is required for improvement in the quality of the so昀琀ware.
Advantages of Waterfall model
 The waterfall model is simple and easy to understand, to implement, and use.
 All the requirements are known at the beginning of the project, hence it is easy to
manage.
 It avoids overlapping of phases because each phase is completed at once.
 This model works for small projects where the requirements are easily understood.
 This model is preferred for those projects where the quality is more important as
compared to the cost of the project.
Disadvantages of the Waterfall model
 This model is not good for complex and object oriented projects.
 In this model, the changes are not permi琀琀ed so it is not 昀椀t for moderate to high
risk changes in project.
 It is a poor model for long dura琀椀on projects.
 The problems with this model are uncovered, un琀椀l the so昀琀ware tes琀椀ng.  The
amount of risk is high.
4) V Model
 V model is known as Veri昀椀ca琀椀on and Valida琀椀on model.
 This model is an extension of the waterfall model.
 In the life cycle of V-shaped model, processes are executed sequen琀椀ally.
 Every phase completes its execu琀椀on before the execu琀椀on of next phase begins.
Following are the phases of V-model:

 i) Requirements
 The requirements of product are understood from the customers point of vie w to
know their exact requirement and expecta琀椀on.  The acceptance test design planning

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

is completed at requirement stage because, business requirements are used as an input


for acceptance tes琀椀ng.
ii) System Design
 In system design, high level design of the so昀琀ware is constructed.  In this phase,
we study how the requirements are implemented their technical use.
iii) Architecture design
 In architecture design, so昀琀ware architecture is created on the basis of high level
design.
 The module rela琀椀onship and dependencies of module, architectural diagrams,
database tables, technology details are completed in this phase.
iv) Module design
 In module phase, we separately design every module or the so昀琀ware components.
 Finalize all the methods, classes, interfaces, data types etc.
 Unit tests are designed in module design phase based on the internal module
designs.
 Unit tests are the vital part of any development process.
 They help to remove the maximum faults and errors at an early stage.
v) Coding Phase
 The actual code design of module designed in the design phase is grabbed in the
coding phase.
 On the basis of system and architecture requirements, we decide the best suitable
programming language.
 The coding is executed on the basis of coding guidelines and standards.
Advantages of V-model
 V-model is easy and simple to use.
 Many tes琀椀ng ac琀椀vi琀椀es i.e planning, test design are executed in the star琀椀ng, it
saves more 琀椀me.
 Calcula琀椀on of errors is done at the star琀椀ng of the project hence, less chances of
error occurred at 昀椀nal phase of tes琀椀ng.
 This model is suitable for small projects where the requirements are easily
understood.
Disadvantages of V-model
 V-model is not suitable for large and composite projects.  If t he requirements are
not constant then this model is not acceptable.
5) Incremental Model

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

 The incremental model combines the elements of waterfall model and they are
applied in an itera琀椀ve fashion.
 The 昀椀rst increment in this model is generally a core product.
 Each increment builds the product and submits it to the customer for sugges琀椀ng
any modi昀椀ca琀椀ons.
 The next increment implements the customer's sugges琀椀ons and add addi琀椀onal
requirements in the previous increment.
 This process is repeated un琀椀l the product is completed. For example, the word-
processing so昀琀ware is developed using the incremental model.
Following are the phases of Incremental model:
i)Communica琀椀on The so昀琀ware development starts with the communica琀椀on between
customer and developer.
ii)Planning It consists of complete es琀椀ma琀椀on, scheduling for project development.
iii) Modeling
 Modeling consists of complete requirement analysis and the design of the project
like algorithm, 昀氀owchart etc.  The algorithm is a step-by-step solu琀椀on of the problem
and the 昀氀ow chart shows a complete 昀氀ow diagram of a program.
iv) Construc琀椀on
 Construc琀椀on consists of code genera琀椀on and the tes琀椀ng part.
  Coding part implements the design details using an appropriate programming
language.
  Tes琀椀ng is to check whether the 昀氀ow of coding is correct or not.
  Tes琀椀ng also checks that the program provides desired output.
v) Deployment
  Deployment step consists of delivering the product to the customer and taking
feedback from them.
  If the customer wants some correc琀椀ons or demands for the addi琀椀onal
capabili琀椀es, then the change is required for improvement in the quality of the so昀琀ware .
Advantages of Incremental model
 This model is 昀氀exible because the cost of development is low and ini琀椀al product
delivery is faster.
 It is easier to test and debug in the smaller itera琀椀on.
 The working so昀琀ware is generated quickly in the so昀琀ware life cycle.
 The customers can respond to its func琀椀onali琀椀es a昀琀er every increment.
Disadvantages of the incremental model
 The cost of the 昀椀nal product may cross the cost ini琀椀ally es琀椀mated.
 This model requires a very clear and complete planning.
 The planning of design is required before the whole system is broken into smaller
increments.
 The demands of customer for the addi琀椀onal func琀椀onali琀椀es a昀琀er every increment
causes problem in the system architecture.
6) RAD Model

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

 RAD is a Rapid Applica琀椀on Development model.


 Using the RAD model, so昀琀ware product is developed in a short period of 琀椀me.
 The ini琀椀al ac琀椀vity starts with the communica琀椀on between customer and
developer.
 Planning depends upon the ini琀椀al requirements and then the requirements are
divided into groups.
 Planning is more important to work together on di昀昀erent modules.
The RAD model consist of following phases:
 1) BusinessModelling
 2)Data modelling
 3) Process modelling
 4) Applica琀椀on genera琀椀on
 5) Tes琀椀ng and turnover

 1) Business Modelling
 Business modelling consists of the 昀氀ow of informa琀椀on between various func琀椀ons
in the project. For example, what type of informa琀椀on is produced by every func琀椀on and
which are the func琀椀ons to handle that informa琀椀on.
 It is necessary to perform complete business analysis to get the essen琀椀al business
informa琀椀on.
 2) Data modelling
  The informa琀椀on in the business modelling phase is re昀椀ned into the set of
objects and it is essen琀椀al for the business.
  The a琀琀ributes of each object are iden琀椀昀椀ed and de昀椀ned the rela琀椀onship
between objects.
 3) Process modelling
  The data objects de昀椀ned in the data modelling phase are changed to ful昀椀l the
informa琀椀on 昀氀ow to implement the business model.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

  The process descrip琀椀on is created for adding, modifying, dele琀椀ng or retrieving


a data object.
 4) Applica琀椀on genera琀椀on
  In the applica琀椀on genera琀椀on phase, the actual system is built.  To construct
the so昀琀ware the automated tools are used.
 5) Tes琀椀ng and turnover
  The prototypes are independently tested a昀琀er each itera琀椀on so that the overall
tes琀椀ng 琀椀me is reduced.  The data 昀氀ow and the interfaces between all the
components are fully tested. Hence, most of the programming components are already
tested.
 Advantages of RAD Model
  The process of applica琀椀on development and delivery are fast.  This model is
昀氀exible, if any changes are required.  Reviews are taken from the clients at the
staring of the development hence there are lesser chances to miss the requirements.
 Disadvantages of RAD Model
  The feedback from the user is required at every development phase.  This
model is not a good choice for long term and large projects.
 7) Agile Model

  Agile model is a combina琀椀on of incremental and itera琀椀ve process models.


  This model focuses on the users sa琀椀sfac琀椀on which can be achieved with quick
delivery of the working so昀琀ware product.
  Agile model breaks the product into individual itera琀椀ons.
  Every itera琀椀on includes cross func琀椀onal teams working on di昀昀erent areas su ch
as planning, requirements, analysis, design, coding, unit tes琀椀ng and acceptance tes琀椀ng.
  At the end of an itera琀椀on working product shows to the users.
  With every increment, features are incremented and the 昀椀nal increment hold all
the features needed by the customers.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

  The itera琀椀ons in agile process are shorter in dura琀椀on which can vary from 2
weeks to 2 months.
 Advantages of Agile model
  Customers are sa琀椀s昀椀ed because of quick and con琀椀nuous delivery of useful
so昀琀ware.
  Regular de livery of working so昀琀ware.
  Face to face interac琀椀on between the customers, developers and testers and it is
best form of communica琀椀on.
 Even the late changes in the requirement can be incorporated in the so昀琀ware.
Disadvantages of Agile model
  It is totally depends on customer interac琀椀on. If the customer is not clear with
their requirements, the development team can go in the wrong direc琀椀on
 .  Documenta琀椀on is less, so the transfer of technology to the new team members
is challenging.
8) Itera琀椀ve Model

  In Itera琀椀ve model, the large applica琀椀on of so昀琀ware development is divided into


smaller chunks and smaller parts of so昀琀ware which can be reviewed to recognize
further requirements are implemented.
 This process is repeated to generate a new version of the so昀琀ware in each cycle of
a model.
  With every itera琀椀on, development module goes through the phases i.e
requirement, design, implementa琀椀on and tes琀椀ng. These phases are repeated in
itera琀椀ve model in a sequence.
 1) Requirement Phase In this phase, the requirements for the so昀琀ware are
assembled and analyzed. Generates a complete and 昀椀nal speci昀椀ca琀椀on of requirements.
 2) Design Phase In this phase, a so昀琀ware solu琀椀on meets the designed
requirements which can be a new design or an extension of an earlier design.
 3) Implementa琀椀on and test phase In this phase, coding for the so昀琀ware and test
the code.
 4) Evalua琀椀on In this phase, so昀琀ware is evaluated, the current requirements are
reviewed and the changes and addi琀椀ons in the requirements are suggested.
Advantages of an Itera琀椀ve Model
  Produces working so昀琀ware rapidly and early in the so昀琀ware life cycle.
  This model is easy to test and debug in a smaller itera琀椀on.
  It is less costly to change scope and requirements.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

Disadvantages of an Itera琀椀ve Model


  The system architecture is costly.
  This model is not suitable for smaller projects.
9) Spiral model

  It is a combina琀椀on of prototype and sequen琀椀al or waterfall model.


  This model was developed by Boehm.
  It is us ed for genera琀椀ng the so昀琀ware projects. This model is a risk driven
process model.
  Every phase in the Spiral model is start with a design goal and ends with the
client review.
  The development team in this model begins with a small set of requirements
and for the set of requirements team goes through each development phase.
  The development team adds the func琀椀onality in every spiral 琀椀ll the applica琀椀on

is ready.
Following are the steps involved in spiral model:
 Phases of Spiral model are:
 1) Planning
 2) Risk Analysis
 3) Engineering
 4) Evalua琀椀on

1) Planning

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

  This phase, studies and collects the requirements for con琀椀nuous


communica琀椀on between the customer and system analyst.
  It involves es琀椀ma琀椀ng the cost and resources for the itera琀椀on.
2) Risk Analysis This phase, iden琀椀昀椀es the risk and provides the alternate solu琀椀ons if
the risk is found.
3) Engineering In this phase, actual development i.e coding of the so昀琀ware is
completed. Tes琀椀ng is completed at the end of the phase.
4) Evalua琀椀on Get the so昀琀ware evaluated by the customers. They provide the feedback
before the project con琀椀nues to the next spiral.
Advantages of Spiral Model
  It reduces high amount of risk.
  It is good for large and cri琀椀cal projects.
  It gives strong approval and documenta琀椀on control.
  In spiral model, the so昀琀war e is produced early in the life cycle process.
Disadvantages of Spiral Model
  It can be costly to develop a so昀琀ware model.  It is not used for small projects.
10) Prototype Model:
  Prototype is de昀椀ned as 昀椀rst or preliminary form using which other forms are
copied or derived.
  Prototype model is a set of general objec琀椀ves for so昀琀ware.
  It does not iden琀椀fy the requirements like detailed input, output.
  It is so昀琀ware working model of limited func琀椀onality.
  In this model, working progra ms are quickly produced.

The di昀昀erent phases of Prototyping model are:


 1) Communica琀椀on
 2) Quick design
 3) Modelling and quick design
 4) Construc琀椀on of prototype
 5) Deployment, delivery, feedback
1. Communica琀椀on In this phase, developer and customer meet and discuss the overall
objec琀椀ves of the so昀琀ware.
2. Quick design
  Quick design is implemented when requirements are known.
  It includes only the important aspects i.e input and output format of the
so昀琀ware.
  It focuses on those aspe cts which are visible to the user rather than the detailed
plan.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)


lOMoARcPSD|5982446

  It helps to construct a prototype.


3. Modelling quick design
  This phase gives the clear idea about the development of so昀琀ware as the
so昀琀ware is now constructed.  It allows the d eveloper to be琀琀er understand the exact
requirements.
4. Construc琀椀on of prototype
 The prototype is evaluated by the customer itself.
5. Deployment, delivery, feedback
  If the user is not sa琀椀s昀椀ed with current prototype then it is re昀椀ned according t o
the requirements of the user.
  The process of re昀椀ning the prototype is repeated 琀椀ll all the requirements of
users are met.
  When the users are sa琀椀s昀椀ed with the developed prototype then the system is
developed on the basis of 昀椀nal prototype.
Advantages of Prototyping Model
  In the development process of this model users are ac琀椀vely involved.
  The development process is the best pla琀昀orm to understand the system by the
user.
  Earlier error detec琀椀on takes place in this model.
  It gives quick user feedback for be琀琀er solu琀椀ons.
  It iden琀椀昀椀es the missing func琀椀onality easily. It also iden琀椀昀椀es the confusing or
di昀케cult func琀椀ons.
Disadvantages of Prototyping Model
  The client involvement is more and it is not always considered by the deve loper.
  It is a slow process because it takes more 琀椀me for development.  Many
changes can disturb the rhythm of the development team.
  It is a throw away prototype when the users are confused with it.

Downloaded by Prudhvi Dil (prudhvitejadil22@gmail.com)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy