chapter-2
chapter-2
• At a detailed level, the process that you adopt depends on the software
that you’re building.
• From the point of view of a software engineer, the work products are
the programs, documents, and data that are produced as a
consequence of the activities and tasks defined by the process.
Cont’d…
How do you ensure that you have done it right?
• There are a number of software process assessment mechanisms that
enable organizations to determine the “maturity” of their software
process.
• However, the quality, timeliness, and long-term viability of the
product you build are the best indicators of the efficacy of the
process that you use.
Cont’d…
Software process: organizing a structured set of activities
to develop software systems.
• These processes help in performing different
software engineering activities in an organized manner.
Characteristics of processes
• Produces intermediate and final products.
• Each process activity has entry and exit criteria
• Activities are organized in sequence, so timing is clear.
• Each process has guiding principles including goals of each
activity.
• Uses resources, subject to set of constraints (such
schedule,
as no. of people working )
• May be composed of sub-processes with hierarchy or links
Cont’d…
There are many different software processes but all
must include four activities.
I. Software specification: the functionality of the
software and constraints on its operation must be defined.
II. Software design and implementation: the
software to meet the specification must be produced.
III.Software validation: the software must be
validated to ensure that it does what the
customer wants.
IV. Software evolution: the software must evolve to
meet changing customer needs.
Sequential Software Process models
• Sequential models such as Waterfall or V-Model rely on
intensive periods of collecting and refining requirements
for a product before design and development activity
can take place.
• Products developed using these models are intended to be
complete when released to customers.
• Central to the approach is an assumption that by adhering to
the requirements captured at the beginning, the product
will fulfil the wishes of those customers.
Cont’d…
Technical Feasibility
Operational Feasibility
Schedule Feasibility
Political Feasibility
Cont’d…
III. Project Analysis: a detailed study of the various operations
performed by a system and their relationships within and outside the
system.
• Examine and document the relevant aspects of the existing system,
its shortcomings and problems.
• Analyze the findings and record the results.
• Define and document the proposed system.
• Test the proposed design against the known facts.
• Produce a detailed report to support the proposals.
• Estimate the resources required to design and
implement the system.
• The objective is to provide solutionsCont’d…
to stated problems, usually in
the form of specifications to meet the users requirements and to make
recommendations for a new computer-based system.
•Analysis is iterative and progressive process.
IV. System Design: it is the most creative and challenging phase.
Determining data required to produce the output
Determining processing methods and using software
Determining methods of data capture
Defining detailed critical procedures
Calculating timings of processing
Cont’d…
V. Coding: the goal of the coding phase is to translate the
design of the system into code in a given
programming language.
• affects both testing and maintenance
Waterfall Deficiencies
• All requirements must be known upfront
• Does not accommodate any change.
• There is no risk analysis.
• Can give a false impression of progress.
• Little opportunity for customer to pre-view the system.
When to use the Waterfall Model
Cont’d…
• Requirements are very well known and stable
• Technology is understood
• Experienced Development team
• When it is possible to produce a stable design
• improved communication
Prototyping Weaknesses
• Sometimes expensive
• Overall maintainability may be overlooked
• Process may continue forever (scope creep)
Cont’d…
What is the main goal of prototyping model?
• To avoid early freezing of the requirements.
V Model Weaknesses
• Does not support overlapping of phases