Copyright 2000 by USC and the Center for Software Engineering, all rights reserved. “No scene from prehistory is quite so vivid as that of the mortal struggles.

Slides:



Advertisements
Similar presentations
MBASE Integration Framework
Advertisements

1 Lecture #8 Purpose of SSRD Describe Capability Requirements: system subject matter measured by concrete means Describe Project, Level of Service, and.
MBASE Process: WinWin Spiral
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Analysis of MBASE Model-Clashes Mohammed Al-Said USC-CSE.
University of Southern California Center for Software Engineering CSE USC 1 Digital Library Projects’ MBASE Experience Dan Port USC-CSE Annual Research.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Project Management
CS487 Software Engineering Omar Aldawud
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Software Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
University of Southern California Center for Software Engineering C S E USC Software Model Clashes Identification USC-CSE Annual Research Review Mohammed.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
2/13/07(c) USC-CSSE1 An Empirical Study on MBASE and LeanMBASE Supannika Koolmanojwong Center for Systems and Software Engineering CSSE- Annual Research.
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.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
“If You Don’t Actively Attack the Risks,
Software Engineering Lecture No:12. Lecture # 7
What is Business Analysis Planning & Monitoring?
The Software Development Life Cycle: An Overview
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
LECTURE 1 What does a Business Analyst do? IFS 231 Business Analysis.
Rational Unified Process Fundamentals Module 4: Disciplines II.
©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.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Week 2 Seminar: Project Scope Management
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
PRJ566 Project Planning & Management Software Architecture.
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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 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.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Interface Types and Models Dr. Dania Bilal IS 588 Spring 2008.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
University of Southern California Center for Systems and Software Engineering RDCR ARB CS 577b Software Engineering II Supannika Koolmanojwong.
Information Technology Project Management, Seventh Edition.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Lecture 3 Prescriptive Process Models
Software Process Models
ICM_Sw Essentials for CS510
ICM-Sw Essentials for 577 Process models Success models Product models
CS 577b Software Engineering II -- Introduction
Incremental Commitment Model (ICM)* for Software
Presentation transcript:

Copyright 2000 by USC and the Center for Software Engineering, all rights reserved. “No scene from prehistory is quite so vivid as that of the mortal struggles of great beasts in the tar pits. Large system programming has over the past decade been such a tar pit, and many great and powerful beasts have thrashed violently in it.” Fred Brooks, 1975

“Everyone seems to have been surprised by the stickiness of the problem, and it is hard to discern the nature of it. But we must try to understand it if we are to solve it.” Fred Brooks, 1975

Understanding the Tar Pit: Model Clashes Model (Webster): A description or analogy used to help visualize or analyze something; a pattern of something to be made Includes product models, process models, property models, success models Model Clash: An incompatibility among the underlying assumptions of a set of models Produces conflicts, confusion, mistrust, frustration, rework, throwaway systems Model Integration: Choosing and/or reengineering models to reconcile their underlying assumptions.

Examples of Model Clashes Product Model Clashes: structure clashes, traceability clashes, architectural style clashes COTS-driven product and Waterfall process Risk-based process and spec-based progress payments Design-to-cost process and tightly-coupled architecture Incremental process and Rayleigh-curve staffing model Evolutionary development without life-cycle architecture Golden Rule and stakeholder win-win Spec-based process and IKIWISI success model I’ll know it when I see it

Classic Model Clashes In Practice Model Clashes and Tar Pits: Bank of America Master Net Example Master Net Stakeholders Master Net Contract Initial Progress The Tar Pit The Bottom Line Contributing Model Clashes R.Glass, Software Runaways, Prentice Hall, 1998, PP. 152-182

Reconciling Model Clashes Use stakeholders’ success models, domain models to drive choices of other models MBASE conceptual framework Example: Process model decision table Reconcile underlying assumptions Example model clash patterns Pre-package domain-integrated models Successful examples

Where’s It All Going? Win-Win • Business Case Analysis Software Warranties • QFD 10X • Six Sigma Award Fees JAD • RAD UML CORBA • COM Architectures Product Lines OO Analysis & Design Domain Ontologies COTS • GOTS Spiral Waterfall Risk Management Business Process Reengineering CMM’s • Peopleware IPT’s • Objectory Groupware COCOMO COCOTS • Checkpoint System Dynamics Metrics • - ilities Simulation and Modeling

One View: Models Needing Integration Win-Win • Business Case Analysis Software Warranties • QFD 10X • Six Sigma Award Fees JAD • RAD Success Models Product Models Spiral Waterfall Risk Management Business Process Reengineering CMM’s • Peopleware IPT’s • Objectory Groupware UML CORBA • COM Architectures Product Lines OO Analysis & Design Domain Ontologies COTS • GOTS MBASE COCOMO COCOTS • Checkpoint System Dynamics Metrics • - ilities Simulation and Modeling Process Models Property Models

MBASE Integration Framework

MBASE Conceptual Framework

MBASE Conceptual Framework

MBASE Model Integration: LCO Stage Domain Model determines determines identifies identifies WinWin Taxonomy Basic Concept of Operation Frequent Risks Stakeholders, Primary win conditions focus use of focus use of situates exercise exercise determines serves as table of contents for WinWin Negotiation Model i n t a l z e s IKIWISI Model, Prototypes, Properties Models Environment Models provides inputs for guides determination of validate WinWin Agreements update update initialize adopt identify identify Viable Architecture Options Updated Concept of Operation Life Cycle Plan elements Outstanding LCO risks Requirements Description iterate to achieve feasibility, consistency determines exit LCO Rationale Anchor Point Model criteria for validates readiness of Life Cycle Objectives (LCO) Package determines content of

Clashes Among MBASE Models

MBASE Model Clashes

Success Models Drive Other Model Choices Demo agent-based E-commerce system at COMDEX in 9 months Safe air traffic control system Success Model Key Stake-holders Entrepreneurs, venture capitalists, customers Controllers, Govt. agencies, developers Key Property Models Schedule estimation Safety models Initial spiral to risk-manage COTS, etc.; Final waterfall to verify safety provisions Process Model Design-to-schedule Domain constrained by schedule; architected for ease in dropping features to meet schedule Architected for fault tolerance, ease of safety verification Product Model

MBASE Deliverables General Considerations Operation Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD) Life Cycle Plan (LCP) Feasibility Rationale Description (FRD)

Class Milestones September 20 All teams formed October 4-8 WinWin Client Negotiation Results; Initial Prototype October 14 LCO Drafts on Web Site October 14-17 LCO Package Architecture Review Boards October 22 LCO Package Due November 19 LCA Drafts on Web Site November 19-23 LCA Package Architecture Review Boards November 29 LCA Package Due; Construction well underway; Testing and Debugging commence December 10 IOC Drafts on Web Site December 13 IOC Packages Due, Individual Critiques Due Finals Week December 14-21 Product Demos December

Life Cycle Anchor Points Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 7 Major Milestones LCO LCA IOC Full Release Life Cycle Objectives (LCO) Like getting engaged Life Cycle Architecture (LCA) Like getting married Initial Operational Capability (IOC) Like having your first child

Continuous Integration Iterative Development Project Results Continuous Integration Progress (% coded) IOC Final Qual Test Final Qual Test 100 90 Iterative Development Integration Begins 80 LCA 70 Late Design Breakage 60 LCO Conventional 50 40 30 20 10 Time (months)

MBASE WinWin Spiral

Where Are We Now? Overview of MBASE Operation Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD) Life Cycle Plan (LCP) Feasibility Rationale Description (FRD)

MBASE Invariants and Variants

MBASE Guidelines MBASE Model Guide MBASE Process Guide describes models describes suggested model creation approach (variant) MBASE Process Guide Describes activities and dynamic model integration large, so provided in EPG redundant with model guide (at present) MBASE Active Templates Process Guide “The Trinity” Model Guide Active Templates

MBASE Model Guidelines

MBASE Process Guidelines

MBASE Active Templates

General MBASE Considerations Made up of OCD, SSRD, SSAD, LCP, and FRD and various IOC plans Collaboration Essential, Elements Strongly Integrated this reduces risk overall Keep deliverables in sync, strong interdependencies Conceptual integrity critical! Be consistent, traceable,… LCO: less structure, detail, more “vision” - major issues LCA: no “TBD”s, formal, no unresolved issues IOC: only detail what was actually built Generally no set number of pages be concise, but cover, “lean and mean” be willing to “throw away” meet completion or “exit” criteria

General MBASE Considerations Cont. Avoid repetition, instead reference the information. Avoid “broken” or “blind” or “vague” references Do not include text from guidelines, without relating to your project Follow formatting guidelines (grader win-condition!) Describe what things are for your project, not the guidelines Outline and summarize, avoid “the great system novel” Use a consistent referencing format (e.g. 2.1.2, REQ-7) Not “one size fits all” - tailor to your project, use only what is relevant risk driven documentation IOC guidelines separated from LCO/LCA there are places that they integrate and mix look out for “construction phase”

Integration of MBASE System Definition Elements Domain Description System Analysis System Requirements System Definition Statement of Purpose Organization Background Project Goals Project Requirements Organization Goals Levels of Service Levels of Service Requirements Organization Activities System Capabilities Capability Requirements System Design Organization Entities Component Model Object Model Activity Model Behavior Model Operations Model Interaction Model Enterprise model Class Model Operational Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD)

Modeling versus Documenting MBASE describes models, how to build them, and ways to communicate them. Documentation is a necessary consequence of modeling why? Also, the act of writing something down helps you solidify a model Communication is an essential part of the collaborative development approach Avoid documenting for documentation sake! Everything you document should be the result of modeling everything you document should have value and meaning to stakeholders (think about risk here) The documentation are the models!!! The Models are the documentation!!!