Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University."— Presentation transcript:

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,...


Download ppt "A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University."

Similar presentations


Ads by Google