Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.

Slides:



Advertisements
Similar presentations
Lecture 1: Introduction to Software Engineering WXGE6103 Software Engineering Process and Practice Introduction to SE.
Advertisements

The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Engineering Introduction and Overview RA402 jcmtCSE1320 Intermediate Programming Essence and Accident Inherent Difficulties –Complexity –Conformity.
Introduction to Software Engineering Lecture 3 André van der Hoek.
Introduction to Software Engineering Lecture 4 André van der Hoek.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Lecture 1-1 Emily Navarro
What is Software Engineering? And why is it so hard?
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Overview of Software Engineering Principles
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
CSC 205, Software Engineering I 1 CSC 205 Software Engineering I Spring Quarter, 2000 Clark S. Turner, J.D., Ph.D.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
Overview of Software Engineering Principles CSCI 599: Software Engineering for Embedded Systems August 27, 2002.
ESD.83Cory R. A. Hallam1 An Introduction to Systems Engineering The Art of Managing Complexity Presented By Cory R. A. Hallam B.Eng., M.Eng., ISU SSP,
ICS 52: Introduction to Software Engineering Lecture Notes for Summer Quarter, 2003 Michele Rousseau Set 1 Partially based on lecture notes written by.
Informatics 43 – October 2, 2014 Lecture 0-1 Emily Navarro.
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.
Gerardo Schneider Department of Informatics University of Oslo Oslo, March 2009.
Software Engineering Introduction. Why are you here? …alternatively, why do we think you need to be here? Why a course on software engineering? How is.
Dr. Tom WayCSC What is Software Engineering? CSC 4700 Software Engineering Lecture 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
ICS 52: Introduction to Software Engineering Lecture Notes for Summer Quarter, 2003 Michele Rousseau Topic 3 Partially based on lecture notes written by.
Software Engineering ‘The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Teaching material for a course in Software Project Management & Software Engineering – part II.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
INTRODUCTION What is software? What is software engineering?
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
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.
CSE335: Software Design Prof. Eileen Kraemer 3144 Engineering Building Phone: Course web site:
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
An Introduction to Software Engineering. Communication Systems.
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
1.1/46 Scope Of Software Engineering 1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
CMSC 345 Fall 2000 Software Design and Development.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
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 At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Smart Home Technologies
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
© Chinese University, CSE Dept. Software Engineering / Topic 3: Software Engineering Principles Your Name: _____________________ Computer Science.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Lecture 1 What is Software Engineering? CSC 4700 Software Engineering
The Systems Engineering Context
DT249/4 Information Systems Engineering Lecture 0
Informatics 43 – March 31, 2016.
CS385T Software Engineering Dr.Doaa Sami
Presentation transcript:

Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002

Course Administration Textbooks Required: Ghezzi, Jazayeri & Mandrioli, 2/e Recommended: Brooks Readings and Presentations In file cabinet next to 4th floor Copy Center Assessment There will be no “I” (incompletes) given

Software Engineering “A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli] “Multi-person construction of multi- version software.” [Parnas]

Software Engineering “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] “Difficult.” [van der Hoek]

Software Engineering “It’s where you actually get to design big stuff and be creative.” [Taylor]

Science, Engineering, Management, Human Factors Science: empirical studies; theories characterizing aggregate system behavior (e.g. reliability) Management: organizing teams, directing activities, correcting problems Human factors: user task understanding and modeling; ergonomics in user interface design Engineering: tradeoffs, canonical solutions to typical problems Tradeoffs and representative qualities Pick any two: Good, fast, cheap Scalability, functionality, performance

Software Engineering Principles Rigor and Formality Separation of Concerns Modularity and Decomposition Abstraction Anticipation of Change Generality Incrementality Reliability

Software Lifecycle Context (Waterfall Model) Requirements Design Implementation Deployment Validation Integration

The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument Large programming projects suffer management problems different in kind than small ones, due to division of labor. Critical need is the preservation of the conceptual integrity of the product itself.

The Mythical Man-Month by Fred Brooks (II) Central Conclusions Conceptual integrity achieved through exceptional designer Implementation achieved through well- managed effort Brooks’s Law: Adding personnel to a late project makes it later

No Silver Bullet by Fred Brooks Essence: the difficulties inherent in the nature of the software Accidents: those difficulties that today attend its production but that are not inherent Solution (?): Grow Great Designers

The Software Industry Today Component-Based Engineering and Integration Technological Heterogeneity Enterprise Heterogeneity Greater potential for Dynamic Evolution Internet-Scale Deployment Many competing standards Much conflicting terminology Software Engineering is in Transition

Research Topics “The Future of Software Engineering 2000” Publication venues Journals Conferences “Variance of opinions”

Future of SE… Process Requirements engineering Reverse engineering Testing Maintenance and Evolution Software architecture OO Modeling SE and Middleware Tools and environments Configuration management Databases and SE SE Education Software analysis Formal specification Mathematical foundations Reliability and Dependability Performance SE for Safety SE for security SE for mobility SE & the Internet Software economics Empirical studies of SE Software metrics