What is Software Engineering?. Software engineering Multi-person construction of multi-version software (David Parnas) An engineering discipline whose.

Slides:



Advertisements
Similar presentations
Chapter 1 Introduction.
Advertisements

In the name of God Sharif University of Technology, International Branch, Kish Island Dr. Mohsen Sadighi Moshkenani Chapter 24.
PROJECT MANAGEMENT ETHICS
Chapter 1- Ethics Lecture 2.
Computer ScienceSoftware Engineering Slide 1 SOFTWARE ENGINEERING INTRO l Learn by doing l Two projects Galaxy Sleuth Graduate Program Application l Goals:
Introduction To Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering Code Of Ethics And Professional Practice
Ethics CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute April 15, 2003.
Modified from Sommerville’s slidesSoftware Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering September 5, 2007.
1 Software Testing and Quality Assurance Lecture 35 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
SE 112 Slide 1 SE 112 l
How the New Software Engineering Code of Ethics Affects You Vol. 1, Chapter 2, pp Presented by Naiana Campos University of Central Florida – EEL.
Chapter 1 Introduction Yonsei University 2 nd Semester, 2014 Sanghyun Park.
ACM/IEEE Software Engineering Code of Ethics and Professional Practice
Introduction to Computer Science
An Introduction to Software Engineering | Website for students | VTU NOTES1.
Software Engineering Chapter 1 Introduction Ku-Yaw Chang Assistant Professor Department of Computer Science and Information Engineering.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
Ch. 101 Epilogue. Ch. 102 Outline What will be the future of the field? What is the impact of SE on society? What ethical issues are raised by SE?
Professional Ethics: Should Software Engineers Adhere to a Professional Code of Conduct? Jonathan Schiff CS 301.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering ( ICS 2302)
An Introduction to Software Engineering DeSiamore 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
1 Software Engineering, 7th edition. Chapter 1 Courtesy: ©Ian Sommerville 2004 Sep 02, 2008 Lecture # 1 An Introduction to Software Engineering.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
Engineering Software As size and complexity of software projects increased, so did the number of failed projects “Engineering” Software was thought to.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 Professional and ethical responsibility l Software engineering involves wider.
An Introduction to Software Engineering Ian Sommerville, Software Engineering 李彤, 王仲民, 康雁, 陆歌浩.
INTRODUCTION TO SOFTWARE ENGINEERING. Objectives To introduce software engineering and to explain its importance To set out the answers to key questions.
ACM/IEEE SWEngineering Code of Ethics and Professional Practice Appendix A, p 467.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 / 31 An Introduction to Software Engineering.
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
Why? Software Engineers don’t communicate very well…
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
Ethics and Computer Science Most of the material for these lectures was taken from an EXCELLENT text on the subject: Ethics for the Information Age Michael.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering I. Course Description This course is designed to provide understanding of the concepts, techniques and tools for the definition,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering Based on Ian Sommerville’s Software Engineering 8 th Ed. Slides by Denny Lin.
School of Business Administration Chap 3 Engineering of Software;
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
School of Business Administration Chap 3 Engineering of Software;
Introduction to Software Engineering
INTRODUCTION TO SOFTWARE ENGINEERING
Software Engineering An Introduction.
An Introduction to Software Engineering
An Introduction to Software Engineering
Software Engineering Introduction.
An Introduction to Software Engineering
1.Introduction to Software Engineering
An Introduction to Software Engineering
Introduction to Software Engineering
Bill Tomlinson Art and computing Effects of computer-based art on society? (e.g. animation) Effects of participatory experiences on group dynamics.
An Introduction to Software Engineering
An Introduction to Software Engineering
An Introduction to Software Engineering
An Introduction to Software Engineering
An Introduction to Software Engineering
Chapter 3: Engineering Software
Presentation transcript:

What is Software Engineering?

Software engineering Multi-person construction of multi-version software (David Parnas) An engineering discipline whose focus is the cost effective development of high quality software system (Sommerville) Application of computing tools to solving problems (Pfleeger) Form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. (CMU/SEI-90- TR-003) Application of a systematic, disciplined, quantifiable approach to the 1) development of, 2) operation of, and 3) maintenance of software. (IEEE std ) Curriculum Guideline : “creating high quality software in a systematic, controlled and efficient manner”

Software Engineering (Tsui and Karam) Software Engineering is a broad field that touches upon all aspects of DEVELOPING and SUPPORTING a software, spanning across the following key areas: 1. Technical and business processes 2. Specific methodologies and techniques 3. Product characterization and metrics for measurements 4. People skills and team work 5. Project coordination and management

So --- how do YOU become more “professional” in Software Engineering Any More Guidance?

IEEE-CS/ACM Version 5.2 Report 8 principles** for ethics and professional practices in software engineering o Software engineers shall act consistently with the public interest o Software engineers shall act in a manner that is in the best interest of their client and employer, consistent with the public interest o Software engineers shall ensure that their products and related modifications meet the highest professional standards possible o Software engineers shall maintain integrity and independence in their professional judgment o Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance o Software engineers shall advance the integrity and reputation of the profession consistent with the public interest o Software engineers shall be fair to and supportive of their colleagues o Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

A “Simpler” Set of Behavioral Rules Respect others Strive for fairness Perform to one’s best capability Follow the law

Davis’s Early 15 principles 1. Make quality number 1 2.High quality software is possible 3.Give products to customers ‘early’ 4.Determine the problem before writing the requirements 5.Evaluate design alternatives 6.Use an appropriate process model 7.Use different languages for different phases 8.Minimize intellectual distances 9.Put techniques before tools 10.Get it right before you make it faster 11.Inspect code 12.Good management is more important than good technology 13.People are the key to success 14.Follow with care 15.Take responsibility

Royce’s More “Modern” set of Principles 1.Base the process on an architecture first approach 2.Establish iterative process --- address risk early 3.Emphasize component-based development to reduce effort 4.Establish change management 5.Use round-trip engineering – a form of iterative process 6.Use model-based and machine processable notations for design 7.Establish process for quality control and project assessment 8.Use approach that allows artifacts to be demonstrated early 9.Plan to have incremental releases 10.Establish a configurable process to suit the needs

Royce’s More “Modern” set of Principles 1.Base the process on an architecture first approach 2.Establish iterative process --- address risk early 3.Emphasize component-based development to reduce effort 4.Establish change management 5.Use round-trip engineering – a form of iterative process 6.Use model-based and machine processable notations for design 7.Establish process for quality control and project assessment 8.Use approach that allows artifacts to be demonstrated early 9.Plan to have incremental releases 10.Establish a configurable process to suit the needs

These “Principles” Address the earlier mentioned 3 “Key” strategies to ensuring delivery of: o a) high quality software o b) on-time and o c) within-budget: 1.Focused attention on software development environment (people/tools/management/etc.) 2.“Disciplined” development processes 3.Methodical use of metrics to gauge cost, schedule, and functional performance targets