Sei sulla pagina 1di 5

2009 World Congress on Computer Science and Information Engineering

A Framework for Requirements Engineering in End-User Computing

Esmaeil Kheirkhah Aziz Deraman Zahra Sadri Tabatabaie


Department of Computer Department of Computer Department of Computer
Science, Faculty of Science, Faculty of Science, Faculty of
Information Science and Information Science and Computer Science and
Technology, National Technology, National Information Technology,
University of Malaysia University of Malaysia University Putra Malaysia
e.kheirkhah@gmail.com a.d@umt.edu.my sadri_taba@yahoo.com

Abstract process has the potential of making a software system


successful.
In any software development process, Requirements With the recent growth of practical information
Engineering (RE) has been recognized as a critical technology in such an area as engineering, the End-
factor in determining the quality of the software User Computing (EUC) deserves more attention. By
projects. On the other hand, the efficiency of user definition, EUC is end-user involvement in the process
involvement in Software Development Process is an of software development. Due to particular
undeniable fact. Therefore, End-User Computing characteristics of End-User Computing environment,
(EUC) deserves more research attention in the area of which will be discussed in the next sections,
requirements engineering. But due to particular requirements engineering (RE) in EUC requires more
characteristics of the End-User Computing (EUC) study to ensure the quality of software produced in the
context, existing methodologies and techniques require area of software development.
to adapt to these characteristics of EUC. Therefore, A substantial amount of research has been conducted
providing end-users with an easy-to-understand RE to develop new methods, techniques, and tools for
process and tools with seldom failure can greatly requirements engineering (RE). But very little work
increase the efficiency of the software development and has been done regarding the Requirements Engineering
also decrease the risk of the project failure. In this in End-User Computing (EUC). This paper aims to
paper, requirements engineering in EUC will be study RE in the field of End-User Computing, and
discussed and a framework for matching Requirements proposes Screen-Based Requirements Engineering
Engineering techniques to End-User Computing will Approach as a solution to carry out requirements
be proposed. engineering tasks in End-User Computing
environment.
1. Introduction The remainder of the paper is organized as follows.
Sections 2 describe End-User Computing environment
Despite significant progress that has been made in and presents related research studies in the domain of
software development, software projects still suffer EUC. Section 3 introduces the framework of Screen-
from some problems like over-budget, late delivery, Based approach for requirement engineering in EUC.
and poor quality. The success of a software system Finally, conclusion and future research are described in
depends on how well it fits the needs of its users and its section 4.
environment [1, 2]. Requirements engineering is
accepted as one of the most crucial stages in software 2. End-User Computing
design and development. Requirements engineering
first defines the problem scope and then links all End-user Computing has been a significant topic for
subsequent development information to it. Several more than two decades and remains critically important
tasks and techniques have been proposed to accomplish with the rapid growth of new technologies. Although
the RE Process. Using appropriate requirements EUC is a mature concept, it is apparent that end-users
engineering techniques during software development do not become independent over time, but instead
require additional resources and support [3]. EUC has

978-0-7695-3507-4/08 $25.00 © 2008 IEEE 701


DOI 10.1109/CSIE.2009.517
provided users with a sense of control over their above, in most cases end-users do not employ
working environments by enabling them to set their requirement engineering techniques and tools in the
own priorities and satisfying their own information process of software development. Most of RE
requirements. On the other hand, EUC entails risks and techniques and tools are designed for computer experts
concerns, namely controlling (i.e., purchasing policies and need technical prerequisite to do RE tasks in
and procedures, sharing of resources, raising the software development process using these techniques
quality of systems and information) and end-user and tools.
support [4, 5]. It seems that visual methods are more efficient and
End-User Computing can be defined as a process in acceptable by end-users. There are numerous
which end-users involve directly and actively in the techniques and tools that support RE tasks in visual
software development lifecycle. Specifically, it is this ways. One of the best-known methods is Use-Case
active participation and collaboration during the approach in the UML which is a standardized visual
development process which distinguishes end-user specification language for object modeling. Moreover,
developers from typical end-users [6]. there are many techniques and tools for requirements
Identification and classification of end-users can engineering based on end-user involvement approach.
help to develop or adapt better techniques and practices For instance, Li et al, [9] develop a solution, which
for Requirements Engineering task in EUC. End-Users uses natural language processing. Reeves and Shipman
are different due to their culture, education, training, [10] describe a combination of visual and textual
experience, age, abilities and disabilities [7]. It is elements. Rick Rabiser et al [11], report on two
obvious that there are several categories of end-users, different approaches enabling mobile analysts and end-
for instance depending on whether the computer users to add multimedia descriptions to requirements.
system is used for work, for personal use, for pleasure, Mark Gall et al [12], proposed a framework to solve
for overcoming possible disabilities, etc. We can also the problem of eliciting complete and correct
divide them into different communities based on their requirements by using video to record the requirements
goals, tasks, and activities. elicitation meetings and automatically extract
J. Segal, in [8] classified end-user developers into important stakeholder statements.
professional end-user developers and other end-user Our proposed solution for requirements engineering
developers. She argued that professional end-user in EUC is to provide end-users with a Screen-Based
developers such as mathematicians, scientists and approach to carry out the RE tasks effectively. In this
engineers are distinguished from other end-users, but approach, which necessarily will be supported by a
they cannot be considered to be the same as toolset, end-users will be able to do their RE tasks
professional software engineers. Anders I. Mørch, et al, easily without needing specific technical prerequisite
classified developer-users into Regular users, Super in a screen-based manner. Everything required in RE
users, Local developers, Professional developers. S. tasks will be available on screen and end-users will be
Clarke, in [16], discussed different personas based on able to drag and drop objects on screen to create
work styles, characteristics and motivations of software models, scenarios, use cases, user interfaces, etc. Also
developers. He classified them into three classes: The they will be able to design prototype of project at hand
systematic developers (who write code defensively, in a screen-based fashion, that we call it Screen-Based
develop a deep understanding of a technology before Prototyping.
using it and pride themselves on building elegant The main components of our approach are as
solutions), the pragmatic developers (who write code follows:
methodically, develop a sufficient understanding of a • RE knowledge Base
technology to enable them to use it and pride • Supporting tool set
themselves on building robust applications) and the • Intelligent process control
opportunistic developers (who write code in an
exploratory fashion, develop a sufficient understanding Figure 1 demonstrates the framework of screen-based
of a technology to understand how it can solve a approach to requirements engineering for End-User
business problem and pride themselves on solving Computing.
business problems).
3.1. RE Knowledge Support
3. Screen-Based approach
Requirements Engineering is a very knowledge-
Due to particular characteristics of End-user intensive discipline, therefore building a RE
Computing environments and end-users, as stated Knowledge Base System can be very useful for both

702
end-users and computer experts in software • High usability of the system.
engineering. There are a large number of process • Good facilities for RE tasks.
models and techniques designed for RE. In order to • Flexibility.
help end-users to do RE tasks we identified, classified,
analyzed and selected an appropriate set of RE process The toolset also uses the RE knowledge gathered in
models and techniques based on characteristics of EUC knowledge library and proposes suitable RE techniques
environment. RE knowledge base includes all the to end-users based on project attributes, end-user
selected RE process models and techniques. categories, and organization attributes. This feature
Furthermore, this knowledge base provides end-users helps end-user developers to select and apply a proper
with guidelines to use RE process models and set of techniques to do requirements engineering tasks.
techniques.
3.2.1. RE Knowledge Base tool support. Followings
are main components of RE knowledge base in
general:
• User Interface
The user interface is used to exchange information
with the requirements engineers or end-users, for
example, for input of projects attributes and output
of applicable and suitable set of RE techniques.
• Inference engine
The inference engine is a program that conduct the
reasoning process for solving problems based on the
knowledge contained in the RE knowledge base. The
reasoning process can also provide extra knowledge
Figure1. Overall Framework of Screen-Based from existing rules and facts.
Approach for Requirements Engineering in • Developer's interface
EUC Developer's interface provides the links between the
system and knowledge engineer to maintain verify and
3.2. Supporting Toolset validate the knowledge-based system
• Knowledge Base
Supporting tool set is the most important component The most important part of a RE Knowledge-Based
of our approach, because without this toolset it will be System is Knowledge Base. It stores Requirements
impossible to employ the screen-based requirements Engineering knowledge in the form of facts and rules.
engineering approach. This toolset has some features to Usually predicate logic is used for this purpose. The
support requirements engineering tasks, i.e. knowledge base may also store the confidence level
requirements elicitation, modeling, requirements that a fact or rule is true or valid.
analysis, requirements validation and verification and
requirements management. Furthermore, the 3.2.2. Screen-Based Prototyping. Prototyping as a
supporting toolset provides end-users with a very useful technique can be used in most of software
useful feature i.e. software prototyping. Prototyping, as development methodologies [14, 15]. Using
an economic way to build a small scale of software prototyping method helps software developer to find
models and products, has been proved to be an and specify requirements, feasibility study of
efficient and effective methodology to evaluate development strategies, design user interface, narrow
proposed systems if acceptance by the customer or the the communication gap among stakeholders, increase
feasibility of developments is in doubt [13]. level of end-user involvement in software development
The advantages of using web-based applications are process, and visualize future application for
clear due to the ability to update and maintain Web stakeholders.
applications without distributing and installing Our proposed approach for prototyping, i.e. Screen-
software on client computers. The Web Engineering Based prototyping, prepares users with a very easy to
approach is adopted in our tool design which focuses use prototyping tool which helps them to design a
on the following main issues and principles: prototype of the software system at hand in a rapid and
straightforward fashion. Screen-Based prototyping
• Good user interface design apply use-case driven approach in creating prototypes.
• Easy to use and understand. One prototype is designed for each use case selected
for prototyping. The description of the prototype

703
environment presented in the user’s language, as a • Define and manage Requirement items, which
context will be constructed for the prototype during include the following:
prototyping. Storylines will be generated and user
classes are created in order to illustration the ¾ Summary and Detail
relationship among use-cases, user's actions, and ¾ ID, version and phase
interaction between users and use-cases. Scenarios are ¾ Requirements Type
generated using the prototype context that can be ¾ Requirements Status
documented as scenario descriptions. ¾ Requirements Priority
¾ Requirements tracking
¾ Assigned stakeholders
¾ Change Log
¾ Relationships between Requirements
¾ Related Use-Cases
¾ Refer and edit relationships between
Requirements and Use-Cases in Matrix View

• Document Generation for the entire project in the


following formats:

¾ HTML
¾ Word
¾ Excel
Figure2. Overall schema of Prototyping
Session • Requirements view:
We recommend that the prototyping accomplish
through a series of sessions with participation of ¾ Requirements in any use-case or whole
software system stakeholders which can be called project
prototyping sessions. Figure 2 demonstrates overall ¾ Requirements which are assigned to a
schema of prototyping session. specified stakeholder
¾ Requirements based on Priority level
3.2.3. Requirements Validation and Verification. ¾ Requirements Based on type
After prototyping of use-cases, validation and ¾ Requirements Based on status
verification of elicited and identified requirements is ¾ Project Stakeholders
applicable. These tasks can be done through
prototyping session or after that. Validation and 3.3. Intelligent Process Control
Verification of the requirements can be done using
designed prototypes checking and reading the Intelligent process control is the next important
scenarios, or V&V techniques offered by RE component of our approach. In order to help end-users
Knowledge-Base subsystem of Screen-Based RE and prevent their mistakes we provided a feature which
toolset. Due to iterative nature of Requirements will control end-users during the process of
Engineering, Requirements Validation and Verification requirements engineering. In this component, rules and
can be done also on subsequent rounds through the RE flow of the processes are defined to lead the end-users
process. The toolset supports some popular techniques in right ways and prevent their probable mistakes.
for V&V, e.g. Requirements Verification checklists Intelligent support also contains a set of executable
and Issues lists. checking rules that offer warnings and guidance to the
tool user. Moreover, a decision support system has
3.2.4. Requirements Management. Requirements been provided to help end-users for making decision
management prepares users to track changes of through requirements engineering process.
requirements and manage requirements with a range of
capabilities in a screen-based fashion. Followings are 4. Conclusion and future work
some key features of Screen-based Requirements
Management tool: This paper intended to highlight the necessity of
Requirements Engineering in End-User Computing
and to also propose a solution for the problem. We

704
described End-User Computing environments and a International Conference on Requirements Engineering,
variety of End-Users. Screen-Based Requirements 2005, pp. 479-480.
Engineering was proposed in this paper as a solution
for Requirement Engineering in EUC. The framework [10] B. Reeves and F. Shipman, “Supporting communication
between designers with artifact-centered evolving
of our approach was also demonstrated and its main information spaces,” Proceedings of the 1992 ACM
components were discussed. Irrespective of the conference on Computer-supported cooperative work, 1992,
usefulness of the Screen-Based Requirements pp. 394-401.
Engineering in EUC, this approach is capable of being
employed by End-Users in the area of End-User [11] R. Rabiser, et al., “Capturing Multimedia Requirements
Computing (EUC) and also by requirements engineers Descriptions with Mobile RE Tools,” Proceedings of the
in a typical Requirements Engineering environment. First International Workshop on Multimedia Requirements
The completion of the Screen-Based RE approach, Engineering (MERE'06-RE'06 Workshop)-Volume 00, 2006.
its toolset and its usability in a real industrial setting
[12] M. Gall and B. Berenbach, “Towards a Framework for
requires further research, which focuses on refinement Real Time Requirements Elicitation,” Multimedia
of the framework, its design and implementation of its Requirements Engineering, 2006. MERE'06. First
supporting toolset. International Workshop on, 2006, pp. 4-4.

5. References [13] M. Kutar, et al., “Specifying multiple time granularities


in interactive systems,” Lecture notes in computer science,
[1] B. Nuseibeh and S. Easterbrook, “Requirements pp. 51-63.
engineering: a roadmap,” Proceedings of the Conference on
the Future of Software Engineering, 2000, pp. 35-46. [14] K. Weidenhaupt, et al., “Scenarios in system
development: current practice,” Software, IEEE, vol. 15, no.
[2] D.L. Parnas, “Software Engineering Programs Are Not 2, 1998, pp. 34-45.
Computer Science Programs,” IEEE Software, vol. 16, no. 6,
1999, pp. 19-30. [15] M. Khalifa and J.M. Verner, “Drivers for software
development method usage,” IEEE Transactions on
[3] T. Guimaraes, et al., “Empirically Testing the Engineering Management, vol. 47, no. 3, 2000, pp. 360-369.
Relationship Between End-User Computing Problems and
Information Center Success Factors,” Decision Sciences, vol. [16] S. Clarke, “what is an end-user software engineering?”
30, no. 2, 1999, pp. 393-413. Proceedings of the Dagstuhl seminar on End-user Software
Engineering, 2007,
[4] M. Igbaria, et al., “Testing the determinants of http://drops.dagstuhl.de/opus/volltexte/2007/1080
microcomputer usage via a structural equation model,”
Journal of Management Information Systems, vol. 11, no. 4,
1995, pp. 87-114.

[5] S. Sherman, “How I bought my computer,” Fortune, vol.


129, no. 1, 1994, pp. 76—82.

[6] R.A. Farmer and B. Hughes, “Towards a" personal cost"


model for end-user development,” Proceedings of the 7th
ACM SIGCHI New Zealand chapter's international
conference on Computer-human interaction: design centered
HCI, 2006, pp. 75-82.

[7] M.F. Costabile, et al., “Advancing End User


Development through Meta design,” End User Computing
Challenges and Technologies: Emerging Tools and
Applications, 2007.

[8] J. Segal, “Two principles of end-user software


engineering research,” Proceedings of the first workshop on
End-user software engineering, 2005, pp. 1-5.

[9] K. Li, et al., “Computer-Assisted and Customer Oriented


Requirements Elicitation,” Proceedings of the 13th IEEE

705

Potrebbero piacerti anche