Upload
oscar-washington
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
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
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))
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
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 !!
Manuel Kolp, University of Toronto, Department of Computer Science
A Requirements-Driven Development Methodology 5
Rationale AnalysisRationale Analysis
2. Late Requirements (Strategic Relationships)2. Late Requirements (Strategic Relationships)
Functions and qualities for the system within its environment
””Organizational Organizational Map”Map”
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
Late Requirements - System Rationale ModelLate Requirements - System Rationale Model
Medi@
””Rationale Map”Rationale Map”
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
…
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
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*
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
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 - - ++ ++ + - +
Manuel Kolp, University of Toronto, Department of Computer Science
A Requirements-Driven Development Methodology 14
Selecting System ArchitectureSelecting System Architecture
[Chung00][Chung00]
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”
Manuel Kolp, University of Toronto, Department of Computer Science
A Requirements-Driven Development Methodology 16
Assigning Agent Roles to ActorsAssigning Agent Roles to Actors
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
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
From i* to Agent ConceptsFrom i* to Agent Concepts
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
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, ...