Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.

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.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Object-Oriented Software Development CS 3331 Fall 2009.
Software Engineering 2003 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SWE 316: Software Design and Architecture Objectives Lecture # 01 Prologue: The Software Process SWE 316: Software Design & Architecture  To review software.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
1 Postdelivery Maintenance Xiaojun Qi. 2 Why Postdelivery Maintenance Is Necessary Corrective maintenance: To correct residual faults –Analysis, design,
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
An Introduction to Software Engineering
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,
Lecture 3.
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 Project Management
CS101 Introduction to Computing Lecture SW Development Methodology.
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
Ch 1: The Scope of Software Engineering
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
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
MCS 270 Spring 2014 Object-Oriented Software Development.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
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.
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.
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.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
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 At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
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.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Software Engineering Introduction Slide 1 Software Engineering Introduction.
2. Software Development Processes. Software Engineering Outline Historical aspects Economic aspects Maintenance aspects Requirements, analysis, and design.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Introduction to Software Engineering
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction SOFTWARE ENGINEERING.
IEEE Std 1074: Standard for Software Lifecycle
Classical Waterfall Model
Life Cycle Models PPT By :Dr. R. Mall.
Software Engineering (CSE 314)
Introduction to Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Rational Unified Process (RUP)
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
CS101 Introduction to Computing Lecture 20 SW Development Methodology
CS310 Software Engineering Lecturer Dr.Doaa Sami
Presentation transcript:

Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING

Dr. DEVENDRA TAYAL–  Software  Good Software ?  Objective of SE is to deliver good software

Dr. DEVENDRA TAYAL– 3 software crisis  Software is delivered  Late  Over budget  With residual faults

Dr. DEVENDRA TAYAL–  Y2K problem  In 1996 a US Consumer group embarked on a 18- month 1million $ project. Project deliver on time. But did not support complex trnascations. --probably the design was faulty.

Dr. DEVENDRA TAYAL– Software Myths  S /w is easy to change  Can be manufactured  Can work right first time  s/w with more features is better  Aim is to develop working programs  If s/w is late adding more members can make it faster.  Testing s/w removes all errors.

Dr. DEVENDRA TAYAL– 6-Standish Group Data  Data on 9236 projects completed in 2004 Figure 1.1

Dr. DEVENDRA TAYAL– Cutter Consortium Data  2002 survey of information technology organizations  78% have been involved in disputes ending in litigation  For the organizations that entered into litigation:  In 67% of the disputes, the functionality of the information system as delivered did not meet up to the claims of the developers  In 56% of the disputes, the promised delivery date slipped several times  In 45% of the disputes, the defects were so severe that the information system was unusable

Dr. DEVENDRA TAYAL– 8-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  Consider the cost of training  Consider the impact of introducing a new technology  Consider the effect of CM new on maintenance

Dr. DEVENDRA TAYAL– 9-- Maintenance Aspects  Life-cycle model  The steps (phases) to follow when building software  A theoretical description of what should be done  Life cycle  The actual steps performed on a specific product

Dr. DEVENDRA TAYAL– Waterfall Life-Cycle Model  Classical model (1970) Figure 1.2

Dr. DEVENDRA TAYAL– Typical Classical Phases  Requirements phase  Explore the concept  Elicit the client’s requirements  Analysis (specification) phase  Analyze the client’s requirements  Draw up the specification document  Draw up the software project management plan  “What the product is supposed to do”

Dr. DEVENDRA TAYAL– Typical Classical Phases (contd)  Design phase  Architectural design, followed by  Detailed design  “How the product does it”  Implementation phase  Coding  Unit testing  Integration  Acceptance testing

Dr. DEVENDRA TAYAL– Typical Classical Phases (contd)  Postdelivery maintenance  Corrective maintenance  Perfective maintenance  Adaptive maintenance  Retirement

Dr. DEVENDRA TAYAL– The Importance of Postdelivery Maintenance  Bad software is discarded  Good software is maintained, for 10, 20 years or more  Software is a model of reality, which is constantly changing

Dr. DEVENDRA TAYAL– Time (= Cost) of Postdelivery Maintenance (a) Between 1976 and 1981 (b) Between 1992 and 1998 Figure 1.3

Dr. DEVENDRA TAYAL– The Costs of the Classical Phases  Surprisingly, the costs of the classical phases have hardly changed Figure 1.4

Dr. DEVENDRA TAYAL– Consequence of Relative Costs of Phases  Return to CT old and CT new  Reducing the coding cost by 10% yields at most a 0.85% reduction in total costs  Consider the expenses and disruption incurred  Reducing postdelivery maintenance cost by 10% yields a 7.5% reduction in overall costs

Dr. DEVENDRA TAYAL– 1.4 Requirements, Analysis, and Design Aspects  The earlier we detect and correct a fault, the less it costs us

Dr. DEVENDRA TAYAL– Requirements, Analysis, and Design Aspects (contd) Figure 1.5  The cost of detecting and correcting a fault at each phase

Dr. DEVENDRA TAYAL– Requirements, Analysis, and Design Aspects (contd)  The previous figure redrawn on a linear scale Figure 1.6

Dr. DEVENDRA TAYAL– Requirements, Analysis, and Design Aspects (contd)  To correct a fault early in the life cycle  Usually just a document needs to be changed  To correct a fault late in the life cycle  Change the code and the documentation  Test the change itself  Perform regression testing  Reinstall the product on the client’s computer(s)

Dr. DEVENDRA TAYAL– 1.9 The Object-Oriented Paradigm  The structured paradigm was successful initially  It started to fail with larger products (> 50,000 LOC)  Postdelivery maintenance problems (today, 70 to 80% of total effort)  Reason: Structured methods are  Action oriented (e.g., finite state machines, data flow diagrams); or  Data oriented (e.g., entity-relationship diagrams, Jackson’s method);  But not both

Dr. DEVENDRA TAYAL– The Object-Oriented Paradigm (contd)  Both data and actions are of equal importance  Object:  A 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

Dr. DEVENDRA TAYAL– Structured versus Object-Oriented Paradigm  Information hiding  Responsibility-driven design  Impact on maintenance, development Figure 1.7

Dr. DEVENDRA TAYAL– Information Hiding  In the object-oriented version  The solid line around accountBalance denotes that outside the object there is no knowledge of how accountBalance is implemented  In the classical version  All the modules have details of the implementation of account_balance