Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Chinese University, CSE Dept. Software Engineering / 1 - 1 Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.

Similar presentations


Presentation on theme: "© Chinese University, CSE Dept. Software Engineering / 1 - 1 Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________."— Presentation transcript:

1 © Chinese University, CSE Dept. Software Engineering / 1 - 1 Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________ Computer Science & Engineering Department The Chinese University of Hong Kong

2 © Chinese University, CSE Dept. Software Engineering / 1 - 2 What Is Software Engineering? Software Engineering: A “multi-person construction of multi-version software.” –A term invented in the late 1960s. –Not just programming. –Dealing with complex systems. –Standard techniques and tools are invented and applied in this field.

3 © Chinese University, CSE Dept. Software Engineering / 1 - 3 Why Software Engineering? 1.Growing software scale and cost –An order of magnitude growth in every 10 years. –Techniques applicable to small systems could not be scaled up. 2.Complexity of applications –The demand for software operations increases at a faster rate than software engineer’s productivity

4 © Chinese University, CSE Dept. Software Engineering / 1 - 4 Why Software Engineering? 3.Impact of software failure –Lack of discipline makes software easy to be misused. –Multiple copies of software make software failures spread fast.

5 © Chinese University, CSE Dept. Software Engineering / 1 - 5 Why Software Engineering? 4.Evolution of software –Software crisis was identified in 1960’s. –Software crisis is still software crisis today. –Code is easy to change, but software is hard to replace. 5.Requirements of software measurement and metrics –Estimate software ______. –Predict and meet software development ______. –Measure and demonstrate software ______.

6 © Chinese University, CSE Dept. Software Engineering / 1 - 6 The Software Life Cycle (The “Waterfall Model”) 1.Requirement Analysis and Specification –After a feasibility study of customer’s demand –Identify and document the exact requirements for the system –Involve customer, developer, and user –“______ the problem is” 2.Design –A software system is developed to meet the requirements –Architectural + detailed design –“______ to solve the problem”

7 © Chinese University, CSE Dept. Software Engineering / 1 - 7 The Software Life Cycle 3.Coding and Module Testing (Unit testing) –To produce the actual code for the customer –Ideas on modules (units) – divide and conquer –Work breakdown structure »Break the system down into __________ –Modules are tested individually”

8 © Chinese University, CSE Dept. Software Engineering / 1 - 8 The Software Life Cycle 4.Integration and System Testing –Modules are integrated and tested as a whole system 5.Delivery and Maintenance –Delivery to user for operation –Corrective, adaptive, perfective maintenance

9 © Chinese University, CSE Dept. Software Engineering / 1 - 9 The Waterfall Model of the Software Life Cycle Requirements analysis and specification Design and specification Coding and module testing Integration and system testing Delivery and maintenance verify Design review Design walkthrough Formal inspection Figure 1.1: The waterfall model of the software life cycle verify Code review Code walkthrough verify Testing results verify Operational environment e.g., NASA model

10 © Chinese University, CSE Dept. Software Engineering / 1 - 10 Typical Software Cost Distribution System TypePhase Costs (%) Requirements/designImplementationTesting Command and control Systems462034 Spaceborne systems342046 Operating systems331750 Scientific systems442630 Business systems4428 ______ Therefore, _________________  ___________________ However, good ______________  good _______________ The cost of s/w development activities

11 © Chinese University, CSE Dept. Software Engineering / 1 - 11 Relative Penalty of Error Correction Figure 1.2: Relative cost vs. phase

12 © Chinese University, CSE Dept. Software Engineering / 1 - 12 Possible Software Development Paths Figure 1.3: Many possible paths to develop software

13 © Chinese University, CSE Dept. Software Engineering / 1 - 13 Well-Engineered Software 1.The software should be maintainable 2.The software should be reliable 3.The software should be efficient 4.The software should offer an appropriate user interface 5.The software should be measurable for trade-off study

14 © Chinese University, CSE Dept. Software Engineering / 1 - 14 Typical Trade-Off Study Cost 1.0 (100%) Efficiency or Reliability “The law of ________________” Figure 1.4: Tradeoff between cost and reliability

15 © Chinese University, CSE Dept. Software Engineering / 1 - 15 Topic 1 Conclusion  We defined what software engineering is  We explained why software engineering is needed  We described a fundamental software life cycle  We depicted a well engineered software


Download ppt "© Chinese University, CSE Dept. Software Engineering / 1 - 1 Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________."

Similar presentations


Ads by Google