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

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
CSE 331 wrapup CSE 331 University of Washington. CSE 331 goals Enable students to manage complexity ensure correctness write modest programs.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
What is Software Engineering? And why is it so hard?
SWE Introduction to Software Engineering
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
The Waterfall Model A Case Study
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
FIGURE 1-1 A Computer System
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Gerardo Schneider Department of Informatics University of Oslo Oslo, March 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Software Project Management
Software Engineering Methodologies (Introduction)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Objectives of the Lecture
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
An Introduction to Software Engineering. What is Software?
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Engineering. Acknowledgement Charles Moen Sharon White Bun Yue.
CS 1120: Computer Science II Software Life Cycle Slides courtesy of: Prof. Ajay Gupta and Prof. James Yang (format and other minor modifications by by.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
© Chinese University, CSE Dept. Software Engineering / Topic 3: Software Engineering Principles Your Name: _____________________ Computer Science.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
Advanced Software Engineering Dr. Cheng
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction SOFTWARE ENGINEERING.
Software Engineering (CSE 314)
Software Development Life cycle
Introduction to Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Component Based Software Engineering
An Introduction to Software Engineering
CS 1120: Computer Science II Software Life Cycle
CS385T Software Engineering Dr.Doaa Sami
CS 1120: Computer Science II Software Life Cycle
Presentation transcript:

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

© Chinese University, CSE Dept. Software Engineering / 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.

© Chinese University, CSE Dept. Software Engineering / 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

© Chinese University, CSE Dept. Software Engineering / 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.

© Chinese University, CSE Dept. Software Engineering / 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 ______.

© Chinese University, CSE Dept. Software Engineering / 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”

© Chinese University, CSE Dept. Software Engineering / 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”

© Chinese University, CSE Dept. Software Engineering / 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

© Chinese University, CSE Dept. Software Engineering / 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

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

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

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

© Chinese University, CSE Dept. Software Engineering / 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

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

© Chinese University, CSE Dept. Software Engineering / 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