University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department.

Slides:



Advertisements
Similar presentations
Test Automation Success: Choosing the Right People & Process
Advertisements

SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
University of Southern California Center for Systems and Software Engineering A Look at Software Engineering Risks in a Team Project Course Sue Koolmanojwong.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Professional Development in INTOSAI – a whitepaper Jan van Schalkwyk (SAI SA) INTOSAI Capacity Building Committee - Meeting in Lima, Peru 9-11 September.
Green Software Engineering Sheryl John Introducing green elements and guidelines in Software Engineering.
University of Southern California Center for Systems and Software Engineering SoS Engineering and the ICM Workshop Overview Jo Ann Lane USC CSSE
Report on: Workshop on Process Modeling Technologies Lee Osterweil University of Massachusetts Sue Koolmanojwong USC-CSSE.
Department of Computer Science and Engineering Southern Methodist University 03/17/081 LiGuo Huang Department of Computer Science.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Software Quality Engineering Roadmap
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC USC-CSE Executive Workshop March 15, 2006 Processes for Human.
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 Systems and Software Engineering USC CSSE Research Overview Barry Boehm Sue Koolmanojwong Jo Ann Lane Nupul.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
2/13/07(c) USC-CSSE1 An Empirical Study on MBASE and LeanMBASE Supannika Koolmanojwong Center for Systems and Software Engineering CSSE- Annual Research.
University of Southern California Center for Software Engineering CSE USC 1 Software Schedule Analysis with Process Concurrence Ray Madachy
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC CS 510 Lecture Fall 2011 Value-Based Software Engineering.
Iterative development and The Unified process
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Testing
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Enterprise Architecture
Process: A Generic View
The Software Development Life Cycle: An Overview
UML - Development Process 1 Software Development Process Using UML (2)
Engineering, Operations & Technology | Information TechnologyAPEX | 1 Copyright © 2009 Boeing. All rights reserved. Architecture Concept UG D- DOC UG D-
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
WinCBAM: From Requirements Negotiation to Software Architecture Decisions Hoh In Rick Kazman David Olson Texas A&M SEI/CMU Texas A&M From Software Requirements.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Software System Engineering: A tutorial
Business Analysis and Essential Competencies
Requirements Engineering How do we keep straight what we are supposed to be building?
The Challenge of IT-Business Alignment
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
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.
17 February 2011 Track 3: Value Metrics, Value Models and the Value Proposition 1 Ontology Integration  To What Extent Can the Use of Ontology or Related.
Chapter – 9 Checkpoints of the process
1 SAIV/CAIV/SCQAIV LiGuo Huang USC University of Southern California Center for Software Engineering CSE USC.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
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,
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Software Engineering - I
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
University of Southern California Center for Systems and Software Engineering (c) USC-CSSE Incremental Commitment Spiral Model for CSCI577 1.
University of Southern California Center for Systems and Software Engineering 3/3/2010© USC-CSSE CSCI577B 2010 Light Weight Sw Engg for Off-the-Books.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
University of Southern California Center for Software Engineering CSE USC SCRover Increment 3 and JPL’s DDP Tool USC-CSE Annual Research Review March 16,
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
S ystems Analysis Laboratory Helsinki University of Technology 1 Decision Analysis Raimo P. Hämäläinen Systems Analysis Laboratory Helsinki University.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
University of Southern California Center for Systems and Software Engineering Aug. 26, 2010 © USC-CSE Page 1 A Winsor Brown CS 577a Lecture Fall.
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
University of Southern California Center for Software Engineering C S E USC ICSM Principles for Successful Software and Systems Engineering Barry Boehm,
Client Introductions to CS577a
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Introduction to Software Engineering
Model-Driven Analysis Frameworks for Embedded Systems
ICM_Sw Essentials for CS510
Comparison between each special case
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department Andrew & Erna Viterbi School of Engineering University of Southern California February 16, 2006 Value-Based Software Quality Achievement Process Modeling

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE2 Outline Value-Based Software Quality Achievement (VBSQA) Process Experience of Applying VBSQA Process VBSQA-OPN Model VBSQA Process Generator Conclusions and Future Work

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE3 Real-World Software Quality Achievement Heterogeneous group of stakeholders with different (sometimes even conflicting) quality perspectives Developing a process for software quality achievement needs to address the following problems –Quality (Q-) attributes are not neatly orthogonal or independent –Same stakeholder’s strengths of dependencies on Q-attributes even vary in project development life cycle –A flexible process is expected in real-world application

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE4 Research Question Stakeholders Define Negotiate Develop Monitor and Control Mission-specific combinations of quality (Q-) attributes Value-Based Metrics Value-Based Models Process Value Propositions

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE5 Value-Based Software Quality Achievement (VBSQA) Process

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE6 Characteristics of VBSQA Process Identify value conflicts on Q-attributes through risk analysis, architecture/technology evaluation and milestone reviews Resolve conflicts by performing tradeoff analyses A great deal of concurrency and backtracking Achieve stakeholder WinWin-balanced software quality requirements

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE7 Application of VBSQA Process USC/NASA Inspector SCRover project Real-world Enterprise Resource Planning (ERP) software development in China (DIMS upgrade project in Neusoft) –A variety of stakeholders with different value propositions –Product lines are maintained as a basis for future upgrades –Three process patterns: deadline-driven, product-driven, market-trend driven –Different software quality assessment criteria and different software development activities are adopted in different process patterns.

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE8 Experience of Applying VBSQA Process Two week tutorials on VBSQA Process and WinWin Spiral Model –Developed a process instance composed of 22 ERP software development activities  6 misplaced activities due to misinterpretation  4 missing activities Feedback from project managers of ERP solution providers –Shorten the new process learning curve –Maintain the flexibility of the process –Identify the flaws in a process instance –Tradeoffs among conflicting software Q-attributes –Determine stakeholders’ perspectives and interaction points

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE9 Model VBSQA Process Using Object Petri Nets (OPN) Inherit the merits of Petri Nets (PN) –Formal semantics despite the graphical nature –State-based instead of event-based –Abundance of analysis techniques –Model concurrent process activities Support separation of concerns among various stakeholders’ perspectives –Object-oriented approach –Model VBSQA Process Framework as the System Net (SN) –Model each stakeholder’s process instance in a separate Object Net (ON)  Process activities in ONs are inherited from process steps/milestones in SN –Interaction/negotiation among stakeholders and the SN/ON synchronization can be defined later

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE10 Formal Definitions of VBSQA-OPN An OPN is a 3-tuple –System Net: is a Petri Net with its tokens referring to Object Nets –Object Nets: (n>1) –SN and ON s synchronize via “channels” ρ VBSQA-OPN = –System Net:, VBSQA Process Framework or its tailoring –Object Nets: (n>1) represents a set of process instances of stakeholders, –Synchronization relation between SN and ON s :, a mapping between VBSQA process framework steps/milestones and ERP software development activities. –Guard functions: activation condition(s) of transitions –Constraint 1: Inheritance of chronological order –Constraint 2: Critical Path Dependency

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE11 VBSQA Process Generator – Based on VBSQA-OPN Model

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE12 VBSQA Process Creator – Creating an ERP VBSQA Process Instance

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE13 VBSQA Process Checker – Identifying the Flaws in a VBSQA Process Instance Maintain the flexibility of the process –Allow project managers to inherit a NULL activity from each step in the SN (VBSQA process framework)  Introduce the flaws of missing activities to violate critical path activity dependencies VBSQA Process Checker –Formal properties defined in the VBSQA-OPN System Net (SN) and implemented in the VBSQA Process Checker Examples of the activity dependency constraints in the SN –SCS define acceptable & desired values for Q-attributes must be completed before Risk analysis & architecture/technology evaluation –Risk analysis & architecture/technology evaluation must be completed before System top-level design –System top-level design must be completed before LCO Review

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE14 VBSQA Process Simulator – ROI of Synchronous Stakeholder Interaction Activities

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE15 Modeling Costs and Benefits Costs –Mutual learning: 24 hrs (3 days) –Developing plan: 2 hrs (DIMS upgrade project) –V&V of plan: 4 hrs (DIMS upgrade project) –Improving plan: 3 hrs (DIMS upgrade project) Benefits –Time, effort saved: total 66 hrs in DIMS upgrade project  Mutual learning: 56 hrs (= 80 hrs - 24 hrs)  Developing plan: 6 hrs (= 8 hrs - 2 hrs)  V&V of plan: 4 hrs (= 8 hrs - 4 hrs) –User satisfaction:  More confident in generated project plans  Simulation results are very helpful in optimizing project plans  Easy to learn

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE16 Conclusions and Lessons Learned Value-Based Software Quality Achievement (VBSQA) process –helps in achieving stakeholder WinWin-balanced project quality outcomes VBSQA-OPN model: synchronized and stabilized the activities, value propositions, and commitments of multiple success-critical stakeholders. Process visualization and simulation tools significantly increased management visibility and controllability OPN provides a feasible solution to the value-based process modeling Future work: more simulations on VBSQA Process Generator

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE17 Backup Slides

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE18 VBSQA Process Creator – Map ERP Software Development Activities into VBSQA Process Framework VBSQA Process Framework Steps/Milestones (System Net) ERP Software Development Activities (Object Nets) Project cost/benefit analysisEstimate system upgrade cost & develop DMR results chain (Developer) Verify system upgrade cost (System Acquirer) SCS define acceptable & desired values for Q-attributes Requirement elicitation meeting Groupware WinWin negotiation LCA ReviewSelected architecture internal review (Developer) Selected architecture external review CCDInternal core capability demo (Developer) Onsite core capability demo Objectives: To shorten the VBSQA process learning curve To reduce the flaws such as the misplacement of ERP development activities due to the misinterpretation of the process steps when creating a process instance To adapt to the changes in ERP software development activities and/or workflows

University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE19 VBSQA Process Simulator ROI of Synchronous Stakeholder Interaction Activities –ROI = (Value – Cost)/Cost –Value: V: the total value of the project; E ij (0-1): the effectiveness of a specific process activity on mitigating the risk of Q- attribute i if it is performed in phase j; R i (0-1): the risk of Q-attribute i to the total value of the project. –Cost = Activity Cost + Rework Cost Various combinations of synchronous stakeholder interaction activities and developer internal activities