Integration of Usability Techniques into the Software Development Process
|
|
|
- Kelly Cox
- 9 years ago
- Views:
Transcription
1 Integration of Usability Techniques into the Software Development Process Xavier Ferre Universidad Politecnica de Madrid Abstract Software development organisations are paying more and more attention to the usability of their software products. To raise the usability level of the software product, it is necessary to employ usability techniques, but their use is far from straightforward since they are not, in most cases, integrated with the software engineering development processes. Offering average software developers a way to integrate usability activities and techniques into their existing software development process can bridge the gap between usability and software engineering practice. The only requirement is for the existing process to be based on iterative refinement. We present a handy grouping of usability techniques as increments that developers can introduce into their software development process. We have arrived at this result by surveying the usability literature, adapting usability concepts to software engineering terminology, and examining the development time constraints on the application of usability activities and techniques. 1. Introduction Usability is not addressed in software development as often as would be necessary to output highly usable software. It is properly addressed only in projects where there is an explicit interest in usability, and the quality of the system-user interaction is perceived as critical by the software development organisation. In this kind of projects, usability experts drive the development, using mostly usability-related techniques in the phases previous to coding. The processes followed and the techniques applied come from the HCI (Human-Computer Interaction) field, and they are not defined so as to be understandable in software engineering, so they cannot be employed as they are by average developers. Larman states that there is probably no other kind of software development technique with a greater mismatch between its importance for the success of software development and the lack of rigorous attention and formal education than usability engineering and the design of the user interface [1]. Due to the increasing perception of usability as strategic for software development businesses, an increasing number of software development organisations are pursuing the aim of integrating usability practices into their software engineering processes, but it is not an easy endeavour [2]. Some proposals for integration ([3], [4]) present ad-hoc solutions that have been created for particular software development organisations. However, their approach is not general enough for them to be applied by other organisations. One of the virtues of the HCI field lies in its multidisciplinary essence. This characteristic is, at the same time, the main obstacle to its integration with software engineering: while the HCI foundations come from the disciplines of psychology, sociology, industrial design, graphic design, and so forth; software engineers take a very different view, a typical engineering approach. Both fields speak a different language and they deal with software development from a different perspective [5]. We have tried to approach the integration of usability activities and techniques in a general software development process by employing the concepts and terminology that average software developers use, that is, software engineering terminology and concepts. For this purpose, we first surveyed the usability literature to identify the characteristics that define a usercentred process and choose the usability techniques and activities best suited for inclusion in a software process. Then, we mapped all the findings in the usability field to the respective development activities, as expressed in software engineering. And, finally, we distilled the findings as process increments or deltas, which group
2 similar kinds of usability techniques that are meant to be applied close together in terms of development time. Each organisation can evaluate whether the type of process it has in place meets the minimum requirements for the incorporation of usability-oriented techniques and activities and, if the requirements are met, can add all or some of the process increments containing usability techniques to the existing software development process. 2. Characteristics of a User-Centred Software Development Process We have studied the HCI literature to identify the characteristics that a software development process should have for it to be considered user-centred. [6], [7], [8], [9], [10] and [11] agree on considering iterative development as a must for a user-centred development process. The complexity of the human side in humancomputer interaction makes it almost impossible to create a correct design at the first go. Cognitive, sociological, educational, physical and emotional issues may play an important role in any user-system interaction, and an iterative approach is the most sensible way to deal with these issues. The other two characteristics that are mentioned by several sources are: active user involvement; and a proper understanding of user and task requirements. These two conditions can be met by introducing usability techniques that can help software developers with the integration of users into the design process and with the enhancement of requirements activities with specific usability aspects. On the contrary, the first condition (that is, to be based on iterative refinement) is an intrinsic characteristic of the software process, and it will be the only requirement for an existing development process to be a candidate for the introduction of usability techniques and activities. When trying to output the activities that form part of a user-centred process, we found that the HCI field offers a heterogeneous landscape of methods and philosophies, like, for instance, usability engineering, usage-centred design, contextual inquiry, and participatory design. Each author attaches importance to a few techniques, and the terminology may vary from one author to another. For this reason, we first surveyed the HCI literature to identify the most agreed upon usability activities that should be part of the software development process. We have listed the usability activities in Figure 1, grouped according to the kind of development activity to which they belong. We then surveyed usability techniques, which we allocated to the set of activities obtained previously. There are a host of usability techniques (we identified 82 techniques in our survey), some of which are just small variants of another technique. We have weighted the utility of each particular technique, trying to remove techniques whose objective can be attained by another technique from our selection. Where there were several candidate techniques, we considered the following criteria for our choice: how alien the technique is to software engineering, its general applicability, the cost of application, and its general acceptance in the HCI field. And we preferred to choose techniques that were less alien to software engineering, less costly to apply, and most generally accepted. We have output a set of candidate usability techniques for inclusion in the software development process, where there is at least one technique to cover each usability activity and subactivity that can lead to an improvement in the usability level of the final software product. The set of candidate usability techniques selected amounts to a total of 51 techniques, which we are not detailing here for reasons of space. Analysis Activities Specification of the Context of Use User Analysis Task Analysis Usability Specifications Design Activities Develop Product Concept Prototyping Interaction Design Evaluation Activities Usability Evaluation Figure 1. Usability activities grouped according to the generic type of development activity
3 3. Adaptation of Usability Activities to Software Engineering Development Process Concepts and Terminology For the set of usability techniques we have chosen to be used by software developers, they need to be matched to the development process. Therefore, we need to adapt the results of our usability techniques and activities Usability Activities Analysis Activities Specification of the Context of Use User Analysis Task Analysis Usability Specifications Design Activities Develop Product Concept Prototyping Interaction Design Evaluation Activities Usability Evaluation Walkthroughs survey to software engineering concepts and terminology. Wherever possible, the SWEBOK [12] has been used as a basis for defining the activities in a traditional software development process. Figure 2 shows the mapping between the usability activities from the usability literature (on the left-hand side) and a generic development process (on the righthand side of the figure). Development Activities affected by Usability Analysis (Requirements Eng.) Design Requirements Elicitation Requirement Analysis Develop Product Concept Problem Undertanding Modelling for Specification of the Context of Use Requirement Specification Requirements Validation Interaction Design Detailed Interaction Design User Interface Design Help Design Evaluation Usability Evaluation Expert Evaluation Usability Testing Follow-Up Studies of Installed Systems Figure 2. Mapping of usability activities to general development activities
4 Regarding analysis, we have taken the SWEBOK as a source for detailing the analysis activities. The relevant requirements engineering activities for our purpose are: requirements elicitation, requirement analysis, requirement specification and requirements validation. By relevant we mean that there are usability activities that interlink with development activities, so they can be mapped to certain software engineering analysis efforts. We have allocated two usability design activities to analysis, because of their close connection to requirements activities. They were considered as design activities in our survey, because they appear as such in usability literature. However, Prototyping is considered in software engineering as a technique that can be used for problem understanding, while Develop the Product Concept is the kind of design known as innovation design, and it is usually performed as part of requirements engineering efforts. The SWEBOK considers innovation design not as part of the software design activity, but as part of the requirements analysis activity. Therefore, we have included Prototyping and Develop the Product Concept as part of Requirement Analysis. Walkthroughs are a kind of evaluation activity that can be performed on analysis products, so it has been highlighted within Usability Evaluation in Figure 2 to be able to show its link with Requirements Validation. On the other hand, we have not used the SWEBOK as a basis for design and evaluation activities. Unlike Analysis, we have usability activities in Design and Evaluation that are relatively independent of other design or evaluation development activities, and the structure for design and evaluation activities described in the SWEBOK is not suitable for usability activities. We have divided design into Interaction Design and Help Design. The activity of Interaction Design is decomposed into Detailed Interaction Design and User Interface Design for the sake of clarity. Help Design was previously considered just a technique, since this was how it was presented in the usability literature. However, we have upgraded it to activity, since we have realised that the design of the help subsystem is an activity that is independent of the other design activities. Usability Evaluation is also a separate activity from other development activities, but it is very complex. So we have subdivided it into the three main families of usability evaluation activities: Expert Evaluation, Usability Testing, and Follow-Up Studies of Installed Systems. Having matched usability activities to software engineering activities, we could then map usability techniques to activities. 4. Allocation of Usability Techniques to Development Activities Our primary basis for the allocation of usability techniques to development activities was the mapping of usability activities to general development activities. We allocated all the usability techniques chosen in our survey to the development activities in Figure 2. For reasons of space, we cannot detail the full allocation here. However, Figure 3 shows the allocation for analysis Ethnographic Observation Analysis (Requirements Eng.) Requirements Elicitation Requirement Analysis Develop Product Concept Problem Undertanding Modelling the Context of Use Requirement Specification Requirements Validation Design Evaluation Contextual Inquiry Post-It Notes Visual Brainstorming Competitive Analysis Scenarios Essential Use Cases Cognitive Task Analyis (GOMS) Prototyping Techniques Structured User Role Model Operational Modelling Detailed Use Cases Joint Essential Modelling (JEM) Usability Specifications Cognitive Walkthroughs Pluralistic Walkthroughs Figure 3. Allocation of usability techniques that apply in analysis
5 activities. The techniques are linked to the analysis activity to which they are allocated by an arrow. Some techniques may be applied in more than one activity, like Prototyping, which is used for Problem Understanding and also for Requirements Validation. Dashed lines mean that the technique is also applied during design or evaluation, like, for example, Detailed Use Cases, which are applied for Modelling the Context of Use, but also in design. For the allocation of usability techniques to analysis activities, we have used their allocation to usability activities obtained from the literature survey, but we have also compared the objective of each technique and its products with the definition of analysis activities given in the SWEBOK. 5. Time Constraints for the Application of Usability Activities and Techniques It is not enough just to allocate usability techniques to development activities, since not all usability techniques are applicable at any time in an iterative development. Any iterative process is divided into stages and, while not all iterative processes are the same, they usually follow a similar pattern regarding development time. We have defined a generic set of development stages that is applicable to most iterative processes. This model of process stages is shown in Figure 4. Prior to the iterative cycles, there is an initial exploration stage, which we have called Elaboration. Elaboration Iterative Iterative Cycles Cycles (( i i ) Central Central moments Final Final moments Evolution Time Figure44. Stages in the development process Afterwards, within the iterative cycles, we make a distinction between the main part of each cycle (Central moments) and the last part of each cycle (Final moments), where certain activities are performed, typically evaluation activities. Finally, when the system has been installed and is operational at the customer s site, the cycles are called Evolution. We have studied the time of application of the different usability techniques in each activity to output a distribution of work across the different kinds of activities, related to the time in the development process when each effort is performed, as shown in Figure 5. The X-axis Figure55. Amount of work on each activity at development stages
6 represents time. Therefore, the slopes in the lines denote some precedence between the different kinds of activities, like, for example, between the different requirements activities: first, there is some elicitation, followed by some development of the product concept (overlapping with the previous task), and then some problem understanding activities, and so on. Note that the amount of work on each activity is approximate, it should not be taken literally. We focused first on usability techniques to allocate activities to moments in development time. We allocated each usability technique to a development stage according to its time of application in a user-centred development process. For example, techniques for developing the product concept are aimed at the very first development effort, where the needs are identified and the general system scheme is established, that is, the Elaboration stage. Considering the time constraints for the techniques applied in each usability activity, we have then identified time constraints for usability activities. For example, elicitation is mostly performed in the Elaboration cycles (with more emphasis on the early stages), while some elicitation activities are performed at the beginning of the central moments within the Iterative Cycles, and a small amount of work may be done in Evolution cycles. 6. Definition of Process Increments As a result of the work described above, we have classed the usability activities and techniques to be applied in the development process as increments, which we have called deltas, grouping techniques that are meant to be applied together according to the nature of the activities to which they belong (analysis, design or evaluation), and to the moment in development time when they can more effectively improve the usability of the software product. We have defined seven deltas in order to get a better match with the general stages of an iterative software development process: 1: Early Analysis 2: Usability Specifications 3: Early Usability Evaluation 4: Regular Analysis 5: Interaction Design 6: Regular Usability Evaluation 7: Usability Evaluation of Installed Systems Analysis activities are the ones that allow for a greater subdivision and call for careful integration with software engineering activities. Therefore, we have three deltas for analysis activities ( 1, 2 and 4) plus 3, which, although formed by evaluation techniques, is applied in analysis activities. Traditional usability design activities are quite uniform and can be integrated in just one delta, 5. Usability evaluation activities, apart from the abovementioned 3, have been divided into the activities to be performed during the main iterative cycles ( 6), and the activities to be performed once we have an operational system working in the customer organisation ( 7). Figure 6 shows how the deltas group similar kinds of activities to be performed close together in development time. Each triangle represents one of the deltas, and they are placed over the distribution of work represented in Figure 5. The location along the X-axis represents the moment in development time when the delta should be applied, and the location on the Y-axis represents the kind of activities the delta groups. Note that the size of the deltas is not meaningful, as its only purpose is to cover the activities each increment contains. Each process increment or delta is described according to the following structure: Purpose: The reasons why the delta should be added to an existing development process in order to improve the usability level of the resulting software product. Phase: Main type of activity: analysis / design / evaluation Stage: Development process stage where it is applicable. Participants: Members of the development team and other stakeholders who are meant to participate in the application of the techniques. Activities/Techniques/Products: List of the usability techniques that the delta groups, along with the documents or models produced by each technique. The techniques are grouped by the activity required to produce each product. To make deltas handy for developers, each delta is summarised on just one page. Again, for reasons of space, we cannot detail all the deltas here. By way of an example, Table 1 gives a description of 1: Early Analysis. The set of techniques that form the delta are organised according to the activity to which they are allocated. This means that developers can add them more easily to their development process. The products to be produced or refined by the application of each technique are detailed as well. For example, Ethnographic Observation and Contextual Inquiry are elicitation techniques and they help to build the Structured User Role Model, the Operational Model and the Use Case Diagram. Note that the same product may be related to several techniques, like, for example, the User Structured Model. This means that this product is
7 defined by applying a conjunction of the usability techniques that produce or refine it. Along with the description of the deltas, we offer developers a catalogue of usability techniques. The catalogue contains a brief description of the usability techniques mentioned in the increments (it includes 31 usability techniques). Deltas make reference to usability techniques that are mostly unknown to average developers, so the catalogue aims to provide them with an idea of what each technique is about. The catalogue refers developers to HCI literature and usability training for a deeper understanding of the techniques. 7. Conclusions One of the reasons why usability techniques are not regularly used in software development, despite how critical software usability is for the overall quality of the software product, is the lack of integration with software engineering concepts, terminology and process. We have presented a way of integrating usability activities and techniques into the software development process. The integration of usability techniques and activities is packaged in the form of increments that are to be incorporated at different places in a software development process. The appeal for a software development organisation lies in the fact that it does not have to abandon the in-house process to adopt some improvements, as it is enough to just modify the existing process by adding some or all of the proposed increments. Offering average software developers an organised and manageable set of usability increments for their software development process, then, supports the current demand for flexible software processes. We are currently applying the results we have presented here to three real projects at two companies. Through this validation, we intend to not only check and improve our proposal, but also to study the minimum support and training necessary for developers who are new to usability, for them to routinely apply the proposed increments and their associated techniques Figure 6. Grouping of usability activities in deltas according to the moment of application in development
8 Acknowledgments This research has been funded by the Ministerio de Ciencia y Tecnología of Spain, project number TIC PURPOSE PHASE STAGE Table 1. 1: Early Analysis Usability offers several techniques for analysis at the early stages of the project. These activities can give the tasks of requirements elicitation and analysis the user-centred flavour that ensures that usability is sufficiently catered for in later development activities. Analysis Elaboration PARTICIPANTS Customer, users, developers ACTIVITIES TECHNIQUES PRODUCTS Ethnographic -Structured User Observation Role Model ELICITATION Contextual -Operational Model Inquiry -Use Case Diagram REQ. ANALYSIS - MODELLING THE CONTEXT OF USE REQ. ANALYSIS DEVELOP PRODUCT CONCEPT Structured User Role Model JEM Operational Modelling Post-It Notes Visual Brainstorming Competitive Analysis -Structured User Role Model -Structured User Role Model -Essential Use Cases -Use Case Diagram -Operational Model -Product Concept -Product Concept -List of needs and key/differentiating features 8. References [1] C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition), Prentice Hall PTR, Upple Saddle River, NJ, [2] IEEE, Special Issue on Usability Engineering in Software Development, IEEE Software, Guest Editors: N. Juristo, H. Windl, and L. Constantine, Vol. 18, no. 1, January/February [3] J. Anderson, F.Fleek, K. Garrity, and F. Drake. Integrating Usability Techniques into Software Development. IEEE Software, vol.18, no.1, January/February 2001, pp [4] K. Radle, and S. Young. Partnering Usability with Development: How Three Organizations Succeeded. IEEE Software, vol.18, no.1, January/February 2001, pp [5] X. Ferre, N. Juristo, H. Windl, and L. Constantine. Usability Basics for Software Developers, IEEE Software, Vol. 18, no. 1, January/February 2001, pp [6] J. Preece, Y. Rogers, H. Sharp, D. Benyon, S. Holland, and T. Carey, Human-Computer Interaction. Addison Wesley, Harlow, England, [7] ISO, International Standard ISO Human- Centred Design Processes for Interactive Systems, ISO, Geneva, Switzerland, [8] L. L. Constantine, and L. A. D. Lockwood. Software for Use: A Practical Guide to the Models and Methods of Usage-Centred Design. Addison-Wesley, New York, NY, [9] D. Hix, and H.R. Hartson. Developing User Interfaces: Ensuring Usability Through Product and Process. John Wiley and Sons, New York, NY, [10] B. Shneiderman. Designing the User Interface: Strategies for Effective Human-Computer Interaction. Addison-Wesley, Reading, MA, [11] J. Nielsen. Usability Engineering. AP Professional, Boston, MA, [12] IEEE Software Engineering Coordinating Committee. Guide to the Software Engineering Body of Knowledge - Trial Version IEEE Computer Society, Los Alamitos, California, May REQ. ANALYSIS PROBLEM Scenarios Essential Use Cases UNDERSTANDING Prototypes (paper and chauffeured) -Scenarios -Essential Use Cases -Paper prototype
A Framework for Integrating Software Usability into Software Development Process
A Framework for Integrating Software Usability into Software Development Process Hayat Dino AFRICOM Technologies, Addis Ababa, Ethiopia [email protected] Rahel Bekele School of Information Science, Addis
HUMAN COMPUTER INTERACTION. Course Convenor: Constantine Stephanidis
UNIVERSITY OF CRETE FACULTY OF SCIENCES AND ENGINEERING COMPUTER SCIENCE DEPARTMENT COURSE CS-464 (OPTIONAL) HUMAN COMPUTER INTERACTION Course Convenor: Constantine Stephanidis Course Credits: 4 Prerequisite:
HORIZON: A Development Methodology for Collaborative Projects
ISSN 2281-4299 HORIZON: A Development Methodology for Collaborative Projects Tiziana Catarci Shah Rukh Humayoun Francesco Leotta Andrea Marrella Massimo Mecella Antonella Poggi Technical Report n. 2, 2015
Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24
Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
"A Role With No Edges": The Work Practices of Information Architects
Proceedings of HCI International 2003, vol 1, 22-27 June 2003, Crete, pp. 396-400. "A Role With No Edges": The Work Practices of Information Architects Toni Robertson, Cindy Hewlett, Sam Harvey and Jenny
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
The Usability Engineering Repository (UsER)
The Usability Engineering Repository (UsER) Marc Paul, Amelie Roenspieß, Tilo Mentler, Michael Herczeg Institut für Multimediale und Interaktive Systeme (IMIS) Universität zu Lübeck Ratzeburger Allee 160
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Paper Prototyping as a core tool in the design of mobile phone user experiences
Paper Prototyping as a core tool in the design of mobile phone user experiences Introduction There is much competition in the mobile telecoms industry. Mobile devices are increasingly featurerich they
In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16
City University of Hong Kong Course Syllabus offered by Department of Computer Science with effect from Semester A 2015/16 Part I Course Overview Course Title: Software Engineering Principles and Practice
BCS Higher Education Qualifications. Professional Graduate Diploma in IT. Realising the User Interface Syllabus
BCS Higher Education Qualifications Professional Graduate Diploma in IT Realising the User Interface Syllabus Version: 200218 Contents 1. Change History 3 2. Rationale 3 3. Aims 3 4. Objectives 3 5. Prior
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
An Effective Requirement Engineering Process Model for Software Development and Requirements Management
2010 International Conference on Advances in Recent Technologies in Communication and Computing An Effective Requirement Engineering Process Model for Software Development and Management Dhirendra Pandey
How To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI. Y.Batu Salman, Adem Karahoca
MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI Y.Batu Salman, Adem Karahoca Bahcesehir University, Engineering Faculty, Computer Engineering Department Bahcesehir,
The Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
Defining and measuring project success
Defining and measuring project success Danie van der Westhuizen, Department Information Systems, Faculty of Business, University of Southern Queensland - Wide Bay Campus, Hervey Bay, Queensland, Australia,
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
INTEGRATING HCI ELEMENTS INTO THE WATERFALL METHODOLOGY TO EASE NOVICE DEVELOPERS TO DEFINE SYSTEM REQUIREMENTS: RESEARCH-IN- PROGRESS
INTEGRATING HCI ELEMENTS INTO THE WATERFALL METHODOLOGY TO EASE NOVICE DEVELOPERS TO DEFINE SYSTEM REQUIREMENTS: RESEARCH-IN- PROGRESS Dizza Beimel Department of Industrial Engineering and Management,
UML SUPPORTED SOFTWARE DESIGN
UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: [email protected]
PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM
PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM Kwan Hee Han 1 and Yongsun Choi 2 1 Department of Industrial & Systems Engineering, Engineering Research Institute, Gyeongsang
The Emerging ISO International Standard for Certification of Software Engineering Professionals
The Emerging ISO International Standard for Certification of Software Engineering Professionals Juan Garbajosa Universidad Politécnica de Madrid - Technical University of Madrid (UPM). E.U. Informática.
The Emerging ISO International Standard for Certification of Software Engineering Professionals
The Emerging ISO International Standard for Certification of Software Engineering Professionals Juan Garbajosa jgs at eui.upm.es Universidad Politécnica de Madrid Technical University of Madrid (Known)
An Efficient Objective Quality Model for Agile Application Development
An Efficient Objective Quality Model for Agile Application Development M.Usman Malik M. Haseeb Nasir Ali Javed UET Taxila UET Taxila UET Taxila Rawalpindi, Pakistan Rawalpindi, Pakistan Rawalpindi, Pakistan
Christina Wallin ABB Corporate Research Department of Industrial IT 721 78 Västerås +46 (0)21 34 50 74 [email protected].
Christina Wallin ABB Corporate Research Department of Industrial IT 721 78 Västerås +46 (0)21 34 50 74 [email protected] Software Development Lifecycle Models The Basic Types Rikard Land Mälardalens
Software Engineering from an Engineering Perspective: SWEBOK as a Study Object
Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Alain Abran a,b, Kenza Meridji b, Javier Dolado a a Universidad del País Vasco/Euskal Herriko Unibertsitatea b Ecole de technologie
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
Usability metrics for software components
Usability metrics for software components Manuel F. Bertoa and Antonio Vallecillo Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. {bertoa,av}@lcc.uma.es Abstract. The need to select
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE
CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT [email protected] As Information
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
The profile of your work on an Agile project will be very different. Agile projects have several things in common:
The Agile Business Analyst IT s all about being Agile? You re working as a Business Analyst in a traditional project environment, specifying the requirements for IT Developers to build. Suddenly everyone
Using human factors standards to support user experience and agile design
Loughborough University Institutional Repository Using human factors standards to support user experience and agile design This item was submitted to Loughborough University's Institutional Repository
Abstract. 1 Introduction
Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
User-Centered Design Chadia Abras 1, Diane Maloney-Krichmar 2, Jenny Preece 3
DRAFT: User-Centered Design 1 User-Centered Design Chadia Abras 1, Diane Maloney-Krichmar 2, Jenny Preece 3 1. Introduction and History The design of everyday objects is not always intuitive and at times
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
Components Based Design and Development. Unit 2: Software Engineering Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 2: Software Engineering Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
How Stage Gate Process Supports CbC: Case Study
How Stage Gate Process Supports CbC: Case Study R. Alvarez*, K. Domínguez **, M. Pérez**, L. Mendoza** * Ingeniería de la Computación, Universidad Simón Bolívar, Baruta, Venezuela. ** Laboratorio de Investigación
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
A Knowledge-Based Perspective for Preparing the Transition to a Software Product Line Approach
A Knowledge-Based Perspective for Preparing the Transition to a Software Product Line Approach Gerardo Matturro 1 and Andrés Silva 2 1 Universidad ORT Uruguay, Campus Centro, Cuareim 1451, 11200 Montevideo,
Chapter 6. Data-Flow Diagrams
Chapter 6. Data-Flow Diagrams Table of Contents Objectives... 1 Introduction to data-flow diagrams... 2 What are data-flow diagrams?... 2 An example data-flow diagram... 2 The benefits of data-flow diagrams...
Gamification in Business: Designing Motivating Solutions to Problem Situations
Gamification in Business: Designing Motivating Solutions to Problem Situations Deborah Gears Rochester Institute of Technology Golisano College of Computing and Information Sciences Rochester, NY 14623
HCI studies in Management Information Systems
HCI studies in Management Information Systems Citation: Zhang, P., Nah, F., and Preece, J. (2004), HCI studies in Management Information Systems, Behaviour & Information Technology, forthcoming Ping Zhang,
Software quality engineering. Quality assurance. Testing
4 Software Quality Engineering c Jeff Tian, to be published by John Wiley, 2005 Software quality engineering Quality assurance Testing Figure 1.1. engineering Scope and content hierarchy: Testing, quality
Instructional Scaffolding for Online Courses
Instructional Scaffolding for Online Courses Helen M. Grady Mercer University [email protected] Abstract Instructional scaffolding is a process by which an instructor supports a student in executing a
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)
Slide 10..1 CHAPTER 10 Slide 10..2 Object-Oriented and Classical Software Engineering REQUIREMENTS Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] Overview Slide 10..3
CS 449: Human-Computer Interaction. Spring 2013 Edward Lank MC 4063
CS 449: Human-Computer Interaction Spring 2013 Edward Lank MC 4063 Take Aways Quick course overview What is HCI? Why study it? Understanding the course. Overview of Course Syllabus Posted on-line (under
Introduction to Software Engineering (ESE : Einführung in SE)
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz Selected material courtesy of Prof. Serge Demeyer, U. Antwerp ESE Introduction Lecturers Assistants Lectures Exercises
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
HUMAN COMPUTER INTERACTION (HCI) AND PSYCHOLOGY
Abstract Both of Human Computer Interaction (HCI) and Psychology aim to deliver a useful, accessible and usable software. This paper intends to outline psychology in relation to the Human Computer Interaction
Project Planning With IT
Unit 17: Project Planning With IT Unit code: QCF Level 3: Credit value: 10 Guided learning hours: 60 Aim and purpose Y/601/7321 BTEC National The aim of this unit is to ensure learners understand the processes
A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.
A Software Engineering Process for Operational Space Weather Systems S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.com Transitioning Research Models into Operations Software
Assuming the Role of Systems Analyst & Analysis Alternatives
Assuming the Role of Systems Analyst & Analysis Alternatives Nature of Analysis Systems analysis and design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the
Announcements. Project status demo in class
Web Design cs465 Announcements Project status demo in class Why? You will likely be involved in Web design You have many of the skills necessary Understand similarities and differences between GUI design
How To Design An Ehr System
The role of design in EHR systems Kevin Richardson received his Ph.D. in Cognitive Psychology in 1991 from the State University of New York at Buffalo. After two years designing interactive training systems
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
Running head: USABILITY ENGINEERING, COGNITIVE SCIENCE, AND HEALTHCARE INFORMATION SYSTEMS
Usability Engineering 1 Running head: USABILITY ENGINEERING, COGNITIVE SCIENCE, AND HEALTHCARE INFORMATION SYSTEMS Usability Engineering, Cognitive Science and Healthcare Information Systems Yong IL Choi
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar [email protected] School of Computer and Information Science University of South Australia,
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Agile development of safety-critical software while meetings standards' requirements
1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology 2011-11-04 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be
Expectancy Theory of Motivation: Motivating by Altering Expectations
VOLUME 15, NUMBER 1, 2011 Expectancy Theory of Motivation: Motivating by Altering Expectations Fred C. Lunenburg Sam Houston State University ABSTRACT Vroom s expectancy theory differs from the content
Conclusions and Further Work
Conclusions and Further Work Page 245 CHAPTER EIGHT Conclusions and Further Work This final chapter brings the thesis to a close by returning to the agenda which was established in chapter 1. It summarises
