1.1/46 Scope Of Software Engineering 1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within.

Slides:



Advertisements
Similar presentations
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Advertisements

1 Introduction to Software Engineering Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University.
Overview and History of Software Engineering
Presented by Group: 110: Byron Sinclair, Jacob Alexander, and Manmeet Singh.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 1.1 © Center for Research in Electronic Commerce, Xiamen University, 2004 Object-Oriented and Classical Software Engineering Fifth Edition, McGraw-Hill,
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
Slide 1.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Slide 1.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Software Engineering CEN 4010 What is Software Engineering Historical Aspects NATO group coined the phrase during a 1968 meeting in Garmisch, Germany (
CSI315 Web Applications and Technology Overview of Systems Development (342)
BCS 2143 Introduction to Object Oriented and Software Development.
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Software Engineering CSCI Class 1- Introduction/Scope of Software Engineering August 22, 2009.
Software Development and Lifecycles CS201 Fall 2004 Week 11.
CS540 Software Design Lecture 2 1 Lecture 2: Software Design Methods Anita S. Malik Adapted from Budgen (2003) Chapter 3 and Schach.
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.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Note Excerpts from Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
What is S.E? Describe S.E in terms of its mistakes Standish Group ( US - $250 Billion on IT projects. 31% projects are cancelled 52.7%
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Introduction to Software Engineering Lecture 1.
The Systems Development Life Cycle
1 The Scope of Software Engineering Xiaojun Qi. 2 Software Engineering Software engineering is a discipline whose aim is the production of fault-free.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Systems Analysis and Design in a Changing World, Fourth Edition
An Introduction to Software Engineering Support Lecture.
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.
CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering.
OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML.
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
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?
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
2. Software Development Processes. Software Engineering Outline Historical aspects Economic aspects Maintenance aspects Requirements, analysis, and design.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Software Engineering Facilitator Faisal Shafique Butt.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Advanced Software Engineering Dr. Cheng
Introduction to Software Engineering
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Software Engineering--Introduction
Introduction to Software Engineering
Rekayasa Perangkat Lunak
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Rekayasa Perangkat Lunak
Presentation transcript:

1.1/46 Scope Of Software Engineering

1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within 30 days…, …, Pay the $0.00 bill or possible legal action …, Paying the $0.00 bill,

1.3/46 Prologue - (Cont’d)… On Nov, 11, 1979 the US Worldwide Military Command and Control System (WWMCCS) computer network reported that the Soviet Union has launched missiles aimed towards the US…,WWMCCS Actually, a simulated attack was interpreted as the real thing!,

1.4/46 Prologue - (Cont’d)… 30% of software development projects fail, 70% of the remainder –Are over budget by 189% –Behind schedule by 222%, More than 50% of this trouble is caused by inadequate requirements definition, 352 companies, 8000 Projects. Source: The Standish Group, 1995

1.5/46 Prologue - (Cont’d)… Why SW Projects Fail?

1.6/46 Prologue - (Cont’d) … SW engineering is a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the users’ needs, Furthermore, the SW must be easy to modify when the users’ needs change.

1.7/46 discipline Discipline – training; punishment; method, system, Self discipline - ability to apply oneself to complete a task or Self discipline is the ability to do what needs to be done, at the time it needs to be done, whether you like doing it or not.

1.8/46 Overview Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.9/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.10/46 Historical Aspects … 1968 NATO Conference, Garmisch, Germany, Aim: to solve the “Software Crisis”, Software is delivered: –Late, –Over budget, –With residual (שרידי, משקעי ) faults.

1.11/46 Historical Aspects (Cont’d) … Few actual questions: What really happened on 1/1/2000 0:0?, Why was windows 2000 so late? (And why, on its release day, some 64,000 bugs were announced?), How did NASA lose MARS?MARS

1.12/46 Historical Aspects (Cont'd) … Why cannot bridge-building techniques be used to build operating systems?, Compare: Attitude to collapse, Accumulated experience, Complexity, Maintenance (can you please rotate in 90°?).

1.13/46 Historical Aspects - Conclusions Software engineering is not “engineering”, No silver bullet [brooks 1987], What silver bullets are used for?

1.14/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.15/46 Economic Aspects Coding method CM new is 10% faster than currently used method CM old. Should it be used?, Common sense answer: “of course!”, Software engineering answer: Cost of introducing CM new to the organization, Cost of shifting to CM new : training, (and not working, learning curve), Consider the effect of CM new on maintenance, Consider the client response.

1.16/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.17/46 Maintenance Aspects Software life cycle, The way we produce software, including: The life-cycle model, The individuals, CASE tools.

1.18/46 Life-cycle Model 1.Requirements phase – דרישות, 2.Specification ( & Planning) phase – אפיון, 3.Design phase – תיכון, 4.Implementation phase – יישום, מימוש, 5.Integration phase – שילוב, 6.Maintenance phase – תחזוקה, 7.Retirement – פרישה. System Analysis,

1.19/46 Relative Cost of Each Phase 1976–1981 data, Maintenance constitutes 67% of total cost:

1.20/46 Relative Cost of Each Phase דרישות %2 אפיון %5 תכן %6 קידוד ובדיקות %12 שילוב %8 אחזקה %67 דרישות 2% אפיון 5% תכן 6%

1.21/46 Comparative Relative Cost of Each Phase

1.22/46 Good and Bad Software Good software is maintained — bad software is discarded, Effect of CM new on maintenance.

1.23/46 Different Types of Maintenance Corrective maintenance [about 20%], Enhancement: — תחזוקת הגברה, שיפור, חיזוק Perfective maintenance [about 60%] — תחזוקת השלמה, e.g.: additional functionality or decreased response time, Adaptive maintenance [about 20%] — התאמה תחזוקת. (Responding to an ever-changing environment).

1.24/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.25/46 Specification VS. Maintenance Faults 60 to 70 percent of faults are specification and design faults, Data of Kelly, Sherif, and hops [1992]: –1.9 faults per page of specification, –0.9 faults per page of design, –0.3 faults per page of code,

1.26/46 Cost to Detect and Correct a Fault

1.27/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.28/46 Team Programming Aspects SW products might be huge: –We can build products that are too large to be written by one person in the available time, Teams: –Interface problems, –Meetings, Communication is cheap: –International teams, –Different working hours, –Cultural differences.

1.29/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.30/46 The Object-oriented Paradigm … The structured paradigm had great successes initially –It started to fail with larger products (> 50,000 LOC), Maintenance problems (today, up to 80% of effort), Reason: structured methods are –Action oriented (finite state machines, data flow diagrams); or –Data oriented (entity-relationship diagrams), –But not both.

1.31/46 The Object-oriented Paradigm (Cont'd) Both data and actions are of equal importance, Object: –Software component that incorporates both data and the actions that are performed on that data, Example: –Bank account data:account balance actions: deposit, withdraw, determine balance.

1.32/46 Structured VS. Object-oriented Paradigm Information hiding, Responsibility-driven design, Impact on maintenance, development.

1.33/46 Key Aspects of Object-oriented Solution Conceptual independence: –Encapsulation – כימוס, Physical independence: –Information hiding, Impact on development: –Physical counterpart (מקביל, דומה), Impact on maintenance: –Independence effects.

1.34/46 Responsibility-driven Design Also called “Design by Contract”, Example: Send flowers to your aunt Tel Aviv: –Call , –Where is ?, –Which Tel-Aviv City florist does the delivery?, –Information hiding, Object-oriented paradigm: –“Send a message by a method [action] of an object“.

1.35/46 Transition From Analysis to Design Structured paradigm: –Jolt ( טלטול) between analysis (what) and design (how), Object-oriented paradigm: –Objects appear from the very beginning.

1.36/46 Analysis / Design “Hump” Systems analysis: –Determine what has to be done, Design: –Determine how to do it, –Architectural design — determine modules, –Detailed design — design each module.

1.37/46 Removing the “Hump” Object-oriented analysis: –Determine what has to be done, –Determine the objects, Object-oriented design: –Determine how to do it, –Design the objects.

1.38/46 In More Detail Objects enter here:

1.39/46 Warning Do not use the object-paradigm to enhance a product developed using the structured paradigm. Water and oil do not mix, Exception: if the new part is totally disjoint –Example: adding a GUI (graphical user interface).

1.40/46 Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.41/46 Terminology … Software, program, system, product, Methodology – the science of methods, paradigm – model or pattern, we will use both for: ‘collection of techniques for carrying out the product life-cycle’, Client, developer, user, Cont’d

1.42/46 Terminology (Cont’d) … Bug: –“A bug  crept into the code” Instead of –“I made a mistake”, Whose responsibility is it?

1.43/46 Object-oriented Terminology … Data component of an object: –State variable, –Instance variable (java), –Field (C++), –Attribute (generic), Action component of an object: –Member function (C++), –Method (generic).

1.44/46 Object-oriented Terminology (Cont’d) C++: A member is either: –An attribute (“field”), or, –A method (“member function”), Java: A field is either: –An attribute (“instance variable”), or a –Method.

1.45/46 Summary Historical aspects, Economic aspects, Maintenance aspects, Specification and design aspects, Team programming aspects, The object-oriented paradigm, Terminology.

1.46/46 Scope Of Software Engineering The End