Ch 1: The Scope of Software Engineering

Slides:



Advertisements
Similar presentations
Professional Ethics Social Implications of Computers.
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
ICS 417: The ethics of ICT 4.2 The Ethics of Information and Communication Technologies (ICT) in Business by Simon Rogerson IMIS Journal May 1998.
Ethics CS-480b Network Security Dick Steflik. ACM Code of Ethics This Code, consisting of 24 imperatives formulated as statements of personal responsibility,
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
1 Postdelivery Maintenance Xiaojun Qi. 2 Why Postdelivery Maintenance Is Necessary Corrective maintenance: To correct residual faults –Analysis, design,
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Slide 1.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to 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
SE 112 Slide 1 SE 112 l
 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,
Professional Codes of Ethics Professionalism and Codes of Ethics.
CSCE 431: Licensing and Software Engineering Code of Ethics
Ethics Lecture Dr. Christina Howe
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.
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
Objectives of the Lecture
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Professional Ethics: Should Software Engineers Adhere to a Professional Code of Conduct? Jonathan Schiff CS 301.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Software Engineering CSCI Class 1- Introduction/Scope of Software Engineering August 22, 2009.
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.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 11 Maintaining the System System evolution Legacy systems Software rejuvenation.
Note Excerpts from Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach
Ethics & Codes of Conduct. Learning Outcomes: By the end of this topic you should be able to: discuss ethics and ICT describe the nature of a Code.
An Introduction to Software Engineering. Communication Systems.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
General Moral imperatives
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.
An Introduction to Software Engineering Support Lecture.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Ethics.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
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.
Dr. DEVENDRA TAYAL– THE SCOPE OF 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.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
CS223: Software Engineering Lecture 3: Software Develoment Processes.
©2001 Southern Illinois University, Edwardsville All rights reserved. Today Finish Ethics Next Week Research Topics in HCI CS 321 Human-Computer Interaction.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
ACM Code of Ethics. Organization and Format O Organization: O Section 1: General Moral Imperatives (8) O Section 2: Professional Responsibilities (8)
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
IT depends on several codes of ethics 1. PUBLIC - IT engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER - IT engineers shall.
2. Software Development Processes. Software Engineering Outline Historical aspects Economic aspects Maintenance aspects Requirements, analysis, and design.
CS223: Software Engineering Lecture 32: Software Maintenance.
Professional Ethics and Responsibilities Part-II
CSCI 392 Review of Computing and Society
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
An Introduction to Software Engineering
MISY 301 Mr.Mohammed Rafeeque.
Maintenance Issues in Software Engineering
IEEE Std 1074: Standard for Software Lifecycle
Rekayasa Perangkat Lunak
Professional Codes of Ethics
CS 425/625 Software Engineering Software Evolution
Rekayasa Perangkat Lunak
ACM Code of Ethics CSCI 362: Data Structures.
CS-480b Network Security Dick Steflik
Presentation transcript:

Ch 1: The Scope of Software Engineering CSCI 4320

What is “Software Engineering”? A discipline whose aim is the production of software that meets the client’s needs fault-free delivered on time delivered within budget easy to modify

Why the need for Software Engineering? Software Crisis: Unacceptable low quality of software, exceeds deadline and budget. *Completed late, over budget, and/or with features missing The outcomes of 280,000 development projects completed in 2000

Horror Stories Patients died as a consequence of severe overdoses of radiation. US Treasury Department mailed incorrectly printed Social Security Checks. Interest miscalculated on student loans resulting in higher monthly payments. Mars Climate Orbiter spacecraft crashes into the surface of Mars because of measurement conversion error. Consequences of software failures range from inconvenience to death!

Ideal SE Life Cycle Theoretical description of the steps that should be performed when building a software product Requirements Analysis (specification) Draw up the Software Project Management Plan Design Architectural and Detailed Design Implementation Coding, Testing, Integration, Accepted by Clients Post-delivery maintenance Corrective, perfective (i.e. faster), adaptive (i.e. new hardware) Retirement

Classical vs. Modern Views of Maintenance Development-then-Maintenance model Modern: Maintenance is performed at any time Projects take a long time and clients requirements change during process No longer from scratch - Reuse of existing products is widespread

Post-Delivery Maintenance The real-time world is constantly changing Bad products are thrown away. Good products are repaired and enhanced SE Goal: Reduce post-delivery maintenance cost! Average cost of percentages of development and post-delivery maintenance between 1992 and 1998.

Find Faults Early! The cost of correcting a fault increase steeply from requirements to post-delivery maintenance Involves: update documents, edit code, testing, integration … 60-70% of all faults detected are requirements, analysis or design SE Goal: Better requirements, specifications and designs

Importance of Continual Planning, Testing, Documentation After customer has signed off on the specifications, continue to monitor and adjust plan. Software must be fault-free as possible at all times. At all times, documentation must be complete, correct and up-to-date. personnel overturn incomplete implementation inaccurate testing impossible to maintain

Why use Object-Oriented Paradigm Classical Structured Paradigm Focus on functions of system Object-Oriented Focus on objects Implementation details are local to the object Regression fault (inadvertent fault produced by seeming unrelated change) is greatly reduced. Encapsulation: well-designed independent units Potential Reuse of objects reduces time and cost

Code of Ethics Ethics – moral standards that help guide your behavior, actions and choices The golden rule: Do unto others as you would have them do unto you The slippery-slope rules: Be careful starting down a path because one you start you may not be able to stop Professional codes of conduct (ACM, IEEE) Contribute to society and human well being Avoid harm to others Be honest and trustworthy Honor property rights including copyrights and patents Give proper credit for intellectual property Access computing resources only when authorized Respect privacy of others.

Questions When is it better to find faults? (requirements, post-delivery maintenance) You are in charge of computerizing the extraction process in a silver refinery. The cost of development has been estimated to be $370,000. Approximately how much additional cost will be needed for post-delivery maintenance?