Software Engineering - CSC 323

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

1 Introduction to Software Engineering Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University.
Lecture 1: Software Engineering: Introduction
CS3773 Software Engineering Lecture 01 Introduction.
Chapter 2 The Software Process
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
6/10/20151 Introduction to Software Engineering. 6/10/20152 Programming versus Software Engineering l programming 1. The process of translating a problem.
What is Software Engineering? And why is it so hard?
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
Creator: ACSession No: 1 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2006 Introduction to the Module CSE300 Advanced Software.
Software Crisis It was in late 1960’s Many software projects failed.
3-Jul-15Software Engineering1 IS F341 : Software Engineering Dr. Yashvardhan Sharma Assistant Professor, CSIS Department, BITS-Pilani.
Software Engineering Course Instructor: Aisha Azeem.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Motivation  Computer programs and associated documentation  Software products may be developed for a particular customer or may be developed for a.
Introduction to Software Engineering. Programming versus Software Engineering Programming versus Software Engineering programming programming 1. The process.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Lecture 1 Introduction to Software Engineering
Ch.1 1 Software Engineering A Preview Chapter 1. Ch.1 2 Outline My Background Definitions of software engineering (SE) Historical origins of SE SE as.
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
An Introduction to Software Engineering. What is Software?
CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)
Software Engineering & Project Management Lecture # 01 Computer Science & Engineering Lucky Sharma Subject Code: CS 603.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
CSC 395 – Software Engineering Lecture 2: Programming As Art & Intro to Software Engineering.
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
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?
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering Introduction.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
CPIT 251: S OFTWARE E NGINEERING Lecture 1 Introduction to Software Engineering 1.
Advanced Software Engineering Dr. Cheng
Software Engineering - CSC 323
CompSci 280 S Introduction to Software Development
Computer Science Information technology my career
16CS202 & Software Engineering
Software Verification and Validation
Introduction to Software Engineering
Software Engineering (CSI 321)
Chapter 2 Software Engineering
Software Quality Engineering CS- 449
Software Engineering (CSE 314)
Rekayasa Perangkat Lunak
Software engineering Lecturer: Nareena.
Chapter 2 Software Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 1. Introduction Eric Braude and Michael Bernstein.
Introduction to Software Engineering
Rekayasa Perangkat Lunak
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Lecture 1 & 2 Software Engineering Tutor: Dr. Nadeem Ahmad Ch.
Software Engineering and Best Practices
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Software Engineering.
Chapter 1: Software and Software Engineering
Presentation transcript:

Software Engineering - CSC 323 Introduction

The state of the practice...: At a recent computer software engineering course in the US, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the ensuing forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay on board. With his team's software, he reasoned, the plane was unlikely to even taxi as far as the runway, let alone take off.

Software development... Art? ...Craft? …or Science?

An Engineering Discipline? A key difference between engineering and craftsmanship: The success of engineering projects can be assured beforehand through scientific analysis of their designs while the success of craftsmanship is attained through trial and error during long practice. However, some engineering projects have failed in new circumstances.

Problems BEFORE Software Engineering: Late projects Cost overruns High maintenance costs Unreliable, inaccurate systems Poor project control Poor traceability of requirements Unpredictable development process

Origins of Software Engineering 1967 - NATO study group coins term 1968 - NATO conference Garmisch, Germany 1969 - Conference in Rome, Italy

Problems AFTER Software Engineering: Late projects Cost overruns High maintenance costs Unreliable, inaccurate systems Poor project control Poor traceability of requirements Unpredictable development process

Definitions of Software Engineering “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently an real machines." Naur, P., and S. Randall, eds. Software Engineering: -A Report an a Conference Sponsored by the NATO Science Committee. NATO, 1969; quoted in Roger S. Pressman, Software Engineering: A Practitioner's Approach. New York: McGraw-Hill Book Company. 1987.

Definitions of Software Engineering “… the technological and managerial discipline concerned with systematic production and maintenance of software products that are developed on time and within cost estimates.” - Fairley, Richard E. Software Engineering Concepts. New York: McGraw-Hill, 1985

Definitions of Software Engineering “The disciplined application of engineering, scientific, and mathematical principles, methods, and tools to the economical production of quality software.” -Pressman, Roger S. Software Engineering: A Practitioner's Approach. New York: McGraw-Hill Book Company. 1987.

Definitions of Software Engineering “. . .software engineering is a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the user’s needs. Furthermore, the software must be easy to modify when the user’s needs change.” Schach, Stephen R. Object-Oriented and Classical Software Engineering . 6th ed., New York: McGraw-Hill. 2005.

Definitions of Software Engineering “(1) The application of a systematic, disciplined, quantifiable approach to the development , operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).” - IEEE Standards Collection: Software Engineering, IEEE Standard 610.12-1990, IEEE, 1993.

Definitions of Software Engineering “Software engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them.” The Overview Report, The Joint Task Force for Computing Curricula, a cooperative project of ACM, AIS, and IEEE-CS, 9/30/2005.

What is a “software engineer”? “In the workplace, the term ‘software engineer’ is a job label. There is no standard definition for this term when used in a job description. Its meaning varies widely among employers. It can be a title equivalent to ‘computer programmer’ or a title for someone who manages a large, complex, and/or safety-critical software project. The public must be mindful not to confuse the discipline of software engineering with the ambiguous use of the term ‘software engineer’ as used in employment advertisements and job titles.” - The Overview Report, The Joint Task Force for Computing Curricula, a cooperative project of ACM, AIS, and IEEE-CS, 9/30/2005.

Definitions of Software Engineering “Software Engineering: The process by which all fun is removed from computer programming.” -Anonymous

Let’s come up with a good definition!