it4520-kinte cnpm - slide 3
TRANSCRIPT
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
1/81
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
2/81
2
Value-Based Software Engineering (VBSE)
Software Models and Processes
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
3/81
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
4/81
Pareto: 80% Value from 20% Components
Source: Experience Report (Bullock. 2000)
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
5/81
VB Testing: More Net Value
ROI = (benefitcost) / cost
Pareto: Much higher ROI 1.74
Poor Investment
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
6/81
Motivation for Value-Based SE
z Current SE methods are basically value-neutral Every requirement, use case, object, test case, and defect
is equally important
Object oriented development is a logic exercise Earned Value Systems dont track business value Separation of concerns: SEs job is to turn requirements into
verified code
Ethical concerns separated from daily practices
z Value neutral SE methods are increasinglyrisky Software decisions increasingly drive system value
Corporate adaptability to change achieved via softwaredecisions
System value-domain problems are the chief sources ofsoftware project failures
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
7/81
The Separation of Concerns Legacy
z The notion of user cannot be preciselydefined, and therefore has no place in CS or
SE.- Edsger Dijkstra, ICSE 4, 1979
z Analysis and allocation of the systemrequirements is not the responsibility of the SEgroup but is a prerequisite for their work
- Mark Paulk at al., SEI Software CMM* v.1.1, 1993
*Capability Maturity Model
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
8/81
Resulting Project Social Structure
SOFTWARE
MGMT.
AERO. ELEC. G & C
MFG.
COMM PAYLOA
D
I wonder whenthey'll give us our
requirements?
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
9/81
Value-Based Software Engineering
z Goal of VBSE
To develop models and measures of value which are of use formanagers, developers, and users as they make trade-off
decisions b/w quality & cost, functionality and schedule, etc. Such decisions must be economically feasible and
comprehensible to the stakeholders with differing valueperspectives
z
Root of VBSE Early 80s Software Engineering Economics, pioneered by BarryBoehm
z Extension of ISO SE definition with the elements from
Economics, Cognitive Science, Finance, management Science,Behavioral Sciences, and Decision Science, etc
Source Value-based Software Engineering, Stefan Biffle et. Al., Springer-Verlag,2006
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
10/81
Value-Based Software Engineering
z Unavoidable involvement with Software & information system product and process
technology Their interaction with human values
z Uses risk considerations
To balance software discipline and flexibility To answer key How much is enough? questionsz Helps illuminate information technology policy
decisions By identifying the quantitative and qualitative sources
of cost and value associated with candidate decisions
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
11/81
Sources of Failed Projects
Other , 21.0
Incomplete
Requirements,
13.1
Lack of User
Involvement, 12.4
Absence of Need,
7.5
Lack of Planning,
7.5
Changing
Requirements, 8.7Lack of Executive
Support, 9.3
Unrealistic
Expectations, 9.9
Lack of
Resources , 10.6
Source: Standish CHAOS Report [1995]
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
12/81
Example: Risk Exposure
20% of fires cause 80% of property loss:
e.g.: Fire Dispatching
100
80
60
40
20
% ofProperty
Loss
% of Fires20 40 60 80 100
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
13/81
VBSE approaches can be appliedto avoid current project failures
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
14/81
Value : Key Definitions
z Value (from Latin valere to be worth)
the quality of being useful or desirable yahoo dictionary
A fair return or equivalent in goods, services,or money
Relative worth, utility, or importancez Software Validation (also from Latin
valere )
Validation: Are we building the right product Verification: Are we building the product
right
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
15/81
Conclusions So Far
z Value considerations Critical factor for successful software projects
z Success is a function of key stake-holdervalues
z Values are vary by stakeholder role
Value for developer, value for customer, value foruser???z Non-monetary values are important
Fairness, customer satisfaction, trust,z VBSE: integration of ethics into software
engineering practice
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
16/81
Understanding Source of Value
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
17/81
Maslows Human Need Hierarchy - I
Source: A. Maslow, Motivation and Personality, 1954
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
18/81
Maslows Human Need Hierarchy - II
z Satisfied needs are not motivators
z Unsatisfied lower-level needs dominatehigh-level needs
z Management Implication
Create environment and subculture whichsatisfies lower-level needs Stability, share values, community, and match to
special needs
Tailor project objectives, structure toparticipants selfactualization priorities
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
19/81
Different Ways of Self-Actualization
z Becoming a Better Manager
z Becoming a Better Technologist
z Helping Other Developers
z Helping Users
z Making People Happyz Making People Unhappy
z
Doing New Thingsz Increasing Professional Stature
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
20/81
Projecting Yourself Into Others Win Situations
Counterexample: The Golden Rule
Computer sciences world (compilers, OS, etc.)
Users are programmers
Applications worldUsers are pilots, doctors, tellers
Do unto others
.. As you would have othersdo unto you
z Build computer systems toserve users and operators
.. Assuming users andoperators like to write
programs, and knowcomputer science
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
21/81
VBSE: Seven Key Elements
z Benefit Realization Analysis
z Stakeholder Proposition Elicitation and
Reconciliationz Business Case Analysis
z Continuous Risk and OpportunityManagement
z Concurrent System and SoftwareEngineering
z Value-Based Monitoring and Control
z Change as Opportunity
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
22/81
Benefit Realization Analysis
z Field of Dreams syndrome a farmerstory
In Software technology, Build Software andBenefit will come syndrome
Cause of many software project failuresz DMR-BRA
Determine and coordinate the other initiativesbesides software and IT system development
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
23/81
DMR-BRA: Results Chain
INITIATIVE OUTCOMEOUTCOME
Implement a new order
entry system
ASSUMPTION
Contribution Contribution
Order to delivery time is
an important buying criterion
Reduce time to processorder
Reduced order processing cycle
(intermediate outcome)
Increased sales
Reduce time to deliver product
*DMR Consulting Groups Benefits Realization Approach
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
24/81
Stakeholder Value Proposition Elicitation & Reconciliation
- Reconcile Everyones Value Position
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
25/81
Effective Approach for Reconciliation
z Expectations management Aware of resolvable conflicts to relax less-critical levels of
desire
Lessons-learned retrospectives, well calibrated cost models,simplifier-complicator lists
z Visualization and tradeoff analysis Prototype, estimation models
z Prioritization
Rank-ordering of stakeholders or categorization of the relativepriorities of their desired capabilities Pair-wise comparison, scale-of-10 ratings of relative
importance and difficulty
z Groupware
Collaboration-oriented support tool for brainstorming,discussion, and win-win negotiation of conflict situationsz Business case analysis
Prioritization and reconciliation based on Best ROI
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
26/81
Business Case Analysis
Time
Return on
Investment
-1
1
2
3
Option B-
Rapid Option B
Option A
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
27/81
Effective Approach for Reconciliation
z Expectations management Aware of resolvable conflicts to relax less-critical levels of
desire
Lessons-learned retrospectives, well calibrated cost models,simplifier-complicator lists
z Visualization and tradeoff analysis Prototype, estimation models
z Prioritization
Rank-ordering of stakeholders or categorization of the relativepriorities of their desired capabilities Pair-wise comparison, scale-of-10 ratings of relative
importance and difficulty
z Groupware
Collaboration-oriented support tool for brainstorming,discussion, and win-win negotiation of conflict situationsz Business case analysis
Prioritization and reconciliation based on Best ROI
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
28/81
Business Case Analysis
Time
Return on
Investment
-1
1
2
3
Option B-
Rapid Option B
Option A
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
29/81
Software Processes
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
30/81
What is S/W Process & Model?
z Software Process A Structured set of activities and associated results to
develop a software system
Specification, Design, Validation, Evolutionz Software Process Model
An abstract representation of a process A description of a process from some particular
perspectivez Proliferation of Process Models
Provides flexibility for organizations to deal with thewide variety of software project situations, cultures,and environments
Weakens the defenses against some commonsources of project failure
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
31/81
Generic S/W Process Models
z Waterfall Model
Process phases are distinct and separatez Evolutionary Development
Process phases are interleavedz
Formal Systems Development A mathematical system model is formallytransformed to an implementation
z Component-Based Development The system is assembled from existing
components
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
32/81
Waterfall Model
Formal Sign-off at the end of each phase- Documentation as product of each phase
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
33/81
Waterfall Model: Advantages
z Clear progress state
Good for project Management
Engineers know their tasks
z Development is (relatively) slow anddeliberate
Results in solid, well-constructed systems
All sub-goals within each phase must be met Testing is inherent to every phase
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
34/81
Waterfall Model : Drawbacks
z Difficult (Expensive) to accommodatechange after process is underway
One phase has to be complete before movingto the next phase
z Inflexible partitioning of the project into
distinct stages Difficult to respond to changing customer
requirements
Few business systems have stablerequirements
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
35/81
Applicability of Waterfall Model
z Therefore, Waterfall model is onlyappropriate when the requirements are
well-understood and changes will befairly limited during the design process
z Mostly used for large software systemprojects where a system is developed at
several sites
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
36/81
Evolutionary Development - I
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
37/81
Evolutionary Development - II
z Basic Idea
Build prototype version of system, seek usecomments, and keep refining until done
z Other side of formality spectrum from
Waterfall Model
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
38/81
Two Flavors of Evolutionary Development.
z Exploratory development: Objective is to work with customers and to
evolve a final system from an initial outlinespecification
Should start with well-understood requirementand add new features as proposed by the
customer
z Throw-prototyping Objective is to understand the system
requirements Should start with poorly understood
requirements to clarify what is really needed
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
39/81
Evolutionary Development: Advantages
z Faster system development than withwaterfall model
z Useful when requirements are less-wellunderstood
z
Customer inputs throughoutdevelopment yields system closer totheir needs
z Steady visible signs of progress
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
40/81
Evolutionary Development: Drawbacks
z Lack of process visibility
Not known how long it will take to create anacceptable product
Not known how many iteration will benecessary
z Systems are often poorly structured Continuous reflection of customer needs
z Special skills (e.g. in languages for rapidprototyping) may be required.
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
41/81
Applicability of Evolutionary Development
z For small or medium-size interactivesystems
z For parts of large systems (e.g. the userinterface)
z
For short-lifetime systems
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
42/81
Formal Systems Development - I
z Based on the transformation of a mathematicalspecification through different representations
to an executable programz Transformations are correctness-preserving
so it is straightforward to show that the
program conforms to its specificationz Embodied in the Cleanroom approach to
software development
z
Each transformation should be sufficientlyclose to avoid excessive verification efforts andreduce the possibility of transformation errors
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
43/81
Formal Systems Development - II
Requirementsdefinition
Formalspecification
Formaltransformation
Integration andsystem testing
R2Formal
specificationR3
Executableprogram
P2 P3 P4
T1 T2 T3 T4
Proofs of transformation correctness
Formal transformations
R1
P1
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
44/81
Formal Systems Development: Advantages
z Transformations are small, makingverification tractable
z Resulting implementations are proven to
meet specifications, so testing (ofcomponents) unnecessary
Although, overall system characteristics (e.g.
performance, reliability) still need verification
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
45/81
Formal Systems Development: Drawbacks
z Need for specialised skills and training
z Difficult to formally specify some aspectsof the system, e.g. user interfaces
z Development time high (usually not worththe time/cost)
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
46/81
Applicability of Formal Systems Development
z Critical systems
Systems that require strict safety, reliability,and security requirements
z Critical components within large systems
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
47/81
Component-based Development - I
z Based on systematic reuse where systems areintegrated from existing components or COTS
(Commercial-off-the-shelf) systemsz Process stages
Component analysis
Requirements modification System design with reuse Development and integration
z This approach is becoming more important butstill limited experience with it
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
48/81
Component-based Development - II
Requirementsspecification Componentanalysis
Development
and integration
System design
with reuse
Requirementsmodification
Systemvalidation
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
49/81
Process iteration
z System requirements ALWAYS evolve inthe course of a project so process
iteration where earlier stages arereworked is always part of the processfor large systems.
z Iteration can be applied to any of thegeneric process models.
z
Two (related) approaches Incremental Model; Spiral Model
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
50/81
Incremental Model
z Rather than deliver the system as a singledelivery, the development and delivery is brokendown into increments with each incrementdelivering part of the required functionality.
z User requirements are prioritised and thehighest priority requirements are included in
early increments.
z Once the development of an increment isstarted, the requirements are frozen though
requirements for later increments can continueto evolve.
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
51/81
Incremental development
Series of incremental builds until the product is finished Value assignment to each build not yet implemented Cost estimation of developing each build Value-to-Cost ratio is the criterion used for next build selection
Implement and test
first build
Implement, integrate and testsuccessive build until product
is complete
Maintenance
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
52/81
Incremental Model: Advantages
z Customer value can be delivered witheach increment so system functionality is
available earlier.z Early increments act as a prototype to
help elicit requirements for laterincrements.
z Lower risk of overall project failure.
z The highest priority system services tendto receive the most testing.
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
53/81
Component-based Development - I
z Based on systematic reuse where systems areintegrated from existing components or COTS
(Commercial-off-the-shelf) systemsz Process stages
Component analysis
Requirements modification
System design with reuse Development and integration
z This approach is becoming more important but
still limited experience with it
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
54/81
Component-based Development - II
Requirementsspecification
Componentanalysis
Development
and integration
System design
with reuse
Requirements
modification
Systemvalidation
P it ti
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
55/81
Process iteration
z System requirements ALWAYS evolve inthe course of a project so process
iteration where earlier stages arereworked is always part of the processfor large systems.
z Iteration can be applied to any of thegeneric process models.
z
Two (related) approaches Incremental Model; Spiral Model
I t l M d l
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
56/81
Incremental Model
z Rather than deliver the system as a singledelivery, the development and delivery is brokendown into increments (Builds) with eachincrement delivering part of the requiredfunctionality.
z User requirements are prioritized and the
highest priority requirements are included inearly increments.
z Once the development of an increment is
started, the requirements are frozen thoughrequirements for later increments can continueto evolve.
Incremental development
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
57/81
Incremental development
Series of incremental builds until the product is finished Value assignment to each build not yet implemented Cost estimation of developing each build Value-to-Cost ratio is the criterion used for next build selection
Implement and test
first build
Implement, integrate and testsuccessive build until product
is complete
Maintenance
I t l M d l Ad t
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
58/81
Incremental Model: Advantages
z Customer value can be delivered witheach increment so system functionality is
available earlier.z Early increments act as a prototype to
help elicit requirements for later
increments.
z Lower risk of overall project failure.
z The highest priority system services tendto receive the most testing.
Spiral Model I
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
59/81
Spiral Model - I
z Represented as a spiral rather than as a sequenceof activities with backtracking. Combines the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model
z Provides the potential for rapid development ofincremental versions of software
z Each loop in the spiral represents a phase in theprocess.
z No fixed phases such as specification or design -loops in the spiral are chosen depending on whatis required.
z
Risks are explicitly assessed and resolvedthroughout the process.
[Boehm 1988]: A Spiral Model of Software Development and Enhancement
Spiral Model II
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
60/81
Spiral Model - II
Spiral Model Sectors I
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
61/81
Spiral Model Sectors - I
z Determine objectives, alternatives, & constraints Specific objectives for the phase (performance, functionality,
ability to accommodate changes etc.) Alternative means of implementing this portion of the
product (design A, design B, reuse, buy, etc.) Constraints imposed on the application of the alternatives
(cost, schedule, interface, etc.)
z
Evaluate Alternatives, Identify, resolve risks Evaluate alternatives relative to the objectives andconstraints
Identify areas of uncertainty that significant sources ofproject risk
Formulate a cost effective strategy for resolving sources ofrisk Prototyping, simulation, benchmarking, reference checking,
administering user questionnaires, analytic modeling, orcombinations of these and other resolution techniques
Spiral Model Sectors - II
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
62/81
Spiral Model Sectors - II
z Develop, Verify next-level product A development model for the system is
chosen which can be any of the genericmodels. Evolutionary model, waterfall model, incremental
development, combinations, etc.
z Plan Next Phases The project is reviewed and the next phase of
the spiral is planned
The review covers all products developed duringthe previous cycle, plans for the next cycle,resource required
Ensure that all concerned parties are mutuallycommitted to the approach for the next phase
Common Misinterpretations of Spiral
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
63/81
Common Misinterpretations of Spiral
z Hack some prototypes
z Fit spiral into waterfall
z Incremental waterfalls
z Suppress risk analysis
z No concurrency, feedback
z One-size-fits-all model
Six Spiral Model Essentials
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
64/81
Six Spiral Model Essentials
. Concurrent determination of artifacts in eachcycle
2. Each cycle addresses objectives, constraints,alternatives, risks, artifact elaboration,stakeholders commitment
3. Risk-driven activity level of effort4. Risk-driven artifact degree of detail
5. Managing stakeholder commitments via
anchor-point milestones6. Emphasis on system and life-cycle issues
- vs. software and development issues
Spiral Model : Advantages
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
65/81
Spiral Model : Advantages
z The spiral model is a realistic approach to thedevelopment of large-scale software products becausethe software evolves as the process progresses. Inaddition, the developer and the client better understandand react to risks at each evolutionary level.
z The model uses prototyping as a risk reductionmechanism and allows for the development of prototypesat any stage of the evolutionary development.
z It maintains a systematic stepwise approach, like theclassic life cycle model, but incorporates it into aniterative framework that more reflect the real world.
z If employed correctly, this model should reduce risks
before they become problematic, as consideration oftechnical risks are considered at all stages.
Win-Win Spiral Model - I
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
66/81
p
z An adaptation of the spiral model which emphasisis explicitly placed on the involvement of the clientin a negotiation process at the genesis of the
product development.z Defines a set of negotiation activities at the
beginning of each pass around the spiral. Ratherthat a single customer communication activity the
following activities Identification of the system stakeholders. Determination of the stakeholders win conditions Negotiations of the stakeholders win conditions to
reconcile them into a set of win-win conditions for allconcerned (including the software project team).
[Boehm 1996]: Anchoring the Software Process
Win-Win Spiral Model - II
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
67/81
p
Win-Win Spiral Milestones (Anchor points)
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
68/81
p ( p )
z Common System/Software stakeholder commitment points Defined in concert with Government, industry affiliates Coordinated with the Rational Unified Process
z
Life Cycle Objectives (LCO): what should the system accomplish? Defines a set of objectives for each major software activity (e.g. a set
of objectives associated with the definition of top level productrequirements)
z Life cycle Architecture (LCA):
what is the structure of the system? Establishes the objectives that must be met as the softwarearchitecture is defined.
z Initial Operational Concepts (IOC) : The first released version
Represents a set of objectives associated with the preparation of thesoftware for installation/distribution, site preparations prior toinstallations, and assistance required by all parties that will use orsupport the software.
Win-Win Spiral Anchor Points
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
69/81
*WWWWWHH: Why, What, When, Who, Where, How, How Much
Milestone Element Life Cycle Objectives (LCO) Life Cycle Architecture (LCA)
Definition ofOperational
Concept
Top-level system objectives and scope- System boundary- Environment parameters and assumptions
- Evolution parameters Operational concept- Operations and maintenance scenarios and parameters- Organizational life-cycle responsibilities (stakeholders)
Elaboration of system objectives andscope of increment
Elaboration of operational concept by increment
Top-level functions, interfaces, quality attribute levels,including:
- Growth vectors and priorities- Prototypes
Stakeholders concurrence on essentials
Elaboration of functions, interfaces, quality attributes,and prototypes by increment
- Identification of TBDs( (to-be-determined items) Stakeholders concurrence on their priority concerns
Top-level definition of at least one feasible architecture- Physical and logical elements and relationships- Choices of COTS and reusable software elements
Identification of infeasible architecture options
Choice of architecture and elaboration by increment- Physical and logical components, connectors,
configurations, constraints
- COTS, reuse choices- Domain-architecture and architectural style choices Architecture evolution parameters
Elaboration of WWWWWHH* for Initial Operational
Capability (IOC)- Partial elaboration, identification of key TBDs for
later increments
Assurance of consistency among elements above All major risks resolved or covered by risk
management plan
Identification of life-cycle stakeholders- Users, customers, developers, maintainers,interoperators, general public, others
Identification of life-cycle process model
- Top-level stages, increments Top-level WWWWWHH* by stage
Assurance of consistency among elements above- via analysis, measurement, prototyping, simulation, etc.- Business case analysis for requirements, feasiblearchitectures
Definition of SystemRequirements
Definition of System
and SoftwareArchitecture
Definition of Life-
Cycle Plan
Feasibility
Rationale
System Prototype(s) Exercise key usage scenarios
Resolve critical risks
Exercise range of usage scenarios
Resolve major outstanding risks
Win-Win Spiral Model: Advantages
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
70/81
z Faster software production facilitatedthrough collaborative involvement of the
relevant stake holders.
z Cheaper software via rework andmaintenance reductions
MBASE Model
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
71/81
a set of guidelines that describe software
engineering techniques for the creation andintegration of development models for asoftware project
z Integrated Model of
Product (development) models such as objectoriented analysis and design models and traditionalrequirements models
Process models such as lifecycle and risk models
Property models such as cost and schedule Success models such as business-case analysis andstakeholder win-win.
( odel ased rchitecting and oftware ngineering)
MBASE Framework
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
72/81
MBASE Invariants and Variants
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
73/81
1. Use of particular success, process,product, or property models.
2. Choice of process or productrepresentation.
3. Degree of detail of process,
product, property, or success modeling.
4. Number of spiral cycles or buildsbetween anchor points.
5. Mapping of activities onto Inception-Elaboration-Construction-Transitionphases.
6. Mapping of staff levels onto
activities.
1. Defining and sustaining astakeholder win-win relationship throughthe system's life-cycle.
2. Using the MBASE Model IntegrationFramework.
3. Using the MBASE Process
Integration Framework.
4. Using the LCO, LCA, and IOCAnchor Point milestones.
5. Ensuring that the content of MBASE
artifacts and activities is risk-driven.
VariantsInvariants
RUP Model - I
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
74/81
z A modern process model derived fromthe work on the UML and associatedprocess.
z Normally described from 3 perspectives
A dynamic perspective that shows phasesover time A static perspective that shows process
activities A proactive perspective that suggests goodpractice
( ational nified rocess)
RUP Model - II
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
75/81
RUP Phases
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
76/81
z Inception
Establish the business case for the system.z Elaboration
Develop an understanding of the problemdomain and the system architecture.
z Construction System design, programming and testing.
z
Transition Deploy the system in its operatingenvironment.
Best practices of RUP
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
77/81
z Develop software iteratively
z Manage requirements
z Use component based architecture
z Visually model software
z
Verify software qualityz Control changes to software
Limitations of RUP
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
78/81
z High Adopting RUP is often thought tobe expensive.
z Does not cover any non-softwareaspects of development
e.g., system engineering. product-lineengineering, safety engineering
z Considered too practical, as thepracticality has been based on current
status of the Rational tool suite
Process Model Decision
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
79/81
MBASE vs. RUP
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
80/81
LCO LCA IOC
Standard Processes
-
7/31/2019 IT4520-Kinte CNPM - Slide 3
81/81
z IEEE and ISO Software Engineering Standards http://standards.ieee.org/catalog/olis/se.html 1074-1997IEEE Standard for Developing Software
Life Cycle Processes
1517-1999 (R2004)IEEE Standard for InformationTechnology - Software Life Cycle Processes - ReuseProcesses
12207.0-1996IEEE/EIA Standard: IndustryImplementation of International Standard ISO/IEC12207:1995 Standard for Information Technology--Software Life Cycle Processes.
15288-2004IEEE Std 15288-2004 (Adoption ofISO/IEC 15288:2002, IDT), Systems Engineering---
System Life Cycle Processes