Upload
hoangphuc
View
215
Download
2
Embed Size (px)
Citation preview
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 1
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Welcome to 520/620Rick Adrion
310 Computer Science Building(413) [email protected] Hours:Tuesdays 11:30a-noon & Wednesdays 3:00-4:00p
Wendy Cooper312 Computer Science Building(413) [email protected]
TA: Sophie [email protected]
These courses are offered through the ProfessionalEducation for Engineering and Applied Science (formerly theVideo Instruction Program) for off-campus students.
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
http://www-edlab.cs.umass.edu/cs520/
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 2
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
CMPSCI520/620
CMPSCI 520: Software Engineering: Synthesis and Development
Professor: AdrionThis course introduces students to the principal activities involved in developing high-
quality software systems. The course stresses the use of defined, systematic
processes in the creation of carefully defined and engineered software products.
Among the topics covered are requirements analysis, software architecture, formalspecification methods, process definition, software design methods, and test
planning. Issues specific to the development of software by teams and groups will
also be addressed. Students will be required to read selected papers from theliterature and complete homework and projects. This course focuses on synthesis
activities and complements CMPSCI 521, which focuses on software analysis
techniques. Students are encouraged to take both courses but may take eithercourse independently.
CMPSCI 620 : Advanced Software Engineering: Synthesis and Development
Professor: Adrion
As above. This course focuses on synthesis activities and complements CMPSCI621, which focuses on software analysis techniques. Students are encouraged to
take both courses but may take either course independently. Students who sign up
for 620 will be expected to do more comprehensive projects, which emphasizecritical and analytic thinking, than those who sign up for CMPSCI 520.
320
520
521
620
621
PreReq
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Learning Outcomes1.Knowledge and understanding
know and understand how software engineeringprinciples and techniques apply to the softwaredevelopment process including: the role of notation and abstraction in software
engineering; the products (artifacts) and processes which are
fundamental to software development;know and understand relevant techniques andmethods that apply to each stage of the softwaredevelopment process, including:Requirements engineering, elicitation, analysis,
specification, validation and management;Software design issues, software architecture,
software design notations, strategies and methods;Software construction, including styles (linguistic,
mathematical and visual) and goals (managingcomplexity, anticipating diversity, structuring forvalidation);
Software process definition, measurement, analysis,implementation and improvement;
Software evolution, maintenance, re-engineering andreuse;
Software testing and analysis, including techniques,tools, planning and management.
2.Cognitive skills-perform problem analysis fromwritten descriptions (analysis); derive requirementsand design specifications from an understanding ofproblems (analysis, synthesis); create and/or justifydesigns to satisfy given requirements (synthesis,evaluation, application).
3.Practical skills-evaluate the available options toselect the most suitable technology for use in eachstage of software development, underpinned by aknowledge of the efficacy of the various options;applysystems, tools and techniques to supportdevelopment, analysis and modeling appropriate tothe different stages of software development.
4.Transferable skills-communicate effectively by oral,written and visual means; work effectively as anindividual and as a member of a team; performindependent and efficient time management; performindependent information acquisition and management,using the scientific literature and Web sources;prepare technical reports to a professional standard;demonstrate understanding of personalresponsibilities and professional codes of conduct.
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 3
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Measuring Learning
Knowledge &Understanding
CognitiveSkills
PracticalSkills
TransferableSkills
Homework, Projects & Class Participtation
know apply
SE Techniques,Methods, Principles
analyze synthesize
Requirements, Design, Code, Test, Deploy
evaluate model
Technologies, Options,Systems & Tools
comm.skills team skills
Reports, Interactions,Research, Ethics
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Examinations and Major AssignmentsThe course assignments will include 4-6 homeworkassignments and 3 projects.
There are no examinations; the last date/time thatprojects & homework assignments will be acceptedwithout penalty is the last day of the exam period.
I am usually flexible about late submission ofassignments, but I will not accept a late submissionof an assignment without prior approval.
Homework assignments will include “essay” andanalytical problems which cover topics from thelectures and readings.
Projects will be team projects (except for PEEAS) onspecifications,design,and coding and require the use ofsoftware tools.
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 4
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
ProjectsOn-campus
Teams specify, design, develop and implement CMStools to be incorporated within the Sakai CLEframework (http://www.sakaiproject.org/)Each team will develop a different toolDiscussion Forums, File Exchange, Internal Email, OnlineJournal/Notes. Real-time Chat, Video Services,Whiteboard, Calendar/Progress Review, Student Portfolios,etc.
Each team will interview various stakeholdersOff-campus
TBD
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
GradingAttendance is not mandatory, but if you are absent from
class, it is your responsibility to check on announcements &assignments made while you were away. I do count classparticipation as 10% of the final grade.
Grades will be based on homework (45%), projects (45%)and class participation (10%). Final grades will be calculatedwith specific grades assigned to average scores in a more orless traditional manner. I reserve the right to review thegrade distribution and lower the ranges of scores for a givengrade
Students always expected to work independently, exceptwhen collaboration is explicitly expected (such as for theteam projects). Failure to do independent work may resultin a failing grade for the assignment or, in some cases,for the course.
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 5
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Texts and readingsSuggested texts
[GJM03] Fundamentals of Software Engineering by Carlo Ghezzi, MehdiJazayeri, and Dino Mandrioli, Second Edition, Prentice Hall; 2nd Edition(2003)ISBN 0-13-305699-6
[fpB95] The Mythical Man-Month: Essays on Software Engineering,Anniversary Edition (2nd Edition) by Frederick P. Brooks Addison-WesleyPub Co; 1st edition (1995)
[BJR98] The Unified Modeling Language User Guide by Grady Booch, IvarJacobson, James Rumbaugh Addison-Wesley Pub Co; 1st edition (1998)
Other interesting books [mJ95] Software Requirements & Specifications: A Lexicon of Practice,Principles and Prejudices (Acm Press Books) by Michael Jackson Addison-Wesley Pub Co; 1st edition (1995)
[blK98] Practical Software Requirements: A Manual of Content and Style byBenjamin L. Kovitz Manning Publications Company; (December 1998)
[dB03] Software Design (2nd Edition) by David Budgen Pearson AddisonWesley; 2nd edition (2003)
[GHJV95] Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson,John Vlissides Addison-Wesley Pub Co; 1st edition (1995)
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Texts and readings Other reading
[fbB87] Brooks, Jr., F.P., “No Silver Bullet; Essence and Accidents of SoftwareEngineering,” IEEE Computer , April 1987, pp.10--19.
[dH92] David Harel, “Biting the Silver Bullet,” Computer, January 1992 [ljO97] Leon J. Osterweil, “Software processes are software too, revisited: an invited
talk on the most influential paper of ICSE 9,” Proceedings of the 19th internationalconference on Software engineering May 1997
[ljO87] L. J. Osterweil. “Software Processes are Software Too,” Proceedings of theNinth International Conference if Software Engineering , March 1987.
[rW98] Roel Wieringa, “A survey of structured and object-oriented softwarespecification methods and techniques,” ACM Computing Surveys December 1998
[jmW90] Wing, J. M., “A Specifier's Introduction to Formal Methods,” IEEE Computer, September 1990, pp.8--24.
[dlP72] D.L. Parnas, “On the Criteria to be Used in Decomposing Systems,” CACM.Vol. 15. No. 5. 1972. pp. 1.053-1.058.
[LZ75] Liskov, B.H. and Zilles, S.N., “Specification Techniques for Data Abstractions,” IEEE Transactions on Software Engineering , March 1975, pp.7--19.
[carH69] Hoare, C.A.R., “An Axiomatic Basis for Computer Programming,”Communications of the ACM , October 1969, 6 pages.
[GHW85] Guttag, J.V., Horning, J.J. and Wing, J.M., “The Larch family ofSpecification Languages,” IEEE Software , September 1985, pp.24--36.
Project Documents
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 6
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
(Very) Tentative Calendar
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
01-IntroductionReadings:
Fundamentals of Software Engineering, Ch. 1The Mythical Man-Month: Essays on SoftwareEngineering, Anniversary Edition“No Silver Bullet; Essence and Accidents of SoftwareEngineering,” Computer, April 1987“Biting the Silver Bullet,” Computer, January 1992
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 7
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
IntroductionWhat is software?Software vs. Hardware design & developmentWhat is software engineering?How has software engineering changed?Is there a crisis?
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What is software?a software “product” is a complex web of intertwined“objects,” connected by a multitude of diverse relationsand constraints
some types of objects:
some types of relationships:
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 8
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What is its Nature? What's Different?
insensible, nonphysical & with a complex structure component of a larger system that “fits” with
hardware, people, mechanical devices transforms data using computers has a discontinuous operational nature human-intensive, there are no real costs of materials usually very large, expensive, and lengthy to build can be modified all too easily changes constantly both proactively and reactively application horizons expand too fast with human
demands/imagination requires solutions of unusual rigor
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Lines of Code in Service
104
105
106
107
108
109
1010
1011
1012
1013
1014
1015
1950 1960 1970 1980 1990 2000
0.00001
0.0001
0.001
0.01
0.1
1
10
100
1000
10000
100000
1000000
$
LOCS
LOCS
Total $/LOCS
Total LOCS
Years U.S. Dept. of Defense
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 9
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Size of Software Systems
1989 19991996
1.5M
700K
4 bit 8 bit 16 bit
Sof
twar
e S
ize
(LO
C)
500K
1M
2M2.2M
1.5M
700K
4 bit 8 bit 16 bit
500K
1M
2M2.2M
Dev
elop
men
t Per
iod
(yea
rs)
1
0.5
Telephone Set (Cell Phone)
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
expansionfactor*
1
10
100
1000
1960 1965 1970 1975 1980 1985 1990 20001995
Order of Magnitude Increase Every Twenty Years
MachineInstructions
MacroAssembler
High LevelLanguage
DatabaseManager
On-line
RegressionTesting
Prototyping
4GL
SubsecondTime
SharingSmallScaleReuse
Object Oriented
Programming
Large ScaleReuse
1421138175
4737.530
15
3
475638
Projection
*ratio of lines of machine code to a line of source code
Bernstein, 1997
Trends in Software Expansion
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 10
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Productivity and Cost
Productivity10 -- 50 lines/day, 200 -- 1000 lines/month
(including module testing)Cost of engineers (in US)
Architect $150,000 - 250,000Project Manager $ 96,000 - 130,000Programmer $ 52,000 - 81,000
Business Week 2004
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Hardware versus Softwarehardware costs are decreasing and software costs areincreasing
SW costs
HW costs
$
time
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 11
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Hardware versus Software
Is hardware development done better thansoftware development? Reasons??
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What is software engineering?is it engineering?is management?is it art?is it any kind of discipline?
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 12
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
What is software engineering?coined at the NATO Science Committee Conference,October 1968
engineeringestablished, scientifically sound, practices that thetypical practitioner follows
software engineeringthe application of scientific knowledge to the thedevelopment and maintenance of software systems
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Other definitions Ghezzi: A field of computer science that deals with the
building of software systems that: are so large & complexto require team or teams; exist in multiple versions; usedfor many years; and undergo changes (repair defects,enhance features, add new features, remove featurs, adaptto new environment)
Shaw: Creating cost-effective solutions to practicalproblems by applying scientific knowledge to buildingthings in the service of mankind
Parnas (original): Multi-person construction of multi-versionsoftware
Parnas (now): Failed attempt by software researchers tostimulate the interest of engineers in software Need computer scientists, but need software engineers
who are educated differently, know how to apply “softwarescience,” know broader areas of knowledge, are skilled inthe discipline of design and analysis and are licensed.
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 13
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
HistoryEarly ’70s
Stepwise refinement method top down approach
Late ’70sFirst International Conferenceon Software Engineering(ICSE), 1975
Development methods Structured design Jackson method
Early ’80sSupport tools for developmentmethods
Program generatorTesting methodSoftware reuse
Late ’80sPrototypingSoftware developmentenvironment
Formal methodsSoftware metricsExpert systemObject oriented programmingand design
Software developmentenvironment
Early ’90sCASE(Computer-AidedSoftware Engineering)
CSCW(Computer-SupportedCooperative Work)
Software Process
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
HistoryLate ’90s
Process improvementInternet and mobile softwareComponent-based developmentSoftware architectureYear 2000 problem
Early ’00sUMLEmpirical methodProgram analysis ...
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 14
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Why engineer software?Scope and Impact on SocietyEconomicsQuality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on Societyrange of applications
simple ⇒ “super” systemscurrent methods do not scalenew and expanding applications
increasing complexity of embedded systems
Why engineer software? Scope and Impact on Society Economics Quality
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 15
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on Society There have been many (in)famous software failures:
National long-distance telephone outage London Ambulance Service disaster European Space Agency booster destruction
If you fly, your life depends on software Airbus AA flight in Cali, Columbia
Your bank account depends on software New York bank reconciliation failure
Medical devices are controlled by software Therac-25
… and so onWhy engineer software?
Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Scope and Impact on SocietySafety
Security and privacy
"O Ring effect"
"Firewall effect"
Why engineer software? Scope and Impact on Society Economics Quality
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 16
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Economics A trillion dollar a year industry? Software can represent major (the majority of) costs of
A “make or break” key competency for
Software can cost hundreds or thousands of dollars per line
Why engineer software? Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Quality deliver prototypes "leave it to the marketplace" unsophisticated consumers
Look at what I bought!!
Why engineer software? Scope and Impact on Society Economics Quality
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 17
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
QualityAnalogyThere are many recalls for automobiles; ifsomething is not right, then it has to be fixed andusually 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)
Why engineer software? Scope and Impact on Society Economics Quality
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Barriers to engineering software
industry’s short term focus shortage of skilled personnel inadequate investment in R&D coupling -- tend to "toss over the fence" lack of infrastructure standards
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 18
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Past Approaches Use more people
Create "better" programming languages
Design before writing code
Are you are designing the right program?
Test programs longer
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
More Approaches Train managers better
Software tools to help people write programs better
Use superior software processes
Train people better
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 19
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
New ApprochesAgile MethodsAspect Oriented ProgrammingExtreme ProgrammingFeature-Driven DevelopmentPair ProgrammingRefactoringTest Driven Development
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
There 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 be
emulated Avoid known mistakes
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 20
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Problem: Create aproduct thatprovides shelter,sanitation, foodpreparationfacilities, recreation
Solution Medium:Dwelling unit
Lots ofinterconnectionand interactionamong thesecomponents
Analogy 1: Custom Home Building Product Components
Customer needs
Constraints
Preliminary design
Detailed design
Construction
Maintenance & Evolution
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 1
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 21
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Weakness of Analogy 1
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
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
Analogy 2: Legislation Product Components
“Customer” needs
Constraints
Preliminary design
Detailed design
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 22
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Analogy 2: Legislation Product Components
Construction
Maintenance & Evolution
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
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 2
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 23
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Strengths of Analogy 2
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Weakness? of Analogy 2Look at two simple examples:FY05 State budget (funding, outside sections)GovernorHouse Ways & MeansHouse 1 (amended)SenateConferenceGovernor’s vetosLegislative overrides
Social Security “Windfall Elimination”What are other analogies?
Plays and Movies? Recipes? Driving instructions (eg.rallyes)
Products?Process?
CMPSCI520/620 Fall 2005- Lecture 01 -Overview
9/6/05
© Rick Adrion 2005 [except where noted] 24
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Example
University of Massachusetts For the operation of the University of Massachusetts; provided, thatnotwithstanding any general or special law to the contrary, the university may establish andorganize auxiliary organizations, subject to policies, rules and regulations adopted by the board, toprovide essential functions which are integral to the educational mission of the university; providedfurther, that notwithstanding any general or special law to the contrary, the university may enter intoleases of real property without prior approval of the division of capital asset management andmaintenance; provided further, …; provided further, that no fundsappropriated in this item may be used for the issuance or renewal of student or employeeidentification cards which display a student or employee’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 striking out thesecond 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 the university ofMassachusetts system and the president of the university are hereby authorized and directed toestablish a two year pilot program for out of state tuition retention at the flagship campus of theuniversity at Amherst. The board shall promulgate…Notwithstanding any general or special law to the contrary, for employees of public higher educationinstitutions who are paid from tuition retained pursuant to this section, fringe benefits shall be fundedas if those employees’ salaries were supported by state appropriations. …
UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005
Another example
SECTION 1. WINDFALL ELIMINATION PROVISION RESTRICTED TO TOTALMONTHLY AMOUNTS IN EXCESS OF $2,000. (a) IN GENERAL- Section 215(a)(7) of theSocial Security 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 theportion of the monthly periodic payment which is attributable to noncovered serviceperformed after 1956 (with such attribution being based on the proportionate number ofyears of such noncovered 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 largerof the 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: