StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Software Engineering and Human Computer Interaction - Dissertation Example

Cite this document
Summary
The paper “Software Engineering and Human-Computer Interaction” seeks to evaluate human-computer interaction which refers to employing computers and other technical systems in, for example, the process industry, or at home where video recorders and other gadgets are becoming part of our everyday lives…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER91.4% of users find it useful
Software Engineering and Human Computer Interaction
Read Text Preview

Extract of sample "Software Engineering and Human Computer Interaction"

Software Engineering and Human Computer Interaction Introduction What is HCI? Human-computer interaction (HCI) refers to employing computers and other technical systems in, for example, the process industry, or at home where video recorders and other gadgets are becoming part of our everyday lives. Human-computer interaction is the investigation on how end users interact with computers and/or gadgets, including problems that may take place and whether the use is simple and/or efficient. In Human-computer-interaction we want to reduce the number of issues related to the usability and make sure that the technology and systems we are going to use are usable, efficient and useful. In order to consider Human-computer-interaction while developing software we need to study the human being as well and how human and technology interact with each other. Human-computer-interaction hence is a multi-disciplinary area or study and practice, where experts from different areas, as an example, the behavioural sciences and software engineering, work together in analysing and solving problems. HCI in software development There are usually two questions that might come into our mind while considering the Human-Computer-Interaction in a software development process: 1: Is it essential to take Human-Computer-Interaction aspects into account while developing software or computer systems? The answer is that, if we don't consider HCI, we will almost certainly run into problems at the end of the development process. Software developers have no idea what needs the users have, i.e. what is the reason the users will use the software and how. The chances of developing a usable software system are slight if you have no idea what it will be used for. 2: How can we integrate Human-Computer-Interaction aspects into the software engineering? One clear pre-requisite is that software engineers and everyone in the development team agrees to concentrate on the end users' needs, considering usability aspects. Otherwise, these aspects will be neglected. Moreover, the development team will need to understand how to organise the project so that Human-Computer-Interaction aspects can be integrated in practice. It calls a software development technique that clearly describes how usability aspects should be considered, usability expertise among the software development team and the software engineer, manager or an HCI expert being in charge for the usability of the system. One more important factor is user involvement in the software development process, for example by applying a user-centred approach called User-centred design or UCD. In theory, User Centred Design (UCD) is simple, but in practice it might be complicated. Even software engineering projects that truly take usability and the user-centred approach into account often face with problems. Deadlines are inevitable issues. Projects need to meet the deadline and/or money they have in order to be able to focus on getting the usability and functionality in place and making the software system work. Usability and involving users are typically the first ones to go considering time and money as deadlines. There is, anyway, a great amount of knowledge about the hardships in user-centred design and how to overpower them in real world. Thus, it is feasible to take HCI aspects into account, in a case that the project is committed to usability and user centred design. Why User Centred Design is not always used? There are several reasons, for example, having no knowledge on how to apply the user-centred design approach in a real world with real size software development projects. Other reasons might be a lack of competence and experience in working with applications with user centred design, or the software engineering traditions and culture of developers and programmers being contrary to UCD. The models, techniques and processes typically used in software engineering rarely support usability and user centred design. As a result, usability is often ignored or skipped over. Another issue is fighting against the user involvement in the analysis, development and design process and the attitude that "things will work out anyway". In these policies, involving users is often considered too time and/or cost inefficient. The Human-Computer-Interaction field considers such aspects. HCI research has proved that a systematic and knowledgeable software engineering process with a usability focus and user centred design results in a better, more functional and more usable software system. The GAPs between Software Engineering and Human Computer Interaction Nearly half of the software being developed today and thirty-five to sixty percent of efforts in every software life cycle take system’s user interface into account. That’s why the issues and techniques from the field of human-computer interaction (HCI) influence the overall process of software engineering (SE) in a tremendous manner. At the moment, there is a strong drive amongst organisations to exercise and apply effective Software Engineering and Human Computer Interaction methods however there still are major gaps of understanding both among suggested practice, and how software is in fact developed in real world, and between the best practices of each of them. There are major breaches of communication between the Human Computer Interaction and Software Engineering fields: each of them uses methods and vocabulary that are often foreign to the other community. At the end, product is not usable and functional, and rework is often needed (which does not necessarily have to). On top of that, Software Engineering methods and techniques are often notices by Human Computer Interaction specialists as devices that are only re-served to computer specialists and of little or no relevance to the interaction between human and computer. And vice versa: Human Computer Interaction contents are often notices by software engineers as after thoughts or side-tools that do not have much impact on the quality of a software. For example, there is no methodology in Object Oriented Programming (OOP) that provides explicit support for Human Computer Interaction and existing Human Computer Interaction techniques are merged in software development processes in a way that it appears to be more opportunistic than being systematic. For example, in Software Engineering we frequently use requirements analysis techniques that include soft goals, procedures, and operators. Human Computer Interaction, in a characteristic manner employs “task modelling involving task, sub-tasks, and temporal operators between” (Borup & Vanderdonckt, 2003). While these two approaches are not the same in purpose, they are surprisingly related to each other. Closing the GAPs While trying to incorporate HCI into SE, we might face with many challenges. Below are just a couple of work being done to help closing the GAPs between HCI and SE: Case 1: OODPM Methodology Drori (2003) discusses the “Integration of HCI Needs with SE Methods Using OODPM Methodology”. According to Drori, a great number of information systems softwares being developed at the moment, relate to the system's user interface and Human Computer Interaction. In many cases, human computer interaction (HCI) influences the overall process of software development. The challenge is usually between systems analysts’ and software developers’ in the way they understand the organisation and the needs of their users, also the ability to implement these needs into information systems with usability and functionality. Drori uses a methodology called OODPM (Object Oriented Design by Prototype Methodology) that offers complete support for Human Computer interaction using object-oriented methods from the Software Engineering field. In Object Oriented Programming/Design, objects form the building block upon a program or generally a software system. It includes a method (the algorithm that each objects behaves based on), data that the object manipulates. (Alter, 1996) (Booch, 1994) In prototyping which is an essential part in HCI and UCD, system planning and design is based upon how a prototype is constructed, tested, demonstrated, and evaluated. Prototypes (even if they are of different types) all allow the system to be sensed from the end user’s point of view. Instead of depending on the user’s imagination, the prototyping helps providing a tool that completely simulates the future system, by means of minimising the risk of errors and misunderstandings. In OODPM, an integration of these approaches is used. The system is based of defining objects (as well as the relationships between the objects and their behaviour), but at the same time the user interface (the graphical design/ GUI) is displayed by prototyping techniques. (Drori, 2003) In the OODPM methodology, the object includes six components: (a) The user interface (b) Process description OODPM Structure (Drori, 2003) (c) Input data (d) Output of the computer system (e) Data format used (f) System state “Components (a), (b), (c), (e), and (f) are preconditions of the activity (i.e., they should be true before the activity can occur), and components (d) and (f) are post conditions of the activity (i.e., they should be true as an immediate result of the activity).” (Drori, 2003) The advantages of using OODPM according to Drori are: “1.Creating greater understanding between the developer and the user. 2. Improving the understanding between the designer and the developer. 3. Part of the developing work is dictated by the design process 4. The system is finely tuned to the user’s needs. 5. It enables a reuse of the software, thereby economizing on organizational resources. 6. Reusing proven software components improves the reliability of the system. 7.It enables the creation of object-oriented systems in conventional programming languages.” Case2: Extending UML (Unified Modelling Language) Through an Interaction Modelling Language Paula, Barbosa and Lucena (2003) discuss their approach on relating HCI and SE with regard to the use of UML. The UML suite of modelling languages is not able to properly model the HCI. Paula, Barbosa and Lucena propose a new methodology called MoLIC. A MoLIC diagram is like a graphical view of the entire set of scenarios (which software engineers also call them use cases), from the user’s perspective. They try to use a Human Computer Interaction design model together with Software Engineering design models. Their goal is to provide a common reference point for both paries HCI and SE designers upon which to base their solutions. They employ a specific theory of Human Computer Interaction —called “Semiotic Engineering”— always keeping the concentration on “the quality of use of the proposed solution”. (Paula et al, 2003) Case 3: Integrating Usability and Software Engineering Life Cycles Pyla et al (2003) propose an approach named “ Integrating Usability and Software Engineering Life Cycles”. They propose a process model that “provides a development infrastructure in which the usability engineering and software engineering life cycles co-exist in complementary roles.” (Pyla et al,2003) Their approach does not combine one lifecycle’s techniques into another; rather it coordinates each lifecycle’s activities for example the timing, scope, and goals with use of a shared design representation among different lifecycles. Case 4: Integrating HCI and SE in Requirement Engineering Sousa and Furtado (2003), present three activities from a new Software Development Process (SDP) that, in addition to focusing on deadlines (cost and schedule), focuses on some Human-Computer Interaction (HCI) points of views along the software life cycle. These Human Computer Interaction aspects involve “usability, accessibility, acceptability requirements, guidelines application, model-based User Interface (UI) generation techniques, and evaluation techniques.”( Sousa & Furtado, 2003) The main aim of this integration is developing interactive systems with usability and functionality, therefore, helping the end users in doing their daily tasks in an efficient manner. Summarisation and Conclusion Nunes (2003) discusses “What drives software development: issues integrating software engineering and human-computer interaction”. He discusses the two vital issues regarding integrating Software Engineering and Human Computer Interaction. The first issue is user-centred development (UCD) and the role of users and what they need from a software system driving software development. According to Nunes, User-centred development usually understood by software developers “has a methodological guidance towards bringing users into the development lifecycle and iterating design alternatives.” He discusses that the main benefit of UCD to software engineering is the inherited capability of driving development in a way that helps lessen the complexity of software development projects, adding more value to the people who are the final users of software and detect important software development problems. He presents and contrasts several models from the “Unified Process and the agile methods literature with a new proposal specifically tailored for interactive systems.” (Nunes,2003) At the end, he concludes that “usability and user-interface concerns have an important impact on software-architecture but there are important GAPs that should be covered using different methodologies”. In this paper we discussed four different cases on how to close the GAPs between Software Engineering and Human Computer Interaction. The aim of these works is generally to provide a better understanding of HCI for Software Engineers and SE for Human Computer Interaction specialists. Meanwhile the issues and challenges of incorporating SE and HCI has been briefly addressed, for example by studying the UML and making it adaptable for HCI or Requirement Analysis and Life Cycles or even Object Oriented design of softwares. Closing the GAPs seems to a challenge but it is hopefully “feasible” in most of the cases. References Alter, S. (1996), Information Systems - A Management Perspective, 2nd ed., Menlo Park, CA: The Benjamin/Cummings Publishing Company. Booch, G. (1994), Object Oriented Analysis and Design with Applications. 2 ed., Redwood City, Calif.: Benjamin/Cummings. Drori, O.Integration of HCI Needs with SE Methods Using OODPM Methodology. CLOSING THE GAPS: Software Engineering and Human-Computer Interaction. Citeseer, 2003 Drori, O. (2003), Use of CASE Tools and Object Oriented Methodologies, Maydaon - The Israeli Journal for Information Technology, Tel-Aviv: The Israel Chamber of System Analysts, No. 133, June 2003, 21-26 (in Hebrew). Harning, M.B. and Vanderdonckt, J ,Closing the Gaps: Software Engineering and Human-Computer Interaction,Workshop at the Ninth IFIP TC13 International Conference on Human-Computer Interaction.2003 Paula, MG and Barbosa, S.D.J. and Lucena, CJP (2003) Relating human-computer interaction and software engineering concerns: Towards extending uml through an interaction modeling language, Closing the Gaps: Software Engineering and Human-Computer Interaction, 2003. Pyla, P.S. and Pez-Quines, M.A. and Arthur, J.D. and Hartson, H.R.Towards a model-based framework for integrating usability and software engineering life cycles,CLOSING THE GAPS: Software Engineering and Human-Computer Interaction, Citeseer. 2003 Nunes, N.J, What drives software development: issues integrating software engineering and human-computer interaction,CLOSING THE GAPS: Software Engineering and Human-Computer Interaction,Citeseer, 2003 Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Software Engineering and Human Computer Interaction Dissertation”, n.d.)
Software Engineering and Human Computer Interaction Dissertation. Retrieved from https://studentshare.org/information-technology/1735625-software-engineering-and-hci
(Software Engineering and Human Computer Interaction Dissertation)
Software Engineering and Human Computer Interaction Dissertation. https://studentshare.org/information-technology/1735625-software-engineering-and-hci.
“Software Engineering and Human Computer Interaction Dissertation”, n.d. https://studentshare.org/information-technology/1735625-software-engineering-and-hci.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Engineering and Human Computer Interaction

Multi-Agent Systems and the Areas Related to It

The multi-agent system takes an overview and summary of the problem of interaction between individual entities, considering the distributed system as being merely one possible... Furthermore, I shall put forward my recommendations in light of the company's strategic planning objectives. We can provide a direct interface to the hardware on the host system of This is achieved by removing the device-specific hardware dependencies, which were previously part of almost any software development effort....
4 Pages (1000 words) Essay

Analyzing and Identifying opportunities in high technologies

The study centers on the new types of tissue engineering and the applications of the tissue engineering issues.... The study is geared towards taking advantage of the information technology tools to increase the businesses' computer unit revenues.... For example, information technology includes both computer hardware and software.... The article How is Technological Change Creating New Opportunities in Tissue engineering?...
10 Pages (2500 words) Essay

Engineering Computer Technology

uestion 9 Social engineering attack on business information technology is when an attacker uses social skills such as human interaction to gather and piece together information that can compromise the security of an organization and its computer system.... Google Engineering computer Technology Question Twitter, originally known as twittr, was launched seven years ago on July 15th the year 2006.... Management information system entails the computer systems used to manage data, technology and people within the organization....
2 Pages (500 words) Essay

Oracle Is a Multinational Company

Jones (2010) further explains that oracle provides software applications for talent management, human capital, financial management, and human relationship management.... software engineering best practices lessons from successful projects in the top companies.... Oracle is a multi-national company that is based in United States, and its main interest of operation is on computer technology.... The company specializes in the marketing and development of computer hardware… Oracle Company is the second largest software technological company, after Microsoft (Zheng and Zhang, 2014)....
2 Pages (500 words) Essay
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us