University of Southern California Center for Software Engineering CSE USC 1 Digital Library Projects’ MBASE Experience Dan Port USC-CSE Annual Research.

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
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department.
Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
University of Southern California Center for Software Engineering CSE USC 477 Class Project – HazMat (Hazardous materials) Spring 2003 Feb. 4.
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
USC Annual Research Review - March 2006 University of Southern California Center for Software Engineering Software Architecting On the Acquisition Side.
2/13/07(c) USC-CSSE1 An Empirical Study on MBASE and LeanMBASE Supannika Koolmanojwong Center for Systems and Software Engineering CSSE- Annual Research.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Iterative development and The Unified process
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Enterprise Architecture
University of Southern California Center for Software Engineering C S E USC August 2001©USC-CSE1 CeBASE Experience Base (eBASE) -Shared Vision Barry Boehm,
What is Business Analysis Planning & Monitoring?
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
2/5/20101 R-DCR ARB Preparation A Winsor Brown CS 577B Spring 2010.
RUP Design RUP Artifacts and Deliverables
 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.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Approaching a Problem Where do we start? How do we proceed?
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process (RUP)
University of Southern California Center for Systems and Software Engineering Aug. 26, 2010 © USC-CSE Page 1 A Winsor Brown CS 577a Lecture Fall.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
University of Southern California Center for Systems and Software Engineering RDCR ARB CS 577b Software Engineering II Supannika Koolmanojwong.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Advanced Software Engineering Dr. Cheng
Process 4 Hours.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
ICM-Sw Essentials for 577 Process models Success models Product models
CS 577b Software Engineering II -- Introduction
CS577a Software Engineering ARB #2 Workshop
From Use Cases to Implementation
Presentation transcript:

University of Southern California Center for Software Engineering CSE USC 1 Digital Library Projects’ MBASE Experience Dan Port USC-CSE Annual Research Review February, 2001

University of Southern California Center for Software Engineering CSE USC 2 Topics Overview of MBASE Experience Project Results Evolution of MBASE and Rationale Current Work and Future Needs

University of Southern California Center for Software Engineering CSE USC 3 Overview: What’s Working Well Architecture Review Boards: LCO, LCA, RLCA, TRR Digital Library domain specific software engineering –Simplifiers and complicators –Top 10 risks and management techniques –Use of particular models (WinWin, Results Chain, …) –Client “Domain Experts” Integration of development tools via MBASE –Easy WinWin, Rose, MSProject, COCOMOII

University of Southern California Center for Software Engineering CSE USC 4 Overview: What’s Working Well (continued) Projects classified in advance according to expectations: –Fully transitioned, operational system in 24 weeks –Transition after 24 weeks –Advanced prototype after 12 or 24 weeks –Project feasibility assessment

University of Southern California Center for Software Engineering CSE USC 5 Overview: What’s Working Well (continued) Prototyping as first class deliverables –New MBASE section OCD 5. Prototyping –“Early and often” prototyping –Prototyping workshops, guidance in use of prototypes Requirements –Different kinds modeled in different ways E.g. Level of Service versus System Capabilities –Tighter integration with WinWin and prototypes –Evolution requirements Helps manages priories and future desired development “Conflict avoiders”

University of Southern California Center for Software Engineering CSE USC 6 Overview: What’s Working Well (continued) Variants and invariants –Project models and deliverables are scaling better Risk based development –Explicit models for identification analysis, mitigation, contingencies, impacts, risk-exposure, etc. FRD as first class deliverable –Business Case, reqs. satisfaction, process rationale Conceptual Integrity –Tighter integration between models –Fewer model clashes

University of Southern California Center for Software Engineering CSE USC 7 Example: Some Best Practices CS577a 2000 Team 1 – LCP 4.1.4, FRD 4 Risk

University of Southern California Center for Software Engineering CSE USC 8 Example: Some Best Practices CS577a 2000 Team 8 – FRD 2.2 Requirements Satisfaction (also excellent conceptual integrity, see table 3)

University of Southern California Center for Software Engineering CSE USC 9 Overview: What Needs Improvement Use of Rational Unified Process (RUP) –More coherent use in SSAD Component, Enterprise, Object, Class, design views –More cohesive use throughout OCD Activity, Entity, usage scenarios SSRD requirements use cases and scenarios COTS based systems Empirical techniques –Defect reporting and analysis –Metrics and control

University of Southern California Center for Software Engineering CSE USC 10 Overview: What Needs Improvement (continued) Transition –577 generally constrains transition to 99% “cold turkey” students leave project after class ends Clients typically do not have adequate support personal to dedicate –Short fuse Less than two weeks to complete transition Clients typically can’t allocate adequate resources in time –Little leeway Hard to get students to continue after class ends (some internships, but not common) No place to get additional time if there are problems Clients have sever budget constraints and bureaucratic issues

University of Southern California Center for Software Engineering CSE USC 11 Topics Overview of MBASE Experience Project Results Evolution of MBASE and Rationale Current Work and Future Needs

University of Southern California Center for Software Engineering CSE USC 12 Summary of Results

University of Southern California Center for Software Engineering CSE USC 13 Topics Overview of MBASE Experience Project Results Evolution of MBASE and Rationale Current Work and Future Needs

University of Southern California Center for Software Engineering CSE USC 14 Evolution: Tighter Model Integration Coverage mappings –Explicit tracing built in to many models –Trace maps CTS first class deliverable –Integrated into main MBASE models and process –References to and from OCD, SSRD, SSAD, LCP, FRD, Prototypes, WinWin, etc. –See MBASE Guidelines V.2.2

University of Southern California Center for Software Engineering CSE USC 15 Operations Model` Object Model Capability Requirements System Definition Class Model Project Requirements Statement of Purpose Project Goals Organization Goals System Capabilities Component Model Organization Entities Behavior Model Enterprise model Domain DescriptionSystem AnalysisSystem Design Operational Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD) Organization Background Organization Activities Interaction Model Levels of Service Goals LOS Requirements Example: Coverage/Traceability of MBASE Product Models* * Does not include all MBASE models Release Descriptions Reqs. Satisfaction Capability Tests Data Structures Methods/functions LOS Tests Management & Implementation Construction,Transition,Support (CTS) External to MBASE Business Case Prototype Design Views

University of Southern California Center for Software Engineering CSE USC 16 Example: Trace Map The USC Leavy Library maintains research books and periodicals for use by the USC community. OCD 3.1 Book OCD 3.5 Librarian OCD 3.5 USC Patron OCD 3.5 Manage lending of books to patrons OCD 3.3 This system manages book checkout, check-in, and overdue notifications for the Leavy Library. OCD 4.1 Library Card OCD Handle book lending for library card OCD 4.3 Librarian checkout interface SSAD 2.1 Checkout Input Panel SSAD 3.2 Checkout Input Panel Controller SSAD 3.2 Checkout book from patron with library card number SSRD 3.2 This system provides an automated interface for Leavy Librarians for manging book lending for walk-in patrons. SSRD 3.1 Book Checkout Table (Oracle) Implementation Panel Controller class (Java) Implementation Checkout books SSAD 2.2 Verify library card SSAD 3.3 Store book in checkout table SSAD 3.3

University of Southern California Center for Software Engineering CSE USC 17 Example: CTS A First Class Deliverable

University of Southern California Center for Software Engineering CSE USC 18 Evolution: Variance and Invariance

University of Southern California Center for Software Engineering CSE USC 19 Example: MBASE Variation: (Schedule) 2.5 All teams formed 6 Initial WinWin draft prototype LCO ARB 10 LCO Due LCA ARB LCA Due IOC Due 1415 IOC Demos 16 2 All teams formed 4.5 Initial WinWin draft prototype LCO ARB 7 LCO Due LCA ARB LCA Due IOC Due IOC Demos 15 2 All teams formed 6.5 Initial WinWin LCO ARB 5.5 LCO Due LCA ARB LCA Due 577B 1415 LCA Re-baseline ARB 17 week Draft prototype USC CU S99 CU F99 Re-team 2128 Transition Readiness Review IOC Delivery week

University of Southern California Center for Software Engineering CSE USC 20 Example: OCD Shared Vision (inspired by The Information Paradox) 2. Shared Vision (SS) 2.1 System Capability Description (SS) Benefits Realized Results Chain 2.2 Key Stakeholders (PY) 2.3 System Boundary and Environment (PD) 2.4 Major Project Constraints (PY) 2.5 Top-Level Business Case (SS) 2.6 Inception Phase Plan and Required Resources (PY) 2.7 Initial Spiral Objectives, Constraints, Alternatives, and Risks (SS, PY)

University of Southern California Center for Software Engineering CSE USC 21 Example: Team 17 (Web Mail) OCD Results Chain Design and implement a Web mail system Communication services are vital to quality academic life. Make services easier to access and use. Creation of infrastructure for future Web- based services. Improve academic life at USC. Design and implement more advanced Web-based tools. Make graphical available from any computer with web access. Create web- based basis for communication infrastructure. Create other systems integrated with Web mail system. Allow better communication between students, faculty, and staff. Provide better access to academic information and services. INITIATIVES CONTRIBUTIONS OUTCOMES ASSUMPTION

University of Southern California Center for Software Engineering CSE USC 22 Example: Team 3 (Pathology image search engine) OCD 2.3 System Boundary and Environment Users 1. Search of Pathology slides 2. Addition and removal of web sites from search list 3. UMLS integration 4. On-line help Administrat or MedWeb Web system Digitized slides and images from USC as well as other schools Developer s Client

University of Southern California Center for Software Engineering CSE USC 23 Evolution: More Explicit Use of Prototypes, COTS, and Tools OCD 5. Prototyping COTS Integration process, FRD, SSAD Design Views, Requirements support –Increasing numbers of 577 projects are largely or entirely COTS based 1998: 5 of : 8 of : 13 of 23 –More explicit MBASE COTS/Prototype integration guidelines Rose, MSProject, CVS/ClearCase, … Prototyping workshops –Early prototype reviews –Prototype integral part of ARB’s

University of Southern California Center for Software Engineering CSE USC 24 Example: OCD 5. Prototyping outline 5. Prototyping 5.1Objectives 5.2Approach 5.2.1Scope and Extent 5.2.2Participants 5.2.3Tools 5.2.4Revision History 5.3Initial Results 5.4Conclusions

University of Southern California Center for Software Engineering CSE USC 25 Example: Component Design Views and COTS guidelines Since Components are often a simple object + mechanism, many COTS products have been developed to handle common situations (patterns) reducing complex, tedious, repetitive, or unnecessary implementation details The Component model (SSAD 2.1) helps you identify and analyze architectural patterns for your system independent of technology implementation details e.g. information self service, distributed services The design views (SSAD 3.1) help you identify design patterns e.g. publish and subscribe, client-server COTS often exist to implement, partially implement, or assist in implementing design patterns! Warning: You must carefully and explicitly account for trade-offs for identifying and integrating COTS into you system

University of Southern California Center for Software Engineering CSE USC 26 Example: COTS in Design Views Guidelines Design Views are a natural place to match COTS to design patterns: Topology (SSAD 3.1.1) –Connectors and layers in are often associated with COTS Design Components (SSAD 3.1.2) –Typically COTS will exist for common complex patterns in Component model. Watch for applications and object libraries Frameworks (SSAD 3.1.3) –Frameworks are constructed to deal with common design needs and thus often are COTS Deployments (SSAD 3.1.4) –Legacy systems, common hardware and operating systems usually have COTS Logical Blocks (SSAD 3.1.5) –Many common block patterns, often these imply COTS

University of Southern California Center for Software Engineering CSE USC 27 Example: Prototypes and Design Views Guidelines Prototypes directly explore design issues –Design views help connect system analysis to design and thus to prototypes –Care should be taken to ensure prototypes do not drive the system analysis e.g. do not choose components or capabilities based on prototypes, use for risk reduction Topology (SSAD 3.1.1) –Prototypes explore component connectivity Design Components (SSAD 3.1.2) –Prototypes explore utility and feasibility of COTS for design use Frameworks (SSAD 3.1.3) –Prototypes often make extensive use of frameworks that imply design (watch for risk factors here) Deployments (SSAD 3.1.4) –Prototypes and final system often have similar deployment elements Logical Blocks (SSAD 3.1.5) –Prototypes must relate to logical system elements, helps with design

University of Southern California Center for Software Engineering CSE USC 28 Example: COTS and Prototypes Guidelines Prototypes are also a natural place to map patterns to COTS –Often use COTS in prototypes that imply use in design COTS often have competition that may be more suitable for the final product e.g. MS Access  Oracle, MySQL, MS SQL –Common to use prototyping to establish COTS trade- off factors (integration effort, L.O.S. qualities, etc.) Good planning can help make this proactive, advanced prototyping may still be required to resolve details –Design Views identify what COTS need prototyping

University of Southern California Center for Software Engineering CSE USC 29 Topics Overview of MBASE Experience Project Results Evolution of MBASE and Rationale Current Work and Future Needs

University of Southern California Center for Software Engineering CSE USC 30 Current Work Model Clash Analysis MBASE COTS Integration Spiral Patterns, Domain Specific Patterns MBASE variants (in particular MBASE for Construction, Transition, Support (CTS) Empirical Techniques –Reading –ODC –Student COCOMO Decision Tables –Lifecycle process –Effort model selection –Risk Management Trade-off –Transition and Support process selection

University of Southern California Center for Software Engineering CSE USC 31 Example: COTS Integration Spiral 1.Identify next level system elements, objectives, and constraints 2.Factor elements into system partitions 3.Identify patterns 4.Map patterns to COTS 5.Reconcile architectural mismatches, constraint violations, establish COTS alternatives 6.Evaluate trade-off considerations (e.g. integration effort) 7.Evaluate COTS alternatives with respect to objectives and trade-off considerations 8.Define next level system elements, objectives, constraints 9.Validate COTS integration design 10.Review system elements represented and objectives met

University of Southern California Center for Software Engineering CSE USC 32 Example: MBASE COTS Integration Spiral 1.Identify next level system capabilities (OCD 4.3), goals and constraints (OCD 4.2), and L.O.S. (OCD 4.4) 2.Factor system capabilities and requirements into system components and objects (SSAD 2.1, 3.1, 3.2) 3.Identify architectural patterns and design patterns (from component model SSAD 2.1, design views SSAD 3.1, and object model SSAD Map patterns to COTS 5.Reconcile architectural mismatches, constraint violations, establish COTS alternatives (FRD 2.2, 5.2) 6.Evaluate trade-off and risk considerations (OCD 5, FRD 2.1, 2.2, 4, 5) 7.Evaluate COTS alternatives with respect to objectives and trade-off considerations (OCD 5.3, FRD 5) 8.Define next level system elements, objectives, constraints 9.Validate COTS integration design (prototypes, FRD 2.2, CTS Test Description and Results) 10.Review system elements represented and objectives met

University of Southern California Center for Software Engineering CSE USC 33 Example: Effort Model Selection Matrix Stephen Jan 2000 “-” is any value