Towards a UML Profile for Interaction Design: The Wisdom Approach

Size: px
Start display at page:

Download "Towards a UML Profile for Interaction Design: The Wisdom Approach"

Transcription

1 owards a UML Profile for Interaction Design: he Wisdom Approach Nuno Jardim Nunes 1, João Falcão e Cunha 2 1 Universidade da Madeira, Unidade de Ciências da Computação, Dep. de Matemática, Funchal, Portugal njn@math.uma.pt 2 Universidade do Porto, GEIN, Faculdade de Engenharia, 4099 Porto CODEX, Portugal jfcunha@fe.up.pt Abstract. he UML is recognized to be the dominant diagrammatic modeling language in the software industry. However, it s support for building interactive systems is still acknowledged to be insufficient. here is a common misconception that the same models developed to support the design of the application internals are also adequate to support interaction design, leveraging the usability aspects of the applications. In this paper we identify and discuss the major problems using the UML to document, specify and design interactive systems. Here we propose a UML profile for interactive systems development that leverages on human-computer interaction domain knowledge under the common notation and semantics of the UML. Our proposal integrates with existing object-oriented software engineering best practice, fostering coevolutionary development of interactive systems and enabling artifact change between software engineering and human-computer interaction. 1 Introduction Building interactive systems that are efficient and reliable in use, easy to learn and remember, and that provide user satisfaction is one of the greatest challenges of the software industry. Such requirements are increasing with the widespread use of the Internet, the advent of the information appliances and agent-based systems. In fact the Internet changed the importance of usability because the user interface is increasingly becoming the customer-interface, hence, a business critical factor. he Unified Modeling Language (UML) has found widespread use in many different application domains and is increasingly becoming the de facto standard language for object-oriented analysis and design. However, UML support for interactive system development is recognized to be insufficient. Although it is acknowledged that in interactive applications about 50% of the code is devoted to the user interface the UML and related methods and tools still focus more the application internals and less the usability aspects [1]. Moreover there A. Evans, S. Kent and B. Selic (Eds.): «UML» 2000, LNCS 1939, pp , Springer-Verlag Berlin Heidelberg 2000

2 102 Nuno Jardim Nunes and João Falcão e Cunha is a common misconception that the same models developed to support the design of the application internals are adequate to support user interface development. In order to adequately support interactive system development we need to leverage on human-computer interaction (HCI) domain knowledge. Model based notations and formalism proliferate in the HCI field; however, they lack a common language that enables co-evolutionary development and artifact change with the softwareengineering field. he same argument that led to the adoption of the UML, by the software engineering (SE) community, applies in bridging the gap between HCI and SE. he UML provides a common language for specifying, visualizing and documenting software intensive systems and enables tool interoperability at the semantic level, all of these issues are of ultimate importance for interactive system development [1]. HCI methods and techniques usually require modeling constructs to: describe users and their relevant characteristics; describe user behavior while performing the envisioned or supported tasks; specify abstract (conceptual) and concrete (physical) user interfaces. he adoption of use-cases in the UML acknowledges the importance of identifying the different roles users play when interacting with an application to support their tasks. However they are still mainly used to structure the application internals and don t provide an efficient way to support the usability aspects of the interactive system. Essential use-cases [2] identified some of the requirements for user interface development enabling the connection between the structure of use and the structure of the user interface. An essential use-case is a simplified, abstract, generalized use-case defined in terms of user intentions and system responsibilities [3], it contrasts Jacobson s original definition of a concrete use-case a class describing the common pattern of interaction of a set of scenarios [4]. Essential use-cases define user role maps, a set of relationships between actors (affinity, classification and composition) that reveal how the different roles in a system fit together defining who will use the system and how [3]. Other approaches, used in goal-driven interaction design, rely on archetypal descriptions of users. In one of those proposals [5] the author defines a persona, a hypothetical archetype of a user defined with precision and detail. he author claims that instead of designing for a broad audience of users, interaction designers should design for a small set of archetypal users the cast of characters [5]. he requirements in such proposals are substantially different from the common interpretation of use-cases in OO analysis and design they recognize the peculiarities of interaction design and they focus on users goals and the structure of use. A proposal for structuring use-cases with goals [6] already recognizes some of the above problems distinguishing goals as a key element of use-cases. he descriptions of user behavior are intimately associated with the technique (and underlying concepts) used to abstract the end-users. In the UML, and related methods, descriptions of user behavior are usually captured detailing use-cases with scenarios, activity diagrams or interaction diagrams. From an HCI perspective the descriptions of user behavior usually encompass a task model, which, at least to some degree, can be achieved with the mentioned UML diagrams in [1] and [7] two UML extensions are proposed to accommodate task analysis. However the major

3 owards a UML Profile for Interaction Design: he Wisdom Approach 103 problem with descriptions of user behavior are related to the system-centric nature of use-cases. In [3] the authors argue that conventional use-cases typically contain too many built-in assumptions, often hidden and implicit, about the form of the user interface that is yet to be designed. Such argument led the authors to propose the essential use-case narrative, a technology-free, implementation independent, structured scenario expressed in the language of the application domain and end-users. he essential quality (technology free and implementation independent) of descriptions of user behavior can also be applied to diagrammatic representations, in [8] we propose to detail use-cases with activity diagrams following the same principle. Goal-driven interaction design also relies on descriptions of user behavior structured in terms of users goals, for instance in [5], the author proposes to drive design in terms of personal, corporate and practical goals. he above discussion concerns early models of interest to interactive system development, in particular models of user roles and models describing user behavior. he ideas described here are of ultimate importance to support interaction design and interactive system development. hey should, in our opinion, be considered in further UML revisions and extension profiles. Although use-cases have proved to be an effective tool to structure application internals, alternate interpretations should be clearly defined and put into context to avoid misused in interactive system design. Experience reports on the mentioned approaches show benefit gains in terms of reduced complexity and cost of producing and maintaining the systems; enhanced user satisfaction and productivity; and even improvements in project management and resource allocation. In this paper we focus on the analysis and design models of interactive systems, the models required to specify conceptual and concrete models of user interfaces. While the requirement model concerns an external view of the system described in the language of the users/customer, the analysis model concerns an internal view of the system described in the language of the developers [9]. In analysis the focus is to build a sound architecture that outlines how to realize the functionality captured in the different use-cases. In section 2 we discuss the analysis framework of the UML profile for software development processes and present a new proposal specifically adapted to develop interactive systems. Also in section 2 we present the design level models of our approach and how they complement the standard UML profile design model in order to foster the physical realization of the use-cases in interactive applications. Section 3 outlines the semantics of the UML extensions. In section 4 we present a worked example of our approach and, finally, in section 5 the conclusions and further developments. 2 Analysis and Design Level Models in Interactive System Development he third type of descriptions of interest to HCI mentioned in the previous section are conceptual and physical models of the user interface. A conceptual model of the

4 104 Nuno Jardim Nunes and João Falcão e Cunha user interface is a model used by interaction designers to anticipate the user s mental model of the envisioned system. Conceptual models are important since they enable designers to ensure that the system under development will ultimately meet the expectations of the end-users, i.e., the usability requirements that define the quality of the user interface. Usually, conceptual models encompass the things (entities) the users manipulate to perform the tasks, hence, they can be conceived as refinements of domain models. However, the intents that drive such refinement are distinct for the purpose of the application internals and interaction. A good user interface, amongst other factors, should match as much as possible the user s conceptual model and not the internal application implementation model. Conversely, a physical or concrete model of a user interface is a specific representation of the user interface designed to accommodate the tasks the users must perform. A physical model of the user interface is sometimes called a designer s model and should also match the user s conceptual model of the system. However, physical models include additional information required to design and implement the user interface, not present in conceptual models. For instance, an abstract physical model considers the task decomposition and the interaction spaces required,, while a concrete physical model also takes into consideration the interaction styles and the user interface technology available. In the following sections we discuss the relationship between the analysis and design models in the UML standard profile for software development processes and the corresponding descriptions necessary to support conceptual and physical models of the user interface. 2.1 he Analysis Framework of the UML Profile for Development Processes and Interactive Systems he UML profile for software development processes [10] defines an analysis framework that divides the analysis classes in three stereotypes. his partitioning, originally from the OOSE method [4], encompasses three dimensions: he information dimension (<<entity>> stereotype) specifies the information held in the system in both short and long term the state of the system; he behavior dimension (<<control>> stereotype) specifies the behavior the system will adopt when and how the system changes state; he interface dimension (<<boundary>> stereotype) specifies the details for presenting the system to the outside world. he reason behind this partitioning of analysis classes into information, behavior and interface is to promote a structure more adaptable to changes. Assuming that all systems change, stability will occur in the sense that changes affect (preferably) only one object in the system, i.e., they are local [4]. herefore, the UML analysis framework aims at concentrating changes to the interface and related functionality in boundary objects; changes to (passive) information and related functionality in entity objects; and changes to complex functionality (e.g., involving multiple objects) in control objects.

5 owards a UML Profile for Interaction Design: he Wisdom Approach 105 his approach is conceptually similar, although at a different granularity level, to conceptual architectural models for interactive system s, for instance, PAC [11] and MVC [12]. In fact, the PAC distinction between presentation, abstraction (application) and control relate, conceptually, to the boundary, entity and control class stereotypes. However, such similarities are misleading in the sense that they do not comply with some of the requirements defined in interactive system architectures. he major issue in conceptual and implementation architectures for interactive systems is the separation of concerns between the semantics of the application functional core and the user interface provided to the user. Such separation of concerns fosters portability, reusability, multiple interfaces and customization. he logical components of an interactive system architecture were originally identified in the Seeheim workshop [13] and later revised in the Arch workshop [14]. he initial three component proposal of the Seehim model encompassed the presentation, dialogue control and application interface components a division that also closely maps the MVC and PAC models. he Arch model expanded this proposal on a five component model balanced around the dialogue component. he components of this model are: he interaction toolkit component - implements the physical interaction with the end-user; he presentation component - provides a set of toolkit independent objects; he dialogue component responsible for task-level sequencing, providing multiple interaction space consistency, and mapping the between domain specific and user interface specific formalisms; he domain adapter component - implements domain related tasks required but not available in the domain specific component; he domain specific component - controls, manipulates and retrieves domain data and performs other domain-related functions. he Arch model provides developers with guidance to tackle the difficult engineering compromises that affect the development process of interactive systems and the quality of the end product. On the one hand, the user and the functional core play a symmetric role driving the dialogue component, hence, at high levels of abstraction there is no a priori imposition on the control of the interaction. On the other hand, both the domain adapter and interaction toolkit components serve as buffers for the functional core and the user, therefore, isolating and absorbing the effects of change in its direct neighbors [15]. 2.2 he Analysis Framework for Interactive Systems In [16] we present a proposal for an UML based analysis architecture for interactive systems (depict in Fig. 1). his new proposal builds on UML s analysis framework but introduces two additional dimensions: the presentation and dialogue dimensions. he new dimensions accomplish two goals, on the one hand, the presentation dimension detaches the human-interface from the existing interface dimension, on the other hand, the dialogue dimension regulates task-level sequencing while providing

6 106 Nuno Jardim Nunes and João Falcão e Cunha multiple interaction space consistency and mapping between domain specific and user interface specific formalisms. In addition, the information dimension is shared among both the user interface specific dimensions and the internal application dimensions, postponing domain adaptation to other models at lower levels of abstraction. Behaviour Dialogue Information Information Interface (non-human) Presentation Analysis model Interaction model Fig. 1. he revised analysis framework for interactive systems he proposal for the UML analysis framework for interactive systems includes a new UML interaction model to accommodate the two new dimensions, plus the shared information dimension. herefore, the interaction model encompasses the information, dialogue and presentation dimensions, clearly mapping the conceptual architectural models for interactive systems, while maintaining the desired separation of concerns. Accordingly, the analysis model accommodates the UML profile architecture dimensions, also including the shared information dimension. Note that the presentation dimension in the UML analysis framework is reduced to capture the interface (not the presentation) to external systems. he new interaction model defines the user interface architecture, like the analysis model defines the internal system architecture. Here we consider that an architecture for interactive systems involves the description of the elements from which those systems are built, the overall structure and organizations of the user interface, patterns that guide their composition and how they are connected in order to support the interactions with the users in their tasks [16]. In the following sections we describe the design models necessary to realize the user-interface architecture. For further details regarding the proposal for this architectural model refer to [8]. 2.3 he Dialogue Design Level Model he interaction model suffers further refinement on two design level models: the dialogue model refines the dialogue dimension and the presentation model refines the presentation dimension. he dialogue model specifies the dialogue structure of the application using an UML based adaptation of the Concuraskrees visual task formalism [17]. According to the author, the main purpose of Concuraskrees is to support the specification of flexible and expressive task models that can be easily interpreted even by people without formal background. Concuraskree is an expressive, compact, understandable and flexible notation representing concurrent and interactive activities

7 owards a UML Profile for Interaction Design: he Wisdom Approach 107 by task decomposition and supporting cooperation between multiple users. Concur- askrees defines three types of task allocations: user tasks (tasks performed by the user); application tasks (tasks completely executed by the application); interaction tasks (tasks performed by the user interacting with the system); abstract tasks (tasks which require complex activities whose performance cannot be univocally allocated). An important feature of the Concuraskrees notation, essential to bring detail in the dialogue model, is the ability to express temporal relationships between tasks. In our adaptation of the formalism we use the UML constraint extension mechanism to express such temporal relationships between tasks. A constraint is a semantic relationship among model elements that specifies conditions and propositions that must be maintained as true [10]. he temporal relationships in Concuraskrees adapted in our approach are depict in Fig. 2 and described bellow (including the original notation from [17] in parenthesis next to their name): Independent concurrency ( 2) denotes that actions belonging to two tasks ( and 2) can be performed in any order without any specific constraint; Choice ([]2) denotes that it is possible to choose form a set of tasks and once the choice has been made the chosen task can be performed, while other tasks are not available; Concurrency with Information Exchange ( [] 2) same has independent concurrency but the tasks have to synchronize in order to exchange information; Deactivation ([>2) denotes that the first task () is definitely deactivated once the second task (2) terminates; Enabling (>>2) denotes that the second task (2) is activated once the first task () terminates; Iteration (*) denotes the task () is performed repeatedly until the task is deactivated by another task; Finite Iteration(s) ((n)) same as iteration but the task () is performed n times; Optional asks ([]) denotes that the performance of a task is optional.

8 108 Nuno Jardim Nunes and João Falcão e Cunha Independent concurrency 2 Choice [] 2 Concurrency with information exchange [] 2 Iteration * {xor} * Enabling >> 2 Enabling with information passing []>> 2 Deactivation [>2 Finite Iteration (n) Optional asks [] {sequence} {sequence} {deactive} 1..n Fig. 2 UML adaptation of Concurasktrees. Note that the icon circle with a sticky man and a stylized computer inside denote a UML stereotype <<task>>. Also, all the associations between <<task>> classes are stereotyped <<refine task>> associations. Finally {xor}, {sequence} and {deactivate} are UML constraints (refer to section 3 for definitions). For a complete reference of Concuraskree involving all the possible uses of such formalism, specifically for evaluation and pattern expression, refer to [17]. 2.4 he Presentation Design Level Model he other design level model defined in our approach is the presentation model. Recently several authors proposed the idea of using object models to specify presentational aspects of interactive applications. In the Ovid method Roberts and colleagues proposed the concept of an (object) view the modeling concept responsible for presenting to the users and allowing them to use information to accomplish tasks [18]. However the initial proposal of Ovid relies on UML annotations to express relevant information of views and, hence, have little semantic significance. Ovid organizes views in designers and implementation models through class, sequence and statechart diagrams. his model organization maps the well-known HCI distinction between the different conceptual models of users, designers and implementation the aim is to bring the implementation model as close to the user s model as possible, hence, preventing the user interface from reflecting the internal system architecture. A similar concept is also proposed in usage-centered design (UCD), the authors of essential use-cases propose interaction contexts as the main building block of the presentation aspects of the user interface. An interaction context represents the places within the user interface of a system where the user interacts with all the functions, containers and information needed for carrying out some particular tasks or set of interrelated tasks [3]. However the authors don t provide any information regarding the definition of interaction contexts in the UML framework. Contrasting

9 owards a UML Profile for Interaction Design: he Wisdom Approach 109 Ovid, UCD emphasizes the navigational structure of the user interface architecture. Interaction contexts are organized in navigation maps and relationships between interaction contexts are defined (context changes). his characteristic enhances the capability of reasoning about the navigational structure of the interactive application, supporting one of the important compromises in interaction design the balance between the number of interaction contexts and the number of context transitions. Both Ovid and UCD classify the presentation objects in terms of generic graphical interaction elements, e.g., contents, composed, properties and user assistance in Ovid; and window, screen, display, message and panel in UCD. his classification scheme imposes a dependency on the user interface technology - the WIMP graphical user interface which restricts the ability of the modeling concepts to serve multiple interaction styles and interface technologies. In our approach the presentation model defines the physical realization of the perceivable part of the interactive system (the presentation), focusing on how the different presentation entities are structured to realize the physical interaction with the user. he presentation model provides a set of implementation independent modeling constructs (the <<interaction space>> class stereotype 1 ) for use by the dialogue model, hence, leveraging independence of the interaction techniques provided by the user interface technology (e.g. UI toolkit). Interaction spaces are responsible for receiving and presenting information to the users supporting their task. Interaction spaces are typically organized in hierarchies and containment relationships can occur between interaction spaces. In the next section we present the UML s extensions to support the presentation model. 3 he UML Profile for Interactive System Development In the previous sections we presented and discussed different approaches and contributions to define adequate interactive system architectures. We also discussed the analysis framework of the standard UML profile for software development, argued about its system-centric nature and proposed some modeling concepts to overcome this nature while staying within the UML and related SE methods. In this section we present a minimal set of extensions to the UML to support the concepts introduced in the previous section. We call this extension set the Wisdom UML profile because it was originally developed to support the Wisdom software development method [19]. Wisdom is a UML based method specifically adapted to develop interactive system by small software developing companies. In this paper we intentionally detached the extension profile from its methodological background because it is our belief that the Wisdom extensions are broadly applicable in different process contexts. 1 In previous versions of the Wisdom method the concept described here as an interaction space was named view. he change is related with: (i) the belief that interaction space reflected more the notion of a human user interacting with a computer system (as opposed with a more passive notion in view); and (ii) the existence of an equally named stereotype (<<view>>) in the data modeling profile very common in industry modeling tools.

10 110 Nuno Jardim Nunes and João Falcão e Cunha 3.1 Revised Stereotypes for the Analysis Model As we mentioned in the previous section the new analysis framework for interactive system development expands the UML standard profile framework, while introducing some subtle but important changes in the conceptual definitions of the class stereotypes. For that purpose we present the modified definitions of the Wisdom profile (where required partial definitions are retrieved from [10] and [9]): <<Boundary>> class stereotype the boundary class is used, in the analysis framework for interactive systems, to model the interaction between the system and external systems (non-human). he interaction involves receiving (not presenting) information to and from external systems. Boundary classes clarify and isolate requirements in the system s boundaries, thus isolating change in the communication interface (not human-interface). Boundary classes often represent external systems, for example, communication interfaces, sensors, actuators, printer interfaces, APIs, etc. <<Control>> class stereotype the control class represents coordination, sequencing, transactions and control of other objects. Control classes often encapsulate complex derivations and calculations (such as business logic) that cannot be related to specific entity classes. hereby, control classes isolate changes to control, sequencing, transactions and business logic that involves several other objects. <<Entity>> class stereotype the entity class is used to model perdurable information (often persistent). Entity classes structure domain (or business) classes and associate behavior, often, representing a logical data structure. As a result, entity classes reflect the information in a way that benefits developers when designing and implementing the system (including support for persistence). Entity objects isolate changes to the information they represent. 3.2 Stereotypes for the Interaction Model he elements of the interaction model are interaction classes, defined as stereotypes of UML class constructs. he three stereotypes proposed in the analysis framework for interactive systems are: <<ask>> class stereotype task classes are used to model the structure of the dialogue between the user and the system. ask classes are responsible for task level sequencing, multiple interaction space consistency and mapping back and forth between entities and interaction space classes. ask classes often encapsulate complex behavior that cannot be related to specific entity classes. hereby, task classes isolate changes in the dialogue structure of the user interface <<Interaction space>> class stereotype the interaction space class is used to model interaction between the system and the human actors. An interaction space class represents the space within the user interface of a system where the user interacts with all the functions, containers, and information needed for carrying out some particular task or set of interrelated tasks [3]. Interaction space classes are

11 owards a UML Profile for Interaction Design: he Wisdom Approach 111 responsible for the physical interaction with the user, including a set of interaction techniques that define the image of the system (output) and the handling of events produced by the user (input). Interaction space classes isolate change in the user interface of the system, they are technology independent although they often represent abstraction of windows, forms, panes, etc. he UML profile for software development processes also defines association stereotypes. Although, the UML profile for interactive systems doesn t change the semantics of those association stereotypes, they can be applied to the new class stereotypes introduced before: <<Communicate>> is an association between actors and use cases denoting that the actor sends messages to the use case or the use case sends messages to the actor. It can also be used between boundary, control and entity. In addition it can be used between actor and boundary, with the new specific constraint that actor is an external system. Communicate can also be used between entity, task and interaction space. In addition it can be used between actor and interaction space, with the specific constraint that actor is human. he direction of communication can be one way or two ways; <<Subscribe>> is an association between two class states that objects of the source class (subscriber) will be notified when a particular event occurs in objects of the target class (publisher). Subscribe can be used from boundary, entity and control to entity. In addition, subscribe can also be used between task and entity. he direction of subscribe is one way. 3.3 Additional Stereotypes for the Dialogue Model <<Refine task>> is an association between two tasks denoting that the target class (subtask) specifies the source task (parent task) at a different (lower) level of detail. he refine task association is unidirectional can only be used between task classes. Constraints for the Refine task association (assuming all objects or classes maintain their own thread of control, i.e., they are active and run concurrently with other active objects): {xor} is the UML standard constraint and applies to a set of associations, specifying that over that set, exactly one is manifest for each associated instance; {sequence} - is applied to a set of <<refine task>> associations, specifying that over that set, associated instances become active in sequential order, i.e., one associated instance activates the other when it becomes inactive; {deactivate} - is applied to two <<refine task>> associations, specifying that one associated instance explicitly deactivates the other when it becomes active. For the purpose of task allocation the following tagged values apply to the task classes: {abstract task} tasks which require complex activities and whose performance cannot be univocally allocated;

12 112 Nuno Jardim Nunes and João Falcão e Cunha {user task} - tasks performed by the user with no interaction with the system. For instance, thinking about which option to choose; {application task} - tasks completely executed by the application; {interaction task} - tasks performed by the user interacting with the system; 3.4 Additional Stereotypes for the Presentation Model <<Navigate>> is an association stereotype between two interaction space classes denoting a user moving from one interaction space to another. he navigate association can be unidirectional or bi-directional, the later usually meaning there is an implied return in the navigation. Users navigate in interaction spaces while performing complex tasks and a change between interaction spaces usually requires a switch of thinking from the user; <<Contains>> is an association stereotype between two interaction space classes denoting that the source class (container) contains the target class (content). he contains association can only be used between interaction space classes and is unidirectional. <<input element>> is an attribute stereotype denoting information received from the user, i.e., information the user can manipulate; <<output element>> is an attribute stereotype denoting information presented to the user, i.e., information the user can perceive but not manipulate; <<action>> is an operation stereotype denoting something a user can do in the physical user interface that causes a significant change in the internal state of the system, i.e., changes in the long term information of the system (entities), request for signification functionality, changes in context of the user interface, etc. 3.5 Valid Association Stereotypes Combinations o: Actor Boundary Control Entity ask Interaction space From: Actor communicate communicate Boundary communicate communicate communicate communicate subscribe Control communicate communicate communicate subscribe Entity communicate subscribe ask communicate communicate subscribe Interaction space Fig.3 Valid association stereotypes combinations communicate communicate refine communicate navigate contain

13 owards a UML Profile for Interaction Design: he Wisdom Approach he Wisdom Approach in Practice: A Worked Example We ve applied our approach in different development contexts and projects, of variable size and complexity. For the purpose of illustrating the notation presented in this paper, we present, throughout this section, several artifacts from a well-known example of a simple hotel reservation system (refer to [18] for other worked examples of the same problem). he toy examples bellow are not intended to demonstrated the applicability of the approach in a real-world scenario, that is the aim of a case-study and is out of the scope of this paper. o the left-hand side of Fig. 4 we show a possible use-case structure for the above problem statement. he use-case model is depict to illustrate how different interaction and analysis classes collaborate in their realization. For example, the customer browser class, the identify customer task and the customer entity all collaborate in the realization of the three use-cases depict in Fig. 4. In the middle left-hand side of the illustration are interaction model classes (interaction space and task classes). he task classes accommodate the dialogue of the interactive system, hence, for example, check availability and identify customer are high-level tasks belonging to the dialogue structure of this particular architecture. ask objects also guarantee consistency between interaction spaces, one example of such responsibility is visible between the confirm reservation task class, the customer browser and customer reservations. o the middle right-hand side of Fig. 4 is the internal analysis model. In this example there are no boundary objects to interface external systems. Finally rightmost in the figure we present a hypothetical traditional solution (i.e., following the boundary/control/entity division). his traditional solution was adapted from other examples in the literature (e.g., [4], [9] or [20]). It is not our remit here to build a thorough discussion of both alternatives, but we can easily observe that in traditional approaches typically: boundary classes tend to follow the same functional decomposition of use-cases, i.e., there is usually a 1-to-1 mapping between use-cases and boundary classes. Such decomposition is less adaptable to change, compromises the reuse potential of the UI compromising the consistency and coherency of the UI (a major usability factor); boundary classes presuppose a user-interface technology or style (window, screen, etc.). Although we can argue that this is not explicitly a notational problem, we believe it is closely related to the lack of lower level extensions supporting the reification of the presentation aspects of the UI; logic related to the UI usually goes into control or boundary classes. Again this is a problem of ineffective support for the required separation of concerns for interactive applications. he result is a structure less adaptable to changes, reuse, and even existing n-tier physical architectures. For instance, we have successfully exploited mappings of our approach to n-tier architectures promoted in the UML profiles for web applications [20];

14 114 Nuno Jardim Nunes and João Falcão e Cunha Use Case Model Interaction Model Analysis Model raditional Solutions Hotel availability browser Check availability Room Make Reservation Customer browser Identify Customer Customer Availability Check In UI/Screen/Window Check in Clerk Customer reservations Confirm reservation Reservation Period Reservation Handler Check Out UI/Screen/Window Room browser Assign Room Room Check out Payment Make Reservation UI/Screen/Window Bill Bill customer Bill Fig. 4. Example of a use-case model, an user interface architecture, an internal architecture and a traditional solution for a simple Hotel Reservation System. he following two artifacts (Fig. 5 and 6) depict the reification of parts of the architecture in Fig. 4. he artifacts, shown bellow, typically belong to design level models, in this particular case part of the task model (Fig. 5) and part of the presentation model (Fig. 6). Check availability {sequence} {sequence} {deactive} * Define period {xor} Select room type {sequence} Show & refine availability {sequence} Close availability Enter start & end date Enter start date & duration perform query {application task} show availability {application task} refine availability {deactive} Edit period Edit room type Submit Fig. 5. Example of a task model for the check availability top-level task. Note that in this diagram the <<task>> stereotype uses a special icon as an alternate representation. his icon enables further usage for task allocation, i.e., removing alternately the sticky man and the stylized computer we can define stereotypes for task allocation to user tasks and application tasks. Also the associations in this example omit the stereotype reference for clarity, obviously all associations are <<refine task>> stereotypes.

15 owards a UML Profile for Interaction Design: he Wisdom Approach 115 <<navigate>> <<navigate>> <<contain>> Hotel availability browser <<action>> check availability close <<contain>> <<contain>> Customer browser <<navigate>> Bill Customer Reservations <<navigate>> Period Room type Availability <<output element>> results room type <<input element>> start date end date duration <<output element>> room type period quantity price Room view Fig. 6. Example of a presentation model for the hotel availability browser. Note that in this diagram the <<interaction space>> stereotype uses a special icon as an alternate representation. 5 Conclusions In this paper we discussed the major problems using the UML for interactive system development and present several contributions that enable adequate development of user interfaces. Our proposal leverages on HCI domain knowledge, while staying within the UML framework, fostering co-evolutionary development of interactive systems, enabling artifact change between HCI and SE and providing the basis for tool support and interoperability. he proposed interactive system analysis framework supports both the internal system architecture and the interactive architecture required to build good user interfaces that foster reuse, portability, multiple user interfaces and customization. he dialogue and presentation design level models support model based development of user interfaces using a set of UML notational extensions based on a experimented software engineering method the Wisdom method. he extensions described here are also effective for expressing task and interaction patterns. Our experience using and evolving these notational extensions shows that they can be actually applied in a practical development environment, taking full advantage of the increasing tool support for the UML.

16 116 Nuno Jardim Nunes and João Falcão e Cunha References [1]. Kovacevic, S. UML and User Interface Design. in UML' Mulhouse - France, Year. [2]. Constantine, L., Essential Modeling: Use cases for user interfaces. Communications of the ACM,, [3]. Constantine, L.L. and L.A.D. Lockwood, Software for use : a practical guide to the models and methods of usage-centered design, Reading, Mass.: Addison Wesley, [4]. Jacobson, I., Object-oriented software engineering: a use case driven approach, New York: ACM Press - Addison-Wesley Pub., [5]. Cooper, A., he inmates are running the asylum, Indianapolis, IN: Sams, [6]. Cockburn, A., Structuring Use Cases with Goals. Journal of Object-Oriented Programming, (Set.-Out and Out.-Nov. 1997), [7]. Artim, J., et al., Incorporating work, process and task analysis into industrial objectoriented systems development. SIGCHI Bulletin, 30(4), [8]. Nunes, N. and J.F.e. Cunha. Detailing use-case with activity diagrams and object-views. in Workshop on Integrating Human Factors into Use Cases and OO Methods Lisbon - Portugal: Year. [9]. Jacobson, I., G. Booch, and J. Rumbaugh, he unified software development process. he Addison-Wesley object technology series, Reading, Mass: Addison-Wesley, [10]. OMG, Unified Modeling Language 1.3,, Object Management Group, [11]. Coutaz, J. PAC: An object-oriented model for dialogue design. in INERAC' : Elsevier Science Publisher, Year. [12]. Beck, K. and W. Cunningham. A laboratory for teaching object oriented thinking. in OOPSLA' , Year. [13]. Pfaff, G. and P.J.W.t. Haguen, eds. User Interface Management Systems., Springer- Verlag: Berlin, [14]. Bass, L., A metamodel for the runtime architecture of an interactive system: he UIMS developers workshop. SIGCHI Bulletin, 24(1): p , [15]. Coutaz, J., Software Architecture Modeling for User Interfaces, in Encyclopedia of Software Engineering, Wiley, [16]. Nunes, N.J. and J.F.e. Cunha. Wisdom A UML based architecture for interactive systems. in DSV_IS' Limerick - Ireland: (submitted), Year. [17]. Paternò, F., Model Based Design and Evaluation of Interactive Applications. Applied Computing, London: Springer-Verlag, [18]. Roberts, D., et al., Designing for the user with OVID : bridging user interface design and software engineering. lst ed, Indianapolis, IN: Macmillan echnical Pub., [19]. Nunes, N.J. and J.F.e. Cunha, Whitewater Interactive System Development with Object Models, in Object-Oriented User Interface Design, M.v. Harmelen, Editor, Addison- Wesley, [20]. Conallen, J., Building Web Applications with UML. Object echnology Series: Addison- Wesley, 1999.

Wisdom A UML based architecture for interactive systems

Wisdom A UML based architecture for interactive systems Wisdom An UML based architecture for interactive system 1 Wisdom A UML based architecture for interactive systems Nuno Jardim Nunes 1, João Falcão e Cunha 2 1 Universidade da Madeira, Unidade de Ciências

More information

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN THE UML Position Paper to the WTUML: Workshop on Transformations in UML ETAPS 2001 European Joint Conference on Theory and Practice of Software Nuno Jardim

More information

Mapping ConcurTaskTrees into UML 2.0

Mapping ConcurTaskTrees into UML 2.0 Mapping ConcurTaskTrees into UML 2.0 Leonel Nóbrega 1, Nuno Jardim Nunes 1 and Helder Coelho 2 1 Department of Mathematics and Engineering, University of Madeira, Campus da Penteada, 9000-390 Funchal,

More information

Representing User-Interface Patterns in UML

Representing User-Interface Patterns in UML Representing User-Interface Patterns in UML Nuno Jardim Nunes Universidade da Madeira, Dep. de Matemática e Engenharias, 9000-390 Funchal, Portugal njn@uma.pt Abstract. Software patterns played a major

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Modeling Enterprise Web Applications

Modeling Enterprise Web Applications Modeling Enterprise Web Applications Shane Sendall and Alfred Strohmeier Swiss Federal Institute of Technology Lausanne Department of Computer Science Software Engineering Laboratory 1015 Lausanne EPFL,

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

CanonSketch: a User-Centered Tool for Canonical Abstract Prototyping

CanonSketch: a User-Centered Tool for Canonical Abstract Prototyping CanonSketch: a User-Centered Tool for Canonical Abstract Prototyping Pedro F. Campos and Nuno J. Nunes Department of Mathematics and Engineering, University of Madeira Campus da Penteada, 9000-390 Funchal,

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

The UML Extension Mechanisms

The UML Extension Mechanisms Jasmine Farhad Dept of Computer Science University College London 13-Dec-02 The UML Extension Mechanisms Introduction There is an important need for organisations to evolve in today s market. This has

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

Characterizing your Objects

Characterizing your Objects Characterizing your Objects Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 2, No. 5 By: Rebecca J. Wirfs-Brock In this column I ll describe some vocabulary I find useful to characterize

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION 1. INTRODUCTION

Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION 1. INTRODUCTION Chapter 1 INTEGRATING MODEL-BASED AND TASK- BASED APPROACHES TO USER INTERFACE GENERATION Sergio España, Inés Pederiva, Jose Ignacio Panach Department of Information Systems and Computation Valencia University

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

Perspectives on User Story Based Visual Transformations

Perspectives on User Story Based Visual Transformations Perspectives on User Story Based Visual Transformations Yves Wautelet 1, Samedi Heng 2, and Manuel Kolp 2 1 KU Leuven, Belgium yves.wautelet@kuleuven.be, 2 LouRIM, Université catholique de Louvain, Belgium

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

From Task to Dialog model in the UML

From Task to Dialog model in the UML From Task to Dialog model in the UML Jan Van den Bergh and Karin Coninx Hasselt University, transnationale Universiteit Limburg, Expertise Centre for Digital Media Wetenschapspark 2 3590 Diepenbeek Belgium

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Generic and Domain Specific Ontology Collaboration Analysis

Generic and Domain Specific Ontology Collaboration Analysis Generic and Domain Specific Ontology Collaboration Analysis Frantisek Hunka, Steven J.H. van Kervel 2, Jiri Matula University of Ostrava, Ostrava, Czech Republic, {frantisek.hunka, jiri.matula}@osu.cz

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Aspect-Orientation from Design to Code

Aspect-Orientation from Design to Code Aspect-Orientation from Design to Code Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany groher@informatik.tu-darmstadt.de Thomas Baumgarth Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739

More information

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan

More information

Web Application Development: Java,.Net and Lamp at the Same Time *

Web Application Development: Java,.Net and Lamp at the Same Time * Web Application Development: Java,.Net and Lamp at the Same Time * Jaime Navón and Pablo Bustos Computer Science Dept., P.Universidad Católica de Chile Vicuña Mackenna 4860, Santiago, Chile {jnavon,pbustos}@ing.puc.cl

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Muhammad Ali Babar National ICT Australia Ltd. and University of New South

More information

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Alignment of Business and IT - ArchiMate. Dr. Barbara Re Alignment of Business and IT - ArchiMate Dr. Barbara Re What is ArchiMate? ArchiMate is a modelling technique ("language") for describing enterprise architectures. It presents a clear set of concepts within

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 15: Refining Analysis Relationships Department of Computer Engineering Sharif University of Technology 1 Refining Analysis Relationships Relationships in analysis are converted

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Methods for Complex Web Hypermedia Application: The Design Processes

Methods for Complex Web Hypermedia Application: The Design Processes Methods for Complex Web Hypermedia Application: The Design Processes Ahmad Syafiq Ahmad Appandi, Azrul Hazri Jantan Faculty of Computer Science & Information Technology 43400 UPM, Serdang, Selangor. ahmadsyafiq.upm@gmail.com,

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study

Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study Improving System Usability Through the Automation of User's Routine Intentions: an Image Edition Tool Case Study Alejandro C. Frery, André R. G. do A. Leitão, André W. B. Furtado, Fernando da C. A. Neto,

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM THE TSK-TO-PRESENTTION-LOG MPNG PROBLEM Quentin Limbourg and Jean Vanderdonckt Université catholique de Louvain, Place des Doyens, 1 B-1348 Louvain-la-Neuve, Belgium {Limbourg, Vanderdonckt}@isys.ucl.ac.be

More information

A Tutorial on Agent Based Software Engineering

A Tutorial on Agent Based Software Engineering A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML MSc programme (induction week) Department of Informatics INTRODUCTION TO UML Some of this material is based on Bernd Bruegge and Allen H. Dutoit (2009) Object-Oriented Software Engineering: Using UML,

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's

More information

Software Architecture and Design I

Software Architecture and Design I Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

How and Why to Use the Unified Modeling Language. among software components, architectural-based

How and Why to Use the Unified Modeling Language. among software components, architectural-based This article addresses the Unified Modeling Language and its purpose, constructs, and application to defense software development applications. The Unified Modeling Language (UML) is a notation that can

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information

Open Reuse of Component Designs in OPM/Web

Open Reuse of Component Designs in OPM/Web Open Reuse of Component Designs in OPM/Web Iris Reinhartz-Berger Technion - Israel Institute of Technology ieiris@tx.technion.ac.il Dov Dori Technion - Israel Institute of Technology dori@ie.technion.ac.il

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Modeling Issues Modeling Enterprises. Modeling

Modeling Issues Modeling Enterprises. Modeling Modeling Issues Modeling Enterprises SE502: Software Requirements Engineering Modeling Modeling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

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

More information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

More information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

How to Exploit Abstract User Interfaces in MARIA

How to Exploit Abstract User Interfaces in MARIA How to Exploit Abstract User Interfaces in MARIA Fabio Paternò, Carmen Santoro, Lucio Davide Spano CNR-ISTI, HIIS Laboratory Via Moruzzi 1, 56124 Pisa, Italy {fabio.paterno, carmen.santoro, lucio.davide.spano}@isti.cnr.it

More information

Extension to UML Using Stereotypes

Extension to UML Using Stereotypes Extension to UML Using Stereotypes Daniel Riesco Universidad Nacional de San Luis and Universidad Nacional de Río Cuarto, Argentina driesco@unsl.edu.ar Marcela Daniele Daniel Romero Universidad Nacional

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information