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

Slides:



Advertisements
Similar presentations
Whos the Architect? Credential Provisioning Network Access Directory Services Authentication, Authorization and Accounting Federation Single.
Advertisements

Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
1 GRL Introduction Lin Liu University of Toronto April 2001.
Tropos: A Framework for Requirements-Driven Software Development Jaelson Castro* Centro de Informatica - CIN Universidade Federal de Pernambuco - UFPE.
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Social Structures in Tropos Manuel KolpPaolo GiorginiJohn Mylopoulos U Louvain U Trento U Toronto U Louvain U Trento U Toronto First Tropos Workshop, Trento,
Strategic Modelling for Enterprise Integration Eric Yu University of Toronto 14th World Congress International Federation of Automatic Control July 5-9,
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
© Copyright Eliyahu Brutman Programming Techniques Course.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp Department of.
Organization-Driven System Development Building Agent Software for E-Business Manuel Kolp
Chapter 10 Architectural Design
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Software System Engineering: A tutorial
A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp † Paolo Giorgini ‡ John Mylopoulos † † Department of Computer Science.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
1 From GORE (not the US presidential candidate) to AORE (Agent-Oriented Requirements Engineering) Eric Yu University of Toronto November 2000.
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
TROPOS Derived from the Greek tropé, which means easily changeable, also easily adaptable. Presented By: Varun Rao Bhamidimarri.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
The Systems Development Life Cycle
 1999 John Mylopoulos Requirements-Driven IS Engineering -- 1 Requirements-Driven Information System Engineering John Mylopoulos University of Toronto.
Enterprise Systems Architectures EGN 5621 Enterprise Systems Collaboration (Professional MSEM) Fall, 2012.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
The Prometheus-ROADMAP Methodology Lin Padgham in collaboration with Leon Sterling and Michael Winikoff School of Computer Science and IT, RMIT University,
Design Concepts By Deepika Chaudhary.
A Social Organization Perspective on Software Architecture Manuel KolpJaelson CastroJohn Mylopoulos Department of Computer Science University of Toronto.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
SOFTWARE QUALITY CONTROL IN AN OO DEVELOPMENT PROCESS Ledis Chirinos & Francisca Losavio ISYS Center - LaTecS Laboratory SQUAD Workshop Budapest, June.
Modern Systems Analysis and Design Third Edition Chapter 2 Succeeding as a Systems Analyst 2.1.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Patterns -- Manuel Kolp Dept of Information Engineering and Computer Science 11b. Reference Models and Organizational Patterns Reference Models.
Software Engineering cosc 4359 Spring 2017.
Information Systems Development
The Development Process of Web Applications
CGS 2545: Database Concepts Fall 2010
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
The Tropos visual modeling language A meta-model.
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
Chapter 9 Architectural Design.
Detecting Conflicts of Interest
Agent-oriented Software Engineering Methodologies
Interfaces and Components
System architecture, Def.
Chapter 19: Interfaces and Components
Presentation transcript:

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 , Brazil Recife , Brazil CAiSE’01 - June , Interlaken, Switzerland

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 (   TROPOS (

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

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 !!

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 5 Rationale Analysis

2. Late Requirements (Strategic Relationships) Functions and qualities for the system within its environment ”Organizational Map”

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#: 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 Model ”Rationale Map”

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 …

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

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 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*

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 12 Organizational Styles and Social Patterns Joint Venture Matchmaker

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

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 14 Selecting System Architecture [Chung00]

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 15 A Joint-Venture E-commerce Architecture ”E-Business Organizational Map”

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 16 Assigning Agent Roles to Actors

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology Detailed Design Architectural Agent components defined in details in terms of inputs, outputs, control, and other relevant information. Check Out Plan

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 18 Agent Interaction Protocol with AUML The Checkout Dialogue CustomerShopping Cart

From i* to Agent Concepts

Manuel Kolp, University of Toronto, Department of Computer ScienceA Requirements-Driven Development Methodology 20 Partial JACK Implementation for checking out

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