software engineering csci 4490 1 class 1- introduction/scope of software engineering august 22, 2009

16
Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

Upload: julia-garrett

Post on 29-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

1

Class 1- Introduction/Scope of Software Engineering

August 22, 2009

Page 2: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

2

Slide CreditsSlide Credits

Much of the material for the course was in some way Much of the material for the course was in some way derived from:derived from: Official textbooks

• Object-Oriented and Classical Software Engineering, 7th Edition, Stephen R. Schach (Copyright 2007 McGraw Hill)

• Core Java 2, Volume I-Advanced Features, 8th Ed., C. S. Horstmann and G. Cornell, Prentice Hall, 2008

• Core Java 2, Volume II-Fundamentals, 8th Ed., C. S. Horstmann and G. Cornell, Prentice Hall, 2008

Prof. Don Needham (USNA) Prof. Lori DeLooze (USNA) Prof. David Coppit (W&M)

Page 3: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

3

Role of Software Engineering (Schach Ch1)Role of Software Engineering (Schach Ch1)

Software Engineering's aim: Software Engineering's aim: produce fault-free SW that

meets user's needs delivered on time/in budget Easy to modify when user's

needs change

Historical Aspects: 1968 NATO ConferenceHistorical Aspects: 1968 NATO Conference Goal: to solve the “Software Crisis” Overlooked: bridges not same as software

QuestionQuestion: Is "Software Engineering" the : Is "Software Engineering" the same as “Engineering”? How are bridge building and same as “Engineering”? How are bridge building and software development similar, how are they different?software development similar, how are they different?

Page 4: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

4

**ICE: Building Bridges vs. Building SoftwareICE: Building Bridges vs. Building Software

Issue Bridge Software

Stability/Complexity

(Im)perfect engineering

Maintenance

Collapse

Page 5: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

6

Recent Studies on the State of Software Engr.Recent Studies on the State of Software Engr.

Standish Study (2000) Standish Study (2000) reviewed reviewed 280,000 projects =>280,000 projects =>Can you guess what the project success rate was?Can you guess what the project success rate was?

Page 6: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

10

““Classical” Software Life CycleClassical” Software Life Cycle

Series of Development Steps, from Concept Exploration Series of Development Steps, from Concept Exploration through Final Retirement, Broken into 6 Phases:through Final Retirement, Broken into 6 Phases:

Requirements phase Requirements phase (concept explored, includes rapid (concept explored, includes rapid prototyping)prototyping)

Specification/Analysis phaseSpecification/Analysis phase (contract) (contract) Design phase Design phase

• high-level (architectural design => modules)• detailed (design of each module)

Implementation phaseImplementation phase (coding/testing) (coding/testing)• Unit testing• Integration of sub-systems

Maintenance phaseMaintenance phase (any changes after acceptance) (any changes after acceptance) RetirementRetirement

Page 7: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

11

Where are software development $$$ being spent?Where are software development $$$ being spent?

Where are the majority of software Where are the majority of software development dollars being spent?development dollars being spent?

Requirements phase?Requirements phase?

Specification/Analysis phase?Specification/Analysis phase? (contract) (contract)

Design phase?Design phase?

Implementation phase?Implementation phase? (coding/testing) (coding/testing)

Maintenance phase?Maintenance phase? (any changes after acceptance) (any changes after acceptance)

Retirement?Retirement?

Page 8: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

12

Where are software development $$$ being spent?Where are software development $$$ being spent?

1976-1981 1992-1998

Page 9: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

13

*Cost to Detect and Correct a Fault*Cost to Detect and Correct a Fault

Page 10: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

14

*Cost to Detect and Correct a Fault*Cost to Detect and Correct a Fault

ICE: Using 1980 data, if it costs $8400 to fix a fault after delivery, how much would it have cost to fix if the fault had been detected during implementation?

Page 11: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

15

*ICE- Real or Perceived Savings?*ICE- Real or Perceived Savings?

Coding method CMCoding method CMnewnew is 10 percent faster than is 10 percent faster than

currently used method CMcurrently used method CMoldold. Should it be used?. Should it be used?

What is the total cost reduction attributed to reducing What is the total cost reduction attributed to reducing the coding cost by 10%? the coding cost by 10%?

What is the total cost reduction attributed to reducing What is the total cost reduction attributed to reducing postdelivery maintenance cost by 10%? postdelivery maintenance cost by 10%?

Page 12: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

16

Why Computer Science & Information Why Computer Science & Information Technology?Technology?

1. Software Engineer2. College Professor3. Financial Advisor4. Human Resources Manager5. Physician Assistant6. Market Research Analyst7. Computer IT Analyst8. Real Estate Appraiser9. Pharmacist10. Psychologist

Top 10 Best JobsTop 10 Best JobsConsidering growth, pay, stress levels

and other factors

$80,427$81,491

$122,460$73,731$75,117$82,317$83,427$66,216$91,998$66,359

Best Jobs in AmericaBy T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.comMonday December 11, 2006

Best Jobs in AmericaBy T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.comMonday December 11, 2006

Page 13: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

17

Why Computer Science & Information Why Computer Science & Information Technology?Technology?

NACE Summer 2009 Salary Survey - Starting Salary

Discipline (bachelor's degree level) Average

Computer ScienceComputer Science $61,407 $61,407 Electrical/ Electronics Engineering $60,125 Mechanical Engineering $58,766 Information Sciences & SystemsInformation Sciences & Systems $52,089 $52,089 Civil Engineering $52,048

Economics $49,829 Accounting $48,993 History $37,861 English $34,704

Summer 2009 Salary Survey National Association of Colleges and Employers

Page 14: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

18

*Aspects of Team Programming*Aspects of Team Programming Hardware (relatively) inexpensive — lead to increased demand for Hardware (relatively) inexpensive — lead to increased demand for

SW too large for one person to write in available time. SW too large for one person to write in available time. Brooks paper [1975] on the Brooks paper [1975] on the Mythical Man-Month:Mythical Man-Month:

Single Programmer => delivery in 1 year Team of 3 Programmers => delivery in ?

What’s the Difficulty with Teams?What’s the Difficulty with Teams?

Page 15: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

19

Programmer vs. Software EngineerProgrammer vs. Software Engineer Responsibilities: Responsibilities: Recent Ad for a Software Engineer Recent Ad for a Software Engineer

(MSD, Washington D.C.)(MSD, Washington D.C.) Designs and develops new systems and system enhancements

based on defined requirements Adheres to industry development standards Designs and develops maintenance releases for existing

systems based on defined needs and/or change requests. Provides input to technical documentation related to design,

development, and implementation of systems. Works in an integrated team environment to provide high-

quality products in a time efficient manner. Required Skills:Required Skills:

Java/J2EE, JSP, Oracle databases, SQLJava/J2EE, JSP, Oracle databases, SQL Education: Bachelor's degree in a related field from an accredited Education: Bachelor's degree in a related field from an accredited school school Clearance: Secret, existing clearance preferredClearance: Secret, existing clearance preferred

Page 16: Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009

So

ftw

are

En

gin

eeri

ng

CS

CI 4

49

0

20

Homework- Due SOC Monday August 24Homework- Due SOC Monday August 24 Divide into groups and provide presentation on the following Life Cycle Divide into groups and provide presentation on the following Life Cycle

Models:Models: Build and Fix Waterfall Rapid Prototyping Incremental Evolution-Tree Life-cycle Iteration and Incrementation Extreme Programming Spiral

Presentation should include:Presentation should include: An overview/description of the main features of the model, including

illustrations to depict its functionality A list of the Advantages and Disadvantages of the model Application instance/area where use of the model is appropriate Application instance/area where use of the model in inappropriate