Specifying Usability Features with Patterns and Templates

Size: px
Start display at page:

Download "Specifying Usability Features with Patterns and Templates"

Transcription

1 Specifying Usability Features with Patterns and Templates Holger Röder University of Stuttgart Institute of Software Technology Universitätsstraße 38, Stuttgart, Germany Abstract Functional usability features like Undo or Auto- Save can greatly add to the usability of interactive software systems. This paper presents a pragmatic approach to considering usability features as first-class citizens during early phases of software development, in particular during requirements analysis and definition. A catalog of usability patterns is used to describe proven and reusable solutions and to support software engineers in selecting appropriate usability features for a system. To allow for a systematic consideration, usability features are specified in a use casebased software requirements specification using semiformal specification templates. The resulting extended specification defines where and how usability features shall be integrated in the system, thus facilitating subsequent development activities (e. g. software architecture design, implementation, and test). Keywords-Software Requirements Specification; Use Cases; Usability; Usability Features; Usability Patterns I. INTRODUCTION AND MOTIVATION Usability is an important factor for the overall success of a software system. Functional usability features can substantially add to the system s perceived usability. The wide acceptance of features like Undo (allow users to revert actions) or Run in Background (allow users to have the system perform long-running tasks in the background ) shows that such features have become essential parts of usable interactive systems. They can add to usability characteristics like error tolerance and controllability of the system. From a human-computer interaction (HCI) or usability engineering perspective, functional usability features should be clearly considered when defining and building systems [1]. From a software engineering perspective, however, there is still a lack of integration with established development processes, starting with requirements elicitation and specification. Software engineers 1 often do not take usability features into account systematically, and, in particular, do not consider them first-class citizens during requirements-related activities. As a result, usability features are often not adequately (or not at all) specified in the software requirements specification. This is despite the fact that usability features need to be considered in various subsequent activities in the development process. They are far from being limited to the systems user 1 In this paper, the term software engineer subsumes roles like requirements engineer, software architect, or software developer. interface and, consequently, cannot simply be realized by some pitiful user interface (UI) designer. Usability features often imply significant constraints and requirements on the systems architecture, and result in additional functionality to be implemented and tested [2]. The lack of an agreed specification may thus result in usability features not being integrated in the system at all, being integrated inconsistently, or not being tested sufficiently, thus leading to lower usability and overall quality of the system. The approach presented in this paper attempts to improve visibility and consideration of usability features in established requirements engineering activities and artefacts commonly found in the industry. It proposes using a catalog of proven patterns to support the selection of usability features of an interactive system during requirements definition, and suggests specifying the selected usability features within use case descriptions using a template-based specification technique. The remainder of this paper is as follows: In the next section, the notion of usability patterns and usability features is presented. Section III outlines the specification technique, and section IV introduces the use of templates to support specification. A subsequent example in section V illustrates the specification technique. Section VI describes the evaluation of the approach that has been done so far. The last section concludes the paper with a short discussion, conclusions, and outlook. II. USABILITY PATTERNS AND USABILITY FEATURES In today s software industry, many systems are still built without the involvement of HCI specialists in the development process [3]. Systems are built by software engineers with little or no usability expertise who often have limited knowledge of adequate usability features for the systems they develop. It seems reasonable to support software engineers by showing them what kind of usability features exist, when and how the features should be taken into account, and the positive and negative impact particular features can have (e. g. on system architecture, system costs, or usability). In recent years, the concept of patterns as recurring solutions to common problems in a given context [4] has gained increasing popularity in both the software engineering and the HCI community. In HCI, proven UI solutions /12/$31.00 c 2012 IEEE 6 UsARE 2012, Zurich, Switzerland

2 Table I USABILITY PATTERNS IN THE CATALOG (EXCERPT) Usability Pattern Undo Run in Background Auto-Save Recycle Bin Progress Display Preview Short Description Allow users to revert actions. Allow users to have the system perform long-running tasks in the background, and to meanwhile continue working with the system. Save changes automatically without users having to care about it. Validate user input while user is typing, and give immediate feedback. Allow users to move data to a virtual recycle bin instead of deleting it permanently, and allow them to restore data from the recycle bin upon request. Inform users about the progress of long-running tasks, and help them estimate the time remaining. Allow users to preview the expected results of an action. have been identified as interaction design patterns and have been used as a means of communicating and teaching design knowledge. Interaction design patterns have been collected in numerous pattern catalogs that have been released as books or published on the web (see [5] for an overview). The approach presented in this paper picks up the basic idea of interaction design patterns, but focuses on functional features, not on UI widgets or design concepts. For this approach, proven functional usability features that can be found in well-designed existing systems have been identified and, on an abstract level, described as so-called usability patterns. The descriptions adhere to a common structure. Each usability pattern describes a typical problem related to the use of an interactive software system, a proven functional solution to this problem, the context of use in which the solution is recommended, the rationale, and realworld examples (illustrated with screenshots) to support the arguments. The individual patterns form a usability pattern catalog. Table I shows some of the patterns included in the catalog. During requirements definition, software engineers can use this usability pattern catalog to learn about possible usability features for the system they are building. Based on the catalog and the pattern descriptions, they can discuss, weight the costs and benefits, and finally decide on the usability features to be integrated in the system. III. SPECIFICATION OF USABILITY FEATURES IN USE CASES Experience tells that naming the required features of a system is not enough. To allow for a systematic (and cost-efficient) consideration during subsequent development activities, usability features have to be specified as fullfledged requirements in the requirements specification. Basically, this can be done using various specification techniques, e. g. by specifying plain functional requirements in natural language. However, the nature of usability features calls for a technique that takes their specific characteristics into account. Usability features often appear as crosscutting features that affect many or all business functions of a system; therefore, the features become part of various interactions between the system and its users. For example, a well-designed system would offer its users the Run in Background feature not only for one particular business function, but for a number of different (presumably longrunning) functions the software performs. This behavior cannot be adequately expressed through single functional requirements. The specification technique used in this approach accounts for both the cross-cutting nature of usability features as well as the objective of having consistent and complete requirements. This is achieved by interweaving business functions and usability features at requirements level in a use case-based requirements specification. Functional requirements for interactive systems are commonly specified in the form of use cases [6], [7]. Use cases are used for modeling and describing interactions between the (future) system and its users. In a use case specification, use cases are described in structured textual form (e. g. in tables), with each use case comprising one or more interaction sequences and each sequence containing a number of basic interaction steps (to be performed by the system or a user). In the present approach, a given use case specification (assumed to specify all the business functions) is extended by adding additional requirements that specify the system s usability features: Global usability feature requirements, also called global parameters, are used to define general constraints (on an abstract level) on how usability features shall be realized in the system, e. g. by specifying default behavior or UI design constraints. This ensures that a particular feature is implemented similarly throughout the system, hopefully adding to a consistent user experience. (E. g. for the Run in Background feature: The background task progress bar shall always appear in the bottom right corner of the dialog window.) Interaction-specific usability feature requirements refer to single interactions between the system and its users. They are used to define where (i. e. for which interactions) particular usability features shall be implemented. This is expressed in the use case specification by adding annotations to the respective use case elements (i. e. use cases, interaction sequences, or interaction steps). If necessary, additional local parameters can be used to describe more precisely how the features shall be implemented, and use case extensions, 7

3 Usability Features Usability Feature Usability Feature F1 Global Param. 1 Global Param. 2 Global Requirements Usability Feature F1 Global Param. 1 Global Param. 2 Use Usability Feature F1 here! Use Case 1 Use Case 1 Use Case 1 Main Flow Main Flow Main Flow Step 1 Step 2 Step 3 Alternate Flow Step 2a1 Use Case 2 Step 1 Step 2 Step 3 Alternate Flow Step 2a1 Use Case 2 Step 1 Step 2 Step 3 + Alternate Flow Alternate Flow Step 2a1 Use Case 2 + Step 1a1 F1 (Annotation) F1 (Annotation) Interactionspecific Requirements (a) Initial Use Case Specification (b) Specifying Global Usability Feature Requirements (c) Specifying Interaction-Specific Usability Feature Requirements: Annotations and Local Parameters Figure 1. Schematic view of a usability feature specification in a use case-based software requirements specification i. e. additional use case elements, can be used to express an extended interaction sequence which stems from the usability feature being implemented in the particular interaction. (In the above example: Annotate all use case steps that describe long-running processing tasks the system has to run in background at users request. For each annotation, specify how the system shall calculate task progress as a parameter.) Figure 1 outlines how a use case specification can be extended with both global and interaction-specific usability feature requirements. In this example, annotations and local parameters have been added to step 1 and step 2a1 in the first use case. As the feature integration in step 1 may lead to new interactions, an additional interaction sequence (alternate flow) has also been specified. IV. SPECIFICATION TEMPLATES The specification technique introduced in the previous section is centered around specifying a system s usability features in an extended use case specification. However, inexperienced software engineers might not know what to specify, i. e. what information to include in the extended specification to allow for a successful implementation of the usability features. To support software engineers in specifying complete (and adequate) usability feature requirements, each usability pattern s description comes with a set of semiformal guidelines, so-called specification templates. The templates define how the particular usability feature has to be specified. This is based on the assumptation that, on an abstract level, the information software engineers need to know (from the requirements specification) for the effective implementation of a particular usability feature is similar or same for different systems and even for different business domains and technical contexts and that, consequently, this information can be specified in the same way. Each usability pattern description includes multiple specification templates. Each template refers to a particular type of usability feature requirement (as introduced in the previous section) and describes which information should be expressed through requirements of this type when specifying the respective usability feature. E. g., an annotation template tells software engineers to annotate particular use case elements in order to denote where (i. e. in which interactions) a usability feature shall be implemented. As a whole, the set of templates in the pattern description defines which information has to be specified for the usability feature, and how the information should be specified. The templates thus enable software engineers to provide all the information needed to take the usability feature into account in subsequent development activities. Figure 2 shows a (simplified) example: The usability pattern defines three specification templates (shown in the bottom part of the figure). The first template tells software engineers to specify a global parameter UI representation. The second template tells them to annotate all use case steps with a annotation if user input is to be validated. For each annotated use case step, software engineers are also required to specify the criteria for input validation (local parameter Valid Data, third specification template). This information, when adequately specified, is (in this example) assumed to be sufficient for an effective implementation of the feature. 8

4 6. Use Cases Use Case Goal Actor(s) Main Success Scenario Undo Transfer money UC#3 The customer wants to transfer money from his/her bank account to another bank account (target account). Customer 1. Customer selects function Transfer money 2. System shows money transfer form. 3. Customer enters transfer amount. Valid data: Positive amount in German currency format; Max. amount: current balance + credit limit 4. Customer enters target account information. Valid data: Valid International Bank Account Number, IBAN (ISO ) 6. Customer enters reference text. 7. Customer selects to transfer the money. 8. System transfers money from customer s account to target account. 9. System shows confirmation. Undo Condition: Money transfer shall be reversible within 60 minutes after submission Figure 4. Example use case with annotations 5. Usability Figure 2. Pattern Usability Requirements Pattern (excerpt) 5.1. Usability Feature UI Representation The system shall display the validation result next to the input field. The system shall use the following symbols to indicate the validation result: warning sign for invalid data; check mark for valid data. The system shall display an explanatory message upon user s request. Figure 3. Example global parameter for V. SPECIFICATION EXAMPLE The following (again simplified) scenario illustrates the approach. During requirements definition for a new online banking system, software engineers use the catalog of usability patterns to identify and propose adequate usability features that can add to the usability of the system. With respect to the context of use, product management selects the usability feature (among others) to be included in the banking system. Based on the given use case specification, the feature is specified according to the specification templates defined in the pattern description. The global parameter template UI representation requires the specification of UI-related constraints, in order to ensure that validation results are displayed similarly in all dialogs, even if different developers implement the dialogs. Therefore, in the first step, a corresponding global parameter is specified. The parameter defines how the system shall display the results of live validation (figure 3). In the next step, the use cases in the use case specification (i. e., the business-related functional requirements) are analyzed, and all user input steps where live validation should take place are annotated as defined by the Live Validation annotation template. In the example use case Transfer money shown in figure 4, step 3 and step 4 are annotated. Finally, the local parameters Valid Data are specified individually for each annotation. They define the criteria to be used for validation. Following this procedure, the resulting extended use case specification contains all the information needed for taking the usability feature into account during architecture design, implementation, and test. (To illustrate the specification technique, figure 4 also shows another sequence annotation, Undo, that is used to specify under which conditions users can undo the money transfer.) VI. EVALUATION The approach has been successfully evaluated in different settings. In a recent undergraduate software project at the University of Stuttgart, a total of 70 software engineering students in 23 teams applied the approach when developing a Java-based information system for a customer from the industry (total effort per team: approx. 75 person-days). The concept of usability patterns and the usability feature specification technique were introduced in two short trainings beforehand, and students were given a catalog of 20 usability patterns for interactive software systems. The main objective of this evaluation was to find out whether 9

5 Figure 5. Extended use case editor TULIP participants with little usability expertise were able to select appropriate usability features for the system they were building, and whether they were able to specify a complete set of requirements for the usability features to be included in their systems. For specifying use cases and usability features, participants used TULIP, an extended use case editor that has been developed as a supporting tool for the present approach. TULIP allows e. g. adding annotations to use case elements (as defined by annotation templates) with a few mouse clicks, thus facilitating the use of the specification technique. Figure 5 shows a screenshot of the main window and the annotation dialog. Results of this evaluation are promising. 16 out of 23 teams selected between five and nine usability features (which was considered the adequate range) for their systems (out of the 20 usability patterns described in the catalog). The selected features were in most cases both appropriate and feasible. Usability features that did not match the system s context of use or functionality were consequently left out. In total, about 65% of the additional requirements related to usability features were specified completely and correctly in extended use case specifications, following the respective specification templates. Results show that a majority of the teams specified their usability features almost flawlessly, while five teams apparently did not understand the specification technique and thus delivered no correct feature specifications at all. In summary, the evaluation indicates that a catalog of usability patterns can help less-experienced software engineers selecting appropriate usability features for a system during requirements analysis and definition, and that the template-based specification technique enables software engineers to specify requirements that adequately define these features in a software requirements specification. The evaluation also showed a high level of acceptance of the approach among the participants. For example, when asked about the perceived helpfulness of the usability pattern catalog, 19 out of 23 teams answered that the catalog had been helpful or very helpful during their requirements activites. VII. CONCLUSIONS AND OUTLOOK The approach presented in this paper provides a pragmatic way to select and specify, at requirements level, functional 10

6 usability features of a software system. It can be applied in software development processes where system functionality and designated interactions between users and system are specified in the form of use cases. However, as part of future research, the approach might also be adapted to other types of interaction models (e. g. UML activity diagrams), provided that the level of detail of the modeled interactions matches the level of detail needed for usability feature specifications. Usability is a broad subject, and by focusing on functional usability features, the approach takes only a part of the various aspects into account that make for usable systems. It should therefore preferably be used in the context of a greater usability-oriented engineering process, in which other aspects of usability are also considered. However, as the approach represents one of the (still) few attempts to systematically integrate functional usability features with established requirements-related activities and commonly found artefacts, it may increase awareness for usability issues even in more traditional (i. e. less user-centric) organizations. Results of the evaluation so far indicate that the approach can be successfully applied by software engineers with little or no usability expertise, which is often considered a necessary condition for establishing usability-oriented methods in software development organizations [8]. However, further evaluation in an industry setting might be needed to validate this assumption. Future research will also focus on expanding the catalog of usability patterns, and on integrating usability feature specifications with graphical UI prototypes (e. g. mockups). REFERENCES [1] N. Juristo, A. M. Moreno, and M.-I. Sanchez-Segura, Guidelines for eliciting usability functionalities, IEEE Transactions on Software Engineering, vol. 33, no. 11, pp , [2] L. Bass and B. E. John, Supporting usability through software architecture, IEEE Computer, vol. 34, no. 10, pp , [3] B. Jerome and R. Kazman, Surveying the solitudes: An investigation into the relationships between human computer interaction and software engineering in practice, in Human- Centered Software Engineering Integrating Usability in the Software Development Lifecycle, A. Seffah, J. Gulliksen, and M. C. Desmarais, Eds. Springer, 2005, pp [4] C. Alexander, The Timeless Way of Building. Oxford University Press, [5] A. Dearden and J. Finlay, Pattern languages in HCI: A critical review, Human-Computer Interaction, vol. 21, no. 1, pp , [6] I. Jacobson, M. Christerson, and P. Jonsson, Object-Oriented Software Engineering A Use Case Driven Approach. Addison-Wesley Longman, Amsterdam, [7] C. J. Neill and P. A. Laplante, Requirements engineering: The state of the practice, IEEE Software, vol. 20, no. 6, pp , [8] J.-Y. Mao, K. Vredenburg, P. W. Smith, and T. Carey, Usercentered design methods in practice: A survey of the state of the art, in Proceedings of the 2001 Conference of the IBM Centre for Advanced Studies,

RESPONSIBILITIES IN THE USABILITY REQUIREMENTS ELICITATION PROCESS

RESPONSIBILITIES IN THE USABILITY REQUIREMENTS ELICITATION PROCESS RESPONSIBILITIES IN THE USABILITY REQUIREMENTS ELICITATION PROCESS Marianella Aveledo Ana M. Moreno Facultad de Informática Universidad Politécnica de Madrid Madrid, Spain ABSTRACT Like any other software

More information

CSCI 3160: User Interface Design

CSCI 3160: User Interface Design CSCI 3160: User Interface Design Dalhousie Faculty of Computer Science 24 October 2003 Objectives CSCI 3160: User Interface Design This class deals with concepts and techniques underlying the design of

More information

Preparing Usability Supporting Architectural Patterns for Industrial Use

Preparing Usability Supporting Architectural Patterns for Industrial Use Proceedings of International Workshop on the Interplay between Usability Evaluation and Software Development. I-USED 2008, Piza, Italy, Sept 24 th, 2008. Preparing Usability Supporting Architectural Patterns

More information

Integrating User Evaluation into Software Development Environments

Integrating User Evaluation into Software Development Environments Integrating User Evaluation into Software Development Environments Yael Dubinsky, Tiziana Catarci, Shah Rukh Humayoun, and Stephen Kimani Dipartimento di Informatica e Sistemistica Università di Roma "La

More information

Towards Systematic Usability Verification

Towards Systematic Usability Verification Towards Systematic Usability Verification Max Möllers RWTH Aachen University 52056 Aachen, Germany max@cs.rwth-aachen.de Jonathan Diehl RWTH Aachen University 52056 Aachen, Germany diehl@cs.rwth-aachen.de

More information

Cognitive Walkthrough

Cognitive Walkthrough 1 Cognitive Walkthrough C. Wharton, J. Rieman, C. Lewis and P. Polson, The Cognitive Walkthrough Method: A Practitioner s Guide, in J. Nielsen and R. Mack (eds.), Usability Inspection Methods, John Wiley

More information

Last updated: 27 July 2015 Changes & New Features in VLE 2015/16 v1.0

Last updated: 27 July 2015 Changes & New Features in VLE 2015/16 v1.0 Changes & New Features in VLE 2015/16 VLE 2015/16 is based on Moodle 2.8. This version is more recent compared to the one used for VLE 2014/15 (Moodle 2.6). The general user experience is similar to that

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

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

Aspect Design Pattern for Non Functional Requirements

Aspect Design Pattern for Non Functional Requirements Aspect Design Pattern for Non Functional Requirements FAZAL-E-AMIN¹, ANSAR SIDDIQ², HAFIZ FAROOQ AHMAD³ ¹ ²International Islamic University Islamabad, Pakistan ³NUST Institute of Information Technology,

More information

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system Introducing Interactive Systems Design and Evaluation: Usability and Users First Ahmed Seffah Human-Centered Software Engineering Group Department of Computer Science and Software Engineering Concordia

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

Mensch-Maschine-Interaktion 1

Mensch-Maschine-Interaktion 1 1 Mensch-Maschine-Interaktion 1 Chapter 10 (July 21st, 2011, 9am-12pm): User-Centered Development Process Overview Introduction Basic HCI Principles (1) Basic HCI Principles (2) User Research & Requirements

More information

Human-Computer Interaction: An Overview. CS2190 Spring 2010

Human-Computer Interaction: An Overview. CS2190 Spring 2010 Human-Computer Interaction: An Overview CS2190 Spring 2010 There must be a problem because What is HCI? Human-Computer interface Where people meet or come together with machines or computer-based systems

More information

A User Study on Features Supporting Subjective Relevance for Information Retrieval Interfaces

A User Study on Features Supporting Subjective Relevance for Information Retrieval Interfaces A user study on features supporting subjective relevance for information retrieval interfaces Lee, S.S., Theng, Y.L, Goh, H.L.D., & Foo, S. (2006). Proc. 9th International Conference of Asian Digital Libraries

More information

needs, wants, and limitations

needs, wants, and limitations In broad terms Process in which the needs, wants, and limitations of end users of a product are given extensive attention at each stage of the design process. ISO principles which says that the design

More information

GUI Development in TDD Model Case Study

GUI Development in TDD Model Case Study GUI Development in TDD Model Case Study Sowmya Dhandapani* Broadcom Limited, Bangalore, India. * Corresponding author. Email: sowmya.dhandapani.1979@ieee.org Manuscript submitted May 17, 2016; accepted

More information

CHAPTER 4 HUMAN FACTOR BASED USER INTERFACE DESIGN

CHAPTER 4 HUMAN FACTOR BASED USER INTERFACE DESIGN CHAPTER 4 HUMAN FACTOR BASED USER INTERFACE DESIGN 4.1 Introduction Today one of the most important concerns is how to use the system with effectiveness, efficiency and satisfaction. The ease or comfort

More information

Evaluation report of requirements elicitation practices

Evaluation report of requirements elicitation practices Evaluation report of requirements elicitation practices Version: 1.0 Date: 26.6.2002 Sari Kujala Qure Project Software Business and Engineering Institute Helsinki University of Technology TABLE OF CONTENTS

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

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 3.0: Rethinking Drivers and Decisions in the Design Process ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

Usability in Requirements Engineering

Usability in Requirements Engineering Association for Information Systems AIS Electronic Library (AISeL) ACIS 2006 Proceedings Australasian (ACIS) 1-1-2006 Usability in Requirements Engineering Sisira Adikari University of Canberra, Sisira.Adikari@canberra.edu.au

More information

The IDN Variant TLD Program: Updated Program Plan 23 August 2012

The IDN Variant TLD Program: Updated Program Plan 23 August 2012 The IDN Variant TLD Program: Updated Program Plan 23 August 2012 Table of Contents Project Background... 2 The IDN Variant TLD Program... 2 Revised Program Plan, Projects and Timeline:... 3 Communication

More information

A Collaborative User-centered Approach to Fine-tune Geospatial

A Collaborative User-centered Approach to Fine-tune Geospatial A Collaborative User-centered Approach to Fine-tune Geospatial Database Design Grira Joel Bédard Yvan Sboui Tarek 16 octobre 2012 6th International Workshop on Semantic and Conceptual Issues in GIS - SeCoGIS

More information

A Framework for Characterizing Usability Requirements Elicitation and Analysis Methodologies (UREAM)

A Framework for Characterizing Usability Requirements Elicitation and Analysis Methodologies (UREAM) A Framework for Characterizing Usability Requirements Elicitation and Analysis Methodologies (UREAM) Jos J.M. Trienekens IE&IS TUE Eindhoven, The Netherlands j.j.m.trienekens@tue.nl Rob J. Kusters Management

More information

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming

More information

Harmonization of usability measurements in ISO9126 software engineering standards

Harmonization of usability measurements in ISO9126 software engineering standards Harmonization of usability measurements in ISO9126 software engineering standards Laila Cheikhi, Alain Abran and Witold Suryn École de Technologie Supérieure, 1100 Notre-Dame Ouest, Montréal, Canada laila.cheikhi.1@ens.etsmtl.ca,

More information

Functional Requirements and Use Cases

Functional Requirements and Use Cases Functional Requirements and Use Cases By Ruth Malan, Hewlett-Packard Company, and Dana Bredemeyer, Bredemeyer Consulting, Email: ruth_malan@hp.com and dana@bredemeyer.com Functional Requirements Functional

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

A Visual Tool for Supporting Developers in Ontology-based Application Integration

A Visual Tool for Supporting Developers in Ontology-based Application Integration A Visual Tool for Supporting Developers in Ontology-based Application Integration Tobias Wieschnowsky 1 and Heiko Paulheim 2 1 SAP Research tobias.wieschnowsky@sap.com 2 Technische Universität Darmstadt

More information

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen Overview of the course User-Centred Design Fang Chen 6 lectures, 3 hr each. L 1: April 6, 9-12, user-centered design concept L2: April 14, 9-12, usability concept L3. user-centered requirement study L4.

More information

Towards Choreography Transactions

Towards Choreography Transactions Towards Choreography Transactions Oliver Kopp, Matthias Wieland, and Frank Leymann Institute of Architecture of Application Systems, University of Stuttgart, Germany Universitätsstraße 38, 70569 Stuttgart,

More information

Designing Usable Apps

Designing Usable Apps This is a free sample excerpt from the book: Designing Usable Apps An agile approach to User Experience design Author: Kevin Matz 264 pages (softcover edition) Print edition ISBN: 978-0-9869109-0-6 E-book

More information

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM S. V. Pingale et al. : Cost Estimation for Distributed Systems using Use Case Diagram Journal of Advances in Engineering Science 41 Section C (3), July - December 2010, PP 41-48 COST ESTIMATION FOR DISTRIBUTED

More information

Best Practices for Collecting User Requirements

Best Practices for Collecting User Requirements Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger Requirements Provide direction for program success Why Requirements are

More information

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

CPS122 Lecture: The User Interface

CPS122 Lecture: The User Interface Objectives: CPS122 Lecture: The User Interface 1. To introduce the broad field of user interface design 2. To introduce the concept of User Centered Design 3. To introduce a process for user interface

More information

Concepts of user-centered design

Concepts of user-centered design Lecture 1 Concepts of user-centered design What is UCD? Primary goad: making products usable Is there any difference? Usable Usefulness Usability Why important? Increased productivity Reduced errors Reduced

More information

Work Environment and Computer Systems Development.

Work Environment and Computer Systems Development. CID-133 ISSN 1403-0721 Department of Numerical Analysis and Computer Science KTH Work Environment and Computer Systems Development. Jan Gulliksen and Bengt Sandblad CID, CENTRE FOR USER ORIENTED IT DESIGN

More information

Evolutionary Architecture and Design

Evolutionary Architecture and Design Evolutionary Architecture and Design Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

This handbook contains directions on using tools and resources in WebAccess at CSM.

This handbook contains directions on using tools and resources in WebAccess at CSM. WebAccess Handbook This handbook contains directions on using tools and resources in WebAccess at CSM. Contents Logging in to WebAccess... 2 Setting up your Shell... 3 Docking Blocks or Menus... 3 Course

More information

Apply a Design Pattern

Apply a Design Pattern Apply a Design Pattern Objectives After completing this lab, you will be able to: Given Apply a design pattern to a model. Transform UML classes to Java classes. Explore the transformation results. No

More information

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search Overview of Today s Lecture Analytical Evaluation / Usability Testing November 17, 2017 Analytical Evaluation Inspections Recapping cognitive walkthrough Heuristic evaluation Performance modelling 1 2

More information

Incorporating Usability into an Object Oriented. Development Process

Incorporating Usability into an Object Oriented. Development Process Incorporating Usability into an Object Oriented Development Process Xavier Ferré Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo 28660 - Boadilla del Monte Spain xavier@fi.upm.es

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (2017-2018) Course / Branch : BCA Total Hours : 45 Subject Name : OBJECT ORIENTED

More information

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many

More information

Customized UI Development Through Context-Sensitive GUI Patterns

Customized UI Development Through Context-Sensitive GUI Patterns Customized UI Development Through Context-Sensitive GUI Patterns Enes Yigitbas, Stefan Sauer Paderborn University, s-lab Software Quality Lab Abstract Developing highly flexible and easy to use user interfaces

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

To practice UCSD Usability Design

To practice UCSD Usability Design To practice UCSD from principles to process Adds essential UCSD activities and roles to any process. Easy to communicate. Easy to integrate: in organizations and projects. A subset of a development process.

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

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2015/2016 Eddy Groen Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

Verification of Implementing Security Design Patterns Using a Test Template

Verification of Implementing Security Design Patterns Using a Test Template Verification of Implementing Security Design Patterns Using a Test Template Abstract Although security patterns contain security expert knowledge to support software developers, these patterns may be inappropriately

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT March 2017 PRINCIPLES OF USER INTERFACE DESIGN EXAMINERS REPORT General Comments Candidates should focus

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

IT Governance Framework at KIT

IT Governance Framework at KIT [unofficial English version; authoritative is the German version] IT Governance Framework at KIT 1. Recent situation and principle objectives Digitalization increasingly influences our everyday life at

More information

UX Research in the Product Lifecycle

UX Research in the Product Lifecycle UX Research in the Product Lifecycle I incorporate how users work into the product early, frequently and iteratively throughout the development lifecycle. This means selecting from a suite of methods and

More information

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software

More information

Chapter 5. Software Tools

Chapter 5. Software Tools Chapter 5 Software Tools 1 Introduction The demands of modern life require user-interface architects to build reliable, standard, safe, inexpensive, effective, and widely acceptable user interfaces on

More information

CS211 Lecture: The User Interface

CS211 Lecture: The User Interface CS211 Lecture: The User Interface Last revised November 19, 2008 Objectives: 1. To introduce the broad field of user interface design 2. To introduce the concept of User Centered Design 3. To introduce

More information

Using the UML to Describe Design Patterns

Using the UML to Describe Design Patterns Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

L02.1 Introduction... 2

L02.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................

More information

Table of Contents Data Validation... 2 Data Validation Dialog Box... 3 INDIRECT function... 3 Cumulative List of Keyboards Throughout Class:...

Table of Contents Data Validation... 2 Data Validation Dialog Box... 3 INDIRECT function... 3 Cumulative List of Keyboards Throughout Class:... Highline Excel 2016 Class 10: Data Validation Table of Contents Data Validation... 2 Data Validation Dialog Box... 3 INDIRECT function... 3 Cumulative List of Keyboards Throughout Class:... 4 Page 1 of

More information

Seng310 Lecture 8. Prototyping

Seng310 Lecture 8. Prototyping Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

A Java-based Course in Human-Computer Interaction. Eileen Kraemer. The University of Georgia. Athens, GA interface.

A Java-based Course in Human-Computer Interaction. Eileen Kraemer. The University of Georgia. Athens, GA interface. A Java-based Course in Human-Computer Interaction Eileen Kraemer Computer Science Department The University of Georgia Athens, GA 30602 Abstract The ACM/SIGCHI proposed curriculum for Human-Computer Interaction

More information

Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005

Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Introduction to Interactive Systems SMD158 Interactive Systems Spring 2005 Jan-14-05 1997-2005 by David A. Carr 1 L Overview What is an interactive

More information

Using the Common Criteria to Elicit Security Requirements with Use Cases

Using the Common Criteria to Elicit Security Requirements with Use Cases Using the Common Criteria to Elicit Security Requirements with Use Cases Michael S. Ware John B. Bowles Caroline M. Eastman Fairmont State University University of South Carolina University of South Carolina

More information

A FRAMEWORK FOR INTEGRATING USABILITY PRACTICES INTO SMALL-SIZED SOFTWARE DEVELOPMENT ORGANIZATIONS

A FRAMEWORK FOR INTEGRATING USABILITY PRACTICES INTO SMALL-SIZED SOFTWARE DEVELOPMENT ORGANIZATIONS A FRAMEWORK FOR INTEGRATING USABILITY PRACTICES INTO SMALL-SIZED SOFTWARE DEVELOPMENT ORGANIZATIONS Lulwa Alyahyan 1, Khalid Alnafjan 2, and Hamza Aldabbas 3 1 King Abdulaziz City for Science and Technology,

More information

Marking Guidelines for MVK Projects. MVK11. Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo)

Marking Guidelines for MVK Projects. MVK11. Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo) Marking Guidelines for MVK Projects. MVK11 Version 6.2 (PPD, URD, ADD, revised URD+ADD, and software demo) 2012-05- 03 Final Grade formulas: MVK DD1365 Grade = PPD + URD. Bachelor s Thesis DD143X Grade

More information

User Interface Design

User Interface Design Objective User Interface Design MIT, Walailak University by Dr.Wichian Chutimaskul Understand the principles of user interface (UI) design Understand the process of user interface design To design the

More information

2 The BEinGRID Project

2 The BEinGRID Project 2 The BEinGRID Project Theo Dimitrakos 2.1 Introduction Most of the results presented in this book were created within the BEinGRID project. BEinGRID, Business Experiments in GRID, is the European Commission

More information

User Centered Design Interactive Software Lifecycle

User Centered Design Interactive Software Lifecycle Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática User Centered Design Interactive Software Lifecycle Human-Computer Interaction Beatriz Sousa Santos, 2012/2013 User centered

More information

Cognitive Walkthrough

Cognitive Walkthrough 1 1 Cognitive Walkthrough C. Wharton, J. Rieman, C. Lewis and P. Polson, The Cognitive Walkthrough Method: A Practitioner s Guide, in J. Nielsen and R. Mack (eds.), Usability Inspection Methods, John Wiley

More information

Adding Usability to Web Engineering Models and Tools

Adding Usability to Web Engineering Models and Tools Adding Usability to Web Engineering Models and Tools Richard Atterer 1 and Albrecht Schmidt 2 1 Media Informatics Group Ludwig-Maximilians-University Munich, Germany richard.atterer@ifi.lmu.de 2 Embedded

More information

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?!

More information

Code Check TM Software Requirements Specification

Code Check TM Software Requirements Specification Code Check TM Software Requirements Specification Author: Richard McKenna Debugging Enterprises TM Based on IEEE Std 830 TM -1998 (R2009) document format Copyright 2017 Debugging Enterprises No part of

More information

Architecture and Design Evolution

Architecture and Design Evolution Architecture and Design Evolution Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

Getting a Quick Start with RUP

Getting a Quick Start with RUP Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite

More information

De La Salle University Information Technology Center. Microsoft Windows SharePoint Services and SharePoint Portal Server 2003

De La Salle University Information Technology Center. Microsoft Windows SharePoint Services and SharePoint Portal Server 2003 De La Salle University Information Technology Center Microsoft Windows SharePoint Services and SharePoint Portal Server 2003 WEB DESIGNER / ADMINISTRATOR User s Guide 2 Table Of Contents I. What is Microsoft

More information

3. Agent-Oriented Methodologies Part 2: The PROMETHEUS methodology.

3. Agent-Oriented Methodologies Part 2: The PROMETHEUS methodology. Multiagent Syste ems Design (MASD D) Part 2: The PROMETHEUS methodology. https://kemlg.upc.edu Javier Vázquez-Salceda MASD Methodological Extensions to Object-Oriented Approaches A means for agent technologies

More information

UT-PBR-044 Processing of Static Data maintenance instructions during the night-time settlement (INC )

UT-PBR-044 Processing of Static Data maintenance instructions during the night-time settlement (INC ) UT-PBR-044 Processing of Static Data maintenance instructions during the night-time settlement (INC000000163836) Introduction This note describes the different design options proposed, along the project

More information

Perceptions and use of web design guidelines: summary report

Perceptions and use of web design guidelines: summary report Steve Szigeti PhD Candidate Graduate Fellow, Knowledge Media Design Institute Contact: steve DOT szigeti AT utoronto DOT ca Executive Summary Interface design guidelines represent a form of codified knowledge,

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

A Reconnaissance on Design Patterns

A Reconnaissance on Design Patterns A Reconnaissance on Design Patterns M.Chaithanya Varma Student of computer science engineering, Sree Vidhyanikethan Engineering college, Tirupati, India ABSTRACT: In past decade, design patterns have been

More information

Usability and User Experience in (EHR) Procurement sometimes entitled as Government System Procurement. Marko Nieminen Aalto University, Finland

Usability and User Experience in (EHR) Procurement sometimes entitled as Government System Procurement. Marko Nieminen Aalto University, Finland Usability and User Experience in (EHR) Procurement sometimes entitled as Government System Procurement Marko Nieminen Aalto University, Finland Is usability important for EHRs? Is user experience important

More information

IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation

IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation *Fahim Kawsar, **Md. Shahriar Saikat, ***Shariful Hasan Shaikot Department of Computer Science *Islamic

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

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

Usability. Daniela Rosner. Web Architecture, October 9, School of Information UC Berkeley

Usability. Daniela Rosner. Web Architecture, October 9, School of Information UC Berkeley Usability Daniela Rosner Web Architecture, 290-03 October 9, 2007 School of Information UC Berkeley Outline Introduction what is usability Best Practices common solutions Design Patterns shared languages

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

ACCOMMODATING USABILITY DRIVEN CHANGES IN EXISTING SOFTWARE ARCHITECTURE

ACCOMMODATING USABILITY DRIVEN CHANGES IN EXISTING SOFTWARE ARCHITECTURE ACCOMMODATING USABILITY DRIVEN CHANGES IN EXISTING SOFTWARE ARCHITECTURE Tamer Rafla, Rafiou Oketokoun, Artur Wiklik, Michel Desmarais and Pierre-N Robillard Software Engineering Research Lab (RGL), Department

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