02-Products/Processes/Stakeholders Why engineer software?
Transcript of 02-Products/Processes/Stakeholders Why engineer software?
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 1
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
02-Products/Processes/Stakeholders
ßReadings:ßFundamentals of Software Engineering, Ch. 2, 7
ß[ljO97] Leon J. Osterweil, “Software processes are softwaretoo, revisited: an invited talk on the most influential paper ofICSE 9,” Proceedings of the 19th International conferenceon Software Engineering May 1997
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Why engineer software?
ßScope and Impact on SocietyßNew and Expanding Applications
ßSafety
ßSecurity and privacy
ßEconomicsßA trillion dollar a year industry?
ßSlow to get technology to marketßSRI->Xerox->Apple->Microsoft
ßUnix
ßIs the U.S. losing the innovation race?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Why engineer software?
ßQualityßdeliver prototypes &
"leave it to the marketplace"ßunsophisticated consumersßtolerate high failure ratesßThere are many recalls for automobiles; if something is not right,
then it has to be fixed and usually for free.ßA defect in software will be “fixed” in “the next” release (at some
cost to upgrade) or as a part of “maintenance” (also at some cost)
ßOther manifestations of poor quality:ßoptimizing software that is suboptimalßsoftware that is too slow/costs time and moneyßsoftware that is incomprehensibleßsoftware that is more trouble to use than it is worth
Look at what I bought!!
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Barriers -- Industry’s short term focus
ß"bottom line orientation"ßemphasis on development, time to market -- not life cycleßcost of capital, return on investment -- see "Made in America”
ßstartups cannot invest in R&D until product established inmarketplaceßwithout the R&D, takes too long for next or improved productßmarket niche strategy driven by investors
ßsoftware housesßintensely competitiveßoften don't use own technologyßkeep development cost down, fix later
ßunsophisticated industriesßlack of technical expertiseßlack of administrative experience
ßoverselling the technology
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 2
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Past Approaches
ßUse more peopleßcreates chaos, more problems
ßCreate "better" programming languagesßbad programs can be written in any language
ßDesign before writing codeßhow do you get the design right?
ßare you are designing the right program?ßstart by "baselining" requirements
ßbut they inevitably change, what then?
ßTest programs longerßfind more bugs, but is that good?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
More Approaches
ßTrain managers betterßbut how do you manage this kind of product?
ßSoftware tools to help people write programs betterßsoftware tools are often bad software
ßpeople don't know how to use them
ßcost of capital issues
ßUse superior software processesßhow do you know when a process is “good”
ßTrain people betterßwhat to teach them?
The silver lining? Struggling with hardtechnological problems can lead to good scienceThe silver lining? Struggling with hardtechnological problems can lead to good science
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Our Strategy
ßStart with engineering problemsßLook for deeper scientific questionsße.g., What constitutes quality in software? What is anerror?Can errors be proven to be absent? How canadding more people can make things come out worse?Issoftware based on any science?governed by any laws?
ßHypothesize conceptual foundationsßBase engineering solutions on conceptual foundationsßUse experience with engineering solutions to advancethe science:ßvalidate hypothesesßnew (sub-) hypothesesßrevise hypothesesßsuggest new issues and questions
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Products, Processes & Technologies
ßSoftware ProductßThe complete set, or any of the individual items of the set, ofcomputer programs, procedures, and associateddocumentation and data designated for delivery to a customeror end user. [IEEE-STD-610]
ßSoftware ProcessßThe process or set of processes used by an organization orproject to plan, manage, execute, monitor, control andimprove its software related activities. [ISO/IECJTC1/SC7:15504-9]
ßSoftwareTechnologyßThe theory and practice of various sciences (to includecomputer, cognitive, statistical sciences, and others) appliedto software development, operation, understanding, andmaintenance; more specifically, we view software technologyas any concept, process, method, algorithm, or tool, whoseprimary purpose is the development, operation, andmaintenance of software or software-intensive systems.[CMU/SEI-97-HB-00]
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 3
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Software Products
ßa software “product” is a complex web ofintertwined software objects, connected by amultitude of diverse relations and constraintsßsome types of objects:ßsource codeßdesignsßtest casesßdocumentationßsome types of relationships:ßis invoked byßis derived fromßis consistent withßis a version of
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Software Processes
ßActivities related to the development, verification,evolution, evaluation, management, etc. of softwareproducts
ßExamples of high level processes:ßDevelop requirements
ßDo Object Oriented Design
ßFormally verify
ßExamples of low level processesßArchive result of running a test case
ßCompile a piece of code
ßTend to be concurrent (coordination of people, systems)
ßUsually (regrettably) informal or undefined
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
fi Requirements
Typical products and processes
ßCustomer needs
ßConstraints
ßRequired Domain Knowledge
ßPreliminary design
ßDetailed design
ßConstruction
ßMaintenance & Evolution
ßWhich are products and which are processes?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Stakes & Stakeholders
ßStakeholders may include: customer; “innocent bystander;”end user; end users’ management; system administrator;developer; regulators/monitors; etcßStakes: ease of use; training; cost; cost/benefits; schedule;meets specs; optimizes business practices; does no harm;etc.
ßA central concern of SE is to manage the creation andmaintenance of a software product that satisfies allneeds of all stakeholdersßImplies understanding who stakeholders are; whatquestions they need answered; to what degree ofthoroughness
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 4
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Design
Hi Level
Lowlevel
Products & Relations
Requirements Specification
Functional
Safety
Performance
Robustness
Accuracy
Source
Object
executables
parse trees
instrumented source
relations tolow leveldesign
TestPlan
InputsOutputs
Timing
Setup
Knockdown
relations totest cases
test casesthat are
used to testfor
satisfactionof this
requirement
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Products & Stakeholders
Design
HiLevel
Lowlevel
Requirements Specification
Functional
Safety
Performance
Robustness
Accuracy
Source
Object
executables
parse trees
instrumented source
TestPlan
InputsOutputs
Timing
Setup
Knockdown
?
UserDeveloperCustomerInnocent Bystander
?
?
?
?
?
? ?
?
?
?
??
?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Product Template
PRODUCT
OBJECT
MANUALS
PROCESSEXECUTIONDATA
QUALITYCONTROLDATA
PROCESSDOCUMENTATION
Design
Hi Level
Lowlevel
Requirements Specification
Functional
Safety
Performance
Robustness
Accuracy
Source
Object
executables
parse trees
instrumented source
TestPlan
InputsOutputs
Timing
Setup
Knockdown
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Product Template
PRODUCT
OBJECT
MANUALS
PROCESSEXECUTIONDATA
QUALITYCONTROLDATA
PROCESSDOCUMENTATION
PROCESSEXECUTORS
USER
EXECUTORINPUT
OUTPUTTO
EXECUTORS
PRODUCT INSTANCE
OTHER INSTANCESOF THE PRODUCTPRODUCT INSTANCE
PRODUCT INSTANCE
PRODUCT INSTANCE
PRODUCT INSTANCE
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 5
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Software Process Instantiation
USERSoftwarePractioner
OTHER INSTANCESOF THE APPL
PRODUCT INSTANCE
PRODUCT INSTANCE
PRODUCT INSTANCE
PRODUCT INSTANCE
APPL INSTANCE
process____________________________code
sw product
template SoftwareProcess
Developer
PRODUCT
OBJECT
MANUALS
PROCESSEXECUTIONDATA
QUALITYCONTROLDATA
PROCESSDOCUMENTATION
OTHER INSTANCESOF THE PRODUCT
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
There are products that share some of itscharacteristicsThere are products that share some of itscharacteristics
Software Is not unique
ßStudying such analogs can be useful:ßHelp us learn about computer software
ßFind points of similarity
ßSuggest successful approaches to beemulated
ßAvoid known mistakes
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Problem: Create aproduct thatprovides shelter,sanitation, foodpreparationfacilities, recreation
Solution Medium:Dwelling unit
Problem: Create aproduct thatprovides shelter,sanitation, foodpreparationfacilities, recreation
Solution Medium:Dwelling unit
Lots ofinterconnectionand interactionamong thesecomponents
Lots ofinterconnectionand interactionamong thesecomponents
Analogy 1: Custom Home Building
ßProduct ComponentsßCustomer needsß number, type and size of rooms, location,
style,ß what else?
ßConstraintsß zoning, covenants, regulations
ßPreliminary designß architect sketchesß plans from book
ßDetailed designß blueprints
ßConstructionß Carpenters, plumbers, other skilled
craftspeopleßMaintenance & Evolutionß instructions, manualsß additions/ remodeling as needed
RequiredDomain
knowledge?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Strengths of Analogy 1
ßproblem solving to meet real-world needßsingle solution mediumßcompleted house is not whole solution, butonly a component thatßis constrained(zoning, etc.)ßmust "fit in" with utilities, neighbors, customerlifestyleßmust evolve with resident (user) needs andchanging environment
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 6
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Weakness of Analogy 1
ß Customer familiarity withßSolution medium
ßDescriptive terms
ßTangibility and Visibility of theßintermediate productsßChanges are not always costly
ßfinal product
ß“well understood” application domain
ßToo specific:ßCustom: one need, one house; few stakeholders
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Lots ofinterconnectionand interactionamong thesecomponents
Lots ofinterconnectionand interactionamong thesecomponents
Analogy 2: Legislation
ßProduct Componentsß “Customer” needsßMedia, polls, reaction to political
platforms, hearings, public opinion,reaction to legal decisionsß what else?
ßConstraintsß Constitution, Legislative Authority,
previous legislation, court decisionsßPreliminary designß Congressional staff draftsß Agency inputß (sub) committee hearings
ßDetailed designß Congressional staff (re-) draftsß Legislative plan or blueprintßMore Agency inputßMore (sub) committee hearings
RequiredDomain
knowledge?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Analogy 2: Legislation
ßProduct ComponentsßConstructionßProposed Bill/LawßAmendmentsßFinal Congressional & Executiveapproval
ßMaintenance & Evolution
ß Implementing bureaucracy
ßAmendments
ßCourt decisions
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice
Solution Medium:Congress, ExecutiveAgencies, Petition,
Lots ofinterconnectionand interactionamong thesecomponents
Lots ofinterconnectionand interactionamong thesecomponents
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Strengths of Analogy 2
ßProblem solving to meet real-world needßSingle solution mediumßLaws/agencies are not the solution, but only acomponent thatßmust "fit in" with existing laws & regulations;court decisions, agency implementationßmust evolve with societal (user) needs andchanging environmentßerrors must be corrected by amendment,substitution, promulgation, courts
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 7
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Strengths of Analogy 2
ßInadequacy of notation, representationßNatural (although stylized) languageßInterpretation varies: implementers (bureaucracies);courts
ßMany stakeholdersßeffected citizens & (public, private) sectors; (federal,state & local) agencies & legislatures
ßComplexityßStakeholders unfamiliar with detailsßSide effects; unexpected outcomesßSo called “wicked problem”ßSeldom independentßChanges must be carefully plannedßAssumed context for implementation
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Weakness? of Analogy 2
ßLook at two simple examples:ßFY05 State budget (funding, outside sections)ßGovernorßHouse Ways & MeansßHouse 1 (amended)ßSenateßConferenceßGovernor’s vetosßLegislative overrides
ßSocial Security “Windfall Elimination”ßWhat are other analogies?ßPlays and Movies? Recipes? Driving instructions (eg.rallyes)
Products?
Process?
Products?
Process?
RequiredDomain
knowledge?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Example
University of Massachusetts For the operation of the University of Massachusetts;provided, that notwithstanding any general or special law to the contrary, the universitymay establish and organize auxiliary organizations, subject to policies, rules andregulations adopted by the board, to provide essential functions which are integral to theeducational mission of the university; provided further, that notwithstanding any general orspecial law to the contrary, the university may enter into leases of real property withoutprior approval of the division of capital asset management and maintenance; providedfurther, …; provided further, that no funds appropriated in this item may be used for theissuance or renewal of student or employee identification cards which display a student oremployee’s social security number; provided further …; and provided further.. .......................................................... $337,864,464
SECTION 242. Section 633 of chapter 26 of the Acts of 2003 is hereby amended by strikingout the second and third paragraphs and inserting in place thereof the following paragraphs:- Notwithstanding any general or special law to the contrary, the board of trustees for theuniversity of Massachusetts system and the president of the university are hereby authorizedand directed to establish a two year pilot program for out of state tuition retention at theflagship campus of the university at Amherst. The board shall promulgate…Notwithstanding any general or special law to the contrary, for employees of public highereducation institutions who are paid from tuition retained pursuant to this section, fringebenefits shall be funded as if those employees’ salaries were supported by stateappropriations. …
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Another example
SECTION 1. WINDFALL ELIMINATION PROVISION RESTRICTED TO TOTAL MONTHLYAMOUNTS IN EXCESS OF $2,000. (a) IN GENERAL- Section 215(a)(7) of the SocialSecurity Act (42 U.S.C. 415(a)(7)) is amended-- (1) in subparagraph (A), by inserting after `service'),' the following: `if the sum of theindividual's primary insurance amount under paragraph (1) of this subsection and the portionof the monthly periodic payment which is attributable to noncovered service performed after1956 (with such attribution being based on the proportionate number of years of suchnoncovered service) is greater than $2,000, then'; (2) in the second sentence of subparagraph (B)(i), by striking `(with such attribution beingbased on the proportionate number of years of such noncovered service)' and inserting `(asdetermined under subparagraph (A))';(3) in the last sentence of subparagraph (B)(i), by striking `the larger of' and all that followsthrough `subsection (i))' and inserting the following: `the primary insurance amountdetermined under paragraph (1), reduced (before the application of subsection (i)) by theapplicable percentage specified in clause (iii) of the excess of such amount over the larger ofthe two amounts computed under the preceding two sentences,'; and(4) by adding at the end of subparagraph (B) the following new clause: `(iii) For purposes ofclause (i), the applicable percentage in connection with any individual shall be thepercentage specified in connection with such individual in the following table:
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 8
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Quality
measurement
qualityconcept
measurablecharacteristic
abstraction
metric
applicationof metric
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Quality - expanded
measurablecharacteristic
applicationof metric
purpose
concept
attribute
metric
measurement
qualityconcept
use
factors
criteria
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Need for metrics
ßmost "ilities" are qualitative, not quantitative
ßhow to determineßmeasurement ¤ experimental
ßanalysis ¤ theoretical
ßsimulation ¤ compute/model
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Software Qualities
ßExternal product qualitiesßvisible to the user of the system
ßreliability, robustness, performance (efficiency,usability, user-friendliness (human factors)),scalability
ßInternal product qualitiesßaffect the developers and maintainers
ßcorrectness (verifiability), maintainability(extensibility, repairability, reusability) portability(understandability, interoperability)
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 9
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Software Qualities
ßProcess qualitiesßaffect activities
ßproductivity, timeliness, visibility
Process qualities fi Internal qualities fi External qualities
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
most manufacturing fi responsible for reliabilitysoftware industry fi waive responsibility
External Product Software Qualities
ßreliabilityß"performs as expected" "depend on it"
ßtoo often release products with known "bugs"
ßSDI argumentsßcan't build correct system that complex -- DaveParnas
ßdoesn't have to be correct to be reliable -- DannyCohen
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
External Product Software Qualities
ßrobustnessßperforms "satisfactorily" even whenenvironment & events unanticipated
ßcorrectness
Functional requirements specification
software
equivalence
testing -- experimentalproof -- analytical
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Reliability, Robustness & Correctness
ßcorrectßdoes exactly what it is defined/specified to do
ßreliableßdoes exactly what the user wants (expects?) itto do (under "normal" conditions)
ßrobustßdoes exactly what the user wants (expects?) itto do (under "abnormal" conditions)
ßcan apply to products and processes
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 10
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Correctness as an Internal ProductSoftware Quality
VerifiabilityVerification ¤ CorrectnessValidation ¤ Reliability (+ safety, security, etc.)Certification ¤ Legal & Contractual
spec. code design
validation
verification
verification
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
More External Product SW Qualities
ßPerformanceßefficientßproduces results in an acceptable amountof time
ßusable -- end uses find it easy to useßeasy to learn
ßeasy to install
ßeasy to operate
ßeasy to advance
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
More External Product SW Qualities
ßUser-friendlyßall of the above is provided with an easyto user interface
ßScalabiltyßhandle expansion in the parameters ofthe application
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Internal Product Software Qualities
ßmaintainability = repairability + evolvabilityßcan be modified and revalidated easily
ßenhanced by abstraction, modularity,discipline, standards, and good taste
ßmaintenance is 60% of the lifecycle costs
ßunderstandabilityßsome products are inherently morecomplex than others
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 11
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Internal Product Software Qualities
ßReusabilityßcan be used to construct another product
ßneed to plan for reuse
ßcan involve any artifact or process
ßdifficultßReusability factorsßmodularity
ßgranularity (e.g., Unix, X windows)
ßtrend is for plug-and-play components
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Internal Product Software Qualities
ßInteroperabilityßcan co-exist and cooperate with other systemsßeasy to integrateßopen system & layered architecturesßwell-defined, standard interfacesßcollection of independently written applications thatcooperate and function as an integrated system
ßPortabilityßcan run on different environments (hardware orsoftware platform) with little effortßenhanced by using only standard capabilitieswhenever possible and by isolating non-standardcapabilities
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Process Qualities
ßProductivityßmeasures the performance of the developmentand maintenance activities
ßVisibilityßallows access to status of both the process andproductsßfacilitates management
ßfacilitates teamwork
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
needrecognized
init. productdelivered
meets orig.requirements
redesign toimprove
new release
functionality
time
Process Qualities
ßTimeliness -- measures the ability to deliversoftware on time
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 12
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
High-level Goals of SE
ßimprove productivity
ßreduce resourcesße.g., time, cost, personnel
ßimprove predictability
ßimprove maintainability
ßimprove quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Success of a system
ßA system is judged not by properties of thehardware and software, but by the effects ofthe system in the worldßyou don’t care how Caller ID works, just that itworks
ßpilots love TCAS (on the whole) because ithelps them fly more safely and easily—notbecause it has great data structures or afascinating specification
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Process
ßNeed a process for:ßOrder of activities
ßProduct delivery (what, when)
ßAssignment to developers
ßMonitoring fi Measuring fi Planning
ßCannot be (easily) codified or standardized
ßIterative and incremental
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
What are the key(sub-)processesit must support
What are the key(sub-)processesit must support
UNDERSTANDING
USAGE
UNDERSTANDING, EVALUATION, STRESS TESTING
DEVELOPMENT
MODIFICATION
EVOLUTION
Software Processes
ßWhat do people want to do with (to) a product?ßFind out what it does (quickly, easily):
ßGet it to do what is needed (quickly, easily):
ßNot worry about it:
ßBuild it (quickly, easily, at low risk):
ßChange it as needed (quickly, easily)
ßImprove it (quickly, easily):
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 13
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Process
ßCurrent Strong Emphasis on ProcessßProcess and Product complement each other
ßMore past focus on product
ßProcess focus has been less technicalßMore managerial
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Traditional process models
ßCode & test
ßWaterfall
ßPrototyping
ßTransformational
ßSpiral
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Early waterfall model
ßEarliest design and test FixFixCodeCode
SystemTestingSystemTesting
IntegrationTesting
IntegrationTesting
Code &Unit TestCode &Unit Test
DetailedDesignDetailedDesign
Preliminary Design
Preliminary Design
FeasibilityFeasibility
SpecificationSpecification
ArchitectureArchitecture
RequirementsRequirements
What’swrong
with this?
ßorder -- "what shall we do next?”
ßtransition criteria -- "how long shall we do it?"
What’swrong
with this?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
1970’s
ßRecognition of feedback loopsßConfined to successive stages
ß“Build it twice”ßEarly prototyping
SystemTestingSystemTesting
IntegrationTesting
IntegrationTesting
Code &Unit TestCode &Unit Test
DetailedDesignDetailedDesign
Preliminary Design
Preliminary Design
FeasibilityFeasibility
SpecificationSpecification
ArchitectureArchitecture
RequirementsRequirements
What’swrong
with this?
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 14
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Reuse model
Repository
technical issues• create/recognize reusable component• cataloging & representation• Composition
management issues• NIH syndrome• development under T&M• granularity• CM across many reuses• ownership
SystemTestingSystemTesting
IntegrationTesting
IntegrationTesting
Code &Unit TestCode &Unit Test
DetailedDesignDetailedDesign
Preliminary Design
Preliminary Design
FeasibilityFeasibility
SpecificationSpecification
ArchitectureArchitecture
RequirementsRequirements
What’swrong
with this?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
"Throwaway" prototyping• technical issues
• rapid prototyping may create very different artifacts at each stage
• draw on many reuse repositories• management issues
• when to stop throwing away -- whenis a prototype not a prototype
• how to get the prototype back fromthe customer
SystemTestingSystemTesting
IntegrationTesting
IntegrationTesting
Code &Unit TestCode &Unit Test
DetailedDesignDetailedDesign
Preliminary Design
Preliminary Design
FeasibilityFeasibility
SpecificationSpecification
ArchitectureArchitecture
RequirementsRequirements
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
PrototypesPrototypes
What’swrong
with this?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Evolutionary prototyping• technical issues
• "ILITY" at each level• documentation• timeliness• risk management, e.g., "feature
creep"• temporary "work arounds" become
permanent• management issues
• risk• when to stop• CM for this many artifacts
SystemTestingSystem
Testing
IntegrationTestingIntegration
Testing
Code &Unit TestCode &
Unit Test
DetailedDesignDetailed
Design
Preliminary DesignPreliminary
Design
FeasibilityFeasibility
SpecificationSpecification
ArchitectureArchitecture
RequirementsRequirements
SystemTestingSystem
Testing
IntegrationTestingIntegration
Testing
Code &Unit TestCode &
Unit Test
DetailedDesignDetailed
Design
Preliminary DesignPreliminary
Design
SpecificationSpecification
ArchitectureArchitecture
SystemTestingSystem
Testing
IntegrationTestingIntegration
Testing
Code &Unit TestCode &
Unit Test
DetailedDesignDetailed
Design
Preliminary DesignPreliminary
Design
SpecificationSpecification
ArchitectureArchitecture
What’swrong
with this?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Transformational Model
"Transformational" model
validation
optimizationConcrete
source code
tuning
formal repr.formal spec
maintenance
req.anal.
Repository
rationaledecisions,
informal specreq.anal. concretesource code
"code"
prototypevalidation
codeinformalreqmnts
validation
test
tuning
maintenance(variation of) Traditional Life Cycle
What’swrong
with this?
CMPSCI520/620 Fall 2004- Lecture 02-Prods, Procs & Stakes 9/10/04
„ Rick Adrion 2004 [except where noted] 15
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
develop & verify
Boehm's Spiral Model
objectives
cost (cumulative)
risk analysisdetermine, elaborate
plan next phase
proto I
Conceptsof
operationsLC plan
anal
proto II
risk
models
design
design V&V
proto III
integration
test plan
riskanal
models
plan
begin
riskanal
CW
rqmnts
rqmnts
validation
riskanal
proto IV
design
unittest
benchmarks
test
code
acceptance
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
Boehm's Spiral Model
application rqmnts = low riskbudget, schedule = high risk
stable appl. rqmts & budgeterrors = high risk
application rqmnts = high riskbudget, schedule = low risk
SW
SystemTesting
IntegrationTesting
Code &Unit Test
DetailedDesign
PreliminaryDesign
Feasibility
Requirements Specification
SW Requirements
validation
optimization
Concretesource code
tuning
formal repr.
formal spec
maintenance
req.anal.
Repository
rationaledecisions,
SW
SW
SW
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI 520/620 CI 520/620 FFALL ALL 20042004
IBM-SSDGTESafeguardBoehm Sm
TRW80
20
80
20
1000
500
200
100
50
20
10
5
2
1
80
20
80
20
80
20
80
20
Rqmnts Design Code Devel. Test Accept. Test Operation
Phase in which error was detected & corrected
Barry Boehm SoftwareEngineering Economics
Increase in cost
•to fix or change throughout lifecycle