IEEE 1074 Standards
IEEE 1074 Standards
Development Process
Lecture - 2
1
References
• Chapter 12: Software Lifecycle from Object
Oriented Software Engineering: Conquering
Complex and Changing Systems.
Consists of Consists of
System
Development
Project
Consists of Consists of
Specification
Test Results
Document 6
Relationship Between Types
of SLC Models
• Complementary views of SLC.
7
Relationship Between Types
of SLC Models (Contd.)
Activity Associated Work
Products
Problem Definition Market Survey (Input),
System Specs (Output)
System Development System Specs (Input),
Executable System
(Output)
System Operation Lessons Learnt
8
IEEE 1074: Standard for
Developing Lifecycle Processes
• Describes sets of activities and processes
mandatory for development and maintenance
of software.
• Focuses on the establishment of a common
framework for developing lifecycle models and
providing examples for typical situations.
• Lists 17 processes grouped into 6 process
groups.
• Each process consists of activities.
9
Software Processes Defined in
IEEE 1074
Process Groups Processes
Lifecycle Modeling Selection of a lifecycle model
Process Activities
13
Development
Directed towards the construction of the system. Results in
the definition of design objects, their attributes, their
operations and their organisation into packages
Process Activities
Requirements Define and Develop Software Requirements
Define Interface Requirements
Prioritise and Integrate Software Requirements
Process Activities
Verification and Plan Verification and Validation,
Execute Verification and Validation Tasks,
Validation
Collect and Analyse Metric Data,
Plan Testing,
Develop Test Requirements,
Execute the Tests
17
Software Lifecycle Models
• Dependencies exist between processes defined
in IEEE-1074
21
Waterfall SLCM (Contd.)
22
DoD 2167A Waterfall SLCM
• Each development activity is followed by a
review.
• Starts from the system requirements analysis
activity with a goal to generate unambiguous
system requirements.
• Design only starts once the requirements are
considered to be complete, consistent and clear
by the System Requirements Review.
• System design forms a basis for the software
requirements analysis.
23
DoD 2167A Waterfall SLCM(Contd.)
• Software requirements form the basis for
software design and implementation activities.
25
Spiral SLCM
• An activity centered SLCM devised to address
the source of weaknesses in the Waterfall
SLCM.
28
Spiral SLCM (Contd.)
29
Shark Tooth SLCM
• Waterfall and Spiral SLCMs emphasize the
management of software developers and do not
address the needs of customers and users.
• These models assume that software
requirements do not change drastically within
the duration of the project.
• Clients and users do not see an executing
system before the clients’ acceptance test and
therefore cannot correct any requirement
errors.
30
Shark Tooth SLCM (Contd.)
• At the requirements stage, developers and
clients are at the same level of abstraction.
• While the users remain at the same level of
abstraction, the developers’ perspective shifts.
• This model aims to reduce the gap between the
users’ level of abstraction and the developers’
level of abstraction.
• A revolutionary (throwaway) prototype is
demonstrated to the users early in the
development stages.
31
Shark Tooth SLCM (Contd.)
• The second evolutionary prototype is based on
the design and is demonstrated later in the
project when some functionality has been
implemented.
• Design reviews and demonstrations of
integration prototypes are held with the project
manager.
• A simple integration prototype demonstrates
the interaction between major components of
the system.
32
Shark Tooth SLCM (Contd.)
33
Prototyping
• Process of using a prototype to seek
information needed to make decisions.
• Reduces the risk of making mistakes in setting
requirements or in designing system
architecture.
• Prototype is a preliminary, intentionally
incomplete or scaled down version of a system.
– Used for demonstrating certain essential artifacts of
the system being developed.
• Prototypes are not as robust or functionally
complete as are the deliverable products. 34
Prototyping (Contd.)
• Characteristics of prototypes
– A requirements definition medium.
– Means of providing the users with a physical
representation of key parts of the system before
its complete implementation.
– Functional after a modest amount of effort.
– Flexible to allow modifications conveniently.
– Not necessarily complete or intended to be the
final system.
35
Categories of Prototypes
• Analysis prototypes
– Partially executable mockups of the product.
– Assists in clarification of requirements and
solicitation of new ideas.
• Design prototypes
– Developed to explore and understand a system’s
implementation and architecture.
– Forms the basis for storage and performance
evaluations.
– Assists in detecting redundancies and
inconsistencies in the design. 36
Categories of Prototypes (Contd.)
• Vertical prototyping
– Used to understand a specific partition of a problem and
to suggest a suitable solution.
– Required for components whose concepts are not well
understood and a complete functional model is required
for explanatory and exploratory purposes.
• Feasibility prototyping
– Used to demonstrate the applicability of a specific
architecture, process or an implementation technique .
– Used to measure and evaluate performance under
specific load.
– Used to evaluate the application of a specific
technology in the product.
37