CS3773 Software Engineering Lecture 01 Introduction.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

Software Development Life-Cycle Models
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Approaches to Systems Development
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Chapter 2 The Software Process
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
Software Engineering COMP 201
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering Course Instructor: Aisha Azeem.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 1 The Systems Development Environment
Software engineering Process models Pavel Agejkin.
CS5103 Software Engineering Lecture 01 Introduction and Software Process Models.
Chapter 3 Software Processes.
Chapter : Software Process
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Software Engineering Methodologies (Introduction)
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
The Rational Unified Process
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Lecture 1 Introduction to Software Engineering
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
An Introduction to Software Engineering. What is Software?
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Developed by Reneta Barneva, SUNY Fredonia The Process.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
The Systems Development Environment Systems Analysis and Design II.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Software Engineering Introduction.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Process Models The slides and the material of this chapter is adopted from: 1. “Software Engineering”, by I. Somerville, 7th Ed., “Software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Software Life Cycle “What happens in the ‘life’ of software”
Software Engineering (CSI 321)
Introduction to Software Engineering
Chapter 2 Software Processes
Chapter 2 – Software Processes
Presentation transcript:

CS3773 Software Engineering Lecture 01 Introduction

UTSA CS Course Textbooks  Jim Arlow and Ila Neustadt, “UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design”. 2 nd Edition, Addison-Wesley Professional,  One of the following Software Engineering books – Ian Sommerville, “Software Engineering”, 8 th Edition, Addison- Wesley, (or 7 th editions or 9 th edition) – Pfleeger and Atlee, “Software Engineering: Theory and Practice”, 4 th edition, Prentice Hall, – Pressman, “Software Engineering: A Practitioner’s approach”, 6 th Edition, McGraw Hill, (or 7 th edition, 2010)

UTSA CS Course Topics  Software Development Process and Project Management  Requirements Analysis  Unified Modeling Language (UML)  Software Design  Validation and Verification Techniques

UTSA CS What Is Software  Software is a collection of artifacts – Computer programs – Data – Documents  Characteristics of software – Software is either customized product or generic product – Software is a logical system – Software evolves

UTSA CS What Is Software  Attributes of good software – Dependability availability, reliability, security, and safety – Efficiency processing time, memory utilization, responsiveness, – Usability appropriate user interface and adequate documentation – Maintainability ease of change

UTSA CS What Is Software Engineering  [Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines by Prof. Fritz Bauer at the 1968 NATO conference on software technology, in Garmisch, Germany.  In short, software engineering is about developing quality software in a predictable way.  Key phrases: engineering discipline, all aspects of software production

UTSA CS What Is Software Engineering  Software engineering is a discipline that integrates – Process provides a framework for software development – Methods provide “how to’s” for building software – Tools provide automated or semi-automated support for the process and the methods

UTSA CS Software Process  Software process is a set of activities used for the development of software systems – Communication – Planning – Modeling – Construction – Deployment

UTSA CS Software Process  Each activity is accomplished by a collection of tasks, such as specification, analysis, and validation  A number of umbrella activities – Software project tracking and control – Risk management – Software quality assurance – Formal technical reviews – Measurement – Software configuration management – Reusability management – Work product preparation and production

UTSA CS Software Process Models  A process model describes: – What steps you go through – Which development artifacts are produced, and when – How activities are coordinated  Different process models – The waterfall model – The prototyping model – The iterative model – The incremental model – Others: RUP, agile methods, component-based SE, and …

UTSA CS Waterfall Model Design Implementation Testing Requirements engineering

UTSA CS  The classic lifecycle  Sequential: each stage completed before the next started  Mainly used by large companies  Problems – But real projects are rarely sequential – Customer has to wait for product until the end – Hard to state requirements up-front – Heavy documentation Waterfall Model

UTSA CS Requirements engineering Design and implement Test Incremental Model

UTSA CS  Development done in defined cycles  All requirements analysis is done in one phase  Each increment produces deliverable  Still has the problem of having to elicit all the requirements up front Incremental Model

UTSA CS Requirements engineering Validate prototype Design + build prototype Design and implementation Formalize requirements Testing Prototype Model

UTSA CS  Using prototype for discovering requirements  Particularly good for user interfaces  Problems – Customer doesn’t like to have to “rebuild” (have to agree to discard it) – Make implementation decisions that you stick with Prototype Model

UTSA CS Iterative Model Requirements engineering Design and implementation Testing

UTSA CS  Multiple mini-waterfall-like cycles A working implementation in each iteration as in incremental; no throwaways as in prototype  Requirements gathering spreading out over the iterations  Usually with less non-essential artifacts produced  Rational Unified Process (RUP): an example of the iterative model specifically for UML Iterative Model

UTSA CS Rational Unified Process Model (RUP) InceptionElaborationConstructionTransition

UTSA CS  It is a hybrid process model – Elements from different models – Iteration in each phase and in the whole process  It supports multiple views – Dynamic view – Static view – Practice view  Requirements gathering spreading out over the iterations Rational Unified Process Model (RUP)

UTSA CS  A group of software development methods based on iterative and incremental development  Satisfy the customer through early and continuous delivery of valuable software. – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan Agile Software Development

UTSA CS  Every software development group has its own process model(s)  They vary along several dimensions: – Formal vs. ad hoc – Sequential vs. concurrent – Lots vs. little documentation – … Software Process Models

UTSA CS Reading Assignments  Sommerville’s Book, 8 th edition – Chapter 1, “Introduction” – Chapter 4, “Software Process”  Sommerville’s Book, 9 th edition – Chapter 1, “Introduction to Software Engineering” – Chapter 2, “Software Process”