Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Rationale.

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Rationale Management Bernd Brügge Allen Dutoit Technische Universität München.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 12, Rationale Management.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Object-Oriented Software Development CS 3331 Fall 2009.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining access control, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
March 20, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #17 Tuesday, March 20, 2001.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
1 Introduction to System Engineering G. Nacouzi ME 155B.
Oct. 30, 2003CS WPI1 CS 509 Design of Software Systems Lecture #9 Thursday, Oct. 30, 2003.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 12: Rationale Management.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 5, 2001 Introduction.
Tyutyunnick Pavel Stefan Puchner Steklov Institute St. Petersburg, Technical University.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Rationale Management Chapter 12. An aircraft example A320  First fly-by-wire passenger aircraft  150 seats, short to medium haul A319 & A321  Derivatives.
Software Evaluation Catherine McKeveney Medical Informatics 1st March 2000.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 12, Software Life Cycle.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
SYSC 4106/TTMG Software Project Management6-1 Rationale Management Sources: 1.B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering:
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 8, Rationale Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 12, Rationale Management.
1 Introduction to Software Engineering Lecture 1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Human Computer Interaction
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 Life-Cycle and Models
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
This has been created by QA InfoTech. Choose QA InfoTech as your Automated testing partner. Visit for more information.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
ITIL: Service Transition
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Iterative design and prototyping
Chapter 12, Rationale Management
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Welcome: How to use this presentation
CEN 5011 Advanced Software Engineering
Advance Software Engineering (CEN-5011)
Chapter 1, Introduction to Software Engineering
Yes, we need hundreds of methodologies!!!
HCI in the software process
HCI in the software process
Reliability and Safety
Human Computer Interaction Lecture 14 HCI in Software Process
Presentation transcript:

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Rationale Management Joseph Conron Computer Science Department New York University

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 What is rationale? Rationale is the reasoning that lead to the system. Rationale includes:  Issues that were addressed,  Alternatives that were considered,  Decisions that were made to resolve the issues,  Criteria that were used to guide decisions, and  Debate developers went through to reach a decision.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Rationale helps deal with change  Improve maintenance support  Provide maintainers with design context  Improve learning  New staff can learn the design by replaying the decisions that produced it  Improve analysis and design  Avoid duplicate evaluation of poor alternatives  Make consistent and explicit trade-off

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Levels of rationale No rationale captured  Rationale is only present in memos, online communication, developers’ memory Rationale reconstruction  Rationale is documented in a document justifying the final design Rationale capture  Rationale is documented during design as it is developed Rationale integration  Rationale drives the design

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Centralized traffic control  CTC systems enable dispatchers to monitor and control trains remotely  CTC allows the planning of routes and re-planning in case of problems

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 Centralized traffic control (2) CTC systems are ideal examples of rationale capture:  Long lived systems (some systems include relays installed decades ago)  Extended maintenance life cycle  Downtime is expensive (although not safety critical)  Low tolerance for bugs  Transition to mature technology  Initial developers are not available

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 input?:Issuedisplay?:Issue Issues  Issues are concrete problems which usually do not have a unique, correct solution.  Issues are phrased as questions. How should track sections be displayed? How should the dispatcher input commands?

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8 Proposals  Proposals are possible alternatives to issues.  One proposal can be shared across multiple issues. input?:Issue addressed by display?:Issue text-based:Proposalpoint&click:Proposal The interface for the dispatcher could be realized with a point & click interface. The display used by the dispatcher can be a text only display with graphic characters to represent track segments.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9 input?:Issue addressed by display?:Issue point&click:Proposal Consequent issue  Consequent issues are issues raised by the introduction of a proposal. terminal?:Issue raises Which terminal emulation should be used for the display? text-based:Proposal

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10 Criteria  A criteria represent a goodness measure.  Criteria are often design goals or nonfunctional requirements. input?:Issue availability$:Criterionusability$:Criterion terminal?:Issue addressed by raisesmeets fails meets fails display?:Issue point&click:Proposal The time to input commands should be less than two seconds. The CTC system should have at least a 99% availability. text-based:Proposal

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11 Arguments  Arguments represent the debate developers went through to arrive to resolve the issue.  Arguments can support or oppose any other part of the rationale.  Arguments constitute the most part of rationale.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12 Arguments (2) input?:Issue availability$:Criterionusability$:Criterion terminal?:Issue addressed by raisesmeets fails meets fails availability-first!:Argument is supported by is opposed by display?:Issue point&click:Proposal Point&click interfaces are more complex to implement than text-based interfaces. Hence, they are also more difficult to test. The point&click interface risks introducing fatal errors in the system that would offset any usability benefit the interface would provide. text-based:Proposal

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13 Resolutions  Resolutions represent decisions.  A resolution summarizes the selected alternative and the supporting argument.  A resolved issue is said to be closed.  A resolved issue can be re-opened if necessary, in which case the resolution is demoted.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14 Resolutions (2) input?:Issue availability$:Criterionusability$:Criterion terminal?:Issue addressed by raisesmeets fails meets fails availability-first!:Argument is supported by is opposed by text-based&keyboard :Resolution resolves display?:Issue point&click:Proposaltext-based:Proposal

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15 Representing rationale: issue models ProposalCriterion$ Issue? meets + fails - is a consequence responds Argument! supports + objects to - supports + objects to - Resolution. resolves

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16 Representing rationale (cont’d) Many issue models have been proposed:  IBIS, QOC, DRL, WinWin  Similar in their essence  Differ in the amount of detail that can be captured Challenges  Require tool support for capture and access  Require integration with CASE and project management tools  Require integration with methodology

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17 Open issues  Formalizing knowledge is costly.  Maintaining a consistent design model is expensive.  Capturing and maintaining its rationale is worse.  The benefits of rationale are not perceived by current developers.  If the person who does the work is not the one who benefits from it, the work will have lower priority.  40-90% of off-the-shelf software projects are terminated before the product ships.  Capturing rationale is usually disruptive.  Current approaches do not scale to real problems

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18 Summary  Capturing rationale is critical  Argumentation of alternatives  Explicit design criteria  Information relevant for future change  Issue models provide a good representation  Offer a structured solution to capture rationale  Make it easier to browse rationale information  Rationale needs to be integrated through out the process  Provide a short term incentive  Decrease setup cost