
A Semantic Wiki for Quality Management in Software Development Projects Roberto García, Rosa Gil, Juan Manuel Gimeno, Toni Granollers, Juan Miguel López, Marta Oliva, Afra Pascual Universitat de Lleida Jaume II, 69 25001 Lleida, Spain Abstract. Quality Management has become a strategic issue for organisations and very valuable to produce quality software. However, Quality Management Systems (QMS) are not easy to implement and maintain. Our experience shows the benefits of developing a QMS by first formalising it using Semantic Web ontologies and then putting them into practice through a semantic wiki. The QMS ontology that has been developed captures the core concepts of a traditional QMS and combines them with concepts coming from the MPIu+a development process model, which is geared towards obtaining usable and accessible software products. Then, the ontology semantics is directly put into play by a semantics-aware tool, the Semantic MediaWiki. The developed QMS tool has been running for two years at the GRIHO research group, where it has been used to manage almost 50 software development projects taking into account quality management issues. It has been also externally audited by a quality certification organisation. Its users are very satisfied with their daily work with the tool, which manages all the documents created during project development and also allows them to collaborate thanks to wiki features. 1 Introduction This paper explores the application of a semantic wiki for the implementation of a Quality Management System (QMS). This system is used to improve the quality of the technology transfer projects developed by the GRIHO research group, mainly projects involving the development of interactive software systems. One of GRIHO's main research lines is Human-Computer Interaction, thus one of the main dimensions for quality measurement are the usability and accessibility of this interactive systems. Consequently, the quality management system that has been developed implements ISO9001:2008 combined with a software development methodology that focuses on ensuring the usability and accessibility of the resulting product, concretely the MPIu+a methodology detailed in Section 2.2. The implementation is based on a semantic wiki that supports the software development process but also other organisation processes such as marketing, purchasing, training, user satisfaction, etc. It also manages personnel enrolment, document management (internal reports, requirements documents, minutes...) and captures other kinds of data that can be then used to generate a quality management dashboard [1]. A deployment of Semantic Media Wiki, with some wiki extensions and an ontology that models the quality management domain, is currently being used at the GRIHO research group on a daily basis as the way to 1 manage its technology transfer projects and, due to its usefulness, also its research projects. It has become the reference tool for GRIHO projects. Our experience with the semantic wiki QMS is that it provides outstanding capabilities for document management. This is facilitated by the underlying semantic management functionalities that profit from a shared conceptualisation of the domain based on ontologies. This constitutes the main added value in comparison with non-semantics-capable solutions. The ontologies facilitate maintaining the system information architecture and even guiding users while they interact with the QMS. More details about quality management, MPIu+a and related work are available in Section 2. The paper continues presenting the proposed approach in Section 3 together with the main results. Then, there is an evaluation in Section 4 and finally the conclusions and the future work are presented in Section 0. 2 State of the Art This section contextualises the contribution by introducing the term Quality Management System (QMS) and by describing the development process model to be integrated into the QMS: MPIu+a. Then, existing tools and initiatives related to quality management, software development and the Semantic Web are presented. 2.1 Quality Management System A Quality Management System (QMS) is built from the set of collective policies, plans, practices, and the supporting infrastructure by which an organization aims to reduce and eventually eliminate non- conformance to specifications, standards, and customer expectations in the most cost effective and efficient manner [2]. Organisation processes are the basis for the definition of a quality system. Correct identification and management of these processes will facilitate the implementation of the quality management system. ISO 9001:2008 defines a process as any activity that uses and manages resources to enable the transformation of inputs into outputs. 2.2 MPIu+a Development Process Model From the standpoint of developing interactive systems, we can find several approaches that incorporate User-Centred Design (UCD) as a procedural methodology for Usability Engineering (UE). Digital 2 Equipment Corporation professionals used this term to refer to concepts and techniques to plan, achieve and verify the system’s usability objectives. The main idea lies in defining the “measurable usability objectives” as soon as possible. They will be repeatedly evaluated during the development phase to ensure its achievement [3,4]. Among the various existing UE proposals, e.g. [5,6], we will focus our development on the Usability and Accessibility Engineering Process Model (MPIu+a), which is described in [7] and outlined in Fig. 1. [Include Fig. 1 here] Fig. 1: Usability and Accessibility Engineering Process Model (MPIu+a). Its main features are: • Conceptual Organization: Human-Computer Interaction (HCI) activities are gathered together in a specific part of the process model so development team members can easily recognise what activities are being carried out and which ones are related to them. This conceptual organization was born from the need to organise and coordinate the HCI and Software Engineering parts. • Main blocks: the process model is organised in three main blocs, shown as columns in Fig. 1., which correspond to three different kinds of activities: o A "traditional" Software Engineering lifecycle in the left column. Actually, any software engineering model can be used here as long as it is incremental and iterative. o Prototyping, in the central column. Production of prototypes is a central activity when developing interactive systems following any UCD methodology. They are intended for evaluation activities and developed during the whole software engineering lifecycle till the implementation is completed. o Evaluation, in the right column. Again, UCD design methodologies need a constant use and interaction evaluation. This phase of the model covers all the evaluation techniques that focus on assessing the quality of use of the related system. 3 • User: any UCD process should focus and encourage user’s active participation. This aspect is clearly reflected in the scheme: the user is located in the top-central part and networked with all other stages, enabling its constant participation. • Iterativity: repeatable processes are a natural characteristic of any field of engineering. The engineering process model provides a set of arrows with the following goals: (i) providing this constant-iteration and, (ii) the constant and active user’s participation in all the development phases (from the requirements analysis stepping to the design and implementation of prototypes and/or further evaluation). • Simplicity: The scheme itself is brief and simple, with few branches and nodes and conditional paths that complicate its comprehensions and implementation. • Multidisciplinary: UCD and UE require multidisciplinary development teams that feature many different mental models interacting altogether. They require specific techniques and tools that facilitate the communication between those involved in the development [8]. • Flexibility: The model has not only one single way and neither has restrictive and conditional branching points to lead the development team actions and/or decisions. Then it guides the development providing total flexibility for its implementation. 2.3 Related Work As software development processes become more complex, it is necessary to provide computer-based tools to support software engineers to perform their tasks. These tools must work together to provide effectiveness in software development process. Integration demands consistent representations of software engineering information, standardized interfaces between tools, homogeneous means of communication between software engineers and tools, and an effective approach that enables software engineering environments to move among various platforms [9]. Software systems relational navigation based on semantic representations goes back to the early 1990s and the LaSSIE knowledge base [10]. In this sense, the emerging field of semantic web technologies provides a new stimulus for Software Engineering research [11]. [12] shows how changes to metadata can be recorded and tracked and propose how they may be used to proactively notify developers of changing requirements and quality measurements that may impact maintenance. 4 Nevertheless, it must also be taken into account that, in some cases, evolving Semantic Web technologies may not be adequate for all software modelling needs [13]. Besides Semantic Web, ontology languages define a set of representational primitives with which a knowledge domain
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-