PROCESS USE CASES: USE CASES IDENTIFICATION

Similar documents
PESIT SOUTH CAMPUS 10CS71-OBJECT-ORIENTED MODELING AND DESIGN. Faculty: Mrs.Sumana Sinha No. Of Hours: 52. Outcomes

Specification of the Verity Learning Companion and Self-Assessment Tool

Implementing a tool to Support KAOS-Beta Process Model Using EPF

An Open Framework for Integrated Qualification Management Portals

Deploying Agile Practices in Organizations: A Case Study

Pragmatic Use Case Writing

Generating Test Cases From Use Cases

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

Ministry of Education, Republic of Palau Executive Summary

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Nearing Completion of Prototype 1: Discovery

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

The Enterprise Knowledge Portal: The Concept

Modeling user preferences and norms in context-aware systems

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

USER ADAPTATION IN E-LEARNING ENVIRONMENTS

A process by any other name

Unit 7 Data analysis and design

OCR LEVEL 3 CAMBRIDGE TECHNICAL

An Industrial Technologist s Core Knowledge: Web-based Strategy for Defining Our Discipline

Use of CIM in AEP Enterprise Architecture. Randy Lowe Director, Enterprise Architecture October 24, 2012

Ontologies vs. classification systems

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Introducing New IT Project Management Practices - a Case Study

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

The open source development model has unique characteristics that make it in some

Knowledge Elicitation Tool Classification. Janet E. Burge. Artificial Intelligence Research Group. Worcester Polytechnic Institute

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Software Maintenance

The Seven Habits of Effective Iterative Development

EDITORIAL: ICT SUPPORT FOR KNOWLEDGE MANAGEMENT IN CONSTRUCTION

UML MODELLING OF DIGITAL FORENSIC PROCESS MODELS (DFPMs)

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

IT4305: Rapid Software Development Part 2: Structured Question Paper

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

Patterns for Adaptive Web-based Educational Systems

Strategy and Design of ICT Services

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

On-Line Data Analytics

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Towards a Collaboration Framework for Selection of ICT Tools

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

MULTIDISCIPLINARY TEAM COMMUNICATION THROUGH VISUAL REPRESENTATIONS

COURSE LISTING. Courses Listed. Training for Cloud with SAP SuccessFactors in Integration. 23 November 2017 (08:13 GMT) Beginner.

Teaching Tornado. From Communication Models to Releases. Stephan Krusche. Department of Computer Science, Technische Universitaet Muenchen

Visual CP Representation of Knowledge

Shared Mental Models

Prepared by: Tim Boileau

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

Experience and Innovation Factory: Adaptation of an Experience Factory Model for a Research and Development Laboratory

Requirements-Gathering Collaborative Networks in Distributed Software Projects

Conceptual modelling for simulation part I: definition and requirements

EUA Annual Conference Bergen. University Autonomy in Europe NOVA University within the context of Portugal

Utilizing Soft System Methodology to Increase Productivity of Shell Fabrication Sushant Sudheer Takekar 1 Dr. D.N. Raut 2

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Firms and Markets Saturdays Summer I 2014

BPS Information and Digital Literacy Goals

An NFR Pattern Approach to Dealing with Non-Functional Requirements

Functional requirements, non-functional requirements, and architecture should not be separated A position paper

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

Operational Knowledge Management: a way to manage competence

ICT Strategy of Universities

5th Grade English Language Arts Learning Goals for the 2nd 9 weeks

Automating the E-learning Personalization

The Dynamics of Social Learning in Distance Education

DICTE PLATFORM: AN INPUT TO COLLABORATION AND KNOWLEDGE SHARING

AGENDA LEARNING THEORIES LEARNING THEORIES. Advanced Learning Theories 2/22/2016

AUTHORING E-LEARNING CONTENT TRENDS AND SOLUTIONS

Identifying Novice Difficulties in Object Oriented Design

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Learning Microsoft Office Excel

A Pipelined Approach for Iterative Software Process Model

THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY

An Approach for Creating Sentence Patterns for Quality Requirements

Developing True/False Test Sheet Generating System with Diagnosing Basic Cognitive Ability

USING SOFT SYSTEMS METHODOLOGY TO ANALYZE QUALITY OF LIFE AND CONTINUOUS URBAN DEVELOPMENT 1

Activity Analysis and Development through Information Systems Development

Vorlesung Mensch-Maschine-Interaktion

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

This is the author s version of a work that was submitted/accepted for publication in the following source:

QUT Digital Repository:

Major Milestones, Team Activities, and Individual Deliverables

e-learning Coordinator

The Wegwiezer. A case study on using video conferencing in a rural area

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

CRC cards to support the development and maintenance of product configuration systems

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

1. Professional learning communities Prelude. 4.2 Introduction

Problem and Design Spaces during Object-Oriented Design: An Exploratory Study

THE HUMAN SEMANTIC WEB SHIFTING FROM KNOWLEDGE PUSH TO KNOWLEDGE PULL

Transcription:

International Conference on Enterprise Information Systems, ICEIS 2007, Volume EIS June 12-16, 2007, Funchal, Portugal. PROCESS USE CASES: USE CASES IDENTIFICATION Pedro Valente, Paulo N. M. Sampaio Distributed Systems and Networks Lab. (Lab-SDR), University of Madeira (UMa) Campus da Penteada 9000-390, Funchal, Portugal pvalente@uma.pt, psampaio@uma.pt Keywords: Abstract: Business Process Management, Software Engineering, UML, Use Case, Goals, Process Use Cases. The identification of use cases is one key issue in the development of interactive information systems. User participation in the development life cycle can be seen as critical to achieve usable systems and has proven its efficacy in the improvement of systems appropriateness. Indeed, the involvement of users in the requirements definition can add a signification improvement in both consecutive/interleaved tasks of: (i) understanding and specifying the context of use, and, (ii) specifying the user and organizational requirements as defined in Human-Centered Design (HCD) (ISO, 1999). Existing solutions provide a way to identify business processes and/or use cases in order to achieve system definition, but they don t do it in an agile and structured way that helps to efficiently bridge Business Process Management and Software Engineering. Process Use Cases is a methodology, defined in the Goals software construction process, for the identification of use cases and information entities during the modeling and reorganization of business processes focusing the results in the identification of the functional requirements for the correct development of an interactive information system. 1 INTRODUCTION In a competitive market, the ability of enterprises to make their services available to their clients and to be able to modify them easily might be an important advantage. Even in an a small enterprise (e.g. 10 persons) business processes (BP) can be complex including tasks in wich performance, functionality and appropriateness (also called correctness of the software) can be crucial for success creating the need for system modifiability, most times with relevant time and cost constraints. In order to fully control the services implemented, the user tasks that support it and the software structure behind them, business processes (services), use cases (user tasks) and the architecture of the interactive information system (the software structure) must be documented. The establishment of regular enterprise modeling activities for business processes management (BPM) and software engineering (SE) enables bridging these two disciplines by means of a shared process (if the same notation is used). This connection happens where persons and system meet, the use cases. In particular, the Unified Modeling Language (UML) (OMG, 2003) provides a notation that encloses important concepts and diagrams that can be applied in both BPM and SE. Indeed, UML based techniques already exist that make the mapping between BP and interactive information system design using use cases ((Jacobson, 1994), (Koehler, 2002), (Remco, 2002)), however, in our perspective, not with the efficiency needed. Process Use Cases (PUC) is a methodology defined within Goals, a software construction process, and is a solution to bind the phases of requirements identification and analysis rapidly, through the identification of use cases (functional requirements) and information entities as a leap to software analysis. PUC suggests that the (if needed) BP reorganization activities take place before analysis contributing for the development of an adequate software product. PUC describes the development of 4 artifacts: 1 statement and 3 models (High-Level Concept, Domain Model, Business Process Model and Process Use Cases model) using an information-oriented strategy for the identification and association of the components generated: business processes, information entities, actors and use cases. Goals (the software construction process) suggests that a topdown, use case-driven, architectural centric analysis International Conference on Enterprise Information Systems, ICEIS 2007, Volume EIS June 12-16, 2007, Funchal, Portugal.

and/or design software engineering methodology follows the application of PUC, taking full advantage of the artifacts produced so far towards the construction of the interactive information system. This paper is organized as follows: Section 2 introduces Process Use Cases. Section 3 illustrates the methodology. Section 4 explains how Process Use Cases can be integrated with analysis and design methodologies. Section 5 presents the related works and section 6 presents some conclusions of this work. 2 PROCESS USE CASES BASIS Process Use Cases (PUC) is the result of the need to easily identify use cases and relate them to the parts of the software implemented within a semantically understandable conceptual architecture model that gathers both business processes (BP) and system components (and dependencies among them). The main goal of PUC is to develop, in a sequence of 4 steps, the process use cases model, in which actors and use cases (Constantine, 2006) come together to achieve a first stage of functional requirements definition (the interactions between users and system, the use cases). Our contribution is illustrated (Figure 1) using an adapted notation of the Business Process Model (Eriksson, 2001) which is also explained in this document (Step 3 Business Process Identification). Three actors are defined: architect, analyst and client. The first two belong to the software development team, and the client is a member of the client enterprise to whom was given the responsibility of dealing with the activities of BPM and/or SE. The models produced are outputs of each step and are represented by entities that are inputs for the next BP or the goal itself. PUCs Step 2 (Information Identification) and Step 3 can be iterative, since, it is possible that Step 2 entities identify new BPs, and that these BPs (Step 3) identify new entities (if within the ope of the project). Different abstractions provided by different techniques are used to represent the information acquired. These techniques are: UML (OMG, 2003); Wisdom (Nunes, 2001); the High-Level Concept (Kreitzberg, 1999); the Business Process Model (Eriksson, 2001) and Usage-Centered Design (Constantine, 2006). 2.1 UML Unified Modeling Language (UML) (OMG, 2003) is an object-oriented (OO) modeling language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML, version 0.9, appeared in 1996, published by Grady Booch, Jim Rumbaugh, and Ivar Jacobson, as an attempt to normalize the semantics and notation of other existing OO languages. UML has become the standard modeling language in software industry and has been, from the late 90 s, the reference to a number of other methodologies, notations and techniques that restrict or extend UML s models and notation. RUP (Kruchten, 1999), the Rational Unified Process, developed initially by the Rational Corporation, is the software development process that explains how to apply UML. Besides the UML notation, class diagram and activity diagram are used within PUC to produce the domain model and process use cases model respectively. 2.2 Wisdom Wisdom was proposed as a solution to bridge usability engineering and software engineering and as a way to apply software engineering in small software development companies (Nunes, 2001). Wisdom is an evolutionary, prototyping, agile UML-based method which provides an activity dedicated to requirements definition (Requirements Workflow) within its process. Figure 1: Process Use Cases.

Figure 3: Business Process Model. 2.5 Usage-Centered Design Figure 2: Wisdom, the Requirements Workflow. The activities for requirements discovery (especially process interiorization and requirements discovery ) defined in Wisdom provide the main concepts behind Process Use Cases. The concept of entity is also provided by Wisdom. 2.3 High-Level Concept LUCID (Logical User Centered Interaction Design) was proposed as a way of describing the approach to interface design at Cognetics Corporation (Cognetics Corporation, 1999) with the objective of improving software usability. The High-Level Concept is a statement defined in the LUCID Framework (Logical User Centered Interaction Design) as the first step for the envisioning of the product. The High-Level Concept is seen as a mission statement for a product to help focus product development. The same concept is used in Process Use Cases. 2.4 Business Process Model The Business Process Model (Eriksson, 2001) was developed by Hans-Erik Eriksson and Magnus Penker as a way to help enterprises to model their BPs with UML (OMG, 2003) and ease the relation to the implementation of the enterprise information system (Figure 3). The Business Process Model provides the (adapted) notation used in Process Use Cases for modeling BPs and their interaction with users and information. Usage-centered design (UCD) is a model-driven process for user interface and interaction design developed by Larry Constantine (Constantine & Lockwood, Ltd.) (Constantine, 2006). Since UCD has special concerns with usability, detailed attention is given to the tasks users need to carry out on the system to be developed, and, the focus is on their usage of that system. This has led to the definition of several basic concepts related to Human-Computer Interaction such as: (essential) use cases, actors and roles. The concepts of (essential) use case and actor are applied in Process Use Cases. Especially the notion of use case provided by UCD is seen as crucial for the correct identification of use cases. 3 ILLUSTRATING PROCESS USE CASES In order to illustrate Process Use Cases (PUC), a project under development for a small enterprise is presented. This (non-profitable) enterprise, related to a local governmental library (in Madeira, Portugal), is responsible for the bibliographic investigation on gastronomy. The idea of the director is to divulgate the gastronomic events promoted by the enterprise and the existing gastronomic recipes in a website. After a first approach, in which an attempt was made to understand the main activities of the enterprise, it was possible to know which were the enterprises main products: the identification and cataloging of gastronomic recipes and the organization of gastronomic events. After this, the 4 Steps of PUC where taken in order to identify the functional requirements for the project that are now presented. 3.1 Step 1 Interiorise Project This is the only unstructured part of PUC. The High- Level Concept (HLC) is a paragraph (technology

independent) that describes the part of the system (or full system) that is going to be implemented. The High-Level Concept must be understood by all the stakeholders (the community) of the project promoting a shared vision that will help the project community to keep focused on the product development. In this step client and architect agree on a High- Level Concept for the project. To do this, it is important to understand the scope of the project within the enterprise global activity, so, it is necessary to understand how the enterprises activities lead to the production of its main product(s), and, what is the strategic reason that leads to the need of automation. Access to artifacts such as enterprise hierarchical organizational structure and legislation may provide important, and, by interviewing the clients project manager, member preferably related to the enterprises process of decision, sufficient information may already be compiled to produce the High-Level Concept. In the project presented in this document the High- Level Concept agreed with the client (Figure 4) was: Capture the attention of potential and actual clients for the gastronomic patrimony and events of the enterprise. composing a meaningful structure. This structure has relations of hierarchy (inheritance), dependency (composition) and possession (association) and is called class diagram (OMG, 2003). In PUC, the entity (which is a class) stereotype is used instead of the class stereotype. At this stage, it is a more accurate concept of information. This model (since it is described using a standard language, UML) can be used along all the software development process. At implementation stages it is often used to generate database tables and (programmed) classes to manipulate these entities. The domain model must be updated at any stage in the process when new entities are revealed (especially as a result of Step 3). It is suggested that the analyst describes the class diagram in natural language to the client to achieve diagram validation. In the project presented in this document, the first entities taken from the High-Level Concept were: client ; recipe and event. The entity client existence, although implicitly related to the events, was reinforced when was noticed that the business process for recipe capture also involved donation of recipes by clients. The first entities identified were then combined with other entities identified in Step 3 (Business Processes Identification) to compose a single information structure as shown in Figure 5. Figure 4: Step 1- High-Level Concept for the project. 3.2 Step 2 - Information Identification Information is very stable within an enterprise. Mainly, information manipulated by core business processes is persistent from the birth of the enterprise until its closure and is independent from the technology used to manipulate it. Information parts relate to each other naturally, and the objective is to produce a model, the domain model, that contains and relates all the identified parts. In this step, the analyst identifies the main concepts of information defined in the High-Level Concept. These information concepts are transformed into entities that, will be the first ones in the domain model. An entity is defined in Wisdom (Nunes, 2001) as a class used to model perdurable information (often persistent). It is also complemented that, entity classes structure domain (or business) classes and associate behavior, often, representing a logical data structure. These entities represent information (not actions, actors, nor business processes; might however happen that name is coincident) and relate to each other Figure 5: Step 2 - Domain Model for the project. 3.3 Step 3 - Business Processes Identification Business processes (BP) exist in an enterprise to achieve a certain objective, a goal, a product, that can be described by information (associated with this product). BPs happen as many times as the need to give response to the needs of some enterprise member or third party (e.g. client) with some responsibility (active or passive, with some relation to the enterprise) within the activity of the enterprise. Many enterprise members can interact with these processes by carrying out some complete, unitary task, in which many different entities can be manipulated (consumed or produced). In order to be able to control (e.g.

reorganize) these BPs its important to an enterprise to maintain complete and detailed information of relations among BPs, their inputs, outputs, actors and triggering events. In this step, analyst and client will identify, relate and detail business processes. The identification of BPs should take place, at least, from the business unit (in an hierarchical perspective) directly responsible for the information being managed, i.e. unit(s) that consume or produce this information to achieve complete and meaningful tasks. Business processes that relate directly to the information identified until this stage must be documented in order to understand all the manipulation made over the identified information, if within the scope of the project defined in the High-Level Concept. BPs are named according to their goal (the product of the BP), whether it is a service, information or a material product (e.g. product television, BP name build TV ). BPs can be divided into (sub-)business processes (that are represented with the same notation) in an vertical hierarchy. BPs products are represented by entities, the associated information. The persons that interact with the business process are called actors (Constantine, 2006) which, as defined in Usage-centered design, is a user that interacts with a system. In process use cases, business processes are the system, and the stereotype used is the UMLs user. Actors are associated to BPs using association and their objective(s) are written in natural language (e.g. approve recipe ) separated by a plus signal (+) naming the association. When an actor triggers the business process, an event is generated and its relation with the business process is represented with a flow (arrow form), and, his objective is to obtain the product(s) achieved by that BP (the output(s)). The outputs and inputs (information, resource and output in the Business Process Model (Eriksson, 2001)) are represented by entities. Business processes can be related among each other, i.e., the conclusion of the business process (which is an event) serves as a trigger to the next providing an information entity shared by the two BPs in a horizontal hierarchy. When the flow is towards the business process it is an input (and generates an event) and the contrary direction represents an output. Associations can be bidirectional representing event, input and output in both directions. In the project presented in this document, 3 business processes that directly manipulated the entities client ; recipe and event (Step 2) where identified (Figure 6): (i) Obtain Recipes, to provide the necessary information about recipes (by cataloging); (ii) Make Event, to provide the information about events dates and more detailed information and (iii) Advertise, which was modified, in order to introduce the needed activities to support the information for the website. After this the client validation diagram and the domain model was updated. Figure 6: Step 3 The Business Process Model for the project.

Figure 7: Step 4 - Process Use Cases model for Obtain Recipe and Advertise. 3.4 Step 4 - Use Cases Identification The documentation of business processes in a language that every intervenient (stakeholders of a project) understands is important to enable correct dialogue over the actors, activities (tasks) and goals of the BP. BPs can be partially or completely computerized or not computerized at all. In this step, analyst and client model the tasks (activities) of the business process which performed by actors along the BP until achieving the targeted goal. A task (task case, as defined in Usage-centered design (Constantine, 2006)) represents a single, discrete user intention in interaction with a system that is complete and meaningful, i.e., an essential use case which is defined by the same author as a specially structured form of a use case, one that is expressed in so-called essential form, that is, abstract, simplified, and independent of assumptions about technology or implementation. The BP is designed with the process use cases model, through the use of an UMLs activity diagram (OMG, 2003) with swimlanes. Actors and tasks they carry out are placed in the same swimlane. The activity diagram begins with an initial stereotype and ends with a final stereotype. The transition relation is used between tasks. UMLs activity stereotype is used to represent tasks of the BP which are not use cases. Fork and decision are used to represent parallel activities and decision points. Once all activities are identified it is important that the architect (with the client) decides which tasks should be automated. When this happens, a use case (stereotype change) takes the place of that activity. In the project presented in this document, based on the analysis of the models produced until the previous step (Step 3), with cooperation of the client, it was noticed that the BPs that could mostly contribute to the website were Obtain Recipes and Advertise. In another perspective, Obtain Recipes could provide more valuable information for the website than Make Event, and, by means of the generalization of the tasks of Advertise, support could also be achieved to advertise news about recipes and events. Two activities where transformed into use cases to produce the information wanted for the website, i.e. recipes and news (see Figure 7). The task advertise was generalized in order to support every action of advertising for both recipes and news that could also support the advertising of events, inducing simplification and completeness of the task. This was already sufficient information to produce a financial proposal for the development of the project and to start the SE analysis phase. The steps of PUC and all the diagrams produced are now presented. Process use cases is the model where users and interactive information system meet. However, it is not the purpose of PUC to establish the relation between use cases and entities. This is a task left for a software engineering process which carries along the information generated until this stage and brings consistency to this relation in later stages of that process. 4 INTEGRATING PROCESS USE CASES Process Use Cases (PUC) is part of Goals, an agile software construction process that guides a software team to the definition, construction and maintenance of an interactive information system for an enterprise. According to Goals after the definition of the requirements, another process (phase) is applied for analysis and design of the software to be developed (or modified). For this reason, it is also an objective of this document to explain how PUC should be integrated with software analysis and design methodologies in order to achieve correct software definition, the objective behind the Goals process.

Figure 8: Goals Software Construction Process (partial view) Most software engineering methodologies gather both analysis and design phases, however, it is important to understand that these phases are different, since, in analysis the objective is to complete the understanding of the problem, and in design the objective is to conceive the solution that will solve that problem, resulting in the complete definition of the interactive information system to be built. Although all information generated along the process should be available to all the phases, Goals suggests sharing a minimal set of crucial information (modeled using the same notation) for correct system definition. Because Goals is still under development, integration is presented only for the first 3 phases: between requirements (identification) and analysis: High-Level Concept (optional); Business Process Model (optional); Process Use Cases model; Domain Model. between analysis and design: Use Case Model (opt.); Activity_Diagram; Task Diagram (opt.); Detailed Domain Model (detailed with class attributes). the outputs of the design phase are: Conceptual Architecture (opt.); Interaction Spaces design; Navigational Model; Interaction Model (opt.); Business Classes Model (opt.); Database design. The chosen analysis methodology should be: (i) object-oriented and use case-driven, and; (ii, optional) architecture-centric in order to achieve consistency validation in system definition, i.e., to combine in one view usage, interaction interfaces, system behavior and information entities and the relations among. The choice for the design methodology should depend on: (i) the compatibility with the objects generated in the analysis phase; (ii) the non-functional requirements revealed in the analysis phase and the (iii) available resources, i.e., modeling detail needed for the development of the interactive system in: user interface usability, system behavior refinement and database integrity; the human resources available for the modeling, time and budget constraints. PUC can be considered highly compatible with Wisdom (Nunes, 2001), Goals Multimedia (Valente, 2006) and Usage-centered design (Constantine, 2006). All these methodologies can also be applied for the design phase. PUC can also be compliant with methodologies such as: (i) Extreme Programming (XP) (Beck, 1999) connecting use cases with the user stories and the domain model with the architectural spike predicted in XP, and, with (ii) the Rational Unified Process (RUP) (Kruchten, 1999) that provides an extensive set of models to complete the phases of analysis and design. As an extra requirement, the compatibility of the definitions of: essential use case (use case)(constantine, 2006), entity (set of information) (Nunes, 2001) and actor (user)(constantine, 2006) should be observed. 5 RELATED WORKS Most approaches found in the literature, like (Eriksson, 2001), (I. Jacobson, 1994) or (Remco M. Dijkman, 2002) argue that use cases should be identified as a result of the design of business processes. However, only one document was found (J. Koehler, 2002) in which the identification of use cases is made within the design of these business processes (however not using an activity diagram). Process Use Cases is distinct from the other approaches in the way that: (i) it makes the reorganization of the business towards automation

more elucidative to users (except for (J. Koehler, 2002)), once, BPs and use cases are designed in a single model that can be understood by every stakeholder; (ii) it includes an information-oriented strategy that enables to select the BPs that really need to be designed in order to achieve automation; (iii) is oriented to software development, once, both use cases and information entities are already identified when PUC is finished. 6 CONCLUSIONS Process Use Cases (PUC) is a methodology that identifies use cases as a leap for software construction producing valid artifacts for both activities of Business Process Management and Software Engineering. PUC has been already applied in over 10 different real software development projects for the Information and Computing Centre in University of Madeira (UMa), Portugal, for the automation of at least one business process per project. It was applied by both undergraduate students and IT professionals and shared with UMa managers for both Business Process Management and Software Engineering activities always resulting in a firm artefact that promoted consensus between the stakeholders. In a modeling perspective, to achieve the more appropriate level of abstraction to name use cases can be a very difficult task in software engineering if no global comprehension exists of the scope of the project within the enterprise organization. Using PUC is easier to reach the appropriate abstraction to nominate the (essential) use cases in a way that they make sense in both Business Process Management and Software Engineering disciplines. This is possible through the definition of compatible formalizations of the stereotypes used (entities, users, business processes, activities and use cases), that are provided by LUCID (Cognetics Corporation, 1999), Wisdom (Nunes, 2001) and Usage-centered design (Constantine, 2006), producing a notation also suitable for the application of agile software analysis and design methods. Future work is still to be made in the full definition of the Goals software construction process (and integration with existing methodologies) for requirements identification, analysis, design, development, test, installation and maintenance. System size, complexity and general software quality attributes estimation can be important functionalities that determine the production of the correct interactive information system. REFERENCES Beck, K., 1999, Extreme Programming Explained: Embrace Change. Constantine, L. L., 2006, Activity Modeling: Toward a Pragmatic Integration of Activity Theory with Usage- Centered Design. Eriksson, H-E, Pencker, M., 2001, Business Modeling With UML: Business Patterns at Work, John Wiley & Sons. ISO, 1999, ISO 13407:1999. Human-centred design processes for interactive systems. First edition. Jacobson, I., Ericsson, M., Jakobson., A., 1994, The Object Advantage: Business Process Reengineering with Object Oriented Technology., Addison-Wesley Professional; 1st edition. Koehler, J., Tirenni, G., Kumaran, S., 2002, From Business Process Model to Consistent Implementation: A Case for Formal Verification Methods: EDOC 2002, p. 96-106. Kreitzberg, C., 1999, The LUCID Framework (Logical User Centered Interaction Design) (Pre-Release Version 0.4). Kruchten, P.B., 1999, The Rational Unified Process (An Introduction). Nunes, D. N. J., 2001, Object Modeling for User-Centered Development and User Interface Design: The Wisdom Approach, Universidade da Madeira, 285 p. OMG, 2003, Unified Modeling Language Specification (Version 1.5). Remco M., Stef, J., 2002, Deriving Use Case Diagrams from Business Process Models. Valente, P., Sampaio, P.., 2006, Goals: Interactive Multimedia Documents Modeling: Tamodia 2006.