From Early Requirements to Late Requirements: A goal-based approach 1

Size: px
Start display at page:

Download "From Early Requirements to Late Requirements: A goal-based approach 1"

Transcription

1 From Early Requirements to Late Requirements: A goal-based approach 1 Alicia Martínez 1,2, Oscar Pastor 1, John Mylopoulos 3, Paolo Giorgini 3 1 Valencia University of Technology, Valencia, Spain {alimartin, opastor}@dsic.upv.es 2 ITZ, Zacatepec, Mor. Mexico 3 University of Trento, Italy jm@cs.toronto.edu paolo.giorgini@dit.unitn.it Abstract. At present, the software engineering community places emphasis on the relevance of understanding the organizational context before starting the development of an information system. In this context, several research works focus on proposing mechanisms to generate information systems from early requirements specifications in an agent-based approach. However, only a few research works offer a guided process for carrying out the equivalence between the organizational and requirements models. In this paper, a methodological approach for deriving the software system functionality from organizational models is presented. In the proposed method, the organizational goals are the basis for determining the relevant plans to be automated with a software system. A pattern language is also used to systematically carry out the equivalence between the organizational and late requirements models. The Tropos Framework (which is one of the most well-founded, agent-oriented methodologies) is used to represent the organizational environment. By proposing rules to perform the model transformation process, we go a step further in the process of including organizational modeling as a key piece in the software production process 1. Introduction In recent years, considerable attention has been given to agent technologies in the early phase of requirements engineering. This interest is motivated by the need for mechanisms that allow us to ensure that the functionality of the information system correctly fits the organizational context where the systems will work. In this context, the agent-modeling concepts (communication, cooperation among agents, goals, beliefs, and intentions) properly fit the semantics of the social relationships of the enterprise. At present, Tropos [3] provides analysts with powerful mechanisms to develop information systems taking into account all the phases of agent software development (from early requirements to implementation) in an agent-based 1 This work has been partially supported by the MEC project with ref. TIN , the Valencia University of Technology, Spain, Care Technologies Enterprise Inc.

2 approach. However, one of the main weaknesses of current agent approaches is the lack of a guided approach for carrying out the equivalence between the organizational and software requirements models. This lack of methods to clearly establish this model correspondence has lead to limitations in the usefulness of these works in practice with real software development environments. In almost of these current research works, the software requirements are obtained in an approach that directly associates organizational plans with expected functionalities in the software system. However, we consider that it is necessary analyze not only the organizational context in order to determine the processes to be automated, but also it is necessary to determine how the system-to-be could be useful for satisfying the organizational goals. The main contribution of this paper consists in providing a methodological approach for deriving the software functionality from organizational models. In order to make the model transformation guided, we propose a set of rules to identify the relevant plans to be automated from the goals of the stakeholders (represented as actors). The proposed approach also allows us to identify the best way to delegate the relevant plans towards the software system actor. To do this, a pattern language which considers all the possibilities that exist to delegate plans and goals from the stakeholders to the software system has been proposed. As result, the system-to-be and its components are represented as a new actor who is responsible for the fulfillment of the relevant plans. The proposed approach will enable us to reduce the abstraction level of a pure organizational model so that it is closer to the requirements model. This paper is structured as follows: Section 2 explains the description of the proposal. Section 3 details the goal-based requirements elicitation process. Section 4 presents the late requirements generation process. The section 5 exposes the related works, and finally, Section 6 presents the conclusions and future work. 2. Description of the Proposal Following, an overview of the proposed method is presented. It is necessary to point out that the proposed approach could be applied not only in agent-oriented software generation environments, but also in traditional object-oriented software development methodologies. The development of agent-systems involves the analysis of autonomy, proactiviness, sociality, and other specific aspects in order to specify the expected behavior of the software agents in the system. This is the reason why, at present, the agent-based system development involvers more modeling activities that those required to develop object-oriented systems, where the focus of the modeling is placed on the determination of the expected functionally of a conventionally passive, no proactive, and centralized traditional software system. However, we argue that the analysis performed in the agent-oriented approach can also be very useful in the object-oriented development process. The use of goals, softgoals, plans, dependencies, and intentional concepts can play a relevant role in correctly capturing the semantics of the enterprise, which will be the basis for

3 determining the expected functionality of the information system. In this context, in our proposal we use the social and intentional agent-based concepts of Tropos to correctly represent the enterprise behavior, and also we use this information for taking the correct design decision about the system-to-be. It is true that not all the information captured in an agent-based early requirement phase must be used in the implementation of an object-oriented system. However, we argue that the value of the agent-oriented modeling to provide precise justifications for each software requirement provides good reason to mixture both approaches. The research work presented in this paper has been made in the context of the OO- Method project ( OO-Method is an industrial, modeltransformation method that relies on a CASE tool [11] to automatically generate complete information systems from object-oriented conceptual models. The OO- Method can be viewed as a computer-aided requirements engineering (CARE) method where the focus is on properly capturing system requirements in order to manage the complete software production process. The resulting conceptual model specifies the problem to be solved (problem space). Then, an abstract execution model is provided to guide the implementation of these requirements in a specific software development environment (solution space). The abstract execution model is based on the idea of transforming a set of precise conceptual modelling constructs into their associated, precise software representations. The implementation of the corresponding set of mappings between conceptual constructs and software representations constitutes the core of a Conceptual Model Compiler. The OO-Method approach provides a well-defined software representation of the required representations in the solution space. The final software product is functionally equivalent to the requirements specification (Fig. 1). Despite the advantages of the OO-Method approach for automatically generating information systems from requirement models, there are currently no adequate mechanisms to obtain the correct requirements of the information systems. Therefore, the main idea of the proposed work is using an early requirements phase to have a deep understanding of the enterprise setting, and using this information for generating the correct requirements of the information system-to-be. The proposed method starts with the definition of an organizational model that represents the relevant actors and its goals (Fig. 1). Following, a goal analysis process is carried out in order to identify the relevant plans that fulfill the organizational goals. As result of this process, the relevant plans to be automated are identified. In the second process, we use transformational rules (defined by a set of patterns) to generate a new organizational model. In this model, the software system is represented within its operational environments besides its functions and relevant characteristics. This new model will be the final result of our proposed method. The evaluation of the methodological approach proposed in this paper has been done using the Car Rental Management project. This is a real project of the Care Technology Company, which concerns the organizational modeling for a car rental enterprise in Alicante, Spain. The case study includes the following: the processes for renting cars; additional services such as car maintenance and repair; rentals of traditional services (such as telephone, chauffeurs, etc.).

4 Problem Space Level Late Requirements Goal-based Requirements elicitation tasks to be ments generation process automated process Input Process 1 Output Process 2 1 Software System Relevant Late require- diagram Obtain New organizational model with the SSA 1 Output Automated Translation Conceptual Model Object Model Navigational Model Dynamic Model Functional Model Presentation Model Uses Repository Formal Specification Application Tier (.NET, EJB) Persistence Tier (SQL Server, ORACLE) Interface Tier (Visual Environments, Web, XML) Solution Space Level Empiricism (ESE) Care Technologies, S.A. Fig. 1. The goal-oriented requirements elicitation process for the OO-Method approach 3. Goal-based requirements elicitation process One of the key points to generate software systems that fulfill user s needs is the correct selection of the mechanisms for eliciting the software requirements. In this context, the Tropos modeling framework has been found to be effective in facilitating the representation of the actor s behaviors and the rationales behind these behaviors. This is relevant because if the system being developed will be employed to automate some of the plans that the actors execute, then the functionalities of the system will correspond to the actors' activities. This is the reason why, in this paper, the Tropos methodology (which adopts the i* modeling concepts [14]) is used to support the early requirements phase. The Tropos early modeling phase concerns the identification and analysis of the stakeholders and their intentions. Stakeholders are modeled as social actors who depend on one another for goals to be achieved, plans to be performed and resources to be furnished. Intentions are models as goals which, through a goal-oriented analysis, are decomposed into sub-goals, which eventually can support evaluation of alternatives. The Tropos framework is made up of two social models that complement each other: the goal diagram for describing the network of relationships among actors, as well as the actor diagram for describing and supporting the reasoning that each actor goes through concerning its relationships with other actors.

5 In this paper, the Tropos methodology has been adapted for the particular purposes of eliciting the current enterprise situation. This is because the original Tropos methodology is focus on the representation of the future enterprise situation, starting with the goals of the enterprise and determining the space of alternatives for fulfilling these goals (designing from scratch). In our case, we focus on eliciting the current enterprise situation of an existing enterprise in order to determining those organizational plans that need to be automated. These plans will constitute the functional requirements of the system-to-be. The Goal-based elicitation process is composed by two phases: (1) goal refinement, and (2) analysis of contributions. Following, each process is presented. Phase 1: Goal Refinement. The objective of goal refinement is to decompose each high-level goal (those that represents strategic interests to be fulfilled) of the enterprise into more specific subgoals until the level of description of the specific current plans of the organizational actor is reached. To do this, we use the modeling concepts proposed in the Tropos Framework for goal analysis. As a first step of this process, an actor diagram that only shows the current goals and dependencies among the actors must be created. Figure 2 presents a partial view of the actor diagram for the car rental case study. In this model, the goals (represented as ovals) of customer, employee, and mechanic actors (represented as circles) are shown. The arrows indicate dependency relationships between actors. For example, the Employee depends on the Mechanics for having the car ready to be rented. Rent Cars Car Employee Rent Car Management Car Mechanic Car Maintenance Hardgoal Resource Dependency Fig. 2. Partial view of the actor diagram for the car rental case study Next, each goal of the actor diagram must be refined in order to create a goal diagram which shows the goals and plans that the organizational actors must fulfill in order to satisfy the organizational goals. In this modeling stage, it is possible to construct the specific goal model for each actor using refinement or abstraction strategies. In the refinement strategy, it is necessary to select some of the goals of the organization and determine the subset of sub-goals that permit to satisfy them. This information is used to construct the high levels of the goal structure. The refinement process ends when the current plans that the actor perform to fulfill their goals are represented in the model. In the abstraction strategy, it is necessary to detect the plans that perform the organizational actor. Later, it is necessary to determine the objective of the execution of the actor plans in order to specify the low-level goals of the actor. This information is used to construct the low levels of the goal structure. The abstraction process ends when the current plans and low-level goal are matched with the goals represented in the actor diagram. To perform the refinement and abstraction process we use AND/OR decomposition, means-end, or contribution links provides by the Tropos Framework.

6 In the case of the softgoals, the refinement process ends with the determination of means that help to satisfy the softgoal. In our analysis, the softgoals are used to represent the quality factors that the Enterprise wants to fulfill. The quality factors will help the organization to improve the performance of the business processes and management systems. In the literature, there are many authorized quality attribute taxonomies [2][7]. However, we selected only a set of quality factors that are relevant in the context of our case study: Competitiveness: this quality factor refers to the characteristics (profitability, costs, and quality) that permit an enterprise to compete effectively with other firms. Performance: this quality factor refers to the response and processing times of the business processes. Security: this quality factor refers to the ability to prevent unauthorized access to the information used by the enterprise. These quality attributes have been selected based on the specific needs of the car rental enterprise analyzed in our case study. However, it is true that some rental companies can consider a different set of quality attributes. For this reason, the determination of the quality attribute is a customer-based decision. The quality factors (represented as a cloud figure) must also be decomposed into the goal diagram. Figure 3 presents a partial view of the goal diagram for employee actor. In this example, the general goal of the Employee actor Sale car management is refined into alternative sub-goals: 1) carry out s directly in the branch, and 2) carry out s using alternative ways (such as internet or phone s). The goal carry out s directly in the branch is refined into three sub-goals using And decomposition: analyze customer, analyze the car, and formalize the rent. The goal refinement process finishes when the plans (represented as hexagons) for fulfilling the goals are identified. AND Decomposition link OR Decomposition link Means-end link Boundary actor Rent Car Management Employee Carry out s... Carry out s using alternative ways directly in the branch Competitiveness To make reserva- the car To make s by internet tions by phone Improve the customer Formalize... service the To have availa- Security bility of cars customer To analyze in this branch To analyze in other branches Formalize... the Obtain the... Draw up Perform- Register Register rent contract ance payment Search the the credit card Fig. 3. Partial view of the goal diagram for the car rental case study Once the refinement of the goals has been carried out, and the quality factors desired by the company have been identified and decomposed, the next step in the

7 proposed method will be focused on the analysis of contributions between the elicited plans and the selected quality factors. Phase 2: Analysis of contributions in the quality factors. The second phase of the goal-based requirements elicitation process is the analysis of contributions in the quality factors. The contributions describe the (positive or negative) influence of a goal or plan in the satisfaction of a quality factor (softgoal) [6]. The first step of this process consists of propagating each final plan (those organizational plans that are not decomposed into other sub-goals or into sub-plans) into two alternative sub-plans: manual or automatic execution. The automatic execution of a plan represents the execution through a software system that automatically performs the organizational plans. The second step consists of associating the plans with the selected quality factors. Therefore, we have to determine the positive or negative contribution of the manual and automatic plan execution with the quality attributes that the Enterprise wants to fulfill. Finally, the third step consists of identifying the plans that best fulfill the quality factors. Following the car rental case study, Figure 4 presents a fragment of the model of quality factors contributions for the Employee actor. The plans: Search and credit card have been propagated in two sub-plans to represent the manual and automatic execution of these plans. For each propagated plan, contribution links are created to associate the plans with the quality factors. This is done in order to identify the influence of the plans with the quality attributes. For example, the manual execution of the plan analyze credit card has a negative contribution with the Performance. We consider that the selection of the correct plan to be automated is not always a trivial task. This is because the contribution analysis can lead to contradictions among the alternatives to satisfy the quality factors. In order to resolve the contradictory cases, it is necessary to compare the kind of contributions of the propagated plans (manual or automatic option) with the selected quality factors. For example, in the case of the plan Search, the plan Search (automatic) positively contributes to the quality factor Performance; however, this plan has a negative contribution to the quality factor Security. In this case, the option that seems to be more convenient is the manual execution of the plan. In order to solve this conflict, the analysts have to determine the priority quality factors for choosing the plans that need to be automated. Table 1 shows the relation among the alternatives to satisfy the organizational plans and the proposed quality attributes. The table also shows the plans selected to be automated according with their positive contribution to the quality factors. Carry out s Directly in the branch Employee... credit card Search Automatic Manual Automatic Manual + Competitiveness Performance Security +/-/++/-- Contribution Fig. 4. Contributions of plans to quality factors

8 Table 1 Matrix of plans and contributions for the car rental case study Plans Competitiveness Performance Security Obtain (Manual) Obtain (Automatic) *To be automated Search (Manual) Search (Automatic) *To be automated credit card (Manual) credit card (Automatic) Obtain info (Manual) Obtain info (Automatic) *To be automated Sear car (Manual) Sear car (Automatic) *To be automated Register (Manual) Register (Automatic) *To be automated Register rent payment (Manual) Register rent payment (Automatic) *To be automated Draw up contract (Manual) Draw up contract (Automatic) As a result of the previous steps (goal refinement and contribution analysis) the plans that best satisfy the quality attributes of the enterprise have been identified. These relevant plans represent the requirements to be considered in the construction of the software system. Figure 5 shows a fragment of the organizational model where the relevant plans to be automated have been remarked. Cars Sale Management Legend Plan to be automated Info Carry out s... using alternative ways Carry out s Employee directly in the branch To make reserva- To make s by internet tions by phone the car Formalize customer the To analyze availa- To handover bility in this branch To analyze car Formalize customer in the other branches Search car Delivery car Obtain the Register Draw up contract Register rent Delivery Obtain reser- payment To solicit car Search the vation info car garage Search car the credit card Get a car Car Rent cars Purchase Car To do Provide info Provide info personal Get a car Info Card Car maintenance To have ready car Provide maintenance to cars To have Mechanic conditions each car To have ready car To have clean car Delivery car Fig. 5. Partial view of the organizational model with the selected relevant plans.

9 4. Late requirements generation process The main objective of this modeling stage is to propose a pattern language that permits us to delegate the plans and goals for the SSA (Software System ). The main advantage of the proposed pattern language is the systematic generation of a new organizational model that contains all the relevant information for constructing a software system that gives solutions to the problems detected in the goal reduction process. This systematic approach makes it possible to include a late requirements phase in model-driven generation environments (such is the case of OO-Method). Table 2 shows a brief description of the proposed pattern language called FELRE (From Early Requirements to Late Requirements). A preliminary definition of the proposed pattern language can be found in [10]. Table 2. A brief description of the FELRE patterns Name of pattern Use Element to be automated The Final Plan without dependencies Automation Pattern To be used when a final plan without dependencies needs to be automated. Final Plan The General Plan or General goal Automation Pattern To be used when a General Plan or General Goal needs to be automated. General goal The Depender-Dependee Plan Automation Pattern The Depender Plan Automation Pattern To be used when the plans to be automated are both the depender actor plan and the dependee actor plan. To be used when the depender actor plan must be automated. Dependee Depender The Dependee Plan Automation Pattern. To be used when the dependee actor plan must be automated. Dependee Dependee Depender Depender In order to apply the pattern language, the following steps must be performed: (1) Identify the relevant plans to be automated. In this step, we use the plans selected in the goal analysis phase. (2) Place the SSA into the new organizational model; also place all the actors that have plans, goals, or dependency relationships to be automated. (3) Transfer the plans or goals to be automated to the SSA. To perform this step, each goal decomposition tree in the organizational actor must be analyzed. Then the appropriate pattern to delegate the plans or goals to be automated to the SSA must be used. The complete description of the application of the pattern language has been presented in detail in [10]. Figure 6 shows a partial view of the organizational model generated for the pattern language. This model includes the SSA and the actors that interact with the SSA. The new organizational model represents the final result of the application of the goal analysis and the pattern language. In this model, the software system is represented

10 as an actor (car rental system). The specification of the internal elements of this actor represents all the functionalities that this actor must provide for fulfilling the organizational goals. The model also represents the interactions among the organizational actors and the software system. Cars Sale Management customer the car Formalize the Car Rental System customer Search car Formalize the Obtain the Search the Obtain info Search car Register Register rent payment Payment Reservation info Info Info Stated Employee Reservation info Availability cars Availability cars Other Branch Register Payment Fig. 6. Partial view of the organizational model which includes the software system actor 5. Related work Nowadays, several research efforts use goal mechanisms for supporting the requirements elicitation process. One of the most relevant works in this field if the KAOS approach [9][8][5]. KAOS provides formal rules for deriving requirements based on theories of formal specification languages. This method analyzes functional and non functional requirements. However, the use of this approach is restricted to analysts that are used to dealing with formal methods as a current concept in their modeling activities. KAOS also provides only a little support for goal reasoning about the alternatives to satisfy the organizational goals. Another goal oriented method is GBRAM (Goal Based Requirements Analysis Method) [12][1], which is focused on the generation of operational requirements from high level goals. However, this method does not establish a clear distinction between the information used in the early and late requirements phase [13].

11 As a consequence of this problem, GBRAM does not have a clear representation of the complete process for software development. Another important goal research work is the Framework NFR proposed in [4]. This approach is to focus on analyzing the impact of non functional requirements in the process for software development. The main difference among the current goal-based approaches and the proposed approach is the use of a method that guides the analyst in the construction of an information system from the organizational goals. This proposed method makes emphasis in the early and late requirements phases. The method also provides a pattern language that helps to join these modeling phases in a systematic approach. 6. Conclusions and Future work In this paper, a methodological approach to identify the relevant plans to be automated with an information system is proposed. The method is composed by two main processes: the goal analysis and the application of the pattern language. The objective of the first process is to identify the relevant plans to be automated. To do this, the goals are decomposed until the level of specific plans to satisfy the goals is reached. In this process, the quality factors that the enterprise wants to fulfill (using a software system) are identified, and the contradictions and contributions among the plans and the quality factors are analyzed. All this information concerns the early requirements phase. The objective of the second process is to delegate the relevant plans to be automated to a new organizational actor that represents the software system. This process is carried out through a pattern language which permits us to guide the construction of the new organizational model with the SSA. The new organizational model explicitly represents the interactions among the software system actor, the organizational actors, and the organizational context in which the software system will be used. In this way, the proposed pattern language will permit to join the early and late requirements phases in a systematic way. The research work presented in this paper is part of a more general project proposed to include an organizational modeling phase in the OO-Method approach. This is a model-transformation method that automatically generates complete information systems from object-oriented conceptual models. Currently, we are working on the improvement of the rules to generate an object-oriented conceptual schema from the organization model generated in the proposed approach. References 1. Anton, A. Goal Identification and Refinement in the Specification of Software-Based Information Systems. Ph.D. Thesis, Georgia Institute of Technology, Atlanta, GA, USA, June Boehm, B., Brown, J.R., Kaspar, H., Lipow, M., McLeod, G., Merritt, M. Characteristics of Software Quality. TRW Series of Software Technology. North Holland, Amsterdam, 1978.

12 3. Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., and Mylopoulos, J. TROPOS: an agent-oriented software development methodology. Journal of Autonomous Agents and Multiagent Systems, 8 (3): , July Chung, L., Nixon, B., Yu, E. and Mylopoulos, J. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers Dardenne, A., van Lamsweerde, A., and Fickas S. Goal directed requirements acquisition. Science of Computer Programming, 20(1-2): 3-50, Giorgini, P., Mylopoulos, J., Sebastiani, R. Goal-Oriented Requirements Analysis and Reasoning in the Tropos Methodology. In Engineering Applications of Artificial Intelligence, Elsevier, 18(2), March International Standard ISO/IEC 9126: Quality Characteristics and Guide Lines for their use. Geneve (Switzerland), Lamsweerde, A. Goal-Oriented Requirements Engineering: A Guided Tour. Invited minitutorial, Proceeding 5th IEEE International Symposium on Requirements Engineering, pages: , Toronto, Canada, August Letier, E. and van Lamsweerde, A. Reasoning about Partial Goal Satisfaction for Requirements and Design Engineering. Proceedings of FSE 04, 12th ACM International Symp. on the Foundations of Software Engineering, pages: 53-62, Newport Beach (CA), November Martínez, A., Pastor, O., Estrada, H. A pattern language to join early and late requirements. In Journal of Computer Science and Technology, special issue on Software Requirements Engineering. 2(5): 64-70, August, Pastor, O., Gómez, J., Infrán, E., and Pelechano, V. The OO-Method approach for information systems modeling: from object-oriented conceptual modeling to automated programming. Information Systems, 26(7): , Potts, C., Takahashi, K., Anton, A. Inquiry-Based Requirements Analysis. IEEE Software, pages: 21-32, March Yu, E. Towards Modelling and Reasoning support for Early-Phase Requirements Engineering. Proceedings of the 3rd. IEEE International Symposium on Requirements Engineering (RE'97), IEEE Computer Society, pages , Washington, USA Yu E. Modelling Strategic Relationships for Process Reengineering. Published Doctoral dissertation, University of Toronto, Canada, 1995.