Goal-Oriented_Conceptual_Database_Design_PDD

advertisement
Goal-Oriented Conceptual Database Design PDD
Hareune Asfour
Faculty of Science - Utrecht University
February 2013
Author Note:
A PDD description Presented in Partial Fulfillment of the Requirements for
The Master Business Informatics course Method Engineering
Abstract. This PDD description is part of the requirements for passing the Master Business Informatics
course “Method Engineering” .In this course, the students acquire the knowledge and skill to describe and
evaluate various ICT systems methodologies. Multiple papers on different methodologies are presented
to students in order for them to analyze it and to describe it efficiently .This document presents a
description in a form of a PDD model of one of the methodologies, this methodology is commonly known
as the Goal-Oriented Methodology. In order to describe this Methodology rationally, an early paper on
Goal-Oriented Conceptual Database Design (Jiang 07) is used as core reference.
Keywords: Method Engineering, Methodology, Goal-Oriented, Database Design
1. Process Description
Step 1: Identify stakeholder goals, including their quality requirements.
Input: A list of stakeholders.
Output: A list of high-level goals of the stakeholders.
Task(s): Goal identification.
Description: In this step, the objective is to pinpoint the goals of each stakeholder, and categorize
them into hard goals (accomplishable) and soft goals (very hard to accomplish).
Step 2: Generate a goal model
Input: A list of goals produced in Step 1.
Output: A goal model.
Task(s): Goals analysis.
Description: Not enough details can be extracted from the list of goals, that’s why Goal (AND/OR)
decomposition can be used to refine these goals into sub goals based on the case addressed. Systematic
methods of decomposing goals have been proposed in a variety of approaches (take goal-based
variability acquisition and analysis (Liaskos 06) as an example). For soft goals, the NFR framework
(Chung 00) offers a catalogue of refinement methods. Moreover, the contribution analysis (Bresciani
04) can be used to identify positive/negative contributions to the fulfillment of goals.
Step 3: Select a design alternative
Input: The goal model obtained in Step 2.
Output: A set of the leaf-level goals in the goal model
Task(s): Goal evaluation.
Description: The Goal model shows the possible paths to achieve the ultimate goal; these possible
paths are called design alternatives. In this step we choose the best suitable design alternative
accordingly to the preference of the stakeholders.
Step 4 Identify initial set of domain notions from goals.
Input: The design alternative chosen in step 3
Output: A list of domain notions extracted from the design alternative chosen.
Task(s): Domain knowledge extraction.
Description: this is step where the data requirements are extracted from the goals stated in the chosen
design alternative, the focus in this step is to derive the domain notions which will form later on the
database schema. Domain notions are potential notions about which data is to be stored.
Step 5 Identify and select plans.
Input: The design alternative chosen in step 3
Output: A set of plans that collectively fulfill these goals.
Task(s): Plan evaluation.
Description: the focus on this step is on generating SMART plans to fulfill the goals chosen
respectively in the alternative design.
Step 6 Expand the set of domain notions using plans.
Input: The plans in the chosen design alternative.
Output: A list of domain notions extracted from these plans.
Task(s): Process modeling, domain knowledge extraction.
Description: In this step we extend the list of domain notions from step 4 by extracting domain
notions from the plans drawn in step 5 in addition to other possible sub plans.
Step 7: Construct the domain model
Input: The expanded list of domain notions from step 6.
Output: A domain model
Task(s): Domain analysis.
Description: This is the step where the domain notions are transformed into a domain model (the
initial database schema) using a diagrammatic notation such as UML.
Step 8 Construct the conceptual schema.
Input: The domain model from Step 7.
Output: A conceptual schema.
Task(s): Schema transformation
Description: In this step, we expand the domain model through series of predefined design operations.
These design operations are part of the Goal-Oriented design strategy template of this methodology.
This template provides guidelines to tackle certain design issues by applying the design operations
provided in the template.
2. PDD
GOAL
Goal Identification
- Goal
- Category
- Preference
Idontify goals
Categorize goals
has
Software Developer
Goal model generation
Refine goals
SUB-GOAL
Identify Contributions
CONTRIBUTION
Build goal model
GOAL MODEL
Software Developer
has
Design Alternative selection
Select a design alternative
DESIGN ALTERNATIVE
Check Stakeholders preference
[else]
[Prefered]
Software Developer
has
Domain notion Identification
DOMAIN NOTION
Extract domain notions
Software Developer
Plans identification
Identify Plans
PLAN
Identify contributions
Software Developer
Domain notion expansion
Expand Domain notions
Software Developer
Domain model construction
Construct domain model
DOMAIN MODEL
Software Developer
Conceptual schema
Identify design issues
Implement design operations
Construct conceptual
schema
Software Developer
DESIGN ISSUE
has
Is used
DESIGN OPERATION
CONCEPTUAL
SCHEMA
3. Activity table
Activity(phase)
Goal Identification
Sub-Activity
Identify goals
Categorize
goals
Goal model
generation
Refine goals
Identify
contributions
Build goal
model
Design alternative
selection
Select a Design
Alternative
Check
stakeholder
preference
Domain Notion
Identification
Extract domain
notions
Plans identification
Identify Plans
Domain notion
expansion
Identify
Contributions
Expand domain
notions
Domain model
construction
Construct
domain model
Conceptual schema
Identify Design
issues
Implement
Design
operations
Construct
Conceptual
schema
Description
A list of goals are identified based on the wishes of
the stakeholders
The goals identified in activity “Identify goals” are
categorized into hard goals (accomplishable) and soft
goals (very hard to accomplish).
The goals identified in activity “Identify goals” are
refined into sub goals using (AND/OR)
decomposition
A set of contributions are identified for the refined
goals in activity “Refine goals”
A goal model is built based on the refined goals
(Activity “Refine goals”) and the contributions
(Activity “Identify contributions”)
The Goal model shows the possible paths to achieve
the ultimate goal; these possible paths are called
design alternatives, in this activity a Design
Alternative is selected
The design alternative selected in Activity “Select a
Design Alternative” is checked based on the
preference of the stakeholders. If the design
alternative selected doesn’t have a high preference
then a new Design Alternative must be selected,
otherwise it is chosen.
Domain notions are potential notions about which data
is to be stored, so in this activity, a set of domain
notions are extracted from the chosen Design
Alternative from activity “Check stakeholder
preference”
A set of plans are identified to fulfill the goals stated
in the chosen Design Alternative from Activity
“Check stakeholder preference”
A set of contributions are identified which show how
a plan can contribute in fulfilling a goal
The previous domain notion from Activity “Domain
Notion identification” are expanded by domain
notions extracted from the Plans identified in Activity
“Identify Plans”
The domain notions identified from the Activities
“Extract domain notions” and “Expand domain
notions” are used to construct a domain model
A set of Design issues are identified
Role
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
Software
Developer
A set of Design Operation are implemented for the
identified Design issues from previous (sub)activity
Software
Developer
Software
Developer
The conceptual schema is build based on the domain
model build in Activity “Construct domain model”
Software
Developer
4. Concept table
Concept
GOAL
Description
A GOAL has a “category” (Hard or Soft) and a “preference”, GOAL is part of
SUB-GOAL
CONTRIBUTION
GOAL MODEL
DESIGN ALTERNATIVE
DOMAIN NOTION
PLAN
DOMAIN MODEL
DESIGN ISSUE
DESIGN OPERATION
CONCEPTUAL SCHEMA
the GOAL MODEL
A SUB-GOAL is identified based on GOAL
A set of CONTRIBUTIONs are identified and used in the GOAL MODEL
A GOAL MODEL constitutes of goals from GOAL, contributions from
CONTRIBUTION and plans from PLAN. GOAL MODEL has DESIGN
ALTERNATIVES
A DESIGN ALTERNATIVE is extracted from GOAL MODEL. A DESIGN
ALTERNATIVE has DOMAIN NOTIONs
A DOMAIN NOTION is Extracted from a DESIGN ALTERNATIVE. A
DOMAIN NOTION is part of the DOMAIN MODEL
A PLAN is identified to fulfill a GOAL in the GOAL MODEL
A DOMAIN MODEL constitutes of DOMAIN NOTION(s)
A set of DESIGN ISSUEs are identified
A DESIGN OPERATION is implemented to counter measure a DESIGN
ISSUE
A CONCEPTUAL SCHEMA constitutes of DOMAIN MODEL(s) where
DESIGN OPERATIONs are implemented.
References
Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F. and Mylopoulos, J. (2004).
Tropos: An agent-oriented software development methodology. Autonomous Agents and Multi-Agent
Systems,8(3):203–236,
Chung, L., Nixon, B. A., Yu, E. and Mylopoulos, J. (2000). Non-Functional Requirements in Software
Engineering. Kluwer Publishing.
Jiang, L., Topaloglou, T., Borgida, A. and Mylopoulos, J. (2007). Goal-Oriented Conceptual Database Design.
Proceedings of the 15th IEEE International Requirements Engineering Conference, Univ. of Toronto, Toronto,
Canada.
Liaskos, S., Lapouchnian, A., Yu, Y., Yu, E. and Mylopoulos, J. (2006). On goal-based variability acquisition
and analysis. In Proceedings of the 14th IEEE International Conference on Requirements Engineering.
Download