24
CMPSCI520/620 Fall 2005- Lecture 01 - Overview 9/6/05 © Rick Adrion 2005 [except where noted] 1 UNIVERSITY NIVERSITY OF OF M MASSACHUSETTS ASSACHUSETTS AM HERST M HERST D DEPARTMENT EPARTMENT OF OF COMPUTER OMPUTER SCIENCE CIENCE CMP MP SCI CI 520/620 520/620 FA LL A LL 2005 2005 Welcome to 520/620 Rick Adrion 310 Computer Science Building (413) 545-2475 [email protected] Office Hours: Tuesdays 11:30a-noon & Wednesdays 3:00-4:00p Wendy Cooper 312 Computer Science Building (413) 545-2492 [email protected] TA: Sophie Koffler [email protected] These courses are offered through the Professional Education for Engineering and Applied Science (formerly the Video Instruction Program) for off-campus students. UNIVERSITY NIVERSITY OF OF M MASSACHUSETTS ASSACHUSETTS AM HERST M HERST D DEPARTMENT EPARTMENT OF OF COMPUTER OMPUTER SCIENCE CIENCE CMP MP SCI CI 520/620 520/620 FA LL A LL 2005 2005 http://www-edlab.cs.umass.edu/cs520/

Welcome to 520/620 - Computer Science Education Lab ... skills Reports, Interactions, Research, Ethics UN IVERSTY AOF MM SACHUET AMHERST• OD EPAR TMN COFCOMPUTERSI ENC•CMPSCI520/620FAL2200055

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: