Report On Industrial Case Study
A “requirements view” on a system or development process offers a perspective on that system in which requirements assume the leading role (Nuseibeh et al. 1994). A requirement view can be a combination of artifacts such as requirements and design information, showing how a requirement is transformed into a design artifact, and indicating how and where a requirement is covered by specific design artifacts, or where it is located in the system architecture. Examples are coverage views, such as “which design artifacts address which requirement?”, or status views, such as “which requirements are already implemented?” The various requirements views help to avoid inconsistencies within the documentation of one kind of work product (requirements specification) or between the documentation of different types of work products (requirements specification and architectural design document) (Easterbrook and Nuseibeh 1995). Requirements views help in improving the coherence between the work product documents, and lead to higher overall quality of the work products.
Requirements views are essential for successful project management, and for monitoring the progress of product development. In an outsourcing context, reporting progress in terms of requirements is particularly important, since the customer is much less aware of the system breakdown or of implementation issues, and more likely to be interested primarily in his requirements.
Unfortunately, capturing, monitoring, and resolving multiple views on requirements is difficult, time-consuming as well as error-prone when done by hand (Nissen et al. 1996). The creation of requirements views necessitates an accurate traceability matrix, which, in practice, turns out to be very hard to obtain and maintain (Gotel and Finkelstein 1994; Dömges and Pohl 1998; Graaf et al. 2003; Ramesh et al. 1995; Lindvall and Sandahl 1996). The tools currently available on the market, such as Telelogic DOORS and IBM Rational RequisitePro, are often not sufficient: keeping the traceability consistent using these tools is hard and involves significant effort (Lormans et al. 2004; Alexander 2002).
To remedy this problem, a significant amount of research has been conducted in the area of reverse engineering of traceability links from available software development work products (De Lucia et al. 2004; Natt och Dag et al. 2005; Hayes et al. 2006). Our own line of research has focused on the use of information retrieval techniques, in particular latent semantic indexing (LSI) (Deerwester et al. 1990), for this purpose, and on the application of the reconstructed matrices for view reconstruction, specifically. We incorporated our ideas in a method, called Marev, and implemented the method in a tool, called ReqAnalyst (Lormans and van Deursen 2005, 2006, 2009).
While significant progress in this area has been documented, a number of open research issues exist, which we seek to explore in this paper. An initial question to be addressed is not related to the case study performed. It is about which requirements views are most needed in practice. To answer this question, a questionnaire was sent out to a dozen practitioners, and from the answers three important groups of views were distilled, which are described in detail.
As unit of analysis, one development project of LogicaCMG, an international IT services supplier, was scrutinized for the case study. The primary question addressed through this exploratory case study was how and to which extent requirements views can be reverse-engineered from existing work products. An important question hereby is whether the approach we proposed (Lormans and van Deursen 2005, 2006, 2009) may be used to reconstruct these views. To answer this question, it is described how our own prototype tool (ReqAnalyst) has been extended to support these views, offering project stakeholders means to inspect the system and development progress in terms of these views. Another question to be addressed through the case study is whether these reconstructed views can help in a real life software development process.
In the software development project under investigation in this case study, a traffic monitoring system (TMS) is developed, and it is outsourced to LogicaCMG. In the project, progress reporting to the customer must be done in terms of requirements, making accurate requirements views an essential success factor. The paper discusses the way of working in this project, and looks at how and to which extent reconstructed links can be used to support and enhance the way of working. In the case study, the focus lies on requirements views that are related to testing artifacts.
The remainder of this paper is organized as follows. Section 2 discusses existing work in the area of requirements views and reverse engineering of traceability matrices. Section 3 summarizes the methodology for generating requirements views, called Marev. Sections 4, 5, and 6 present the requirements views aimed at, the way they are implemented in the ReqAnalyst tool, and the case study performed at LogicaCMG, respectively. The paper conclude with a discussion, a summary of contributions, and suggestions for future research.
Ненадолго, - буркнул Хейл. - Не зарекайся. - Я серьезно.