Download presentation
Presentation is loading. Please wait.
Published byJulia Garrett Modified over 9 years ago
1
Software Engineering CSCI 4490 1 Class 1- Introduction/Scope of Software Engineering August 22, 2009
2
Software Engineering CSCI 4490 2 Slide Credits Much of the material for the course was in some way derived from: Official textbooks Object-Oriented and Classical Software Engineering, 7 th 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)
3
Software Engineering CSCI 4490 3 Role of Software Engineering (Schach Ch1) 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 Conference Goal: to solve the “Software Crisis” Overlooked: bridges not same as software Question: Is "Software Engineering" the same as “Engineering”? How are bridge building and software development similar, how are they different?
4
Software Engineering CSCI 4490 4 *ICE: Building Bridges vs. Building Software IssueBridgeSoftware Stability/ Complexity (Im)perfect engineering Maintenance Collapse
5
Software Engineering CSCI 4490 5 *ICE: Building Bridges vs. Building Software
6
Software Engineering CSCI 4490 6 Recent Studies on the State of Software Engr. Standish Study (2000) reviewed 280,000 projects => Can you guess what the project success rate was?
7
Software Engineering CSCI 4490 7 Recent Studies on the State of Software Engr. Standish Study (2000) reviewed 280,000 projects =>
8
Software Engineering CSCI 4490 8 Recent Studies on the State of Software Engr. Standish Study (2004 update) reviewed 9,236 projects =>
9
Software Engineering CSCI 4490 Cutter Study (2002) : 78% of projects have been involved in disputes ending in litigation: In 67% of the disputes, functionality of delivered information system did not meet claims of developers In 45% of the disputes, defects were so severe that system was unusable In 56% of the cases, not delivered on schedule 9 Recent Studies on the State of Software Engr. Standish Study (2004 update) reviewed 9,236 projects =>
10
Software Engineering CSCI 4490 10 “Classical” Software Life Cycle Series of Development Steps, from Concept Exploration through Final Retirement, Broken into 6 Phases: Requirements phase (concept explored, includes rapid prototyping) Specification/Analysis phase (contract) Design phase high-level (architectural design => modules) detailed (design of each module) Implementation phase (coding/testing) Unit testing Integration of sub-systems Maintenance phase (any changes after acceptance) Retirement
11
Software Engineering CSCI 4490 11 Where are software development $$$ being spent? Where are the majority of software development dollars being spent? Requirements phase? Specification/Analysis phase? (contract) Design phase? Implementation phase? (coding/testing) Maintenance phase? (any changes after acceptance) Retirement?
12
Software Engineering CSCI 4490 12 Where are software development $$$ being spent? 1976-1981 1992-1998
13
Software Engineering CSCI 4490 13 *Cost to Detect and Correct a Fault
14
Software Engineering CSCI 4490 14 *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?
15
Software Engineering CSCI 4490 15 *ICE- Real or Perceived Savings? Coding method CM new is 10 percent faster than currently used method CM old. Should it be used? What is the total cost reduction attributed to reducing the coding cost by 10%? What is the total cost reduction attributed to reducing postdelivery maintenance cost by 10%?
16
Software Engineering CSCI 4490 16 Why Computer Science & Information Technology? 1. Software Engineer 2. College Professor 3. Financial Advisor 4. Human Resources Manager 5. Physician Assistant 6. Market Research Analyst 7. Computer IT Analyst 8. Real Estate Appraiser 9. Pharmacist 10. Psychologist Top 10 Best Jobs Considering 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 America By T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.com Monday December 11, 2006 Best Jobs in America By T. Kalwarski, D. Mosher, J. Paskin, and D. Rosato CNNMoney.com Monday December 11, 2006
17
Software Engineering CSCI 4490 17 Why Computer Science & Information Technology? NACE Summer 2009 Salary Survey - Starting Salary Discipline (bachelor's degree level) Average Computer Science $61,407 Electrical/ Electronics Engineering $60,125 Mechanical Engineering $58,766 Information Sciences & Systems $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
18
Software Engineering CSCI 4490 18 *Aspects of Team Programming Hardware (relatively) inexpensive — lead to increased demand for SW too large for one person to write in available time. Brooks paper [1975] on the Mythical Man-Month: Single Programmer => delivery in 1 year Team of 3 Programmers => delivery in ? What’s the Difficulty with Teams?
19
Software Engineering CSCI 4490 19 Programmer vs. Software Engineer Responsibilities: Recent Ad for a Software Engineer (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: Java/J2EE, JSP, Oracle databases, SQL Education: Bachelor's degree in a related field from an accredited school Clearance: Secret, existing clearance preferred
20
Software Engineering CSCI 4490 20 Homework- Due SOC Monday August 24 Divide into groups and provide presentation on the following Life Cycle Models: Build and Fix Waterfall Rapid Prototyping Incremental Evolution-Tree Life-cycle Iteration and Incrementation Extreme Programming Spiral 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.