a requirement-driven development methodology jaelson castro † manuel kolp ‡ john mylopoulos ‡...

21
A Requirement-Driven Development A Requirement-Driven Development Methodology Methodology Jaelson Castro Jaelson Castro Manuel Kolp Manuel Kolp John John Mylopoulos Mylopoulos Department of Computer Department of Computer Science Science University of Toronto University of Toronto Toronto M5S 3G4, Canada Toronto M5S 3G4, Canada Centro de Informática Centro de Informática Universidade Federal de Universidade Federal de Pernambuco Pernambuco Recife 50732-970, Brazil Recife 50732-970, Brazil CAiSE’01 - June 6 2001, Interlaken, Switzerland CAiSE’01 - June 6 2001, Interlaken, Switzerland

Upload: oscar-washington

Post on 24-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

A Requirement-Driven Development A Requirement-Driven Development MethodologyMethodology

Jaelson Castro Jaelson Castro †† Manuel Kolp Manuel Kolp ‡‡ John Mylopoulos John Mylopoulos ‡‡

‡‡ Department of Computer ScienceDepartment of Computer Science University of TorontoUniversity of Toronto Toronto M5S 3G4, CanadaToronto M5S 3G4, Canada

†† Centro de Informática Centro de Informática Universidade Federal de Pernambuco Universidade Federal de Pernambuco Recife 50732-970, BrazilRecife 50732-970, Brazil

CAiSE’01 - June 6 2001, Interlaken, SwitzerlandCAiSE’01 - June 6 2001, Interlaken, Switzerland

Page 2: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 2

Requirements-Driven DevelopmentRequirements-Driven Development

Information Systems should be designed to match theirInformation Systems should be designed to match their Social Social Operational EnvironmentOperational Environment.

Operational environmentenvironment : stakeholders, qualities, responsibilities, objectives, and resources, roles, needs...

VersusVersus information systems : a collection of (software) modules, data structures and interfaces.

Impedance Mismatch Poor quality, FailurePoor quality, Failure

Why not Why not requirementsrequirements-driven to avoid that mismatch?-driven to avoid that mismatch?

Social and IntentionalSocial and Intentional concepts not only for Early Requirements but the Entire Development Life Cycle Entire Development Life Cycle

TROPOS (TROPOS (http://www.cs.toronto.edu/km/troposhttp://www.cs.toronto.edu/km/tropos))

Page 3: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 3

Where Do We Want to Go?Where Do We Want to Go?

Early

Early

requirements

requirements Late

Late

requirements

requirements

Architectural

Architectural

design

design Detaile

d

Detailed

design

design

Implementatio

n

Implementatio

n

KAOSKAOSZZ

UML, Catalysis & Co.UML, Catalysis & Co.

AUMLAUML

TROPOSTROPOS

GAIAGAIA

!! The GAP !!!! The GAP !!

i*i*

Agent-oriented Agent-oriented programmingprogramming

Page 4: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 4

1. Early Requirements Analysis with TROPOS1. Early Requirements Analysis with TROPOS Understanding the problem by studying an organizationalorganizational setting;

Organizational modelOrganizational model with relevant actors and respective goals.

i*i* [Yu95]

Running Example: A Business to Consumer SystemRunning Example: A Business to Consumer System

Goals are relative, fulfillment is collaborative !!Goals are relative, fulfillment is collaborative !!

Page 5: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 5

Rationale AnalysisRationale Analysis

Page 6: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

2. Late Requirements (Strategic Relationships)2. Late Requirements (Strategic Relationships)

Functions and qualities for the system within its environment

””Organizational Organizational Map”Map”

Page 7: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 7

A Formal Framework A Formal Framework Precise SemanticsPrecise Semantics Entity Order

Has orderId: Number, cust: Customer, date: Date,

tems: SetOf [MediaItem]

Entity MediaItem

Has itemId: Number, itemTitle: String, description: Text, editor: String …

Actor Customer

Has customerId: Number, name: Name, address: Address, tel: PhoneNumber, …

Capable of MakeOrder, Pay, Browse, …

Goal order:Order buy:BuyMediaItems[order] (order.cust=self Fulfil(buy))

Actor MediaShop

Has name: {MediaLive}, address: {“735 Yonge Street”}, phone#: 0461-762-883

Capable of Sell, Ship, SendInvoice, …

Goal ms:IncreaseMarketShare(Fulfil(ms))

GoalDependency BuyMediaItems

Mode Fulfil

Has order: Order

Defined ItemsReceivedOK(order)

Depender Customer

Dependee MediaShop

Necessary Fulfil( PlaceOrder(order))

SoftGoalDependency IncreaseMarketShare

Mode Maintain

Depender MediaShop

Dependee Customer

Necessary cust:Customer place:PlaceOrder[order] (order.cust=cust )

Fulfil(place))

Action MakeOrder

Performed By Customer

Refines PlaceOrder

Input cust : Customer, date : Date, items : SetOf [MediaItem]

Output order : Order

Post order.cust = cust order.date = date order.items items

Page 8: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Late Requirements - System Rationale ModelLate Requirements - System Rationale Model

Medi@

””Rationale Map”Rationale Map”

Page 9: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 9

Goal AnalysisGoal Analysis

OrderOrderItemItem

--

-- ++

++++

++++

--

--

CollectCollectordersorders

By By personperson

ByBysystemsystem

Have Have updatedupdatedinvoicesinvoices

With Shopping CartWith Shopping Cart

SelectSelectItemItem

ManuallyManually

Automatically

MatchingMatchingefforteffortCollectionCollection

efforteffort

MinimalMinimalconflictsconflicts

MinimalMinimalInteractionInteraction

Rapidity ofRapidity ofOrderOrderMinimalMinimal

efforteffort

By phoneBy phone By By FaxFax

++++

AvailabilityAvailability

Page 10: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 10

Leaving Goals Dependencies is a NoveltyLeaving Goals Dependencies is a Novelty

Goals and Softgoals generally operationalized/metricized during Goals and Softgoals generally operationalized/metricized during Late Requirements Late Requirements (e.g. KAOS – van Lamsweerde 93)(e.g. KAOS – van Lamsweerde 93)

Ex. : Security operationalized by interfaces which minimize input/output or access restriction to sensitive information.

Steps through which goals are to be fulfilled are frozen in the Steps through which goals are to be fulfilled are frozen in the requirementsrequirements

Systems fragile and less reusable.Systems fragile and less reusable.

Whenever there is a need for flexibility, reusability, modularity

Page 11: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 11

3. Architectural Design3. Architectural Design

Architecture in terms of interconnected socialsocial components.

3 levels

– 1 Macro level : OrganizationalOrganizational Styles (Organization Theory)

• Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover

– 2 Micro level : Patterns (Agent, COOPISAgent, COOPIS Community)

• Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ...

– 3 Atomic : Social and intentional concepts – i*i*

Page 12: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 12

Organizational Styles and Social PatternsOrganizational Styles and Social Patterns

Joint VentureJoint Venture

MatchmakerMatchmaker

Page 13: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 13

Software Quality AttributesSoftware Quality Attributes

Predictability, Security, AdaptabilitySecurity, Adaptability, Cooperativity, Competitivity, AvailabilityAvailability, Failability, Modularity, Aggregability, …

Correlation Predict. Security Adapt. Cooperat. Compet. Availab. Integrity Modul. Aggreg.

Flat Structure - - - - ++ + + ++ -

Structure-in-5 + + + - + ++ ++

Pyramid ++ ++ + ++ - - + - - -

Join Venture + + ++ + - ++ + ++

Bidding - - - - ++ - ++ - - - ++

Takeover ++ ++ - ++ - - + + +

Arm’s-Length - - - + - ++ - - ++ +

Hierarch Cont. + + + + + +

Vert. Integ. + + - + - + - - - - - -

Co-optation - - ++ ++ + - +

Page 14: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 14

Selecting System ArchitectureSelecting System Architecture

[Chung00][Chung00]

Page 15: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 15

A Joint-Venture E-commerce ArchitectureA Joint-Venture E-commerce Architecture

””E-Business E-Business Organizational Organizational Map”Map”

Page 16: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 16

Assigning Agent Roles to ActorsAssigning Agent Roles to Actors

Page 17: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 17

4. Detailed Design4. Detailed Design

Architectural Agent components defined in details in terms of inputs, outputs, control, and other relevant information.

Check OutCheck Out

PlanPlan

Page 18: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 18

Agent Interaction Protocol with AUMLAgent Interaction Protocol with AUML

The Checkout DialogueCustomer Shopping Cart

Page 19: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

From i* to Agent ConceptsFrom i* to Agent Concepts

Page 20: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 20

Partial Partial JACKJACK Implementation for checking out Implementation for checking out

Page 21: A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University

Manuel Kolp, University of Toronto, Department of Computer Science

A Requirements-Driven Development Methodology 21

ConclusionConclusion

Software Engineering in 20252025 = Requirements EngineeringRequirements Engineering + Software Geriatry + ? [van Lamsweerde ICSE’00 Keynote]

Narrowing the gap between requirementsrequirements andand architecturesarchitectures

...we don’t want to freeze any more solutions to a given ...we don’t want to freeze any more solutions to a given requirement in the software designs we produce!!requirement in the software designs we produce!!

IS IS (ERP, KM, e-business, e-marketplace, groupware, CRM, ... )(ERP, KM, e-business, e-marketplace, groupware, CRM, ... ) in terms of the in terms of the same social and intentionalsame social and intentional modeling concepts modeling concepts

– i* from early requirements to detailed design.i* from early requirements to detailed design.

+ formal Tropos language (inspired by KAOS)formal Tropos language (inspired by KAOS)

+ formal analysis techniques: temporal (model checking), goal, formal analysis techniques: temporal (model checking), goal, and social structures, ...and social structures, ...