Deriving Use Cases from Organizational Modeling
|
|
|
- Gillian Willis
- 10 years ago
- Views:
Transcription
1 Deriving Use Cases from Organizational Modeling Victor F.A. Santander * Jaelson F. B. Castro Universidade Federal de Pernambuco Centro de Informática Cx. Postal 7851, CEP , Recife-PE, BRAZIL Phone: (+55 81) , Fax: (+55 81) {vfas,jbc}@cin.ufpe.br Abstract Use Cases Diagrams in the Unified Language Modeling (UML) have been used for capturing system functional requirements. However, the system development occurs in a context where organizational processes are well established. Therefore, we need to capture organizational requirements to define how the system fulfils the organization goals, why it is necessary, what are the possible alternatives, etc. Unfortunately, UML is ill equipped for modeling organizational requirements. We need other techniques, such as i*, to represent these aspects. Nevertheless, organizational requirements must be related to functional requirements represented as Use Cases. In this paper we present some guidelines to assist requirement engineers in the development of Use Cases from the i* organizational models. 1. Introduction System development occurs in a context where organizational processes are well established. However, as discovered in empirical studies, the primary reason for software system failure is the lack of proper understanding of the organization by the software developers. Unfortunately, the dominant object oriented modeling technique, UML, is ill equipped for organizational requirement modeling. We need others techniques, such as i* [15] to represent these aspects. We argue that i* framework, is well suited to represent organizational requirements that occur during the earlyphase requirements capture, since it provides adequate representation of alternatives, and offers primitive modeling concepts such as softgoal and goal. These early activities would enable an understanding of how and why the requirements came about. Nevertheless, organizational requirements must be related to functional requirements represented with techniques such as Use Cases. However, Use Case development demands great experience of the requirement engineers. The heuristics presented in the literature to develop Use Cases are not sufficient to allow a systematic development. Indeed, they do not consider relevant organizational aspects such as goals and softgoal. In this work, we propose some guidelines to support the integration of i* and Use Case modeling. We describe some heuristics to assist requirement engineers to develop Use Cases based on the organizational i* models. This paper is organized as follows. Section 2 introduces the concepts used by i* framework to represent organizational requirements and early requirements. In Section 3, we review Use Case modeling. In Section 4, we present the benefits of our approach as well as describe the guidelines to integrate i* organizational models and Use Cases diagrams. In Section 5, we introduce a brief case study to show the viability of our proposal. Section 6 discusses related works and concludes the paper. 2. The i* Modeling Framework When developing systems, we usually need to have a broad understanding of the organizational environment and goals. The i* framework [15] provides understanding of the reasons ( Why ) that underlie system requirements. I* offers two models to represent organizational requirements: the Strategic Dependency (SD) Model and the Rationale Dependency (SR) Model The Strategic Dependency Model - SD This model focuses on the intentional relationships among organizational actors. It consists of a set of nodes and links connecting them, where nodes represent actors and each link represents the dependency between actors. The depending actor is called Depender and the actor who is depended upon is called Dependee. The i* framework defines four types of dependencies among actors: goal, * Partially Supported by CNPq Grant No / On-leave from Universidade Estadual do Oeste do Paraná.
2 resource, task and softgoal. Figure 1 shows an Strategic Dependency (SD) Model of the meeting scheduling setting with a computer-based meeting scheduler [15]. Figure 1. Strategic Dependency Model for the Scheduling Problem. The meeting initiator depends on participant to attend the meeting. The meeting initiator delegates much of the work of meeting scheduling to the meeting scheduler. The meeting scheduler determines what are the acceptable dates, given the availability information (task dependency EnterAvailDates(m)). The meeting initiator does not care how the scheduler does this, as longer as the acceptable dates are found. This is reflected in the goal dependency BeScheduled from the initiator to the scheduler. On the other hand, to arrive at an agreeable date, participants depend on the meeting scheduler for date proposals (resource dependency ProposedDate(m)). Once proposed, the scheduler depends on participants to indicate whether they agree with the date (resource dependency Agreement(m,p)). For important participants, the meeting initiator depends critically on their attendance, and thus also on their assurance that they will attend (softgoal dependency Assured(Attends(ip.m))). The meeting scheduler depends on the meeting initiator to provide a date range (task dependency EnterDateRange(m)) for the scheduling The Strategic Rationale Model - SR The Strategic Rationale (SR) model allows modeling of the reasons associated with each actor and their dependencies. Two news links are added to previous notation: Means-ends: This link indicates a relationship between an end - which can be a goal to be achieved, a task to be accomplished, a resource to be produced, or a softgoal to be satisficed - and a means for attaining it. Task-decomposition: A task is modeled in terms of its decomposition into its sub-components. These components can be goals, tasks, resources, and/or sofgoals. In Figure 2, we present an example of the Strategic Rationale (SR) model. We use the SR notation to detail the Scheduler actor. Due to space limitation, we do not detail the Initiator and actors (see the complete model in [15]). The Scheduler actor represents a software system that partially performs the meeting scheduling, while the Initiator and, are responsible for providing or receiving information to the system. The Scheduler actor possesses a Schedule task which is decomposed into three sub-components using the task-decomposition relationship: FindAgreeableSlot, ObtainAgreemet and ObtainAvailDates. These sub-components represent the work that will be accomplished by the meeting scheduler system. Figure 2. Strategic Rationale (SR) Model to the Scheduler System. 3. Use Cases in UML Scenario-based techniques have been used by the software engineering community to understand, model and validate users requirements [9] [10] [13] [14]. Among these techniques, Use Cases have received a special attention in the object oriented development community. Use Cases in UML [3] are used to describe the use of a system by actors. An actor is any external element that interacts with the system. A Use Case is a description of a set of sequences of actions, including variants, that a
3 system performs that yields an observable result value to an actor. It is desirable to separate main (primary scenario) versus alternative (secondary scenario) flows because a Use Case describes a set of sequences, not just a single sequence, and it would be impossible to express all the details of an interesting Use Case in just one sequence. In order to cope with increasing complexity of Use Cases description, UML caters for three structuring mechanism: inclusion, extension and generalization. For further information see [3]. 4. Deriving Use Cases from Organizational Modeling. In this section we argue how our approach can improve the Use Case development. In section 4.1 we outline the main benefits accomplished by approach and in section 4.2 we describe it in detail Benefits of i* and Use Case Integration i* provides an early understanding of the organizational relationships in a business domain. As we continue the development process, we need to focus on the functional and non-functional requirements of the system-to-be. As a first step in the late requirements phase we can adopt Use Cases to describe functional requirements of the system. We argue that the Use Case development from organizational modeling using i* allows requirement engineers to establish a relationship between the functional requirements of the intended system and the organizational goals previously defined in the organization modeling. Besides, through a goaloriented analysis of the organizational models, we can derive and map goals, intentions and motivations of organizational actors to main goals of Use Cases. We assume, that for each Use Case we have associated a main goal, which represents what the user aims to reach as a result of the execution of the Use Case. In our proposal, the Use Case scenario description is based on organizational models, which are well known and understood by all stakeholders. Note that our approach can be used for any type of system. We can mention other important benefits obtained using our approach, such as: Many researchers [1] [6] [8] [14] [16] have considered goals in a number of different areas of Requirements Engineering. Goal-oriented approaches to requirements acquisition may be contrasted with techniques that treat requirements as consisting only of processes and data, such as traditional systems analysis or objects, such as the object-oriented methods, but which do not explicitly capture why and how relationships in terms of goals. The relationships between systems and their environments can also be expressed in terms of goalbased relationships. This is partly motivated by today s more dynamic business and organizational environments, where systems are increasingly used to fundamentally change businesses process [16]. Deriving Use Cases from i* relationships allows traceability and evaluation of the impact of these changes into the functional requirements of the intended system; Some of the Use Case pitfalls and drawbacks described in [11], can be partially solved using our approach. For instance, Use Cases are written from the actor s (not the system s) point of view. We derive Use Cases from actors dependencies defined explicitly in i*. Another positive aspect is the ability to define the essential Use Cases for the intended system. This avoids defining too many Use Cases and allows managing the appropriate granularity of Use Cases. Finally, the integration between requirements engineers and customers during the organizational model development also allows customers (actors) to better understand the Use Cases originated from these models; To elicit and specify system requirements observing the actor s goal in relation to the system-to-be, is a way of clarifying requirements [16]. From i* we can derive these goals, associate them with system actors and then refine and clarify the requirements into Use Cases Proposed Approach To guide the mapping and integration process of i* organizational models and Use Cases, we have defined some guidelines which must be applied according to the steps represented in Figure 3. In this figure, steps 1, 2 and 3 represent the discovery of system actors and its associated Use Cases diagrams and descriptions. The input for the integration process are the Strategic Dependency (SD) and Strategic Rationale (SR) models developed through i* framework. In steps 1 and 2, the input is the Strategic Dependence (SD) Model. The description of scenarios for Use Cases (step 3) is derived from elements represented in the Strategic Rationale (SR) Model. The results of the integration processes are Use Case diagrams for the intended system and scenario textual descriptions for each Use Case. In the sequel we suggest heuristics for the Use Cases development from organizational modeling with i*.
4 guideline(s) to be used to analyze each dependency (dependum) (see table 1). For instance, some Use Cases can be associated with the actor observing their dependencies presented in i*: Guideline 5.1: goal dependencies - goals in i* can be mapped to Use Case goals; For instance, in Figure 1, the goal dependency Attends(p,m) between Initiator (Depender) and (Dependee) can be mapped to the Attends Use Case, which will contain the several steps accomplished by to attends to the meeting. Figure 3. Steps of the integration process between i* and Use Cases in UML 1º Step: Discovering System Actors. Guideline 1: every actor in i* should be considered as a possible Use Case actor; For example, the i* actor in Figure 1 is a possible UML actor. Guideline 2: the actor considered in i* should be external to the intended software system. For example, the actor is external to the system because it will interact with the intended meeting scheduler system. Guideline 3: if the actor is external to the system, it should be guaranteed that the i* actor is a candidate actor in the Use Case diagram. For this purpose, the following analysis is necessary: Guideline 3.1: the actor dependencies in i* must be relevant from the point of view of the intended system; For instance, the actor in i* can be mapped to Use Case actor, considering that dependencies associated with it, characterizes it as important in an interaction context with the meeting scheduler system. Guideline 4: actors in i*, related through the IS-A mechanism in the organizational models and mapped individually for actors in Use Cases (applying guidelines 1, 2 and 3), will be related in the Use Case diagrams through the <<generalization>> relationship. For instance, the IS-A relationship between and Important in Figure 1, can be mapped to generalization relationship between these actors in the Use Case diagram. 2º Step: Discovering Use Cases for the Actors. Guideline 5: for each discovered actor of the system (step 1), we should observe all its dependencies (dependum) in which the actor is a dependee, looking for Use Cases for the actor; Initially, we recommend to create a table containing the discovered actors and the information about the dependencies for the actor from the point of view of a dependee. Moreover, you can include which Actor Dependency Type of Dependency Guideline to be used Attends(p,m) Goal (G5.1) Table 1. Gathered information from SD Models to aid requirement engineers to derive Use Cases. Guideline 5.2: task dependencies - if an actor depends on another actor for the accomplishment of a task, it should be investigated if this task needs to be decomposed into other sub-tasks. For example, for the task dependency EnterDateRange(m) associated with the Initiator actor (see Figure 1), we can consider that the task of supplying a date range for the meeting scheduling can include several aspects (later mapped to Use Case steps) such as to associate range dates with specific meetings, to establish priorities for specific meetings, etc. Thus, from the task EnterDateRange(m) we can generate the Use Case called EnterDateRange for the Initiator actor. Guideline 5.3: resources dependencies - if an actor depends on another actor for obtaining a resource(s), why is it required? If there is a more abstract goal, it will be the candidate goal of the Use Case for the actor. For instance, for the resource dependency Agreement(m,p) associated with the actor (see Figure 1), we conclude that the main goal of obtaining of Agreement(m,p) resource is a scheduled date agreement from each participant. We could consider that in this agreement process, each participant could agree with the proposed meeting date with certain schedule restrictions or duration time. Still, the agreement could involve an analysis of other possible dates. In other words, to obtain the scheduled date agreement, several interaction steps between meeting scheduler and meeting participant could be defined in one Use Case called Agreement for the actor. Guideline 5.4: sofgoal dependencies - typically, the sofgoal dependency in i* is a non-functional requirement for the intended system. Hence, a softgoal does not represent a Use Case of the system but a nonfunctional requirement associated with a Use Case of
5 the system. For instance, the softgoal Assured(Attends(ip,m)) between Initiator and Important actors can be mapped into a non functional requirement associated with the Use Case Attends. This non-functional requirement indicates that it is necessary to assure that the Important attends to the meeting. Guideline 6: analyze special situations, where an actor discovered (following the step 1), possess dependencies in relation to an actor in i* that represents an intended software system or part of it. These dependencies usually generate Use Cases. It is important to notice that in this situation the derived Use Case is associated with the depender actor in the relationship. This occurs due to the fact that the dependee is a software system and the depender (Use Case actor) must interact with the system to achieve the goal associated with the generated Use Case. For instance, the goal dependency BeScheduled between Initiator and Scheduler system in the Figure 1, points out for the definition of the Use Case BeScheduled for the Initiator actor, which represents the use of the system by the actor, describing the details of the meeting scheduling process. Guideline 7: classify each Use Case according to the type associated to its goal (business, summary, user goal or subfunction). This is based on a classification scheme proposed by Cockburn [7]. A business goal represents a high level intention, related to business processes, that the organization or user possesses in the context of the organizational environment. An example could be the goal "organizing a meeting in the possible shortest time". A summary goal represents an alternative for the satisfaction of a business goal, as in the case of the goal, "meeting scheduling by software system". An user goal results in the direct discovery of a relevant functionality and value for the organization actor using a software system. An example could be the goal, "the meeting participant wishes to attend the meeting". Finally, subfunction-level goals are those required to carry out user goals. An example could be the goal, enter date range for meeting scheduling by the Initiator. To aid requirement engineers to identify new Use Case and better understand the discovered Use Cases, we recommended to generate a table containing the actor name, the Use Case goal and the goal classification (see table 2). Actor Use Case Goal Goal Classification Attends User Goal Table 2. Use Case goal classification. 3º Step: Discovering and Describing Use Case Scenario. Guideline 8: analyze each actor and its relationships in the Strategic Rationale (SR) model, to extract information that can lead to the description of the Use Cases scenario for the actor. It is important to remember that SR models represent the internal reasons associated with the actor goals. Therefore, we must consider internal elements which are used by the actor to achieve goals and sofgoals, to perform tasks or obtain resources. The actor has the responsibility to satisfy these elements and the decomposition in SR shows how the actor will be performing this. Typically, the dependencies associated with the actor are satisfied internally through two types of relationships used in SR: means-ends and taskdecomposition. These relationships must be observed to derive scenario steps for the Use Cases. For instance, consider the Strategic Rationale (SR) Model in Figure 2. From the Scheduler actor point of view, we know that the Schedule task is decomposed into ObtainAvailDates, FindAgreeableSlot and ObtainAgreement. Since the software system objective is to accomplish meeting scheduling, we could consider that these tasks are the necessary high-level steps to accomplish a meeting schedule (Use Case BeScheduled defined for the Initiator actor). Thus, this Use Case could contain the steps (the primary scenario description) regarding the need to obtain from each, the available dates for a meeting (ObtainAvailDates); the need to define the best meeting dates that could be scheduled (FindAgreeableSlot); and to obtain the participants agreement for a proposed meeting date (ObtainAgreement). 5. Case Study In this section, we follow the steps proposed in Figure 3 and apply the appropriate guidelines to the example described in the previous section (Figure 1 and 2). Recall that Figure 1 shows a Strategic Dependency (SD) model for meeting scheduling while Figure 2 represents the Strategic Rationale (SR) model. Hence, these organizational models are used to discover and describe Use Cases in UML for the Scheduler system. We begin deriving the Use Case actors from the SD model. We then find the Use Cases for the actors observing the actors dependencies in SD model. Next, the primary scenario for one derived Use Case is described from the SR model. Last but not least, a version of the Use Case diagram in UML for the Scheduler system is generated. From Figure 1, we can find candidates actors for the Use Case development. According to the guidelines in the 1 st step of the proposal, we conclude that one of the analyzed actors does not follow guideline 2. The Scheduler actor is a system, i.e. the software to be developed. Therefore, this i* actor cannot be
6 considered as a Use Case actor. The other i* actors are considered appropriate because their strategic dependencies refer to relevant aspects for the meeting scheduler system (guideline 3) development. So, the list of candidates Use Cases actors includes: Initiator, and Important. We also note that Important is a type (relationship IS-A) of participant. According to guideline 4 (1 st step), we consider this actor a specialization of actor. The next step is to discover and relate Use Cases for each actor according to the guidelines presented in the 2º Step (Discovering Use Cases for the Actors). Initially, following the guideline 5 and observing the SD model presented in Figure 1 we can generate the table 3. Actor Dependency Type of Dependency Guideline to be used Attends(p,m) Goal (G5.1) EnterAvailDates(m) Task (G5.2) Agreement(m,p) Resource (G5.3) Initiator EnterDateRange(m) Task (G5.2) Table 3. Gathered information from SD Models to derive Use Cases for the Scheduler System. Thus, for the actor, observing this actor as Dependee, we can indicate some Use Cases originated from the actor dependency relationships (guideline 5). Initially, we should consider the goal dependency (guideline 5.1) of the actor as Dependee. In table 3, we verify the goal Attends(p,m), which represents the need of the meeting participant actor to attend the meeting. This goal originates the Use Case Attends. Several steps are necessary to achieve this goal. Typically, this is a user goal (guideline 7). The fulfillment of the Use Case goal brings a relevant result for actor, allowing it to attend to the meeting. Usually, the description of the primary scenario (to be accomplished later) for this Use Case, will present other user goals that can originate new Use Cases for the system. The next dependency associated with the actor is the task dependency EnterAvailDates(m). According to guideline 5.2, we can consider the need of several interaction steps among the participants ( actor) and the meeting scheduler system to enter available dates. Some steps could include participants to supply a list of exclusion dates and preferred dates in a particular format, to validate these dates by the system, etc. Thus, the task EnterAvailDates(m) generate the Use Case EnterAvailDates for the Actor. Continuing our analysis, we can observe associated with the (Dependee) actor the resource dependency Agreement(m,p). Following guideline 5.3, we conclude that the main goal of obtaining of Agreement(m,p) resource is an scheduled date agreement from each participant. We could consider that in this agreement process, each participant could agree with the proposed meeting date with certain schedule restrictions or duration time. Still, the agreement could involve an analysis of other possible dates. In other words, the schedule of dates requires several interaction steps between the system and the actor, which defines the Agreement Use Case of the actor. To discovery of Use Cases candidates for the Initiator actor follows the same guidelines (2º Step). We have one dependency associated with the Initiator actor (see table 3): the task EnterDateRange(m). Using guideline 5.2 for this task dependency we observe that to supply a date range for the meeting scheduling can include several aspects (sub-tasks) such as to associate range dates with specific meetings, to establish priorities for specific meetings, etc. Thus, from the EnterDateRange(m) task we generate the EnterDateRange Use Case for the Initiator actor. Having considered all dependencies for the Initiator as Dependee, we should now consider special situations (guideline 6). Observing Figure 1, we visualize the goal dependency BeScheduled between Initiator and Scheduler (software to be developed), which requires some sort of interaction. Therefore, we can define the BeScheduled Use Case that represents the use of the system by the Initiator actor. In this Use Case, we describe the details of the meeting schedule process. Note that in this special situation the depender (meeting initiator) is the Use Case actor. Finally, following the guideline 7 we can to classify each discovered Use Case goal, as showed in the table 4. Thereby, after we have used the proposed guidelines (2º Step), we have discovered EnterDateRange and BeScheduled Use Cases for the Initiator actor as well as Attends, EnterAvailDates and Agreement Use Cases for the actor. Therefore, we can begin the description of the primary and secondary scenarios and the Use Cases relationships (3º Step). At this point, the Strategic Rationale (SR) model is used as source of information for the scenario description and the Use Cases relationships.
7 Actor Use Case Goal Goal Classification Initiator EnterDateRange Subfunction Initiator BeScheduled Summary Attends User Goal EnterAvailDates Subfunction Agreement Subfunction Table 4. Goal Classification for the Scheduler System. For example, the BeScheduled Use Case discovered for the Initiator actor represents the use of the system by Initiator to accomplish the meeting scheduling. This Use Case should contain all the necessary steps to schedule a meeting that begins when the Initiator supplies information to the system such as the date range to schedule a meeting. Based on the supplied dates range by Initiator, the system must find available dates for all the participants for the meeting as well as elaborate a consensus dates list within which a date will be chosen to be proposed and agreed. This process must result in a consensus-scheduled date for the meeting and later in the confirmation of this date for all the participants. Thus, for the Use Case BeScheduled, we could have the primary scenario with the following steps: Use Case: BeScheduled Actor: Initiator Use Case Goal: Schedule a (summary goal, see guideline 7) Primary Scenario: 1. The Use Case begins with the Initiator actor supplying the system with a date range for the meeting; (the EnterDateRange Use Case is included <<include>> in this step). 2. The system should request from participants ( ) an available date list for the meeting based on the proposed date range by the Initiator; (the EnterAvailDates Use Case is included <<include>> in this step). 3. The system should find a consensus date list, filtering information observing the available dates sent by the participants and the proposed date range sent by Initiator; 4. Based on the consensus list, the system proposes a date for the meeting to be scheduled; 5. The Initiator expects that the system requests the agreement for a scheduled meeting date. (The Agreement Use Case is included << include >> in this step). The information for the description of this Use Case has as main source the Strategic Rationale (SR) Model presented in the Figure 2. Following the guideline 8, we must observe which elements are involved in the SR model to achieve the BeScheduled goal by Scheduler actor. This actor has the responsibility to achieve BeScheduled which originated the BeScheduled Use Case (according to guideline 6). Thus, observing the internal strategic reasons associated with Scheduler we can conclude that the base information for the step 1 in this Use Case, is extracted from the EnterDateRange task dependency, establishing the need that Initiator supplies date range for the meeting to be scheduled. Previously, in the Use Case discovery for the system, we considered that the process of establishing a date range included several steps (sub-tasks) such as to associate range dates with specific meetings, to establish priorities for specific meetings, etc. These steps should be described in the EnterDateRange Use Case. For this reason, this Use Case is included <<include>> in step 1. Steps 2 and 3 are extracted from the decompositions of the task Schedule (associated with Scheduler in the Figure 2). Step 2 derives from the observation of the ObtainAvailDates task and its associated EnterAvailDates task dependency. The EnterAvailDates Use Case is included <<include>> because it represents the necessary steps for the entry of the available dates list by participants. Step 3 originates from FindAgreeableSlot goal and the MergeAvailDates task. This step represents the internal actions of the system to define a list of the consensus dates for the meeting scheduling. Step 4, is extracted from observation of the ProposedDate resource dependency in connection with the task Schedule (Figure 2). It is assumed, given the defined information in the models of the Figure 1 and 2, that the proposed date should be defined by the system, using some previously established and defined criterion by the Initiator, taking as base for example, priorities of organization meetings. Step 5, derives from the system need to obtain the agreement for the chosen date for the meeting scheduling. This information arises from the observation of the task ObtainAgreement and its associated resource dependency Agreement (Figure 2). Previously, in the Use Case discovery for the system, we assumed that in order for a participant to agree with the proposed date, it was necessary the accomplishment of some interaction steps between the participant and the Scheduler. These steps should be described in the Agreement Use Case. For this reason, this Use Case is included <include> in the step 5. We can describe the others Use Cases in a similar way. After we have applied the proposed guidelines to this case study, we can define, as described in the Figure 4, a version of the Use Cases diagram in UML for the Scheduler system.
8 Initiator <<include>> EnterDateRange Be Scheduled <<include>> <<include>> Agreement Attends <<generalization>> EnterAvailDates Important Figure 4. Use Case Diagram for the Scheduler system. The descriptions of the discovered Use Cases could still be modified or complemented, as new relationships are elicited. 6. Conclusions and Related Works In this paper we argued that the Use Cases development can be improved by using the i* organizational models. We presented some heuristics and a case study to show the viability and benefits of our approach. Some related works include the requirements-driven development proposal presented in the Tropos framework [4] and the integration of i* and puml diagrams [5]. These works argue that organizational models are fundamental for the development of quality software, which can satisfy the real needs of users and organizations. Several groups have also discussed the challenges and associated risks building quality system during goal and scenario analysis. For instance, the ScenIC method [12] uses goal refinement and scenario analysis as its primary methodological strategies. This method includes systematic strategies to identify actors, goals, tasks, and obstacles into evolving systems. In Anton et al. [2], the GBRAM method [1] is used to derive goals from a use-case based requirements specification. In the CREWS project [13] [14], the CREWS-L`Ecritoire approach [14] aims at discovering/eliciting requirements through a bi-directional coupling of goals and scenarios allowing movement from goals to scenarios and viceversa. However, these approaches do not consider organizational models for deriving goals and scenarios for intended systems. Further research is still required to describe more systematic guidelines, that can aid requirement engineers to relate non-functional requirements [6] (softgoals in i*) with functional requirements of the system, described through Use Cases in UML. Work is underway to incorporate goal-oriented modeling approaches [1] [8] [12] [14] into our proposal aiming at discovering other Use Cases from the exploration of already discovered goals. We also expect to develop more real case studies as well as to provide some tool support for the proposed mapping. 7. References [1] A.I. Anton, Goal identification and refinement in the specification of software-based information systems. Phd Thesis, Georgia Institute of Technology, Atlanta, GA, June [2] A.I. Anton, R.A. Carter, A. Dagnino, J.H. Dempster, and D.F. Siege, Deriving Goals from a Use Case Based Requirements Specification, Requirements Engineering Journal, Springer- Verlag, Volume 6, pp , May [3] G. Booch, I. Jacobson, and J. Rumbaugh, The Unified Modeling Language User Guide, Addison-Wesley, [4] J.F. Castro, M. Kolp, and J. Mylopoulos, A Requirements- Driven Development Methodology, In: CAISE 01, Proceedings of the 13 th Conference on Advanced Information Systems Engineering. Heildelberg, Germany: Springer Lecture Notes in Computer Science LNCS 2068, pp , [5] J.F. Castro, F. Alencar, G. Cysneiros, and J. Mylopoulos, Integrating Organizational Requirements and Object Oriented Modeling, In Proceedings of the Fifth IEEE International Symposium on Requirements Engineering - RE 01, pp , August 27-31, Toronto, [6] L. Chung, B.A. Nixon, E. Yu, and J. Mylopoulos, Non- Functional Requirements in Software Engineering (Monograph), Kluwer Academic Publishers, 472 pp, [7] A. Cockburn, Writing Effective Use Cases, Humans and Technology, Addison-Wesley, [8] A. Dardene, V. Lamsweerde, and S. Fikas, Goal-Directed Requirements Acquisition, Science of Computer Programming, 20, pp. 3-50, [9] I. Jacobson, Object Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, [10] J.C.S.P. Leite, G. Rossi, F. Balaguer, and V. Maiorana, Enhancing a requirements baseline with scenarios, In Proceedings of the Third IEEE International Symposium on Requirements Engineering RE 97, pages IEEE Computer Society Press, January [11] S. Lilly, Use Case Pitfalls: top 10 problems from Real projects using Use Cases, In: Proceedings, technology of object oriented languages and systems, pp , 1-5 August, [12] C. Potts, ScenIC: A Strategy for Inquiry-Driven Requirements Determination, In Proceedings of the Fourth IEEE International Symposium on Requirements Engineering RE 99, Ireland, June 7-11, [13] J. Ralyté, C. Rolland, and V. Plihon, Method Enhancement With Scenario Based Techniques, In Proceedings of CAISE 99, 11th Conference on Advanced Information Systems Engineering Heidelberg, Germany, June 14-18, [14] C. Rolland, C. Souveyet, and C.B. Achour, Guiding Goal Modeling Using Scenarios, IEEE Transactions on Software Engineering, Vol 24, No 12, Special Issue on Scenario Management, December [15] E. Yu, Modelling Strategic Relationships for Process Reengineering, Phd Thesis, University of Toronto, [16] E. Yu and J. Mylopoulos, Why Goal-Oriented Requirements Engineering, Proc. Fourth International Workshop Requirements Engineering: Foundations of Software Quality REFSQ 98, pp , Pisa, June 1998.
How To Develop Use Cases In Uml From Organizational Modeling
Developing Use Cases from Organizational Modeling Victor F.A. Santander, Jaelson F. B. Castro Universidade Federal de Pernambuco Centro de Informática {vfas,jbc}@cin.ufpe.br Abstract: The object oriented
Goals and Scenarios to Software Product Lines: the GS2SPL Approach
Goals and Scenarios to Software Product Lines: the GS2SPL Approach Gabriela Guedes, Carla Silva, Jaelson Castro Centro de Informática Universidade Federal de Pernambuco (UFPE) CEP 50740-540, Recife/ PE
Towards an Agent Oriented approach to Software Engineering
Towards an Agent Oriented approach to Software Engineering Anna Perini and Paolo Bresciani ITC-IRST Via Sommarive 18, 38055 Povo, Trento, Italy perini,bresciani @irst.itc.it John Mylopoulos Department
Goal-Based Self-Contextualization
Goal-Based Self-Contextualization Raian Ali, Fabiano Dalpiaz Paolo Giorgini University of Trento - DISI, 38100, Povo, Trento, Italy {raian.ali, fabiano.dalpiaz, paolo.giorgini}@disi.unitn.it Abstract.
The i* conceptual model for requirements analysis
Information Systems Analysis and Design The i* conceptual model for requirements analysis Background and Motivations Basic concepts The Strategic Dependency Model Example + Exercise i* modeling framework
Using i* Meta Modeling for Verifying i* Models
Antonio de Padua Albuquerque Oliveira 1, 2, Julio Cesar Sampaio do Prado Leite 2, Luiz Marcio Cysneiros 3 1 Universidade do Estado do Rio de Janeiro UERJ Rua São Francisco Xavier, 524-6 andar - Maracanã
feature requirements engineering
feature requirements engineering Exploring Alternatives during Requirements Analysis John Mylopoulos, University of Toronto Goal-oriented requirements analysis techniques provide ways to refine organizational
Elicitation and Modeling Non-Functional Requirements A POS Case Study
Elicitation and Modeling Non-Functional Requirements A POS Case Study Md. Mijanur Rahman and Shamim Ripon, Member IACSIT Abstract Proper management of requirements is crucial to successful development
Mastem: A Mathematics Tutoring Multi-Agent System
Mastem: A Mathematics Tutoring Multi-Agent System Jéssyka Vilela 1, Ricardo Ramos 2, Jaelson Castro 1 1 Universidade Federal de Pernambuco Centro de Informática Av. Jornalista Anibal Fernandes, S/N, Cidade
Elicitation and Modeling Non-Functional Requirements A POS Case Study
Elicitation and Modeling Non-Functional Requirements A POS Case Study Md. Mijanur Rahman and Shamim Ripon, Member IACSIT Abstract Proper management of requirements is crucial to successful development
To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT
To Comply Software and IT System Development with Related Laws Fatemeh Zarrabi Supervising team: Haris Mouratidis, David Preston, Shareeful Islam School of Computing, Information Technology and Engineering,
Modeling Mental States in Requirements Engineering An Agent-Oriented Framework Based on i* and CASL
Modeling Mental States in Requirements Engineering An Agent-Oriented Framework Based on i* and CASL Alexei Lapouchnian A thesis submitted to the Faculty of Graduate Studies in partial fulfillment of the
Goal-Oriented Requirements Engineering: An Overview of the Current Research. by Alexei Lapouchnian
Goal-Oriented Requirements Engineering: An Overview of the Current Research by Alexei Lapouchnian Department of Computer Science University Of Toronto 28.06.2005 1. Introduction and Background...1 1.1
On the Adequacy of i* Models for Representing and Analyzing Software Architectures
On the Adequacy of i* Models for Representing and Analyzing Software Architectures Gemma Grau and Xavier Franch Universitat Politècnica de Catalunya c/ Jordi Girona 1-3, Barcelona E-08034, Spain {ggrau,
Lecture 3 Topics on Requirements Engineering
Lecture 3 Topics on Requirements Engineering Some material taken from the Tropos project at U of T Copyright Yijun Yu, 2005 Course information Let s vote Course Project/Final Exam 50-50 or 60-40? Midterm/Final
How To Develop A Multi Agent System (Mma)
S-Tropos: An Iterative SPEM-Centric Software Project Management Process Yves Wautelet, Manuel Kolp, Youssef Achbany IAG Institut d Administration et de Gestion, ISYS Unité de Systèmes d Information, Université
Combining i* and BPMN for Business Process Model Lifecycle Management
Combining i* and BPMN for Business Process Model Lifecycle Management George Koliadis 1, Aleksandar Vranesevic 1, Moshiur Bhuiyan 1, Aneesh Krishna 1, and Aditya Ghose 1 1 School of Information Technology
Business modeling with the support of multiple notations in requirements engineering
University of Wollongong Research Online Faculty of Engineering - Papers (Archive) Faculty of Engineering and Information Sciences 2010 Business modeling with the support of multiple notations in requirements
Towards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,
GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
13_BOLCHINI.qxd 3/26/2003 10:25 Pagina 187 SComS: New Media in Education (2003) 187-191 DAVIDE BOLCHINI* GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
Location-based Software Modeling and Analysis: Tropos-based Approach
Location-based Software Modeling and Analysis: Tropos-based Approach Raian Ali, Fabiano Dalpiaz, and Paolo Giorgini University of Trento - DISI, 38100, Povo, Trento, Italy. {raian.ali, fabiano.dalpiaz,
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Tropos: An Agent-Oriented Software Development Methodology
Autonomous Agents and Multi-Agent Sytems, 8, 203 236, 2004 Ó 2004 Kluwer Academic Publishers. Manufactured in The Netherlands. Tropos: An Agent-Oriented Software Development Methodology PAOLO BRESCIANI
A Framework for Requirements Traceability in UML-based Projects
A Framework for Requirements Traceability in UML-based Projects Patricio Letelier Department of Information Systems and Computing Technical University of Valencia (Spain) [email protected] Abstract
Using i for Transformational Creativity in Requirements Engineering
Using i for Transformational Creativity in Requirements Engineering Sushma Rayasam and Nan Niu Department of EECS, University of Cincinnati Cincinnati, OH, USA 45221 [email protected], [email protected]
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology
An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology A.Fatemi 1, N.NematBakhsh 2,B. Tork Ladani 3 Department of Computer Science, Isfahan University,
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
STREAM-ADD Supporting the Documentation of Architectural Design Decisions in an Architecture Derivation Process
2012 IEEE 36th International Conference on Computer Software and Applications STREAM-ADD Supporting the Documentation of Architectural Design Decisions in an Architecture Derivation Process Diego Dermeval
Lecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
Requirements Engineering Process
Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their
A Vulnerability-Centric Requirements Engineering Framework: Analyzing Security Attacks, Countermeasures, and Requirements Based on Vulnerabilities
A Vulnerability-Centric Requirements Engineering Framework: Analyzing Security Attacks, Countermeasures, and Requirements Based on Vulnerabilities Golnaz Elahi University of Toronto [email protected]
Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development
The 4th IFIP WG8.1 Working Conference on the Practice of Enterprise Modelling PoEM 2011 Universidade Federal de Pernambuco Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development
An Integrated Quality Assurance Framework for Specifying Business Information Systems
An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
On Non-Functional Requirements
On Non-Functional Requirements Martin Glinz Department of Informatics, University of Zurich, Switzerland [email protected] Abstract Although the term non-functional has been in use for more than 20 years,
FIVE LAYERED MODEL FOR IDENTIFICATION OF
FIVE LAYERED MODEL FOR IDENTIFICATION OF SOFTWARE PERFORMANCE REQUIREMENTS Gopichand.Merugu 1 and AnandaRao.Akepogu 2 1 Associate. Professor, CSE, Department, BVRIT,Narasapur,Andhrapradesh,India [email protected]
Security Attack Testing (SAT) testing the security of information systems at design time $
Information Systems 32 (2007) 1166 1183 www.elsevier.com/locate/infosys Security Attack Testing (SAT) testing the security of information systems at design time $ Haralambos Mouratidis a,, Paolo Giorgini
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Business Process Configuration with NFRs and Context-Awareness
Business Process Configuration with NFRs and Context-Awareness Emanuel Santos 1, João Pimentel 1, Tarcisio Pereira 1, Karolyne Oliveira 1, and Jaelson Castro 1 Universidade Federal de Pernambuco, Centro
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Component Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
A Systematic Review Process for Software Engineering
A Systematic Review Process for Software Engineering Paula Mian, Tayana Conte, Ana Natali, Jorge Biolchini and Guilherme Travassos COPPE / UFRJ Computer Science Department Cx. Postal 68.511, CEP 21945-970,
Understanding Software Ecosystems: A Strategic Modeling Approach
Understanding Software Ecosystems: A Strategic Modeling Approach Eric Yu and Stephanie Deng Faculty of Information, University of Toronto, Toronto, Canada M5S 3G6 Abstract. Software ecosystems is an increasingly
A proposal for a method to translate MAP model into BPMN process diagram
JOURNAL OF SOFTWARE, VOL. 9, NO. 10, OCTOBER 2014 2645 A proposal for a method to translate MAP model into BPMN process diagram Houda Kaffela a a RIADI Laboratory-ENSI, University of Manouba, Manouba,
A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations
A Modeling Ontology for Integrating Vulnerabilities into Security Requirements Conceptual Foundations Golnaz Elahi 1, Eric Yu 2, and Nicola Zannone 3 1 Department of Computer Science, University of Toronto
3SL. Requirements Definition and Management Using Cradle
3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Performing Early Feasibility Studies of Software Development Projects Using Business Process Models
Performing Early Feasibility Studies of Software Development Projects Using Business Process Models Ayman A. Issa, Faisal A. Abu Rub ABSTRACT A new approach to perform feasibility studies using business
However, the marketplace for replaceable components is still not at sight due to many
Software Replaceability: An NFR Approach Lei Zhang Lawrence Chung Jing Wang Department of Computer Science The University of Texas at Dallas {lei74, chung, jwang}@ utdallas.edu Abstract Building software
Business Process Modelling Languages, Goals and Variabilities
Business Process Modelling Languages, Goals and Variabilities Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led
Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led Course Description Full-Spectrum Business Analyst Training and Skills Development. Course Objectives Bridge the expectations gap between
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
An XML Definition Language to Support Use Case-Based Requirements Engineering
An XML Definition Language to Support Use Case-Based Requirements Engineering M. Golbaz, A. Hasheminasab, and N. Daneshpour Abstract The focus of this paper is to introduce a theory based on a wide-spreading
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Eric S. K. Yu Faculty of Information Studies, University of Toronto Toronto, Ontario, Canada M5S 3G6 Abstract Requirements
Understanding the Role of Enterprise Architecture. towards Better Institutionalization
Understanding the Role of Enterprise Architecture towards Better Institutionalization Lawrence Chung Hyun-Kyung Song Yeong-Tae Song Nary Subramanian University of Texas at Dallas Towson University University
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
Section C. Requirements Elicitation
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike License. Your use of this material constitutes acceptance of that license and the conditions of use of materials on this
Use Cases. Use Cases Diagrams
Use Cases Use cases Information Acquisition -- 1 Use Cases Diagrams Textual descriptions of the functionality of the system from user s perspective In our case we consider is the ACTOR perspective Used
TOWARDS A FRAMEWORK INCORPORATING FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTS FOR DATAWAREHOUSE CONCEPTUAL DESIGN
IADIS International Journal on Computer Science and Information Systems Vol. 9, No. 1, pp. 43-54 ISSN: 1646-3692 TOWARDS A FRAMEWORK INCORPORATING FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTS FOR DATAWAREHOUSE
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
Facilitating Business Process Discovery using Email Analysis
Facilitating Business Process Discovery using Email Analysis Matin Mavaddat [email protected] Stewart Green Stewart.Green Ian Beeson Ian.Beeson Jin Sa Jin.Sa Abstract Extracting business process
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
Evolving System Architecture to Meet Changing Business Goals. The Problem
Evolving System Architecture to Meet Changing Business Goals An Agent and Goal-Oriented Approach Daniel Gross & Eric Yu Faculty of Information Studies University of Toronto May 2001 1 The Problem How to
Modelling Organizational Issues for Enterprise Integration
Modelling Organizational Issues for Enterprise Integration Eric S. K. Yu and John Mylopoulos Faculty of Information Studies, University of Toronto, Toronto, Ontario, Canada M5S 3G6! #"$ % ept. of Computer
Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations
Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Mennatallah H. Ibrahim Department of Computers and Information Sciences Institute
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
INFORMATION INTEGRATION ARCHITECTURE DEVELOPMENT: A MULTI-AGENT APPROACH
INFORMATION INTEGRATION ARCHITECTURE DEVELOPMENT: A MULTI-AGENT APPROACH Stéphane Faulkner, Manuel Kolp, Tai Nguyen, Adrien Coyette, Tung Do Information Systems Research Unit, University of Louvain, 1
