Please make sure that you use full
sentences in your responses
1.  What was the original purpose of software engineering process
models and have they been successful?
2.  Which process model would you use when a problem is well defined
and the software needs to be of high quality and is not deadline drive? Why?
3.  Explain the main differences between the Waterfall model and the
Incremental model.
4.  Explain the rote of a prototype in any process model.
5.  Explain why it may not be advisable to extend a prototype into
the production system.
6.  What process model would you recommended when you management
demands fixed-budget development? Why?
7.  If you were putting a system development project out to bid,
what would be a reasonable CMMI level to specify as a minimum requirement? Why?
8.  Describe the four phases of the spiral model.
9.  Explain how the phases of the RUP model relate to the generic
process activities of software engineering.
10.  Explain Deming’s approach to process improvement.
11.  In your own words, describe the difference between a use case
diagram and a use case narrative.
12.  Give three examples of actors for a hotel reservation system to
illustrate the different roles that an actor (human or otherwise) can take.
13.  Describe the pre-conditions and post-conditions that you might
include in a use case narrative for a guest at a hotel automatically checking
out when they leave the hotel.
14.  Discuss three reasons why collecting and understanding
requirements might be difficult for the IT team developing the hotel
reservation system.
15.  Describe two of the outputs from the requirements elicitation
phase of requirements engineering.
16.  Provide one example of a functional and one non-functional
requirement for the hotel reservation system.
17.  Create a user story for a hotel clerk who is checking in a new guest
who has a reservation in the system (front of the card only)
18.  Create a user story for the hotel manager who is generating a
report at the end of the day to see how full the hotel is at that time (front
of the card only)
19.  User stories are part of the agile development process, discuss
why they work for this style of development
20.  For the user story where a hotel clerk is checking in a new
guest who says they have a reservation, describe the success and failure
conditions that would ne placed on the back of the card.
it210unit03a.ppt

it210_unit4_example.docx

process_models_se_encyc.pdf

it210unit02b.ppt

it210unit04a.ppt

Unformatted Attachment Preview

IT210
Software Engineering
Unit 3A
More on Processes
Fall 2016
5/7/2019
1
Topics





Review of Quiz 1
Process Improvement
CMMI
ISO 9000 series
Other Process Improvement Techniques
5/7/2019
2
Review of Quiz 1
• Thanks to those of you who submitted on
time
– Questions on Timing
– Questions on questions/expectations
• 5 of you submitted late
– Penalty?
• 2 of you have not submitted?
– Zero
• Will Grade tomorrow
5/7/2019
3
Purpose of Quiz
• Content
– Answer the question
• Writing
– Good sentence structures
• Response time
– Not necessarily have time to look everything up
• Critical thinking
– “Intellectually disciplined process of actively and
skillfully conceptualizing, applying, analyzing,
synthesizing, and/or evaluating information”
5/7/2019
4
The Process Management Premise
• The quality of a system is influenced by:
• Quality of the process used to acquire, develop, and maintain it
• Analysis and forethought that goes into an architecture that
supports business goals and requirements
• Training provided to teams involved in the project
• Using proven methods for process and product quality,
software success is predictable and achievable, and failure
is avoidable
• Once coding starts, teams trained in mature software
engineering processes can remove defects early, when
defect removal is 10 to 100 times less costly than it is
during testing
• This dramatically reduces testing costs and only marginally
increases costs upstream
Common Misconceptions
•I do not need defined processes I have:
• Really good people
• Advanced technology
• An experienced manager
•Defined Processes:






Interfere with creativity
Equals bureaucracy + regimentation
Is not needed when building prototypes
Is only useful on large projects
Hinders agility in fast moving projects
Costs too much
Symptoms of Process Failure
• Commitments consistently missed
• Late deliveries
• Last minute crunches
• Spiraling costs
• No management visibility into progress
• Managers are always being surprised
• Quality Problems
• Too much rework
• Functions do not work correctly
• Customer complain after delivery
• Poor Moral
• People frustrated
• Is anyone in charge?
Why Structured Processes
•Estimating (History)




Scope
Cost
Time
Tools
•Deliver the Product to Estimate (Visibility)
– Time
– Cost
– Quality
•Handling/Controlling Changes
– Planned
– Unplanned
– Scope Creep
Why We Need Standard Processes
• Organizations and governments worldwide
will spend about $1 trillion this year on IT
projects
• Recent data suggested only about 35 percent
of those projects are likely to be completed on
time and on budget with all their originally
specified features and functions
• Many projects, perhaps 20 percent, will be
abandoned, often after multimillion-dollar
investments—and the biggest projects will fail
most often
Examples of Software Failures
• One well-documented $170 million software failure
was blamed on:
• Lack of defined requirements in the original contract
• A lack of software engineering, program, and contract
management skills
• Underestimates of the complexity of interfacing the new
system with legacy systems
• Addressing security needs, and establishing an enterprise
architecture.
• Other software-development failures have brought
down entire companies, such as the $5 billion drugdistribution firm in Texas that declared bankruptcy as
a result of a poorly implemented ERP system
5/7/2019
10
Assessment of Software Organizations
• Software Development and Software Support may be done with
very little process or with very sophisticated, well defined, well
organized and well executed processes.
• How mature is a software engineering organization and does it
need to improve?
• ISO (ISO 9000 series) and SEI (Software Engineering Institute at
Carnegie Mellon) are two leading organizations that help in the
process assessment
Matured Process
No Process
Where is a company in
this wide spectrum??
What are Standards?
• Standards are documented agreements containing
technical specifications or other precise criteria to
be used consistently as rules, guidelines, or
definitions of characteristics, to ensure that
materials, products, processes and services are fit
for their purpose
• For example, the format of the credit cards, phone
cards, and “smart” cards that have become
commonplace is derived from an ISO International
Standard
• Adhering to the standard, which defines such
features as an optimal thickness (0,76 mm),
means that the cards can be used worldwide.
SEI’s Original CMM – Early 1990s
• Software Engineering Institute (SEI) proposed a Capability Maturity Model
(CMM) to help software organizations assess their maturity and provide
guidance in software development.
– Initial : there is no process and any success is by luck or with a special person.
– Repeatable: has mastered 6 processes and can repeat its success with these 6
processes: 1) requirements management, 2)project tracking, 3)quality assurance,
4)project planning, 5)subcontract management, and 6)configuration management
– Defined: has mastered 7 more processes and is competent at software
construction: 1) organization process, 2) training program, 3) product engineering,
4) peer review, 5) organization process definition, 6) integrated soft. management,
and 7) inter-group coordination
– Managed: has introduced 2 more processes that deal with quantitative
measurement and quality: 1) quantitative process management and 2) quality
management
– Optimizing: reached the highest level requires the mastering of continuous
improvement with 3 more processes: 1)defect prevention, 2) technology change
management, 3) process change management
SEI’s 5 Levels of Original “Capability Maturity Model” (CMM)
Level 5
Optimizing
Level 4
Managed
Defined
Repeatable
Initial
Most Mature
Level 3
Level 2
Level 1
Least Mature
Total of 18 processes need to be mastered to achieve “optimized” level
SEI’s CMMI
• In 2001, CMM was upgraded to CMMI (CMM
Integrated)
• Started with multiple, major aspects to CMMI:
– Systems engineering
– Software engineering
– Integrated product and process development
– Supplier sourcing
Representations of CMMI
• The software engineering portion of CMMI
has two representations:
– Staged : similar to the CMM assessment of
organization
– Continuous : better for assessing maturity of each
process
Level 5
Optimizing
Optimizing
Level 4
Quantitatively Managed Quantitatively Managed
Level 3
Defined
Defined
Level 2
Managed
Managed
Level 1
Performed
Initial
Level 0
Incomplete
——
Continuous
Staged
(Capability Levels)
(Maturity Levels)
Levels for Continuous versus Staged models in CMMI
25 Processes of CMMI
• There are 25 processes covering 4 major categories :
– Process Management (5 processes):





Organization process focus
Organizational process definition
Organizational training
Organizational process performance
Organizational innovation and deployment
– Project Management (8 processes):








Project planning
Project monitoring and control
Supplier agreement management
Integrated project management
Risk management
Integrated teaming
Integrated supplier management
Quantitative project management
25 Processes of CMMI (cont.)
• Engineering (6 processes)






Requirements development
Requirements management
Technical solution
Product integration
Verification
Validation
• Support (6 processes)






Configuration management
Process and product quality assurance
Measurement and analysis
Organizational environment for integration
Decision analysis and resolution
Causal analysis and resolution
Continuous versus Staged Models
• In Continuous Representation, each process starts at capability level 0 and
moves up the capability levels based on achieving “generic goals” and
“specific sub-goals.”
– Allows the organization to choose and pick the process to focus on based on
the needs of the organization
– Allows comparison of process area by process area between organizations
– Allows easier migration from other standards
• In Staged Representation, the organization starts at maturity level 1 and
moves up the levels based on mastering sets of processes.
– Allows easy migration from the earlier CMM model
– Provides a guidance of sequence of maturity by process areas
– Allows easier comparison of organizations by maturity levels
CL5
Optimizing
+ (Generic Goal 5)
CL4
Quantitatively Managed
+ (Generic Goal 4)
CL3
CL2
Defined
+ (Generic Goal 3)
Managed
+ (Generic Goal 2)
CL1
Performed
+ (Specific Goals) +(Generic Goal 1)
CL0
Incomplete
Achieving the “Capability Levels” by each Process Area in the
Continuous Representation Model
5 Generic Goals
• Goal 1 – Achieve all the specific goals of the specific process
• Goal 2 – Institutionalize the managing of consistency of that
process across organization
• Goal 3 – Institutionalize the defining of that process across the
organization
• Goal 4 – Institutionalize quantitatively managing that process across
the organization
• Goal 5 – Institutionalize continuous optimizing/improving that
process across the organization
Achieving “Maturity Level” (ML) in the
Staged Representation model
• ML1 (0 process) : no process
• ML2 (7 processes): 1)Requirements management, 2)Project planning,
3)Project monitoring, 4)Supplier agreement management, 5)Measurement
and analysis, 6)Process and product quality assurance, 7)Configuration
management
• ML3 (14 processes): 1)Requirements development, 2)Technical solution,
3)Product integration, 4)Verification, 5)Validation, 6)Organizational process
focus, 7)Organizational process definition, 8)Organizational training,
9)Integrated project management, 10)Risk management, 11)Integrated
teaming, 12)Integrated supplier management, 13)Decision analysis and
resolution, 14)Organizational environment for integration
• ML4 (2 processes): 1)Organizational process performance, 2)Quantitative
project management
• ML5 ( 2 processes): 1)Organizational innovation and deployment, 2)Causal
analysis and resolution
International Organization for
Standardization (ISO)
• Nongovernmental organization
• Network of the national standards bodies of
some 160 countries, one per country, from all
regions of the world
• Identifies what International Standards are
required by business, government and society
• Develops them in partnership with the sectors
that will put them to use
• Adopts them by transparent procedures based on
national input
• Delivers them to be implemented worldwide
Where are the Standards?
Sector
19,500+ Standards
Engineering Technologies (27%)
832,000+ Pages
Materials Technology (23%)
Electronics, Information Technology and
Telecommunications (17%)
Generalities, Infrastructure and Sciences
Transport and Distribution of Goods
Health, Safety and Environment
Agriculture and Food Technology
Agriculture and Food Technology
Construction
Special Technologies
ISO 9000 – Quality management
• Addresses various aspects of quality management
• Provide guidance and tools for companies and organizations
who want to ensure that their products consistently meet
customer’s requirements, and that quality is consistently
improved
• Standards in the ISO 9000 family, include:
• ISO 9001:2008 – requirements of a quality management system
• ISO 9004:2009 – how to make a quality management system
more efficient and effective
• ISO 19011:2011 – guidance on internal and external audits of
quality management systems
• ISO 9000:2008 standard implemented by over
1,000,000 organizations in 176 countries
ISO 9000:2008 Key Principles








Customer Focus
Leadership
Involvement of People
Process Approach
System Approach to Management
Continual Improvement
Factual Approach to Decision Making
Mutually Beneficial Supplier Relationships
Quality System Documentation
Level 1
Quality
Manual
Defines
Approach and
Responsibility
Level 2
Procedures
Work/Job
Instructions
Defines
Who, What, When
Level 3
Answers
How
Level 4
Records/Documentation
Results: shows that
the system is
operating
ISO 9001:2000 Structure
4.
5.
6.
Quality Management System
4.1 General requirements
4.2 Document requirements
Management
Responsibility
5.1 Management
commitment
5.2 Customer focus
5.3 Quality policy
5.4 Planning
5.5 Responsibility, authority,
communication
5.6 Management review
Resource Management
6.1 Provision of resources
6.2 Human resources
6.3 Infrastructure
6.4 Work environment
7.
Product realization
7.1 Planning of product realization
7.2 Customer-related processes
7.3 Design and development
7.4 Purchasing
7.5 Production and service provision
7.6 Control of monitoring and
measuring devices
8.
Measurement, Analysis &
Improvement
8.1 General
8.2 Monitoring and measurement
8.3 Control of nonconforming product
8.4 Analysis of data
8.5 Improvement
Standard Examples
• 5.2 Customer Focus
“Top management shall ensure that customer
requirements are determined and are met with
the aim of enhancing customer satisfaction.”
Benefits of ISO Standards
• Standards help to harmonize technical specifications of
products and services making industry more efficient and
breaking down barriers to international trade
• Conformity to international Standards helps reassure
consumers that products are safe, efficient and good for the
environment.
• Facilitate trade between countries and make it fairer
• Provide governments with a technical base for health, safety
and environmental legislation, and conformity assessment
• Share technological advances and good management practice
• Disseminate innovation
• Safeguard consumers, and users in general, of products and
services
• Make life simpler by providing solutions to common problems
Steps to Implement ISO or CMMI
• Decide to improve internal processes
• Determine method for improvement
• Plan and gain commitment of people, particularly upper
management.
• Assign the responsibility of the implementation process to
someone (internal or external).
• Train all personal in the requirements
• Perform assessment of current processes and find the gaps
• Fill the gap by revising, adding or improving the current
processes and documentation to meet ISO/CMMI
requirements.
• Perform internal audit(s)
• External audit – certification by standards body
Other Quality and Productivity
Measures
• Continuous improvement important in all aspects
of business
• Deming
• Helping Japanese industries recover from WWII
– Quality
– Low cost
• Customer satisfaction
• Putting the customers first
• Management by fact
• Decision based on objective data
• Formal data gathering
• Statistical analysis
Plan-Do-Check-Act Cycle
• Deming’s approach
• Checking and inspecting for quality is too late
• Focus on process
• Plan
• Selection of the problems
– Change to important indicators
• Do
• Implement the solution
• Monitor the implementation plan
– Collect data on performance measure
– Noting progress against milestones
Plan-Do-Check-Act cycle
• Check
• Evaluate the results of change
– Intended effects
– Unforeseen consequence
• Act
• Reflect and act on learning




Process changes are standardized
Communicated to all involved
Celebrate the success
Repeat the PDCA cycle
Six Sigma
• Rigorous and disciplined methodology
– Use data and statistical analysis
• Measure and improve company’s performance
– Identify and eliminate defects
• Enhance customer satisfaction
• Motorola, 1980s
• Jack Welch, General Electric
Benchmarking
• Comparison with performance of “best in class”
– Fedex: consistent overnight delivery
– Hampton Inn: clean room
– Nordstrom: attentive salesperson
• Visiting the leading firm to learn the firsthand
• Going outside one’s own field
– Manufacturing
– Pit-stop of auto racing
» Quick production-line changeover
– Domino’s pizza
» Deliver customized pizza within 30 minutes
Benchmarking Process
• Select a critical process the need improvement
• Identify an organization that excels in the
process
• Contact the benchmark firm
• Make a visit
• Study the process
• Analyze the finding
• Improve our process accordingly
Activity 3A: Why CMMI?
• Most software development companies of any
size are certified to Level III
• What is the advantage to a company to be
certified at this level?
• If you are a developer, should you look for a
CMMI certified company?
• Can you become CMMI certified? How?
• Answer these questions in your group and put
a summary of your discussion on Canvas
5/7/2019
39
Process Models in Software Engineering
Walt Scacchi, Institute for Software Research, University of California, Irvine
February 2001
Revised Version, May 2001, October 2001
Final Version to appear in, J.J. Marciniak (ed.), Encyclopedia of Software Engineering, 2nd
Edition, John Wiley and Sons, Inc, New York, December 2001.
Introduction
Software systems come and go through a series of passages that account for their inception,
initial development, productive operation, upkeep, and retirement from one generation to
another. This article categorizes and examines a number of methods for describing or modeling
how software systems are developed. It begins with background and definitions of traditional
software life cycle models that dominate most textbook discussions and current software
development practices. This is followed by a more comprehensive review of the alternative
models of software evolution that are of current use as the basis for organizing software
engineering projects and technologies.
Background
Explicit models of software evolution date back to the earliest projects developing large software
systems in the 1950’s and 1960’s (Hosier 1961, Royce 1970). Overall, the apparent purpose of
these early software life cycle models was to provide a conceptual scheme for rationally
managing the development of software systems. Such a scheme could therefore serve as a basis
for planning, organizing, staffing, coordinating, budgeting, and directing software development
activities.
Since the 1960’s, many descriptions of the classic software life cycle have appeared (e.g., Hosier
1961, Royce 1970, Boehm 1976, Distaso 1980, Scacchi 1984, Somerville 1999). Royce (1970)
originated the formulation of the software life cycle using the now familiar “waterfall” chart,
displayed in Figure 1. The chart summarizes in a single display how developing large software
systems is difficult because it involves complex engineering tasks that may require iteration and
rework before completion. These charts are often employed during introductory presentations,
for people (e.g., customers of custom software) who may be unfamiliar with the various
technical problems and strategies that must be addressed when constructing large software
systems (Royce 1970).
These classic software life cycle models usually include some version or subset of the following
activities:
·
System Initiation/Planning: where do systems come from? In most situations, new
1
feasible systems replace or supplement existing information processing mechanisms
whether they were previously automated, manual, or informal.
·
Requirement Analysis and Specification: identifies the problems a new software system is
suppose to solve, its operational capabilities, its desired performance characteristics, and
the resource infrastructure needed to support system operation and maintenance.
·
Functional Specification or Pro …
Purchase answer to see full
attachment