Elicitation Techniques and Success of Software

DOI : 10.17577/IJERTV3IS041509

Download Full-Text PDF Cite this Publication

Text Only Version

Elicitation Techniques and Success of Software

Kausar Parveen Computer ScienceDepartment Lahore Garrison University,

Phase 6,DHA,LahoreCantt.

Abstract – Success or failure of any system is determined by the end users.Usability of systems for theend user decides whether software will be success or not.Usability is totally dependent on the users requirements and theserequirements are gathered from the users by elicitation techniques. The elicitationstechniques are base of any system development and different methods are in useto gather requirement from users to enhance the quality of the software, which in turn make it a success in software engineering. Thats why requirement gathering process is very important in software development and it needs great attention of the developer.

In this paper, we will compare methodologies of elicitation techniques of software engineering and human computer interaction ,causes of system failure from end user point of view.

Keywords: requirements, elicitation, techniques, approaches, stakeholder, source requirements, human computer interaction, software engineering.

1 INTRODUCTION AND HISTORY

    1. User Requirement and Success of the System Success means user satisfaction and it is the main factor for the comparison of the software quality. Elicitation techniques are in practice for gathering user requirement in softwareengineering. Requirements elicitation is most critical and important activity in the RE process. In SDLC the right requirements is supposed to be vital but difficult part of software development projects. Hofmann and Lehner study of requirement engineering (RE) results show that success of any project is dependent on RE practices. Elicitation techniques is the root level of gathering information from the user in software engineering(SE) diverse people of different knowledge should work for system development for better understanding and for requirements of problem. It is obvious from failure of different software elicitation must be effective. As designs and behavior vary from one organization to other organization and from one human to another, therefore problem in understanding requirement arises. In recent years human computer interaction(HCI) is being in use for designing the softwares, including design for web[1], design for games[2], interaction safety critical system[3], HCI design pattern are helping UI to get improved productivity and efficient design processes .To get a well- organized and useful software[4] one should clearly understand problem area and analyze which technique can be used to solve such problem[5] .

      To understand problem of the system and software engineers and HCI designers should work together to evolve user requirements. As the elicitation is a difficult process[6] therefore software engineers should study it very technically.

      Success of software depends on different factors like

      1. How much software fulfills user requirement.

      2. How well software satisfies the user tasks flow.

      3. How well user requirements meet response of software.

      4. How quickly a task for software response.

      5. How simple is the software for the use for the user.

        HCI designers can build best software by involving user of system. HCI i helps tomake software easy for user and error free [7].Importance of HCI can be seen from its usability point of view in any software.

        1. Usability from user point of view identifies that required tasks are accomplished in software or not.

        2. Usability from developer point of view calculates success or failure of software.

        3. Usability from the view of management determines the software required performance level for the user.

        This way, HCI can view efforts cost, success or failure of the software.

    2. Problem Statement

      HCI focus in developing easysoftware for the users to make software a success. Thats why SE studies the elicitation technique from SE point of view as well as user perspective. Problems in system development are result of communication difficulties.

      As IT is developing rapidly software industry should make user friendly software, in this way they can achieve good position in market otherwise it will be complete failure and you will be out of the industry.

    3. Objectives

      HCI is study of practice of usability [8]. Objective of this work is to identify

      1. Elicitation technique

      2. E.T Advantages & disadvantages

      3. E.T in S.W engineering

      4. ET in HCI

      5. Difference between SE And HCI

      6. Proposing framework for HCI usability metrics

      In this way we can set standards for usability thus improving the methods for measuring usability.

    4. Scope and Limitations

      As todays world has become very fast and innovative, management need to look deeply about its product quality and customer needs. Developers should know about market trends plus they must aware about the fact that in todays market the only constant thing in market requirement is the change and this changes give satisfaction to the customer. To get this target they need to know well user needs in the new product and a product should be user friendly so that a user can use it as he wants and this is also the goal of HCI. This is the reason that usability is the core term in HCI. Proposed paper will be about providing some guideline for usability measure that can help for future work. Ill look for different education web domains and will identify their impact on already defined usability guidelines and standards according the users requirements. There are lots of different web domains exits where usability measures are very important to count on; in proposed paper analysis will be done by taking 4 different web domains for comparison about their impact.

  1. ELICITATION TECHNIQUES IN SOFTWARE ENGINEERING

    1. Causes of the Failure

      In this research paper we will see success and failure of the system from the users point of view. If systems are not user friendly then the systems will be great failure. Why a system cannot be a user friendly .It totally depends on the first step of the system development that is from requirement gathering. Requirement System can fail because of [9] five reasons.

      1. Not properly managed resources and people.

      2. Process is not systematic.

      3. Documentation is not complete or appropriate or not correct.

      4. Lack of proper knowledge or understanding between people.

      5. Lack of proper communication between people.

      According to the above reasons incomplete documentation and lack of communication leads to failure of a system. According to Macaulay [10] communication is the main reason in designing a successful system.

    2. Elicitation Difficulties

      According to literature study the main elicitation difficulties are divided into three areas[11][12].

      1. Articulation: The way in which information is expressed [13].

      2. Misunderstanding: divided interpretations on the same piece of information.

      3. Conflict: multiple points of views.

      These communication aspects influence each other and leads to poor requirement gathering.

      System developers should develop user friendly programs. Different researches have shown that user friendly systems are getting market while others are vanishing by the time.

    3. Users Satisfaction Requirements

      Acording to the Customer Satisfaction Researches Report 2013 by The American Customer Satisfaction Index (ACSI).Each year, 70,000 customers are surveyed by ACSI about the products and services they use the most in UnitedStates. According to this report sale of Apple company products increase due to the user friendly behavior [14].According to a Novatech survey innocent computers are beaten by users to take their frustration out on their machines.[15]

      When user feels helpless while using software they become frustrated and thats why they beat the machines. The research by the National Opinion Poll and the software company Symantec, found that half of computer users had become angry at some time. Almost a third of people had physically attacked a computer, 67% experienced frustration andanger and more than 70% swore at their machines[16].Therefore users satisfaction is very important while making a system.

    4. Reasons of Popularity

      According to the above report it is clear that satisfaction is because of user friendly programs only those companies are gaining market which are considering user requirement and user minds the way a user think is very important while designing a product. The study of user mind starts from very initial state of software engineering that is from requirement elicitation.

    5. Elicitation Techniques(ET)

      Basically uncovering user needs from the stakeholder is known as elicitation. It is the process for the requirement gathering. The RE process is a set of activities for the collaboration,communication,prioritization relevant to the user.

    6. ET and the application Domain

      Application domain is the actually that real world in which the system will ultimately reside. When one is beginning the process of requirement elicitation one should examine the application domain [17].The application domain environment should be explored thoroughly by examining all its aspect politically, socially and other constraints related to the system. The related problems of existing work and related processes should be explained according to the goals and issues of the business.

    7. Understanding the Requirements Sources Requirements exist in variety of formats [18]. In software development projects there are a number of sources for requirements. Stakeholder, Users and subject matter experts are the main source of information about the problems and user needs. Other sources are existing systems and its processes. Manuals, forms, and reports of existing documentation can provide useful information of current system as well as requirements for the new system.

    8. RE Stakeholders

      The people who are affected in some way by the development and implementation of the system are the stakeholder of the system and they must be consulted while software development. Stakeholder of the system consists of individuals and groups of people that can be inside or outside of the organization. The customer, project sponsor, is the apparent stakeholder of the system. In some cases however the actual users of the system may be the most important.

      Relevant stakeholders: The stakeholders that are affected by some part of the system operationsare known as stakeholders if affected. In RE first steps is to analyze the entire relevant stakeholder and involve them in RE activity.

    9. Methodology for the Application of Elicitation

      While elicitation a problem it is found that an individual requirements elicitation technique cannot be suitable for all projects. It is a critical procedure to choose a elicitation technique fora project [19]. A variety of techniques can be used for variety of reasons in particular project [20]. It may be

      1. Analyst best practice technique.

      2. Analysts favorite elicitation technique.

      3. Elicitation technique choice is solely analyst choice, he choose such techniques which he thinks can be the best suited technique for the problem.

    10. Process of ElicitationStarts

      Elicitation begins when sources of requirements and the specific stakeholders have been identified by using the selected elicitation techniques. In this process scope for the system is establish needs of the stakeholder are established and the future needs should also be determined. The factors of the major objectives of the systems which satisfy the key problems of the business are also determined. Requirements elicitation process is strongly related to the objective of the project, organization, and environment [21].

      Actually project start with mission statement which is informal and in complete high-level mission statement for the project [22].To make RE a success a number of process models have been proposed for it[23].These models leads to a generic roadmap of the process with flexibility to

      comfort the basic contextual differences of different projects..

    11. Requirements Elicitation Techniques in SE

      TYPE

      Definition

      Strengths and weaknesses

      Interviews

      It is also a common problem

      Interviews are

      with unstructured

      essentially human

      interviews to focus in too

      based social activities,

      much detail on some areas,

      they are inherently

      and not enough in others

      informal and their

      [26]. This type of interview

      effectiveness depends

      is best applied for

      greatly on the quality

      exploration when there is a

      of interaction between

      limited understanding of the

      the participants[ 25]

      domain, or as a precursor to

      more focused and detailed

      structured interviews.

      Questionnaires lack the

      Questionnaires

      opportunity to develop

      They provide an

      further on a topic, or expand

      efficient way to collect

      on new ideas. In the same

      information from

      way they provide no

      multiple stakeholders

      mechanism for the

      quickly [27].

      participants to request

      clarification or correct

      misunderstandings

      Task Analysis

      Task analysis employs

      Task analysis provides

      a top-down approach

      information on the

      where high- level tasks

      interactions of both the user

      are decomposed into

      and the system with respect

      subtasks and

      to the tasks as well as a

      eventually detailed

      contextual description of the

      sequences until all

      activities that take place.

      actions and events are

      described [28]

      Domain Analysis

      Problem Frames in

      These types of

      particular provide a method

      investigations are

      for detailed problems

      particularly important

      examination in order to

      when the project

      identify patterns that could

      involves the

      provide links to potential

      replacement or

      solutions [29].

      enhancement of an

      existing legacy ystem

      Introspection

      The technique of

      Introspection is only really

      introspection requires

      effective when the analyst is

      the analyst to develop

      not only very familiar with

      requirements based on

      the domain and goals of the

      what he or she believes

      system, but also expert in

      the users and other

      the business processes

      From last two decades research and practice within RE in SDLC for software systems has been directed towards improving elicitation through the development of various techniques, approaches, and tools. These methods are adapted from social sciences a few have been developed for eliciting software requirements [24].

      stakeholders want and need from the system

      performed by the users

      Repertory Grids

      Repertory grids

      involve asking

      stakeholders to

      Repertory grids are

      develop attributes and

      somewhat limited in their

      assign values to a set

      ability to express specific

      of domain entities

      characteristics of complex

      [30].

      requirements

      In this technique cards are

      Card Sorting

      used to assign

      Card sorting requires

      responsibilities to users and

      the stakeholders to sort

      components of the system

      a series of cards

      [31]. Because entities

      containing the names

      represent such a high level

      of domain entities into

      of system abstraction, the

      groups according to

      information obtained from

      their own

      this technique is limited in

      understanding.

      its detail

      Laddering

      When using laddering

      stakeholders are asked

      a series of short

      prompting questions,

      Like card sorting, laddering

      known as probes, and

      is mainly used as a way to

      required to arrange the

      clarify requirements and

      resultant answers into

      categorize domain entities.

      an organized structure

      [32].

      Group Work

      Group work such as

      collaborative meetings

      Key factors in the success

      is a very common and

      of group work are the

      often default technique

      makeup of participants and

      for requirements

      the cohesion within the

      elicitation.

      group.

      Brainstorming

      Brainstorming is a

      process where

      participants from

      different stakeholder

      One of the advantages in

      groups engage in

      using brainstorming is that

      informal discussion to

      it promotes freethinking and

      rapidly generate as

      expression, and allows the

      many ideas as possible

      discovery of new and

      without focusing on

      innovative solutions to

      any one in particular[

      existing problems.

      33].

      JAD

      The focus of this type of

      JAD involves all the

      meeting tends to often be on

      available stakeholders

      the needs and desires of the

      investigating through

      business and users rather

      general discussion

      than technical issues.

      both the problems to

      be solved, and the available solutions to those problems. With all parties represented, decisions can be made rapidly and issues

      resolved quickly[ 34]

      Requirements

      Workshops

      Requirements

      workshop is a generic

      Different types of stake-

      term given to a number

      holders from various areas

      of different types of

      of the business, Co –

      group meetings where

      operative Requirements

      the emphasis is on

      Capture (CRC) where like

      developing and

      JAD there is a defined set of

      discovering

      activities and the

      requirements for a

      development community is

      software system [35].

      especially involved.

      Ethnography

      Ethnography being the

      study of people in their

      natural setting involves

      In practice, ethnography is

      the analyst actively or

      particularly effective when

      passively participating

      the need for a new system is

      in the normal activities

      a result of existing problems

      of the users over an

      with processes and

      extended period of

      procedures, and in

      time whilst collecting

      identifying social patterns

      information on the

      and complex relationships

      operations being

      between human

      performed [ 36].

      stakeholders.

      Observation

      As the name suggests

      The effectiveness of

      the analyst observes

      observation and other

      the actual execution of

      ethnographic techniques can

      existing processes by

      vary as users have a

      the users without direct

      tendency to adjust the way

      interference.

      they perform tasks when

      knowingly being watched.

      Protocol Analysis:

      Protocol analysis is

      where participants

      perform an activity or

      task whilst talking it

      This technique can provide

      through aloud,

      the analyst with specific

      describing the actions

      information on and rationale

      being conducted and

      for the processes the target

      the thought process

      system must support.

      behind them.

      Apprenticing

      In this technique the

      analyst is taught the

      operations and

      business processes by

      observing, asking

      The analyst becomes

      questions, and

      actively involved in the real

      physically doing,

      life activities of the

      rather than being

      business.

      informed of them, as is

      the case with protocol analysis

      Prototyping

      It is common that prototypes are used in conjunction with other elicitation techniques

      such as interviews and JAD.

      This technique is extremely helpful when developing new systems for entirely new applications.

      Goal Based

      Approaches

      The fundamental

      premise of goal

      modeling and goal

      based approaches is

      In practice these approaches

      that high-level goals

      have been particularly

      that represent

      useful in situations where

      objectives for the

      only the high-level needs

      system are

      for the system are well

      decomposed into sub

      known, and there exists a

      goals and then further

      general lack of

      refined in such a way

      understanding about the

      that individual

      specific details of the

      requirements are

      problems to be solved and

      elicited.

      their possible solutions.

      Table 1:2.1: Elicitation Techniques in SE

  2. ELICITATION TECHNIQUES IN HUMAN COMPUTER INTERACTION

3.1 Human Computer Interaction(HCI)

In the past elicitation techniques were as above in the table

2.1 but today the above mentioned causes of failure and success are leading software engineers to new world of HCI.First we should know about the HCI[37].

Human-Computer Interaction is the study of interaction between human and computer and one of the key aspects of the study is usability. As Usability determines the quality of the software therefore it is very important in SE. If it applied correctly, then it reduces cost and increases the level of quality. From given definition of HCI we can divide it into three parts: Human (as user), computer and interaction.

      1. User: "User", terms define a single user, or a group of users. Different users from different mental model have different ways to learn and remember things.

      2. Computer: Computer here we mean appliances which use information technology which includes range from desktop and large scale computers to digital microwave oven.

      3. Interaction: As humans and machines entirely different from each other but HCI tries to ensure that they both can interact successfully with each other. To get usable system you need to use the knowledge you are familiar about humans and computers, and seek suggestion from expected users throughout the design process.

        The goal of HCI is to produce safe, usable systems, and reliable functional systems.

    1. HCI and SE are Entirely Different Fields HCI Integration in SE

      Usability is the subset of HCI and our main focus. It is undeniable that there were attempts where HCI has been suggested to be included into the SDLC visibly such as the requirements phase [38, 39] or at the design phase

      .However, as it has been previously mentioned before,

      Barriers in Combining Difference between HCI and SE

      HCI is entirely different field from SE .There were several barriers in combining these two Fields

      HCI

      SE

      Differen

      HCI focuses

      SE is text based.

      ces in

      on the visual

      requirem

      aspect when it

      ents

      comes to

      represent

      requirements

      ation.

      interpretation.

      Differen

      Scenario in

      Scenario in SE means

      ces in

      HCI means

      how the system will

      terminol

      story telling or

      be used and interacts

      ogies.

      narration.

      among each other

      Differen

      Tests at every

      SE has its own

      ces in

      software

      independent stage for

      testing.

      development

      testing.

      life cycle

      stages.

      Table 3.1Barriers in Combining Difference between HCI and SE

      Therefore we can say that HCI is different from SE.

      1. Why HCI is better than SE programming. The software crisis intensified interest in programming as a human activity. It heightened the need for more research in HCI and programmers based on Human psychology factor. Programming became recognized as an area of psychology involving problem solving and symbol manipulation in HCI.

    1. Elicitation techniques in HCI

      How can we make successful software programs by using HCI is a very important question. Elicitation techniques are similar to software engineering techniques but the way of observing techniques is entirely different. SE Techniques are also part of HCI Techniques

      1. Following Techniques and Approaches for Requirements Elicitation are in use of HCI

        1. Interviews

        2. Questionnaires

        3. Task Analysis

        4. Domain Analysis

        5. Introspection

        6. Repertory Grids

        7. Card Sorting

        8. Laddering

        9. Group Work

        10. Brainstorming

        11. Joint Application Development

        12. Requirements Workshops

        13. Ethnography

        14. Observation

        15. Protocol Analysis

        16. Apprenticing

        17. Prototyping

        18. Goal Based Approaches

        19. Scenarios

        20. Viewpoints

      2. New Techniques Introduced in HCI Following new techniques are in use of HCI are [40]

        1. Cognitive Walkthroughs:

          To determine the level of usability for a website, one or more usability experts walk through a set of the most typical user tasks supported by the website, one-step-at-a- time.

        2. Contextual Task Analysis

          A contextual task analysis, or contextual inquiry, is a user research method that applies ethnographic observation and one-on-one interviewing to understand the task procedures that users follow to reach their goals.

        3. Facilitated BrainstormingMost people have heard of brainstorming, and probably been involved in some type of brainstorming exercise; however, facilitated brainstorming is much different than simply gathering in a small group and sharing ideas.

        4. Heuristic Evaluation

          A Heuristic Evaluation, or Usability Audit, is an evaluation of an interface by one or more Human Factors expets.

        5. Participatory Design

        Participatory design exercises engage stakeholders and end users in the process of solving a design problem.

        6 Usability Testing

        Usability testing is the best way to understand how real users experience your website or application. Unlike interviews or focus groups that attempt to get users to accurately self-report their own behavior or preferences, a well-designed user test measures actual performance on mission-critical tasks.

        1. Quality Assurance Testing

          From our perspective, quality assurance is a subset of the overall usability goalafter all, a website isnt usable if it isnt working.

        2. HCI Design Approaches

        This may be applied to user interface designs to develop user-friendly, efficient, and intuitive user experiences for humans [49].

    2. How HCI Elicitation is Different from SE Elicitation

      How HCI Elicitation is different from SE Elicitation?

      HCI

      SE

      Data

      HCI is user-centric. ,

      SE is not

      user

      not data-centric. It

      centric, only data

      involves users in the

      centric.

      entire process as

      much as possible

      and it focuses on the

      visual aspect as well

      [41].

      Differen

      Highly

      It does

      not

      ces

      in

      interdisciplinary

      involve

      other

      terminol

      draws on knowledge

      disciplines.

      ogies.

      from a multitude of

      areas: art,

      psychology,

      technical writing,

      computer science,

      etc. [42].

      Differen

      Highly iterative

      SE has its own

      ces

      in

      involves as much

      independent

      testing.

      testing and revision

      stage for testing.

      as possible,

      especially before

      final implementation

      [43].

      Table:3.4:Elicitation Techniques in SE

    3. Usability

      Usability [44]is a measure of the interactive user experience associated with a user interface, such a website or software application in HCI. A user-friendly interface design is easy-to-learn, supports users tasks and goals efficiently and effectively, and is satisfying and engaging to use.

      An interfaces level of usability can be measured by inviting intended users of the system to participate in a usability testing session. During a usability test session, a user is given a series of tasks to complete by using the system in question, without any assistance from the researcher. The researcher records user behaviors, emotional reactions, and the users performance as the he attempts to accomplish each task. The researcher takes note of any moments of confusion or frustration that the user experienced while trying to complete a task, and also tracks whether or not the user was able to satisfactorily complete each task. Analysis of data from several users provides

      User Experience Engineers a means of recommending how and where to re-design the interface in order to improve its level of usability and thus, the user experience in general.

    4. Success of the Software andUsability Metrics in HCI

      Success of software is entirely dependent on the maximum usability of the software. To measure the usability of a system different methods like GOMS (Goals, Operators, Methods, and Selection rules) is a kind of specialized human information processor model for human-computer interaction observation [47]. Following these initial steps, additional models for analysis evolved and are heavily used in the engineering-oriented usability community)is use to discover problems in the use of a system, preferably before it is released for the user. Unfortunately, it is more expensive to measure usability [48]

      Usability metrics let you do following important things:

      • Keep track of the Progress between releases according the objective of users obtained by elicitation technique.

      • It helps to look your competitive position in market with respect to your competitors and the objective which is gained by elicitation.

      • It helps in making a Stop/Go decision for you before launching the product.

      • Create some extra design plans for executives and design managers. For example you can create some extra special feature for development projects like how many customers support calls are generated this year[49].

      ISO standard defines usability as the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction [49]. From this standard defined by ISO we classify usability measure into three subsections;

      1. Effectiveness.

      2. Efficiency.

      3. Satisfaction.

    5. Usability in SE

      SE systems are designed with a focus on business goals, fancy features, and the technological capabilities of hardware or software tools. All of these approaches to system design omit the most important part of the process the end user.

    6. Usability in HCI

      Usability is the process of designing a tool, such as a websites or applications user interface, from the perspective of how it will be understood and used by a

      human user. Rather than requiring users to adapt their attitudes and behaviors in order to learn and use a system, a system can be designed to support its intended users existing beliefs, attitudes, and behaviors as they relate to the tasks that the system is being designed to support. The result of employing UCD to a system design is a product that offers a more efficient, satisfying, and user-friendly experience for the user, which is likely to increase sales and customer loyalty.

    7. Relation between Users Requirement and Usability

      User Experience Design (UXD) entails conducting user research exercises with intended users of a system. User research reveals users needs and preferences through user observations, one-on-one interviews, and creative activities that encourage users to express their emotions, motivations, and underlying concepts and beliefs about the steps involved in task procedures. By understanding the human emotions, motivations, and beliefs that surround a task, a user interface can be designed to accommodate and support user behaviors in a way that users will experience as natural and satisfying.

    8. Success Factors in HCI and Usability

      HCI Success factors are totally dependent on requirement elicitation as they measure th usability. Usability standards can be categorized entirely on the requirement elicitation as it mainly concerned with:

      1. Use of the product (efficiency, effectiveness and satisfaction in a particular context of use).

      2. User interface and interaction.

      3. Product development process.

      4. Organization capability that how to apply user centered design.

  1. Research Motivation and Website Literature Review

4.CONCLUSION

HCI core term is usability and it totally dependent on the user requirements .All flow of the system should meets user requirements. Success of the system in HCI is how to improve the usability of the interactive systems. Measuring quality of the system is the core part of the system which in turn leads the organizations success. The goals of HCI are to produce safe and usable systems as well functional systems. In other words goal of HCI is to produce computer systems with high quality software. From ISO standard we classify usability measure into three subsections; effectiveness, efficiency and satisfaction.

REFRENCES

    1. The Design of Sites. Addison Wesley,BostonMAVanDuyne, D.K., Landay, J. A., & Hong, J. I. (2003)..

    2. Game Design Patterns Projectthttp://www.gamedesignpatterns.org/, Bjork, S., Lundren, S., &Holopainen, J. (2003).

    3. Computer Safety, Reliability and Security: SAFECOMP'99, 103-112.Hussey, A. (1999). Patterns for safer human-computer interfaces. In M. Felici, K. Kanoun&A.Pasquini, editors.

    4. Landauer TK. The trouble with computers: usefulness, usability and productivity. MIT Press, Boston, 1995.

    5. Atwood ME, Burns B, Gairing D, Girgensohn A. Facilitating communication in software development. In: Symposium on designing interactive systems 1995, pp 65- 73 3. Bostrum.

    6. Saiedian H, Dale R. Requirements engineering: making the connection between the software developer and the customer.

      Inform Software Tech 2000; 42 (6): 419-428

    7. Barnard, Jm 1998, A new reusability metric for object-oriented software, Software Quality Journal 7

    8. The Evolution of Human-Computer Interaction ,John M. Carroll Cap. I delLibro.inAnnual Review of Psychology, Volume 48, Palo Alto, CA: Annual Reviews, 1997, pages 501 522.

    9. Lyytinen K, Hirschheim R. Information system failures a survey and classification o 257-309

    10. Macaulay LA. Requirements Engineering. Springer-Verlag, London, 1996.

    11. . Christel MG, Kang KC. Issues in requirements elicitation. Technical Report CMU/SEI-92-TR-12 , 1992.

    12. . Beckworth G, Garner B. An analysis of requirements engineering methods. Technical TRC9524, 1994.

    13. Walz DB, Elam JJ, Curtis B. Inside a software design ACM 1993; 36 (10): 63-77

    14. http://macdailynews.com/2013/09/17/apple-macintosh- continues-to-dominate-in-personal-computer-

    15. www.novatech.co.uk\reports

    16. http://www.thefreelibrary.com/PC+rage+hits+the+office%3B+ Workers+lash+out+at+computer+problems.

    17. Zave, P., Jackson, M. (1997): Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology, 6 (1), pp. 1-30.

    18. Loucopoulos, P., Karakostas, V. (1995) Systems Requirements Engineering, McGraw-Hill: London.

    19. Nuseibeh, B., Easterbrook, S. (2000): Requirements Engineering: A Roadmap, Pro-ceedings of the Conference on The Future of Software Engineering,pp. 35 -46, June 4-11, Limerick, Ire land.

    20. Hickey, A.M., Davis, A.M. (2002): The Role of Requirements Elicitation Techniques in Achieving Software Quality, Proceedings of the Eighth International Workshop of Requirements Engineering: Foundation for Software Quality, September 9 – 10, E ssen, Germany.

    21. Christel, M.G., Kang, K.C. (1992): Issues in Requirements Elicitation, Carnegie Me l-lon University Technical Report, CMU/SEI-92-TR- 012.

    22. Zowghi, D. (1999): A Logic -Based Framework for the Management of Changing Sof t-ware Requirements,

      Macquarie University, Doctoral Dissertation

    23. Constantine, L., Lockwood, L.A.D. (1999) Software for Use: A practical guide to the models and methods of usage-centered design, Addison Wesley: Reading, MA.

    24. Coulin, C., Zowghi, D. (2004) Requirements Elicitation for Complex Systems: Theory and Practice, inn Requirements Engineering for Socio-Technical Systems, edited by Jose Luis Mate and Andres Silva, Idea Group: USA.

    25. Holtzblatt, K., Beyer, H.R. (1995): Requirements Gathering: The Human Factor. Com-munications of ACM, 38 (5), pp. 30- 32.

    26. Goguen, J.A., Linde, C. (1993): Techniques for Requirements Elicitation, Proceedings of the IEEE International Symposium on Requirements Engineering, pp. 152- 164, January 4 -6, San Diego, CA.

    27. McGraw, K.L., Harbison-Briggs, K. (1989) Knowledge Acquisition: Principles and Guidelines, Prentice Hall: New Jersey.

    28. Foddy, W. (1994) Constructing Questions for Interviews and Questionnaires, Ca m-bridge UniversityPress: Cambridge.

    29. Richardson, J., Ormerod, T.C., Shepherd, A. (1998): The Role of Task Analysis in Capturing Requirements for Interface Design. Interacting with Computers, 9 (4), pp.

    30. Jackson, M. (2000) Problem Frames: Analyzing and Structuring Software Development Problems,Addison Wesley: Boston, MA.

    31. Kelly, G. (1955) The Psychology of Personal Constructs, Norton: New York.

    32. Beck, K., Cunningham, W. (1989): A Laboratory For Teaching Object -Oriented Thinking, Proceedings of the Conference on Object Oriented Programming Systems Languages and Applications, pp. 1- 6, October 1 -6, New Orleans, LA.

    33. Hinkle, D. (1965): The change of personal constructs from the viewpoint of a theory of implications, Ohio State University, Doctoral Dissertation.

    34. Osborn, A.F. (1979) Applied Imagination, Charles Scribner's Sons: New York.

    35. Wood, J., Silver, D. (1995) Joint Application Development, John Wiley & Sons: New York.

    36. Gottesdiener, E. (2002) Requirements by Collaboration, Addison Wesley: Boston, MA.

    37. Human-computer Interaction: IEEE International Workshop, HCI 2007, Rio de Janeiro, Brazil, October20,2007ProceedingsLNCS sublibrary: Information systems and applications, incl. Internet/Web, and HCIVolume 4796 of Lecture notes in computer science

    38. T.C. Lethbridge, R. LeBlanc, A. Sobel, T. Hilburn, and J. Díaz-Herrera, J., SE 2004: Recommendations for Undergraduate Software Engineering Curricula, IEEE Software, Nov-Dec 2006, pp. 19-25.

    39. O. Dieste and N. Juristo, Systematic review and aggregation of empirical studies on elicitation techniques, IEEE Transactions on Software Engineering, vol. 37, no. 2, pp. 283- 304, Mar. 2011.

    40. .Ben Shneiderman and Catherine Plaisant, Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th Edition) , 5th ed., Pearson Addison-Wesley, 2009.

    41. Ben Shneiderman and Catherine Plaisant, Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th Edition) , 5th ed., Pearson Addison-Wesley, 2009.

    42. Human-computer Interaction: IEEE International Workshop, HCI 2007, Rio de Janeiro, Brazil, October 20, 2007 :

      Proceedings

    43. Ben Shneiderman and Catherine Plaisant, Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th Edition) , 5th ed., Pearson Addison-Wesley, 2009.

    44. Dont Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition topic:Usability

    45. The Handbook of Human Factors in Web Designtopic: User-

      Centered Design

    46. Jenny Preece, Yvonne Rogers, and Helen Sharp: Interaction Design: Beyond Human-Computer Interaction , Wiley, 2011. [47]Understanding Your Users: A Practical Guide to User Requirements

    47. Methods, Tools, and Techniques

    48. Eberts, R. E. (1994). User interface design. Englewood Cliffs, NJ: Prentice Hall.

    49. Eberts, R. E. (1994). User interface design. Englewood Cliffs, NJ: Prentice Halls.

Leave a Reply