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)

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
SYSC System Analysis and Design
Iterative Process Planning
Rational Unified Process
Software Engineering.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Copyright  Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
Chapter 6– Artifacts of the process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 1: Iterative Development.
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Rational Unified Process
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Fifteenth Lecture Hour 10:30 – 11:20 am, Sunday, September 16 Tailoring the Process (from Chapter 14 of Royce’ book)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CLEANROOM SOFTWARE ENGINEERING.
Software Project Management Introduction to Project Management.
Twelfth Lecture Hour 10:30 – 11:20 am, Saturday, September 15 Software Management Disciplines Project Organization and Responsibilities (from Part III,
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object Oriented Design and Analysis Rational Unified Process.
Chapter – 9 Checkpoints of the process
Eleventh Lecture Hour 9:30 – 10:20 am, Saturday, September 16 Software Management Disciplines Iterative Process Planning (from Part III, Chapter 10 of.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
The principles of an object oriented software development process Week 04 1.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
An organizational structure is a mostly hierarchical concept of subordination of entities that collaborate and contribute to serve one common aim... Organizational.
Rational Unified Process (RUP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Iterative, Evolutionary, and Agile Rational Unified Process
Unified Process Source & Courtesy: Jing Zou.
Requirements and the Software Lifecycle
Rational Worldwide Software Symposium
Rational Unified Process
Rational Worldwide Software Symposium
Software engineering -1
Rational Worldwide Software Symposium
Presentation transcript:

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)

Topics for Today Engineering and Production Stages Inception Phase Elaboration Phase Construction Phase Transition Phase

Review - The First Top Five Principles for a Modern Process

Review - First Five Improvement Principles Architecture first approach. –Balance driving requirements, architecture and design decisions, and life-cycle plans. Iterative life-cycle process to confront risk early. –Refine problem and solutions over several iterations. Use component-based development. –Move from “line-of-code” mentality to “component” mentality. Establish a change management environment. –Important for iterative development. Use round-trip engineering. –Automation of change management, documentation and testing across requirements, specifications, design models, source code, executable code, and test cases.

Review - Transitioning to a Modern Process Modern process features – –Early development of an initial version. –High risk areas are addressed early. –Several iterations are developed (called spirals, increments, generations, releases). Modern process characteristics- –Extensive use of domain experience. –Process flexibility and change management. –Architecture risk resolution. –Team cohesion. –Software process maturity.

Development Activities Two basic activities in software development - Research and development Production Unsuccessful projects mostly fail for one of two reasons – –Overemphasis on research and development. Too many analyses and studies. Typical of conventional software development methods. –Overemphasis on production. Too much “rush-to-design”, premature work by overeager coders, and much hacking.

Successful Projects Have a well-defined milestone that transitions from a research attitude to a production attitude. Early phases focus on functionality; later phases focus on a deliverable product (with robustness, performance, fit, and finish). Life-cycle balance is maintained throughout.

Modern Software Development Process A modern process supports evolution of plans, requirements, architecture and design. A modern process supports pro-active risk management and objective measurement of progress and quality. A modern process supports evolution of system capabilities through demonstrations of increasing functionality.

Engineering and Production Stages To achieve more economic software development we must move toward a software manufacturing mentality. –Process automation. –Component-based development. To achieve more economic benefits, w should use a two-stage life cycle process for development. –Engineering stage, with smaller teams doing design and synthesis activities. –Production stage, with larger teams doing construction, test and deployment activities.

Differences in Emphasis for Engineering and Production Stages

Four Phases for Development - Royce Engineering Stage –Inception phase –Elaboration phase Production Stage –Construction phase –Transition phase

Phases of the Life-cycle Process

Inception Phase Objectives –Establishing software scope, boundary conditions, operational concept, acceptance criteria. –Critical use cases, scenarios. –Demonstrating candidate architecture. –Cost and schedule. –Potential risks. Activities –Formulating project scope. Capturing requirements –Synthesizing architecture. Design tradeoffs, initial baseline for make/buy. –Planning. Risk assessments, staffing, iteration plans, budgeting and scheduling, infrastructure tools selection.

Elaboration Phase Objectives –Stable requirements, architecture, and plans. –Executable architecture prototype(s). –Baseline architecture, vision and plans. –Completion of engineering for the project. Activities –Elaborating the vision. –Establishing the critical use cases. –Elaborating the process and infrastructure. The construction process, the tools and automation support, and the intermediate milestones and evaluation criteria. –Elaborating the architecture and selecting components. Complete component make/buy, component integration. Assessment against primary scenarios.

Construction Phase Objectives –Transition from engineering to production mindset. Objective is to produce a product rather than developing intellectual property. Emphasis is on managing resources and controlling operations. –Achieve quality as rapidly as practical. –Achieve useful versions as rapidly as practical. Activities –Complete component development and test. –Assessment of product releases. Resource management, control and process optimization. –Initiation of spawning activities.

Transition Phase Objectives –Deployment of a baseline. –Beta test completion. –Conversion of operational databases. –Training of users and maintenance personnel. –Product acceptance by customer. Activities –Synchronization of construction and integration of final increments. –Deployment Cutover, commercial packaging, sales rollout, field personnel training. –Assessment of deployment baselines.

Summary for A Framework for Software Project Management – Life-cycle Phases Software development should move more toward a manufacturing type process. Engineering and Production Stages should be recognized and planned. Iterative development methods should be used. Inception, Elaboration, Construction and Transition Phases can be used to provide for modern software development.

Assignment for Next Class Meeting Read Chapter 5 of Royce’ book, on life cycle phases. –Learn the two stages of more economic software development processes. –Learn the four phases of of a modern life-cycle process. –Learn the objectives of each of the four phases. –Learn the activities of each of the four phases. Read Chapter 5, “The Second-System Effect” of Brooks’ book. –Learn the most important principle of system design. If assigned to you, prepare the “Brooks’ Chapter 5” 20 minute report (for presentation to the class).