CSE 436—Personal Software Processes, Software Development Models Ron K. Cytron 3 October 2005.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Lecture # 2 : Process Models
Software Process Models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
CS487 Software Engineering Omar Aldawud
CSE 470 : Software Engineering The Software Process.
Chapter 3 Process Models
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
©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 Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
An Introduction to Software Engineering
Chapter 4 프로세스 모델 Process Models
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
CSE 436—Software Development Models Ron K. Cytron 10 October 2005.
CSE 436—Software Development Models Ron K. Cytron 16 October 2006.
Developed by Reneta Barneva, SUNY Fredonia The Process.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Development Life Cycle (SDLC)
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Model Process
Software Engineering Process Models Models for Guiding the Development of Software.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Development Life Cycle (SDLC)
Jaypee Institute of Information Technology, Noida.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Process 4 Hours.
Methodologies and Algorithms
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Chapter :Software Process Model
Software Process Models
Chapter 2 SW Process Models
Software Process Models
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Processes.
Prescriptive Process Models
Requirements and the Software Lifecycle
Software Engineering Lecture 18.
Software Process Models
Software Processes Process should be
Software Engineering Lecture 17.
Presentation transcript:

CSE 436—Personal Software Processes, Software Development Models Ron K. Cytron 3 October 2005

CSE 436 Software Engineering Workshop Today Personal Software Processes Break Groups present requirements –How did you elicit the requirements? –How are the requirements structured? –What interactions do you require with the customer to firm up the requirements Break Software development processes Break Groups discuss architecture –Break down project into pieces –Articulate integration and demonstration points –Plan schedule

CSE 436 Software Engineering Workshop PSP–Personal Software Process What is this? –Self-improvement process Managing time and other spare resources Becoming more effective, productive, valuable –Increased awareness Productivity enhancement Feasibility Quality issues Why? –How do you know where you are? –How do you know where to go? –How do you know how to get there?

CSE 436 Software Engineering Workshop Baseline Personal Process (PSP0) Planning –Summary and overview –Get or develop requirements –Fill out plan summary –Entry in time recording log Development –Design the program –Implement the design –Compile, fix and log all defects –Test, fix and log more defects –Entry in time recording log Post Mortem –Complete project plan summary Estimated and actual data –Complete time and defect logs Today: Planning

CSE 436 Software Engineering Workshop PSP0 Plan Summary

CSE 436 Software Engineering Workshop PSP0 Planning-Phase Script 1.Requirements Elicit Elaborate Validate 2.Resource estimation Best estimate Will serve as area of “personal improvement” 3.Exit criteria Documentation Summary and Overview Requirements tabulated Estimated time for the project Entry in time log for this phase

CSE 436 Software Engineering Workshop Software Process Models Distinct set of activities, actions, tasks, milestones, work products Agreed upon by management and engineers Adds stability, control to an organization Steps vary by method Work products are code, documentation, data This is an area where WU students are deemed deficient by interviewers. Take note: –Waterfall –Spiral –XP (Extreme Programming)

CSE 436 Software Engineering Workshop Waterfall Model Also called classic life cycle, proposed by Winston Royce in 1970 Original proposal allowed for feedback and loops In practice, strictly linear Called a “prescriptive” process model

CSE 436 Software Engineering Workshop Waterfall Model Communication –Initiation, requirements gathering Planning –Estimating, scheduling, tracking mechanisms Modeling –Analysis and design Construction –Code and test Deployment –Delivery, support, feedback

CSE 436 Software Engineering Workshop Waterfall Model Real projects find it difficult to be so “linear” Customers have trouble stating requirements consistently, accurately, minimally. –Model does not account for uncertainty Working version of program not realized until end of model –Tracking functional and nonfunctional properties is hard –Customer confidence can become weak Model may work “in the small” but fails “in the large”

CSE 436 Software Engineering Workshop Incremental Models All perform some kind of iteration over waterfall model Waterfall becomes a pipeline, with next iteration starting when requirements change or become more clear time functionality 1.Communication 2.Planning 3.Design/Modeling 4.Construction 5.Deployment

CSE 436 Software Engineering Workshop RAD–Rapid Application Deployment Breaks problem into pieces Utilizes concurrent design and construction Huge integration exercise at the end Alleged day time span Communication Planning DesignConstruction DesignConstruction DesignConstruction Deployment

CSE 436 Software Engineering Workshop RAD drawbacks Requires sufficient human resources Must commit to rapid development process –Vision of design must remain consistent among teams –Tends to fade or become chaotic over time Requires a project that can be componentized Levels of abstraction and insulation between teams can cause performance issues Use of cutting-edge technology in one team can sink the whole project if it fails

CSE 436 Software Engineering Workshop Evolutionary Models Examples –Prototyping –Spiral –Concurrent Development Iterative approaches Increasingly more complete versions of the product are generated Articulated deliveries can help planning –Revising design delivers a more on-target product –Revisiting implementation can remedy a bad initial approach –Must avoid urge to begin over completely

CSE 436 Software Engineering Workshop Prototyping Model Communication Quick plan Quick design Construction of prototype Deployment, delivery, feedback

CSE 436 Software Engineering Workshop Prototyping Model Useful when –Insufficient requirements exist at start –Behavior of some components unknown New or strange OS Hardware “in progress” HCI (Human-Computer Interface) factors not yet firm Algorithmic uncertainties: speed, space However –Testing may be minimal –Not intended for ultimate delivery of longevity –Little or no documentation is produced Customer and team must agree on this approach up- front Expectations should not be overly high on either side