44
CEN 5011 Ninth Lecture (1 st part) Nov. 24, 2004 Advance Software Engineering (CEN- Advance Software Engineering (CEN- 5011) 5011) Fall 2004 Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Classes/CEN- 5011/ Rationale Management Rationale Management

Advance Software Engineering (CEN-5011)

  • Upload
    tavita

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

Advance Software Engineering (CEN-5011). Rationale Management. Fall 2004 Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Classes/CEN-5011/. Acknowledgements. Overview:. Dr. Bernd Bruegge Dr. Allen Dutoit. Motivation. Overview. Case Study. Project Manag. Summary. Agenda. - PowerPoint PPT Presentation

Citation preview

Page 1: Advance Software Engineering (CEN-5011)

CEN 5011 Ninth Lecture (1st part) Nov. 24, 2004

Advance Software Engineering (CEN-5011)Advance Software Engineering (CEN-5011)

Fall 2004Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/Classes/CEN-5011/

Rationale ManagementRationale Management

Page 2: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 2CEN 5011: Advanced Software Engineering

AcknowledgementsAcknowledgements

Dr. Bernd Bruegge

Dr. Allen Dutoit

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 3: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 3CEN 5011: Advanced Software Engineering

AgendaAgenda

Motivation Overview Case Study Project Management Summary

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 4: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 4CEN 5011: Advanced Software Engineering

An aircraft exampleAn aircraft example

A320 First fly-by-wire passenger aircraft 150 seats, short to medium haul

A319 & A321 Derivatives of A320 Same handling as A320

Design rationale Reduce pilot training & maintenance costs Increase flexibility for airline

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 5: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 5CEN 5011: Advanced Software Engineering

An aircraft example (2)An aircraft example (2)

A330 & A340 Long haul and ultra long haul 2x seats, 3x range Similar handling than A320 family

Design rationale With minimum cross training, A320 pilots can

be certified to fly A330 and A340 airplanes

Consequence Any change in these five airplanes must

maintain this similarity

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 6: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 6CEN 5011: Advanced Software Engineering

AgendaAgenda

Motivation Overview Case Study Project Management Summary

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 7: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 7CEN 5011: Advanced Software Engineering

What is rationale?What is rationale?

Rationale is the reasoning that lead to the system.

Rationale includes: the issues that were addressed, the alternatives that were considered, the decisions that were made to resolve the

issues, the criteria that were used to guide decisions,

and the debate developers went through to reach

a decision.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 8: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 8CEN 5011: Advanced Software Engineering

Why is rationale important in SE?Why is rationale important in SE?

Many software systems are like aircraft:

They result from a large number of decisions taken over an extended period of time.

Evolving assumptions Legacy decisions Conflicting criteria

-> high maintenance cost-> loss & rediscovery of information

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 9: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 9CEN 5011: Advanced Software Engineering

Uses of rationale in software engineeringUses of rationale in software engineering

Improve design support– Avoid duplicate evaluation of poor alternatives– Make consistent and explicit trade-offs

Improve documentation support– Makes it easier for non developers (e.g., managers,

lawyers, technical writers) to review the design

Improve maintenance support– Provide maintainers with design context

Improve learning– New staff can learn the design by replaying the

decisions that produced it

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 10: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 10CEN 5011: Advanced Software Engineering

Representing rationale: issue modelsRepresenting rationale: issue models

Argumentation is the most promising approach so far:

More information than document: captures trade-offs and discarded alternatives that design documents do not.

Less messy than communication records: communication records contain everything.

Issue models represent arguments in a semi-structure form:

Nodes represent argument steps Links represent their relationships

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 11: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 11CEN 5011: Advanced Software Engineering

Decision: Smart Card + PIN

ATM ExampleATM Example

Question: Alternative Authentication Mechanisms?

References: Service: Authenticate

Option 1: Account number

Option 2: Finger print reader

Option 3: Smart Card + PIN

Criteria 1:ATM Unit Cost

Criteria 2:Privacy

+ +

+–

+ –

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 12: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 12CEN 5011: Advanced Software Engineering

AgendaAgenda

Motivation Overview Case Study Project Management Summary

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 13: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 13CEN 5011: Advanced Software Engineering

Centralized traffic controlCentralized traffic control

CTC systems enable dispatchers to monitor and control trains remotely

CTC allows the planning of routes and replanning in case of problems

T1291>

<T1515

Signals

Track circuits

Switches

Trains

S1

S2 S3

S4

SW1 SW2

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 14: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 14CEN 5011: Advanced Software Engineering

Centralized traffic control (2)Centralized traffic control (2)

CTC systems are ideal examples of rationale capture:

Long lived systems (some systems include relays installed last century)

– Extended maintenance life cycle

Although not life critical, downtime is expensive

– Low tolerance for bugs– Transition to mature technology

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 15: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 15CEN 5011: Advanced Software Engineering

display?:Issueinput?:Issue

IssuesIssues

Issues are concrete problems, which usually do not have a unique, correct solution.

Issues are phrased as questions.

How should the dispatcher input commands?

How should track sections be displayed?

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 16: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 16CEN 5011: Advanced Software Engineering

display?:Issue

addressed byaddressed byaddressed by

input?:Issue

text-based:Proposal point&click:Proposal

ProposalsProposals

Proposals are possible alternatives to issues. One proposal can be shared across multiple issues.

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.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 17: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 17CEN 5011: Advanced Software Engineering

display?:Issue

terminal?:Issue

addressed byaddressed byaddressed by

raises

input?:Issue

text-based:Proposal point&click:Proposal

Consequent issueConsequent issue

Consequent issues are issues raised by the introduction of a proposal.

Which terminal emulation should be used for the display?

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 18: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 18CEN 5011: Advanced Software Engineering

display?:Issue

availability$:Criterionusability$:Criterion

terminal?:Issue

addressed byaddressed byaddressed by

raises meets

fails

meets

fails

input?:Issue

text-based:Proposal point&click:Proposal

CriteriaCriteria

A criteria represents a goodness measure. Criteria are often design goals or

nonfunctional requirements.

The CTC system should have at least a 99%

availability.

The time to input commands should be

less than two seconds.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 19: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 19CEN 5011: Advanced Software Engineering

ArgumentsArguments

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.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 20: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 20CEN 5011: Advanced Software Engineering

Arguments (2)Arguments (2)

display?:Issue

availability$:Criterionusability$:Criterion

terminal?:Issue

addressed byaddressed byaddressed by

raises meets

fails

meets

fails

availability-first!:Argument

is supported by

is opposed by

input?:Issue

text-based:Proposal 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.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 21: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 21CEN 5011: Advanced Software Engineering

ResolutionsResolutions

Resolutions represent decisions.

A resolution summarizes the chosen alternative and the argument supporting it.

A resolved issue is said to be closed.

A resolved issue can be re-opened if necessary, in which case the resolution is demoted.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 22: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 22CEN 5011: Advanced Software Engineering

Resolutions (2)Resolutions (2)

display?:Issue

availability$:Criterionusability$:Criterion

terminal?:Issue

addressed byaddressed byaddressed by

raises meets

fails

meets

fails

availability-first!:Argument

is supported by

is opposed by

text-based&keyboard:Resolution resolvesresolves

input?:Issue

text-based:Proposal point&click:Proposal

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 23: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 23CEN 5011: Advanced Software Engineering

Questions, Options, Criteria (QOC)Questions, Options, Criteria (QOC)

Designed for capturing rationale after the fact (e.g., quality assessment).

QOC emphasizes criteria

Option ! Criterion $

Question ?

positiveassessment +

negativeassessment -

consequent question

response

Argument .

supports +objects-to -

supports +objects-to -

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 24: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 24CEN 5011: Advanced Software Engineering

Decision Representation Language (DRL)Decision Representation Language (DRL)

Decision Problem

Alternative

Goal

AchievesLink

Claim

Claim

QuestionProcedure

is a good alternative for

achieves

supports

denies

is a result of

is an answeringprocedure for

denies

supportspresupposes

raisesanswers

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 25: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 25CEN 5011: Advanced Software Engineering

AgendaAgenda

Motivation Overview Case Study Project Management Summary

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 26: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 26CEN 5011: Advanced Software Engineering

ApproachesApproaches

1. Consensus building

2. Consistency with goals

3. Rapid knowledge construction

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 27: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 27CEN 5011: Advanced Software Engineering

1. Consensus building1. Consensus building

Problem Any realistic project suffers the tension of

conflicting goals– Stakeholders come from different background– Stakeholders have different criteria

Example Requirements engineering

– Client: business process (cost and schedule)– User: functionality– Developer: architecture– Manager: development process (cost and

schedule)

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 28: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 28CEN 5011: Advanced Software Engineering

1. Consensus building: WinWin1. Consensus building: WinWin

Incremental, risk-driven spiral process– Identification of stakeholders– Identification of win conditions– Conflict resolution

Asynchronous groupware tool– Stakeholders post win conditions– Facilitator detects conflict– Stakeholders discuss alternatives– Stakeholders make agreements

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 29: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 29CEN 5011: Advanced Software Engineering

1. Consensus building: Model1. Consensus building: Model

Win Condition

Issue

Option

Agreement

involves

covers

addresses

adopts

Taxonomy Category

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 30: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 30CEN 5011: Advanced Software Engineering

1. Consensus building: Process1. Consensus building: Process

2. Identify stakeholders’win conditions

3. Reconcile win conditions.Establish alternatives.

4. Evaluate & resolve risks.

5. Define solution

6. Validate

7. Review & commit

1. Identify stakeholders

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 31: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 31CEN 5011: Advanced Software Engineering

1. Consensus building: WinWin tool1. Consensus building: WinWin toolOvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 32: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 32CEN 5011: Advanced Software Engineering

1. Consensus building: Experiences1. Consensus building: Experiences

Context Initial case studies used project courses with

real customers Used in industry

Results Risk management focus Trust building between developers and clients Discipline Inadequate tool support

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 33: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 33CEN 5011: Advanced Software Engineering

2. Consistency with goals2. Consistency with goals

Problem Once multiple criteria have been

acknowledged– Find solutions that satisfy all of them– Document the trade-offs that were made

Example Authentication should be secure, flexible for

the user, and low cost.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 34: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 34CEN 5011: Advanced Software Engineering

2. Consistency with goals: NFR Framework2. Consistency with goals: NFR Framework

NFR goal refinement– NFRs are represented as goals in a graph– Leaf nodes of the graph are operational

requirements– Relationships represent “help” “hurt” relationships– One graph can represent many alternatives

NFR evaluation– Make and break values are propagated through the

graph automatically– Developer can evaluate different alternatives and

compare them

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 35: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 35CEN 5011: Advanced Software Engineering

2. Consistency with goals: Model2. Consistency with goals: Model

Flexibility Low cost Security

Account+PIN Finger Print Reader SmartCard+PIN

Authentication Confidentiality Integrity_

++ _

X

OR

AND

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 36: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 36CEN 5011: Advanced Software Engineering

2. Consistency with goals: Process2. Consistency with goals: Process

Elicithigh-level goals

Refine intodetailed goals

Identify goaldependencies

Identifyoperational goals

Evaluate alternatives

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 37: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 37CEN 5011: Advanced Software Engineering

2. Consistency with goals: Experiences2. Consistency with goals: Experiences

Case studies on existing systems lead to clearer trade-offs

Research into integrating NFR framework and design patterns

– Match NFRs to design pattern “Forces”– Link NFRs, design patterns, and functional

requirements

Tool support inexistent

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 38: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 38CEN 5011: Advanced Software Engineering

3. Rapid Knowledge Construction3. Rapid Knowledge Construction

Problem When a company is large enough, it doesn’t

know what it does.– Knowledge rarely crosses organizational boundaries– Knowledge rarely crosses physical boundaries

Example Identify resources at risk for Y2K and prioritize

responses.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 39: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 39CEN 5011: Advanced Software Engineering

3. Rapid knowledge construction: Compendium3. Rapid knowledge construction: Compendium

Meeting facilitation– Stakeholders from different business units – External facilitator

Real-time construction of knowledge maps– The focus of the meeting is a concept map under

construction– Map includes the issue model nodes and custom

nodes(e.g., process, resource, etc.)

Knowledge structuring for long term use– Concept map exported as document outline,

process model, memos, etc.

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 40: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 40CEN 5011: Advanced Software Engineering

3. Rapid knowledge construction: Model3. Rapid knowledge construction: ModelOvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 41: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 41CEN 5011: Advanced Software Engineering

3. Rapid knowledge construction: example3. Rapid knowledge construction: exampleOvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 42: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 42CEN 5011: Advanced Software Engineering

3. Rapid knowledge Construction: Experiences3. Rapid knowledge Construction: Experiences

Context– Several industrial case studies, including

Y2K contingency planning at Bell Atlantic

Results– Increased meeting efficiency (templates are

reused)– Knowledge reused for other tasks

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 43: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 43CEN 5011: Advanced Software Engineering

AgendaAgenda

Motivation Overview Case Study Project Management Summary

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary

Page 44: Advance Software Engineering (CEN-5011)

Ninth Lecture (1st part) on Nov. 24, 2004 44CEN 5011: Advanced Software Engineering

SummarySummary

Rationale can be used in project management– To build consensus (WinWin)– To ensure quality (NFR Framework)– To elicit knowledge (Compendium)

Other applications include– Risk management– Change management– Process improvement

Open issues– Tool support– User acceptance

OvervieOverview:w:Motivation

Overview

Case Study

Project Manag.

Summary