The Changing World of Software Watts S. Humphrey Presentation by Cuong Nguyen.

Slides:



Advertisements
Similar presentations
Lecture 2 1 Introduction to Software Engineering.
Advertisements

Software Quality Assurance Plan
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
Software Configuration Management
SWE Introduction to Software Engineering
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and.
Creator: ACSession No: 1 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2006 Introduction to the Module CSE300 Advanced Software.
1 Chapter 1 – What’s Important Discuss financial logic exemplified by the 15 principles of finance Importance of financial planning Setting up a plan Role.
Ken Youssefi Introduction to Engineering – E10 1 Design Process Concurrent Engineering.
Difference between project and other assignments real customer before programming: negotiations with client to clarify requirements often changes.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Software Configuration Management
Chapter 24 - Quality Management
SYSTEM ANALYSIS AND DESIGN
Profile and a quick introduction Software Engineering: ) هندسة البرمجيات (in Arabic: is the branch of computer science Designed to develop a set rules.
Electrical and Electronic Engineers. Job description/Overview  What a Electronics engineers do is research, design, develop and test precision components.
What is Software?  Computer programs and associated documentation such as requirements, design models and user manuals  Software products may be developed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
Improving engineering productivity APEGGA. Improving Productivity Mega Projects  History  What is needed  How will it be done  Division of Labour.
Slide 1 CS 310 Software Engineering Professor C. Shilepsky Spring Chapter 1 u define software engineering.
IT job research By Megan McGonigle Sources: - responsibilites-explainedhttp://targetcourses.co.uk/study-areas/computer-science-and-it/it-job-roles-and-
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
“Look, who is the most successful in attracting and holding good people? The nonprofits. The satisfaction has to be greater than in business because there.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Engineering (CSI 321) Introduction to Software Engineering 1.
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
CSE 102 Introduction to Computer Engineering What is Computer Engineering?
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
University of Sunderland CIFM02 Unit 5 COMM02 Project Hazard Management and Contingency Planning Unit 5.
Project Management Overview U08784Software Project Management Rosemary Phillimore.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Slide #18-1 Introduction to Assurance CS461/ECE422 Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and Science.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Introduction to Software Engineering
Fundamentals & Ethics of Information Systems IS 201
Introduction to Project Management
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Configuration Management
Software Project Configuration Management
Design Process Concurrent Engineering
Software Engineering--Introduction
Professional Practices
How To Apply Quality Management
Requirements Engineering
Software Configuration Management
Chapter 18: Introduction to Assurance
MIGRATING TO NEW TECHNOLOGY
Software What Is Software?
Introduction to Tech Communication & Project Management Arthur C.M. Chen , Rm
Software Engineering (CSE 314)
Software Myths Deep Mann.
Enron Energy Services Energy Management Outsourcing Overview
Retiree Eligibility Benefit Intake System Upgrade and Enhancement
Introduction Software is becoming very expensive:
Software Testing and Maintenance Maintenance and Evolution Overview
Introduction To software engineering
Software Engineering (CSI 321)
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Computer Science Section
Reliable communications at all times.
Introduction to Project Management
SDLC (Software Development Life Cycle) Role Play
Presentation transcript:

The Changing World of Software Watts S. Humphrey Presentation by Cuong Nguyen

The Changing World of Software Introduction For a business to be successful it must meet “customer needs” with quality service and products. The software industry has a poor track record in this score. The software industry “must change” as plays an increasing role in everyday life.

The Changing World of Software How does the software industry measure up? Timely? –Delivery “dates are no better then guesses” Quality? –Unlike other industries (eg. Auto, appliances) the software industry tolerates defects. Efficient? –Projects are often “unplanned, over budget, and behind schedule”

The Changing World of Software How does the software industry measure up? Despite assertions to the contrary, defect free software products can be produced. –Most defects are generally found in a few modules of a large software system. –50% of defects were found in 3% of the code in one system, for example. –Logically, if 97% of the code can be error free the other 3% can be error free as well.

The Changing World of Software The new application environment Software is no longer a “peripherial” business. Software defects now can be expensive and dangerous (eg. Airlines, finance). Software is now replacing hardware in many operations (eg. Guns). Which increases the importance of creating a reliable software system.

The Changing World of Software Is this situation tolerated? Customers in the past had been lenient because software did not affect as they do now. Now that software is “at the heart” of everything they will be less tolerant. Unless the quality of the software improves jobs could be lost (outside contractor, close business).

The Changing World of Software This is not a hypothetical possibility (losing jobs) Examples of projects canceled due to software quality issues. –American Airlines –Ashton Tate Example of projects getting bonuses due good deliverables. –Hughes Electronics

The Changing World of Software What can one engineer do? Be aware that if your organization’s processes are not working your job could be exposed. Investigate software process improvement Pursue improvements aggressively when you see the need.

Will There Ever Be Software Engineering? Micheal Jackson Presentation by Cuong Nguyen

Will there ever be software engineering? Introduction Jackson is critiquing Ed Yourdon’s “The Future of Software: Best of Times, Worst of Times” essay. In particular, he is critiquing the assertion that “errors don’t matter that much, so long as it doesn’t happen often”. Yourdon’s outlook demands the development of specialized formal approaches in software engineering.

Will there ever be software engineering? Problems Computer systems are “becoming ever more interconnected and interdependent (WordPerfect). Software’s attitude is “buggy code” is better then no code. Aspirations of bug-free code and efficient development have been not come to fruition.

Will there ever be software engineering? Vision of Software Engineering David Parnes calls for a separate discipline, separate from computer science, with a “core body of knowledge”. Software Engineering will then be regulated with licensing and minimum standards like other engineering fields. Failures occur due to no standards in software development

Will there ever be software engineering? Vision unrealized Some software manufactures encourage faulty products –“rush to market” –Increase need for upgrades Developers are reluctant to change. –unconvinced “core knowledge” is essential –Assert development is an art.

Will there ever be software engineering? Vision unrealized Increasing complexity makes it difficult to implement improvements. –Knowledge for many software projects include “messy and poorly documented details” –Where in the software “continuum” is software engineering “core” requirements needed?

Will there ever be software engineering? Specialization Software products and projects are varied –Operational Environment –Economic and Technical Goals –Underlying risk factors –Product life cycles Specialization in the software industry as systems become more complex. –Compiler –Operating System –Database

Will there ever be software engineering? Specialization Software Engineering does not exist. Specialized Software engineering does or should –Compiler engineering –OS engineering –Database engineering Equivalent to physical engineering (EE, CHE)

Will there ever be software engineering? Conclusion Specialize by requirement and product Concentrate on our own branch of engineering while recognizing others. Apply relevant parts of Parnes core to specialized field. Above all, DON’T accept “buggy code”.