CS487 Software Engineering Omar Aldawud

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Lecture # 2 : Process Models
Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
SW Process Models It is a set of activities required to:
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Chapter 3 Process Models
Chapter 2 Software Process Models
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Process
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
April 30, April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Chapter 2 Process Models
Software Life Cycles ECE 417/617: Elements of Software Engineering
CS487 Software Engineering Omar Aldawud
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
Software Process and Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
IT Systems Analysis & Design
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Prescriptive Process Models
Software Engineering MCS-2 Lecture # 6
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 4 프로세스 모델 Process Models
Software Engineering B.Tech II csE Sem-II
Introduction to Software Development (Software Engineering - I)
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.
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
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.
3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering If prescriptive process models strive for structure.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 3 Prescriptive Process Models Discussion of the Software Process models:
The principles of an object oriented software development process Week 04 1.
Software Model Process
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Engineering (CSI 321)
Software Process Models
Software Process Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Prescriptive Process Models
Introduction to Software Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Chapter 2 Process Models.
Chapter 4 Process Models
SNS College of Engineering Coimbatore
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Chapter 2 Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

CS487 Software Engineering Omar Aldawud aldaoma@iit.edu http://www.cs.iit.edu/~oaldawud/CS487

What is SW Process? When building a Product it’s important to go through a series of predictable steps, road map, that help you create a timely, and high-quality result. The ROAD MAP that you follow is the SW process. Process depends on the SW you are building Web design vs. telephone switch!!

Software Process Process defines who is doing: – What?, – When and how? – To reach a goal Process defines tasks and activities within a schedule Results – Programs – Documents – And data Software process is a roadmap for high quality software

Generic Framework activities Communication Get to know your Customer and their processes Identify stakeholders Requirement elicitation

Generic Framework activities Planning Plan the work Identify resources Identify tasks Set the schedule

Generic Framework activities Modeling Analysis of requirements Design Blue print for customer and developers communications

Generic Framework activities Construction Code generation Testing

Generic View of SE SW Engineering is the: Analysis, Design, Construction, Verification and. Management of Software.

SW Process Models Guides the SW team thought a set of framework activities (process flow) Linear Incremental evolutionary It is a set of activities required to Define, design, implement, test and maintain a software product. A SW process model is chosen based on the nature of the project. Each process model prescribes a workflow for SE activities

Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models

SW Process Models It is a set of activities required to: Prescriptive process models advocate an orderly approach to software engineering. It is a set of activities required to: Define, design, implement, test and maintain a software product. A SW process model is chosen based on the nature of the project.

SW Process Model Phases All models have phases and each phase has 3 components: Set of activities, this is what you do. Set of deliverables, this is what you produce. Quality control measures, this is what you use to evaluate the deliverables. The activities defines the process Framework, the generic set encompasses: Communication, planning, modeling, construction, and deployment

The Waterfall Model This Model suggests a systematic, sequential approach to SW development that begins at the system level and progresses through analysis, design, code and testing.

Waterfall Model Advantages Disadvantages Easy Structured Provide a template into which methods for analysis, design, code, testing and maintenance can be placed. Disadvantages Sequential, does not reflect reality Does not allow for feedback Does not produce a prototype User must wait until the end to see the final program.

When to use the Waterfall Model Simple Projects Limited amount of time Requirements are well understood We can use it for our Class Project.

Incremental Models Goal to provide quick basic functionality to the users Process is not linear Requirements are well defined Software is completed in an increments fashion Will Study 2 models: Incremental Model RAD

Incremental Model It combines characteristics of the waterfall model and the iterative nature of the prototyping model. 1st build is usually the CORE product Each increment “deliverable” may add a new functionality. This is repeated until the product is complete

The Incremental Model Communication Planning Modeling Construction Deployment

When to Use the Incremental Model When staffing is not available by deadline. When the software can be broken into increments and each increment represent a solution

The Rapid Application Development RAD Model Builds on the Incremental model with emphases on short development cycle. In other words high speed waterfall model Components are build using this model as a fully functional units in a relatively short time It assumes that the system can be modularized RAD will fail if you don’t have strong and skillful teams High performance might be an issue

The RAD Model

Evolutionary Process Models Core requirements are well understood but additional requirements are evolving and changing fast Time-to-Market Iterative – software gets more complex with each iteration Prototype Spiral Concurrent

Evolutionary SW Process Models Advantages Do not require full knowledge of the requirements Iterative Divide project into builds Allows feedback, show user something sooner Develop more complex systems

Prototyping Model Start with what is known about requirements. Do a quick design. Build the prototype by focusing on what will be seen by the user. Use the prototype to show the user and help refining requirements.

Evolutionary Models: Prototyping Quick plan communication Modeling Quick design Deployment delivery & feedback Construction of prototype

When to Use Prototype Model When the customer define general objectives for the SW but does NOT identify details about INPUT, OUTPUT, or processing requirements. The developer is unsure of the efficiency of an algorithm, human machine interaction, etc.

Prototype Model Advantages Prototype is served as the machinery for identifying requirements. Is developed very quick. Disadvantages Customer might think that the prototype is the final product and forget lack of quality i.e PERFORMANCE, RELIABILITY.

Spiral Model Iterative (like Prototype) and controlled (like waterfall) model. Software is developed using evolutionary releases Software complexity increase with each release

Spiral Model Consist of 6 task regions. Customer communication - the goal is to establish good communication between customer and developer. Planning - produce/adjust project plan. Risk analysis - assess management and technical risks. Engineering - build one or more representations of the application. Construction and release - - to construct, test, install and support the application. Customer evaluation – get customer feedback.

Evolutionary Models: The Spiral

When to Use the Spiral Model Very large projects. When technical skills must be evaluated at each step.

Component based development The process to apply when reuse is a development objective Evolutionary COTS are used to build software Steps: Identify candidate components Design each using and model or OO classes Component integration Architecture Testing

CBD component-based development (CBD) model incorporates many of the iterative characteristics of the spiral model. The main difference is that in CBD the emphasis is on composing solutions from prepackaged software components or classes

Process Models AOSD—provides a process and methodological approach for defining, specifying, designing, and constructing aspects

Unified Process a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML) Tools are used to describe customer views (use cases) Used mainly for OO based methodologies Runs in phases

The Unified Process (UP) inception Phase 1 Communication + Planning Phase 2 Planning + Modeling elaboration inception Phase 3 Coding, unit test & integrate Components result Phase 4 Deployment

UP Phases

UP Work Products