Download presentation
Presentation is loading. Please wait.
Published byOscar Washington Modified over 9 years ago
1
A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University of Toronto Toronto M5S 3G4, Canada Toronto M5S 3G4, Canada † Centro de Informática Universidade Federal de Pernambuco Universidade Federal de Pernambuco Recife 50732-970, Brazil Recife 50732-970, Brazil CAiSE’01 - June 6 2001, Interlaken, Switzerland
2
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 2 Requirements-Driven Development Information Systems should be designed to match their Social Operational Environment Information Systems should be designed to match their Social Operational Environment. environment Operational environment : stakeholders, qualities, responsibilities, objectives, and resources, roles, needs... Versus Versus information systems : a collection of (software) modules, data structures and interfaces. Poor quality, Failure Impedance Mismatch Poor quality, Failure Why not requirements-driven to avoid that mismatch? Social and Intentional Entire Development Life Cycle Social and Intentional concepts not only for Early Requirements but the Entire Development Life Cycle TROPOS (http://www.cs.toronto.edu/km/tropos) TROPOS (http://www.cs.toronto.edu/km/tropos)
3
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 3 Where Do We Want to Go? Earlyrequirements Laterequirements Architecturaldesign Detaileddesign Implementation KAOS Z UML, Catalysis & Co. AUML TROPOS GAIA !! The GAP !! i* Agent-orientedprogramming
4
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 4 1. Early Requirements Analysis with TROPOS organizational Understanding the problem by studying an organizational setting; Organizational model Organizational model with relevant actors and respective goals. i* i* [Yu95] Running Example: A Business to Consumer System Running Example: A Business to Consumer System Goals are relative, fulfillment is collaborative !!
5
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 5 Rationale Analysis
6
2. Late Requirements (Strategic Relationships) Functions and qualities for the system within its environment ”Organizational Map”
7
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 7 A Formal Framework Precise 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
8
Late Requirements - System Rationale Model Medi@ ”Rationale Map”
9
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 9 Goal Analysis OrderItem- - + + + ++ - - Collectorders Byperson Bysystem Haveupdatedinvoices With Shopping Cart SelectItem Manually AutomaticallyMatchingeffort Collectioneffort Minimalconflicts MinimalInteraction Rapidity of Order Minimaleffort By phone ByFax ++Availability …
10
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 10 Leaving Goals Dependencies is a Novelty Goals and Softgoals generally operationalized/metricized during Late Requirements (e.g. KAOS – van Lamsweerde 93) Goals and Softgoals generally operationalized/metricized during Late Requirements (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 requirements Steps through which goals are to be fulfilled are frozen in the requirements Systems fragile and less reusable. Systems fragile and less reusable. Whenever there is a need for flexibility, reusability, modularity
11
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 11 3. Architectural Design social Architecture in terms of interconnected social components. 3 levels Organizational –1 Macro level : Organizational Styles (Organization Theory) Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover Agent, COOPIS –2 Micro level : Patterns (Agent, COOPIS Community) Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave,... i* –3 Atomic : Social and intentional concepts – i*
12
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 12 Organizational Styles and Social Patterns Joint Venture Matchmaker
13
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 13 Software Quality Attributes Security, Adaptability Availability Predictability, Security, Adaptability, Cooperativity, Competitivity, Availability, Failability, Modularity, Aggregability, …
14
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 14 Selecting System Architecture [Chung00]
15
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 15 A Joint-Venture E-commerce Architecture ”E-Business Organizational Map”
16
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 16 Assigning Agent Roles to Actors
17
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 17 4. Detailed Design Architectural Agent components defined in details in terms of inputs, outputs, control, and other relevant information. Check Out Plan
18
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 18 Agent Interaction Protocol with AUML The Checkout Dialogue CustomerShopping Cart
19
From i* to Agent Concepts
20
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 20 Partial JACK Implementation for checking out
21
Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 21 Conclusion 2025Requirements Engineering Software Engineering in 2025 = Requirements Engineering + Software Geriatry + ? [van Lamsweerde ICSE’00 Keynote] requirementsandarchitectures Narrowing the gap between requirements and architectures...we don’t want to freeze any more solutions to a given requirement in the software designs we produce!! IS (ERP, KM, e-business, e-marketplace, groupware, CRM,... ) in terms of the same social and intentional modeling concepts –i* from early requirements to detailed design. +formal Tropos language (inspired by KAOS) +formal analysis techniques: temporal (model checking), goal, and social structures,...
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.