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

Unit 1 Oose p2 Unit 1 Part 2 Notes

The document discusses different process flow models for software engineering including linear, iterative, evolutionary and parallel process flows. It also explains prescriptive process models like waterfall model, V-model, incremental model, RAD model and prototyping model along with their concepts, advantages and disadvantages.

Uploaded by

asjadzaki2021
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Unit 1 Oose p2 Unit 1 Part 2 Notes

The document discusses different process flow models for software engineering including linear, iterative, evolutionary and parallel process flows. It also explains prescriptive process models like waterfall model, V-model, incremental model, RAD model and prototyping model along with their concepts, advantages and disadvantages.

Uploaded by

asjadzaki2021
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

lOMoARcPSD|34525886

UNIT 1 OOSE P2 - Unit-1 part -2 notes

Object Oriented Software Engineering (Anna University)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Asjad Zaki ([email protected])
lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PROCESS FLOW:
Process flow describes how the framework activities and the actions and tasks that occur within each framework activity are organized
with respect to sequence and time. The different process flows are:
1)A linear process flow
2)An iterative process flow
3)An evolutionary process flow
4)A parallel process flow
1)A linear process flow executes each of the five framework activities in 3)An evolutionary process flow executes the activities in a
sequence, beginning with communication and culminating with deployment. “circular” manner. Each circuit through the five activities
leads to a more complete version of the software.

2)An iterative process flow repeats one or more of the activities before 4)A parallel process flow executes one or more activities in
proceeding to the next. parallel with other activities (e.g., modeling for one aspect of
the software might be executed in parallel with construction
of another aspect of the software).

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PRESCRIPTIVE PROCESS MODELS


PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL
 This model is also called as Linear  It is the simplest of all  It is difficult to make
Sequential Model or Classic life cycle. models. modifications in waterfall model
 Waterfall model describes a sequence of  It is a linear model  Does not have iteration
activities in a software life cycle.  Easy to implement  It is not suitable for complex,
 This model suggests a systematic,  Schedules can be fixed large and new projects.
sequential approach to software development that easily.  It may lead to blocking states.
begins at the system level and progresses through In blocking state situation, project
1)communication team members have to wait for other
2)planning members of the team to complete the
3)modeling dependent tasks.
4)construction
5)deployment
 When the requirements of a problem are
The waterfall reasonably well understood-when work flows
from communication through deployment in a
model
reasonably linear fashion.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

 A variation in the representation of the waterfall model is called the V-model


 V-model depicts the relationship of quality assurance actions to the actions associated with communication, modeling,
andearly construction activities.
 As a softwareteam moves down the left side of the V,basic problem requirements are refined into progressively more
detailed and technical representations of the problem and its solution.
 Once code has been generated,the team moves up the right side of the V, essentially performing a series of tests
(quality assurance actions) that validate each of the models created as the team moved down the left side.
 The V-model provides a way of visualizing how verification and validation actions are applied to earlier engineering
work.

The V-model

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL
 The incremental model combines the
elements of the waterfall model applied in an  Suitable to manage  Testing cost will be very high.
iterative fashion. technical risks.  Requires proper planning to
 Each linear sequence produces  Efficient when there are distribute the work
deliverable “increments” of the software.
less number of people involved  Total cost is higher
 When an incremental model is used, the in the project. than waterfall.
first increment is often a core product.  useful when staffing is
 The core product is used and evaluated by unavailable for a complete
the customer. implementation
 As a result of use and/or evaluation, a  initial delivery cost is less
plan is developed for the next increment.  It is easier to test and
 The plan addresses the modification of debug during a smaller iteration.
the core product to better meet the needs of the  This model is more
The customer and the delivery of additional features flexible – less costly to change
incremental and functionality. scope and requirements.
Model  This process is repeated until the
complete product is produced.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL
 RAD requires sufficient
 Rapid Application Development (RAD)  create a fully functional human resources to createthe right
is an incremental software process model that system within a very short time number of RAD teams.
emphasizes a short development cycle. period.  If developers and customers
 The RAD model is a high-speed are not committed RAD project fails.
adaptation of the waterfall model  If a system is not properly
 Rapid development is achieved by using modularized, building the components
component-based construction approach. for RAD will be problematic. High
performance cannot be achieved.
 Not appropriate when
technical risks are high or when new
technology is used.

RAD model

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL

 This can be used as a stand-alone process  It minimizes product  The developer often makes
model. failure. implementation compromises in order
 This prototyping model assists the  check the function of to get a prototype working quickly.
software engineer and the customer to better system models before committing  No consideration for quality.
understand what is to be built. to a final system.  inappropriate operating system
 The prototyping begins with  This model is useful when or programming language may be
communication. requirements are fuzzy. used
 A prototyping iteration is planned  inefficient algorithm may be
implemented.
quickly in the form of Quick design  Customer satisfaction
 The quick design leads to the is not achieved
construction of the Prototype.
 The Prototype is deployed and then
evaluated by the customer.
 Feedback is used to refine requirements
Prototyping for the software.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL

 It can be applied throughout  Risk rate is reduced.  It is only suitable for large
the life of the computer software.  Reusability of software. sized projects.
 It ‘couples’ the iterative nature of  It can be used when the  Model is complex to use.
prototyping with the controlled and systematic user requirements are not clear.  Management skill is
aspects of the waterfall model.  Since customer necessary so as to analyze the risk
 Anchor point milestones -a combination involvement is there risk rate is factor.
of work products and conditions that are attained reduced.
along the path of the spiral.

Spiral model

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

 This model is also called as concurrent


engineering. This model has a series of ADVANTAGE:
framework activities and their associated
states.  All type of software development can be done using concurrent
 Modeling activity which existed in the development model.
inactive state initially.  This model provides accurate picture of current state of project.
 Modeling activity can be in one of the  Each activity or task can be carried out concurrently. Hence this
states like under development, waiting for model is an efficient process model.
modification, under revision or under review
 The concurrent process model defines a
series of events that will trigger transitions
from state to state.

Concurrent
Development
Model

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

SPECIALIZED PROCESS MODELS


PROCESS
CONCEPT ADVANTAGE DISADVANTAGE
MODEL
 Commercialoff-the-shelf (COTS) software
components can be used.  Software reusability.  Quality of software is less
 Components should have well-defined  Reusability reduces the because it is not under full
interfaces. development cycle time control of developer.
 Incorporates many of the characteristics of and overall cost.
the spiral model.
Component-  Evolutionary in nature.
Based Steps:
Development  Identify Candidate component
 Analyze Component integration issues.
 Design Software architecture to
accommodate the components.
 Integrate Components into the architecture
 Testingis conducted to ensure proper
functionality.
 Encompasses a set of activities that leads to  Suitable to build the  The development of formal
formal mathematical specification of scientific models based on models is currently quite time-
computer software mathematical techniques consuming and expensive
 Have provision to apply a rigorous,  Suitable for the simulation of  Extensive training is required
mathematical notation. the some real time systems  It is difficult to use the models
Formal  Ambiguity, incompleteness, and  When there is a need to build as a communication mechanism for
Methods inconsistency can be discovered and the systems that can contribute technically unsophisticated
Model corrected more easily – not through ad hoc to the reliability and customers
review, but through the application of robustness (ie,critical
mathematical analysis systems) then the formal
 Offers the promise of defect-free software methods models are used
 Clean room Software Engineering is a
variation of the Formal Methods Model

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

 AOSD is also said as Aspect-Oriented Programming (AOP).


 AOP is a relatively new software engineering paradigm that provides a process and methodological approach for,
 Defining
 Specifying
Aspect-  Designing
Oriented  Constructing aspects.
software  Certain “concerns” – customer required properties or areas of technical interest – span the entire software architecture
Development  Example “concerns”
(AOSD)  Security
 Fault Tolerance
 Task synchronization
 Memory Management
 When concerns cut across multiple system functions, features, and information, they are often referred to as crosscutting
concerns.

UNIFIED PROCESS MODEL

 It is iterative in nature.
 It combines the features of evolutionary model and incremental model.
 There are 5 phases in unified model.
1. Inception Phase
2. Elaboration Phase
3. Construction Phase
4. Transition Phase
5. Production Phase
1) Inception Phase
Inception phase combines communication and planning. During this phase
 Requirements are gathered.
 Indentify actors and their interactions
 Develop the prototype
 Estimate schedule and deadlines, track the schedules, and risk analysis.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

2) Elaboration Phase
 It is a combination of planning and modeling.
 The initial requirements are refined and expanded.
 Requirements are made more detailed and the plan must be adjusted.
 When requirements are clear the design process starts.
3) Construction Phase
 The design is converted in to programming language and the code is tested to find errors.
4) Transition Phase
 It is the combination of construction and deployment
 The software is installed on user’s machine.
 When user suggests modification the code is modified, tested and installed on the users machine.
5) Production Phase
 After the fully functional software is produced the software is released as the increment.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

Formal Methods
Waterfall Model Incremental Model RAD Model Prototyping Model Spiral Model
Model(FMM)
Requirements must Requirements are Requirements must be Some requirements Requirements Requirements must
be clearly understood precisely defined and clearly understood are gathered initially analysis and gathering be clearly
and defined at the there is no confusion and defined at the but there may be can be done in understood and
beginning only about the final beginning only change in iterations because defined at the
product of the requirements when requirements get beginning only
software at each the working changed quite often
increment. prototype is shown
to the customer
Development team Development team It requires heavy Development team Development team Development team
having the adequate having the adequate resources. having the less having the less having the adequate
experience of working experience of (ie, multiple teams) experience of experience of experience of
on the similar project working on the Development team working on the working on the working on the
is chosen to work on similar project is having the adequate similar project is similar project is similar project is
this type of process allowed in this type of experience of working allowed in this type allowed in this type of chosen to work on
model process model on the similar project is of process model process model this type of process
chosen to work on this model
type of process model

If the development The development If the development The development The development If the development
team has less domain team with less team has less domain team has adequate team with less team has less domain
knowledge or if it domain knowledge knowledge or if it new domain knowledge. domain knowledge knowledge or if it
new to the technology can be accommodated to the technology then Similarly they can can be accommodated new to the technology
then such a team is due to iterative such a team is not adopt the new due to iterative then such a team is
allowed for this kind nature of this model. allowed for this kind of technologies if nature of this model. not allowed for this
of process model The change in process model product demands The change in kind of process model
technology in the technology in the
later phase can not be later phase can not be
tolerated tolerated

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

Formal Methods
Waterfall Model Incremental Model RAD Model Prototyping Model Spiral Model
Model(FMM)
There is no user There is no user There is user There is user There is no user Limited community
involvement in all the involvement in all involvement in all the involvement in all involvement in all makes use of formal
phases of the phases of phases of development the phases of the phases of methods model for
development process. development process process. development development process. their projects because
process. this methodology is
based on
mathematical
theorms, formal
methods and automata
theory.
Types of projects: Types of projects: Types of projects: Types of projects: Types of projects: Types of projects:
Whenever there is a
When the When the For high speed and When developer is When the need to build the
requirements are requirements are short time not sure about the requirements are not scientific models
reasonably well reasonably well development projects efficiency of an clearly defined.(ie, based on
defined for small defined, the OR algorithm requirements mathematical
systems, the development effort suitable for the projects OR uncertainties) techniques
development effort suggests a purely where technical risks Not sure about the OR OR
suggests a purely linear effort and are not high. adaptability of an Due to iterative Simulation of the
linear effortthen the when limited set of OR operating system nature of this risk some real time
waterfall model is software If there is use of then the prototyping identification and systems
chosen. functionality is reusable components model is chosen. rectification is done OR
needed quickly then in the project then for before they get When there is a need
the incremental model developing such problematic. Hence to build the systems
is chosen. projects this process for handling real that can contribute to
model is. time problems the the reliability and
spiral model is robustness(ie,critical
chosen. systems) then the
formal methods
models are used.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

ITERATIVE MODELS
An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins b y
specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This
process is then repeated, producing a new version of the software for each cycle of the model.

Advantages of Iterative model:


 In iterative model we can only create a high- level design of the application before we actually begin to build the product and
define the design solution for the entire product. Later on we can design and built a skeleton version of that, and then evolved
the design based on what had been built.
 In iterative model we are building and improving the product step by step. Hence we ca n track the defects at early stages. This
avoids the downward flow of the defects.
 In iterative model we can get the reliable user feedback. When presenting sketches and blueprints of the product to users for
their feedback, we are effectively asking them to imagine how the product will work.
 In iterative model less time is spent on documenting and more time is given for designing.
Disadvantages of Iterative model:
 Each phase of an iteration is rigid with no overlaps
 Costly system architecture or design issues may arise because not all requirements are gathered up front for the entire lifecycle.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])


lOMoARcPSD|34525886

CS8494 SOFTWARE ENGINEERING

CMMI
The CMMI represents a process meta-model in two different ways: (1) as a continuous model and (2) as a ―staged model.
Each process area (e.g., project planning or requirements management) is formally assessed against specific goals and
practices and is rated according to the following capability levels:

Level 0: Incomplete—the process area (e.g., requirements management) is either not performed or does not achieve all
goals and objectives defined by the CMMI for level 1 capability for the process area.
Level 1: Performed—all of the specific goals of the process area (as defined by the CMMI)have -been satisfied. Work
tasks required to produce defined work products are being conducted.
Level 2: Managed—all capability level 1 criteria have been satisfied. In addition, all work associated with the process
area conforms to an organizationally defined policy; all people doing the work have access to adequate resources to get
the job done; stakeholders are actively involved in the process area as required; all work tasks and work products are
―monitored, controlled, and reviewed; and are evaluated for adherence to the process description‖ .
Level 3: Defined—all capability level 2 criteria have been achieved. In addition, the process is ―tailored from the
organization‘s set of standard processes according to the organization‘s tailoring guidelines, and contributes work
products, measures, and other process-improvement information to the organizational process assets‖ .
Level 4: Quantitatively managed—all capability level 3 criteria have been achieved. In addition, the process area is
controlled and improved using measurement and quantitative assessment. ―Quantitative objectives for quality and
process performance are established and used as criteria in managing the process.
Level 5: Optimized—all capability level 4 criteria have been achieved. In addition, the process area is adapted and
optimized using quantitative (statistical) means to meet changing customer needs and to continually improve the efficacy
of the process area under consideration.
The CMMI defines each process area in terms of ―specific goals and the ―specific practices required to achieve these
goals. Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective.
Specific practices refine a goal into a set of process-related activities.

PREPARED BY K.JASPIN,AP/SJIT

Downloaded by Asjad Zaki ([email protected])

You might also like