CS 501: Software Engineering Fall 2000 Lecture 27 Software Engineering as Engineering.

Slides:



Advertisements
Similar presentations
A business makes payments for what it buys, In return it receives payments for goods it sells or services it provides.
Advertisements

Metering and Licensing of Resources: Kala ’ s General Purpose Approach by Sergiu S. Simmel and Ivan Godard Review by Seung Jun Lee ABSTRACT “ This paper.
The Joel Test: 12 Steps to Better Code By Tim Denton.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
1 Managing the ISD (Chapter 10) The Issues: 1) What systems should be developed 2) In-house or Out-Source development 3) Buy or make 4) How do assess systems.
The Vanishing Advantage
CS CS 5150 Software Engineering Lecture 28 People 3.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 24 People 2.
1 IS371 WEEK 8 Last and Final Assignment Application Development Alternatives to Application Development Instructor Online Evaluations.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 26 People 1.
CS CS 5150 Software Engineering Lecture 27 People 3.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 24 People 2.
Quality is about testing early and testing often Joe Apuzzo, Ngozi Nwana, Sweety Varghese Student/Faculty Research Day CSIS Pace University May 6th, 2005.
CS CS 5150 Software Engineering Lecture 21 Reliability 3.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
CS 501: Software Engineering Fall 2000 Lecture 25 Management III Managing People.
Design, Implementation and Maintenance
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
WHAT’S A TECHNOLOGY SYSTEM? A technology system is a machine that processes digital data. A computer is a technology system. A computer installation is.
January 2005www.dakessian-cnslt.com1 ICT Consulting In Emerging Economies Professional ICT Consulting Services In Emerging Economies A Practical Guide.
OPEN-SOURCE SOFTWARE BY: SAMANTHA HERALD  Otherwise known as OSS, is computer software that is available with source code: normally reserved for copyright.
Information Technology
CS CS 5150 Software Engineering Lecture 26 The Business of Software Development.
ResCom AUTH Research Committee - 1 Secretariat of Research Committee Aristotle University of Thessaloniki IT Department Project Management and Monitoring.
Moving into Design SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Module 7. Data Backups  Definitions: Protection vs. Backups vs. Archiving  Why plan for and execute data backups?  Considerations  Issues/Concerns.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software – Acquisition & Testing. ICT5 How to acquire software There are several options: The software may be written by the end-user; A specialist department.
May 17, USB Semiconductor IP How to Integrate USB into Your Design Eric Huang inSilicon Corporation.
André Bakken Macrovision Senior Product Manager Logo Area for Speaker Five Best Practices for Streamlining Licensing Operations.
 CS 5380 Software Engineering Chapter 9 Software Evolution.
Professional conferencing solutions Product presentation.
Ethics of Software Testing Thomas LaToza CS 210 Final Presentation 12 / 2 / 2002.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
Accounting Information System By Rizwan Waheed M.Com 710.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
Systems Life Cycle A2 Module Heathcote Ch.38.
Formal Methods in Software Engineering
OPEN-SOURCE SOFTWARE BY: SAMANTHA HERALD  Otherwise known as OSS, is computer software that is available with source code: normally reserved for copyright.
Lecture 4. Software Engineering Body of Knowledge SWEBOK  Articulating a body of knowledge is an essential step toward developing a profession because.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
Lecture 4. IS Planning & Acquisition To be covered: To be covered: – IS planning and its importance Cost-benefit analysis Cost-benefit analysis Funding.
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
An electrician is someone who designs, installs and repairs electronics and wires. Source 1 A hardware engineer is someone who designs and/or creates hardware.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 25 People II.
Credit and Credit Cards Good Credit Bad Credit No Credit Good Credit Bad Credit No Credit.
1 Business Aspects of Software Engineering SWE 513.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
1 Chapter 6 Computer Software. 2 Manager’s View u Manager’s need to understand various kinds of computer software - makes the hardware work for you. u.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS 360 Lecture 20.  The software industry needs to take more responsibility for its products  Products are sold or licensed with no guarantees about.
CS CS 5150 Software Engineering Lecture 26 Professionalism.
CS223: Software Engineering Lecture 32: Software Maintenance.
Troubleshooting Windows Vista Lesson 11. Skills Matrix Technology SkillObjective DomainObjective # Troubleshooting Installation and Startup Issues Troubleshoot.
Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Speaker Name Speaker Title Date Get the Most from Your Technology Investment Cisco Services.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Introduction to Software Engineering
Information Systems Development
CS410 – Professional Workforce Development Orange Team
Software Configuration Management
Software Engineering--Introduction
Radio Frequency Identification (RFID)
Chapter 18 Maintaining Information Systems
Information Systems Development
Software Verification, Validation, and Acceptance Testing
Version Control CS169 Lecture 7 Prof. Aiken CS 169 Lecture 7 1.
Presentation transcript:

CS 501: Software Engineering Fall 2000 Lecture 27 Software Engineering as Engineering

Administration Early examination: send to:

The Y2K Problem: Saving Memory In 1967 memory cost $1 per byte The Air Force used single digit dates If 2-digit dates saved 1% of memory... savings over 20 years $16 to $24 million per gigabyte

The Y2K Problem: Saving Memory By 1980s, memory was much cheaper, but 2-digit dates were standard. Why incur the cost of changing standards? 1970 The mortgage industry 1990 The Social Security Industry moved towards 4-digit dates On January 1, digit dates stopped working!

Where's the Problem? A simple bug: dates of the form 19xx have been encoded xx A simple fix: find every occurrence of the bug modify the code recompile Where's the problem?

Find Every Occurrence... What computers do we use? data processing control embedded systems personal devices What programs do they run? in-house development packages and libraries firmware, microcode, hardware Who wrote this program? Where is the source code?

Where's the Problem? Computers fail everyday. What's special about this bug? What if they all fail at the same time? What if we lose telephone, electricity, radio, etc.? Traffic signals, elevators, The greatest worry was uncertainty.

Social Consequences Worry creates its own problems: Wal-Mart forecast lower profits in Q Legislation to limit law suits Opportunities for computer fraud and sabotage Trading partners

Organizational Procedures Ostrich => do nothing => buy insurance Bureaucratic => fill in forms that programs are compliant Subcontract => hire Y2K specialists Do it yourself => in-house computing department

Y2K Validation Request from Library of Congress to confirm that our code is Y2K compliant: Our code is fine.... but it depends on... which depends on... Yes. Our code is fine. Request from DARPA to confirm that our code is Y2K compliant: It's been validated by another part of the US government Thank you!

Technical Strategies Replace noncompliant applications with compliant ones (e.g., new versions of packages) Repair noncompliant applications (e.g., in-house applications) Terminate noncompliant programs on an as-needed basis Mask the data exchange between applications Object code interception

New Bugs If it's not broke don't fix it. 10 billion lines of code checked (often automatically) 10 million new bugs introduced accidentally ?? security holes, errors, etc. introduced accidentally or deliberately

Is all the Money Going to Y2K? Y2K as a great excuse to have the computing budget increased: Upgrade the operating system Replace the old package Sell something to your customers What boss will turn turn a request for Y2K funds? What systems administrators will not install Y2K upgrades?

Profiteering Buy gold, wood stoves, bottled water Y2K specialists Pundits, consultants, writers Religious cranks

Final Thoughts on Y2K We create computer systems that are more complex than our understanding of them: We over estimate our ability to validate systems We under estimate our ability to adapt and respond Software engineering usually thinks of systems as independent. Will the long-term benefit of the Y2K problem be a greater understanding of how software systems interact with each other and with our social systems?

The Need for Software Engineering Software as a product: => Awkward to use => Full of errors => No chance to try it out => No guarantees Not much of a product

What is Engineering?

The profession of:... creating cost-effective solutions to practical problems by applying scientific knowledge and established practices building things... and taking responsibility for them!

Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan

Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan algorithms data structures compiler construction software development methodologies

Software Engineering as Engineering? Part craft -- part engineering Embryonic scientific basis Evolving body of knowledge Too much flux for the apparatus of a profession (e.g., accreditation) Example: Texas and the ACM

The End Good process leads to good software: the limits of heroic efforts Minimize risks: visible process function v. time v. cost The importance of people Requirements, requirements, requirements!