Andreas Altmannsberger Frank Bühler Mike Rowe

Slides:



Advertisements
Similar presentations
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Advertisements

Chapter 2 The Software Process
Alternate Software Development Methodologies
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Static Structure: Process Description
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
SwE 313 Introduction to Rational Unified Process (RUP)
SE 555 – Software Requirements & Specifications Introduction
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Change Request Management
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
The Software Development Life Cycle: An Overview
RUP Requirements RUP Artifacts and Deliverables
The RUP® process market place Creating and distributing process know-how using the RUP plug-in technology Sigurd Hopen Rational.
Introduction to Software Quality Assurance (SQA)
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 5: Tailoring RUP.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
RUP Implementation and Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Quality Concepts within CMM and PMI G.C.Reddy
Chapter SIX Implementation, Testing and Pragmatics Making it a reality.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
October 2004J. B. Wordsworth J4ISDPAD1 Information Systems Development Processes and documents.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
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.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Principles of Programming & Software Engineering
Excel Translator™ Ultimate Risk Solutions, Inc.:
Software Development Framework
TK2023 Object-Oriented Software Engineering
Software engineering Software Processes.
Change Request Management
Regression Testing with its types
Lecture 3 Prescriptive Process Models
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 1: Introduction to Systems Analysis and Design
Chapter 18 Maintaining Information Systems
TechStambha PMP Certification Training
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
1.Introduction to Rational Unified Process (RUP)
Unified Process Source & Courtesy: Jing Zou.
Software Processes.
Introduction to Software Engineering
Engineering Processes
Software Development Process
Software Testing and Maintenance Maintenance and Evolution Overview
Software engineering -1
UML profiles.
Software Design Lecture : 15.
Department of Computer Science Abdul Wali Khan University Mardan
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Software Development Process Using UML Recap
Chapter 4: Software Process Models
Presentation transcript:

Andreas Altmannsberger Frank Bühler Mike Rowe A Rational Unified Process (RUP) Plug-in To Support Requirements Quality Assurance Andreas Altmannsberger Frank Bühler Mike Rowe 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Agenda Introduction to the Rational Unified Process (RUP) Mechanisms for modifying RUP Where software processes have problems Requirements Quality Assurance In Theory and in Practice – not always the same Conclusion 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

IBM / Rational’s Unified Process RUP Rational’s Unified Process (RUP) is one of the more formal and all encompassing software engineering process frameworks. Many software engineering processes are based upon RUP 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP is a Process Framework The framework is composed of Roles – that individuals perform in the performance of Activities to produce Artifacts Activities – transform input Artifacts into output Artifacts Artifacts – the end products of activities. The most important of which is generally the running software. Workflows – provide sequences of Activities which make up a process. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP from www.rational.com 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Customization/Tailoring Customization of RUP involves: deleting, adding, and modifying the Roles, Activities, Artifacts and Workflows. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Rational Process Workbench Rational Process Workbench (RPW) contains two tools that facilitate building new plug-ins. The RUP Modeler supports developing and managing new process content. It is an extension of Rose XDE. The RUP Organizer takes the outputs of the Modeler and compiles these into a Plug-in that can be applied to the RUP. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Builder RUP Builder (bundled with RUP) is a tool that applies plug-ins to the RUP. In addition to making your own plug-ins via the Rational Process Workbench, many plug-ins are available through both open source and commercial channels (see http://www-128.ibm.com/developerworks/rational/library/5823.html) RUP Plug-In for COTS Package Delivery V1.0 RUP Plug-In for WebSphere Business Integrator Modeler V1.0 RUP for Extreme Programming Plug-Ins -- a very interesting concept (removes everything then adds in XP) And many, many more 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

So lets do a RUP Plug-in What should we do? The Plan: Look at where software development runs into problems. Analyze how the RUP handles this aspect of the process. Design a plug-in to improve the process Finally, implement the plug-in 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Software Development has Problems Standish Group’s CHAOS report (1994) 31.1 % of projects canceled before completion 52.7 % of projects completed but significantly over budget, over time estimates and offered with fewer features. Only 16.2 % of projects delivered on time, on budget and with original feature set. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Nature of Development Problems Reasons for canceled projects Lack of User Involvement 15.9% Unclear Statement of Requirements 13.0 % Reason for over budget/schedule/ fewer featured projects Lack of User Input 12.8% Incomplete Requirements & Specifications 12.3 % Changing Requirements & Specifications 11.8% 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Nature of Development Problems Leffingwell and Widrig (2003) surveyed 3800 software professions: 50 % indicated two largest software engineering problem were related to: Requirement specification and Management of requirements Requirements errors consume an estimated 25 to 40% of total project budget. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Nature of Development Problems Common theme in development problems relates to requirements (and user input). How does RUP address Requirement Quality Assurance? Only one activity is related to Requirements, that is Review Requirements, which is part of the Requirements Discipline Workflow. Review Requirements only deals with the management of changing requirements – there is no significant V and V involved. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Requirements Quality Assurance Plug-in Needed RUP is deficient with respect to Requirements Quality Assurance (RQA) Solution – design a RUP RQA Plug-in Add Role, Requirements Quality Controller Add Five Activities Add Six Artifacts Add Requirements Quality Assurance Workflow 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Requirements Quality Assurance Plug-in Activities Specify Quality Criteria – establish catalog of quality criteria for use cases and requirements Simulate Requirements – simulate requirements using formal language and methods Inspect Requirements – formal review of use cases and requirements Measure Requirements Quality – quantitatively measure quality of use cases and requirements Execute Use Cases – execute use cases using Petri net analysis 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Requirements Quality Assurance Plug-in Artifacts The new activities produce six new artifacts: Requirements Quality Criteria Specification – the set of criteria that must be met by requirements Requirements Quality Report – describes approach and results of quality assurance activity Requirements Defect List – deficiencies discovered in requirements Formal Requirements Specification – translation of natural language based requirements to formal requirements specification language Measurement Statistics – lists the quantitative assessment of requirements Petri Net – Petri net used to execute use cases 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Requirements Quality Assurance Plug-in Workflow Detail Verify Requirements 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Integration into Requirements Workflow 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Problem with Tailoring RUP “In theory there is no difference between theory and practice, but in practice there is!” [Jan L. A. van de Snepscheut] RUP contains 32 process components The process components of RUP are highly coupled. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Component Coupling (dependency diagram) 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

RUP Coupling One third of the 32 components are highly coupled. 21 components have coupling of less than 25 % (low to moderate coupling) 8 components have coupling of more than 25 % (high coupling) 3 components have coupling of more than 40 % (very high) This would generally NOT be considered good OO Design! 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Consequences of Coupling High coupling makes it hard to tailor RUP – particularly if modifying or deleting components The output of one activity will be a set of artifacts. These artifacts will be the inputs to other activities. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Changing Activities If an activity is changed or deleted, Then Its artifacts may not be created and / or Its artifacts may be altered. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Consequence of Changed Activities Artifacts are the output of activities. Artifacts are also the input of activities. If an artifact is not available or significantly changed, then They will not be available as input for subsequent activities and / or The subsequent activities will need to be changed to react to changed input artifacts. In highly coupled systems, one change can result in/require cascading changes. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville

Conclusion and Future Work Rational promotes RUP as a highly customizable framework. RUP is customizable, but with serious limitation in the case where some of the components are deleted or modified due to high coupling. Our RQA plug-in was independent, thus it was not hampered by RUP coupling. This work was done with RUP v6. Recently, RUP v7 has been deployed. We have yet to investigate this new version. 8/7/2019 U. of Applied Sciences, Darmstadt, DE and U. of Wisconsin - Platteville