Title: A Requirement-Driven Development Methodology
1A Requirement-Driven Development Methodology
- Jaelson Castro Manuel Kolp John
Mylopoulos
Department of Computer Science University of
Toronto Toronto M5S 3G4, Canada
Centro de Informática Universidade Federal
de Pernambuco Recife 50732-970, Brazil
CAiSE01 - June 6 2001, Interlaken, Switzerland
2Requirements-Driven Development
- Information Systems should be designed to match
their Social Operational Environment. - Operational environment stakeholders,
qualities, responsibilities, objectives, and
resources, roles, needs... - Versus information systems a collection of
(software) modules, data structures and
interfaces. - Impedance Mismatch ? Poor quality, Failure
- Why not requirements-driven to avoid that
mismatch? - Social and Intentional concepts not only for
Early Requirements but the Entire Development
Life Cycle - ? ? TROPOS (http//www.cs.toronto.edu/km/tropos)
3Where Do We Want to Go?
Agent-oriented programming
i
TROPOS
GAIA
KAOS
Z
AUML
UML, Catalysis Co.
!! The GAP !!
Detailed design
Early requirements
Architectural design
Late requirements
Implementation
41. Early Requirements Analysis with TROPOS
- Understanding the problem by studying an
organizational setting - Organizational model with relevant actors and
respective goals. - i Yu95
- Running Example A Business to Consumer System
Goals are relative, fulfillment is collaborative
!!
5Rationale Analysis
62. Late Requirements (Strategic Relationships)
Organizational Map
- Functions and qualities for the system within
its environment
7A 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 "orderOrder buyBuyMediaItemsorder
(order.custself Ù?Fulfil(buy)) - Actor MediaShop
- Has name MediaLive, address 735 Yonge
Street, phone 0461-762-883 - Capable of Sell, Ship, SendInvoice,
- Goal msIncreaseMarketShare(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 "custCustomer placePlaceOrderorder
(order.custcust ) Ù ?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
8Late Requirements - System Rationale Model
Rationale Map
Medi_at_
9Goal Analysis
-
-
-
-
Collect orders
Select Item
By person
By system
Manually
Automatically
By phone
By Fax
With Shopping Cart
Have updated invoices
10Leaving Goals Dependencies is a Novelty
- Goals and Softgoals generally operationalized/metr
icized 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 - Systems fragile and less reusable.
- Whenever there is a need for flexibility,
reusability, modularity
113. Architectural Design
- Architecture in terms of interconnected social
components. - 3 levels
- 1 Macro level Organizational Styles
(Organization Theory) - Vertical Integration, Pyramid, Joint Venture,
Structure in 5, Bidding, Hierarchical
Contracting, Co-optation, Takeover - 2 Micro level Patterns (Agent, COOPIS
Community) - Broker, Matchmaker, Contract-Net, Mediator,
Monitor, Embassy, Wrapper, Master-Slave, ... - 3 Atomic Social and intentional concepts i
12Organizational Styles and Social Patterns
Joint Venture
Matchmaker
13Software Quality Attributes
- Predictability, Security, Adaptability,
Cooperativity, Competitivity, Availability,
Failability, Modularity, Aggregability,
14Selecting System Architecture
Chung00
15A Joint-Venture E-commerce Architecture
E-Business Organizational Map
16Assigning Agent Roles to Actors
174. Detailed Design
- Architectural Agent components defined in details
in terms of inputs, outputs, control, and other
relevant information.
Check Out Plan
18Agent Interaction Protocol with AUML
Customer
Shopping Cart
19From i to Agent Concepts
20Partial JACK Implementation for checking out
21Conclusion
- Software Engineering in 2025 Requirements
Engineering Software Geriatry ? van
Lamsweerde ICSE00 Keynote - Narrowing the gap between requirements and
architectures - ...we dont 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, ...