Title: Integration between Organizational Requirements and Architecture
1Integration between Organizational Requirements
and Architecture
- Lucia Bastos Jaelson Castro
Banco do Brasil S.A. UF Tecnologia BrasÃlia
DF Centro de Informática Universidade Federal
de Pernambuco - Ufpe Recife 50732-970, Brazil
Novembro, 2003
2Contents
- Motivation
- Tropos Project
- The SIRA framework Proposal
- Final Considerations and Future Works
3Motivation
Index
- Semantic Gap between Requirements and
Architecture - Requirements are derived from concepts and
relationships in the problem domain (for example,
e-commerce, bank accounting) and architecture
models a solution for the problem described in
the requirements - This conceptual differences between what to do
(requirements) versus how to do (architecture)
is one of the challenging problem in software
engineering - Goal-based Organizational Models
- Goals can be related to functional abilities,
business and system qualities - Goals can be used as starting point to construct
the architectural description - Related Works
4Related Works
Index
- Twin Peaks Model
- Emphasizes the equality for requirements and
architecture - CBSP Approach
- Intermediate language for refining requirements
into architecture by applying a taxonomy of
architectural dimensions - KAOS Approach
- Goal-oriented process that partially intertwines
requirements and architecture elaboration.
5Tropos Project
Index
Ontology
Actors, social dependencies, goals, resources,...
Application area
(Requirements-driven) Software development
Tropos context
Tropos, in Greek, means manner (as in manner
of doing things)
6Tropos Context
Index
I Organizational modeling framework - Early and
Late requirements Architectural Design Socio
Intentional Catalogue
7i - E-Commerce System Case Study
Four kinds of dependency
8 Operational Context of the System
Organizational Map
- Functions and qualities for the system within
its environment
Index
9Architectural Catalogue and Quality Attributes
Predictability, Security, Adaptability,
Cooperativity, Competitivity, Availability,
Integrity, Modularity, Aggregability
() contributes positively (very positively)
- (--) contributes negatively (very negatively)
10Proposal for Systematic Integration between
Requirements and Architecture
Index
Tropos
The SIRA Framework
SIRA Elements
Schemas
Templates
Guidelines
SIRA Process
i Requirements model
i SystemGroup schema
Architectural catalogue
i architectural model
11The SIRA Elements Concepts and Representations
- To augment the i requirements information with
- Schemas
- Each schema represents, in i notation, the
relationships between requirements elements
(System actors) and SIRA elements (System Group,
Sub group and System Roles) The output set is
named System Group Schema. - Templates
- Each template are used to capture and to refine
the complementary properties from SIRA elements
represented in each schema - Guidelines
- Used to relate elements (i -gt SIRA -gt
architecture)
12SIRA Elements
- System Group - The software actors of the
architecture. A System Group can be a component
or sub-components of a software system, like
Medi_at_ actor to sell media items in Internet - Each System Group can be refined into Sub Group
to provide some service in a particular context - System Roles Each Sub Group assume some
behavior to execute a service in the context - Responsibility Services and capabilities
assigned to a System Group or Sub-Group.
Responsibility is extracted from the set of tasks
to be performed and goals to be fulfilled by
system actors, like Place order or Buy media
items. - Constraint Assertions and constraints that
apply to the entire component (System Group),
like security or availability - Architectural Elements Represents the elements
in architectural model. They are components and
its interactions.
13SIRA System Group
- The Role Theory applied for enterprise modeling
- Individuals occupy positions in an organizations
- Associated to each position is a set of
activities that constitute the responsibilities
of that positions - A organizational structure can define the roles
of various components (actors), their
responsibilities defined in terms of goals and
tasks they have assigned and resources allocated - Organizations consist of a collection of group
(or a set of actors). A group represents a
context of a role. - The SIRA Framework uses the Role Theory concepts
- Software (i System actor) occupies a position
that correspond a group (or a collection of
sub-groups) - (e-commerce example i SR and SIRA Schema)
14System Group Schemas E-commerce example
15Templates
- Partial template definition of a main component
with complementary architectural definitions. - The Name attribute is the i specification from
which the element (actor) was derived. In our
example Medi_at_ actor is a system component. - The System Roles attribute is an initial list of
responsibility assignment (tasks and goals). - Composed of attribute identifies the
sub-components that implement the component
16The SIRA Process
Index
Relating SIRA Elements and Architectural
Elements
Analyzing Requirements Elements
Selecting Architecture
i Requirements models, Architectural catalogue,
and SIRA Elements definition
System Group Schema and i Architectural model
Architectural model
171 - Analyzing Elements
- This activity consist of analyzing the i
elements (System actor) to identify an possible
SIRA Element - Each system actor candidate will be analyzed to
create a new System Group Schema. - Three sub-activities
- Identify the Correlation between i Strategic
Dependency Model and SIRA Elements - Identify System (System actor) Responsibilities
- Identify System Roles
182 Selecting Architecture
- This activity consist of selecting among
alternative architectural styles - Two sub-activities
- Identify the Architectural Constraints
- Each architecture must conform to the application
domain qualities. (e-commerce example) - Apply NFR Framework
- Each architectural candidate will be analyzed
based on positive contributions to priority
qualities (constraints) of the application domain
192.1 - NFR Framework
From Security, Availability, Adaptability
() contributes positively (very positively)
- (--) contributes negatively (very negatively)
203 Relating SIRA Elements and Architectural
Elements
- This activity consist of deriving the
relationship between SIRA elements and
architectural elements. This relationship can be
identified by Sub-Group Functionality and Roles. - Three sub-activities
- Identify Architectural Components (selected Joint
Venture Style and medi_at_ components) - Identify Task/Goals/Resource Dependency between
Sub-Groups - Identify Architectural Connectors and Protocols
- E-commerce architecture
21Joint Venture Style
- Based on a agreement between two or more
principal partners. - Principal Partner Autonomous on a local
dimension and interacts directly with other
principal partners to exchange services, data and
knowledge - Joint Management actor coordinates tasks and
manages the sharing of knowledge and resources. - Secondary Partners Supply services or support
tasks for the organization core - Joint Venture in i notation
22Joint Venture in i
Index
233.1 Architectural ComponentsMedi_at_ Actor and
Joint Venture components
24A Joint-Venture E-commerce Architecture
Index
From Security, Availability, Adaptability
25Final Considerations Research contributions
Index
- Narrowing the gap between requirements gtlt
architectures - Requirement specification supported by a
development methodology, the Tropos Methodology - Using same concepts for requirements and
architectures - Description in i framework
- Software architecture as social organization
- Mapping requirements into architecture and
maintaining consistency and traceability - Refining requirement and architecture
specifications into a systematic process
26Future Works
Index
- Investigation of recent works in the Tropos
community point to detect other solutions
researched - Investigation of recent works in component-based
approach - Study and improvement of the schemas, templates
and guidelines - Real study case to evaluate the obtained results