
Rambutan Requirements Management Tool for Busy System Analysts Technical Report Sasmito Adibowo Faculty of Computer Science University of Indonesia July 2003 Bibliographical Data Sheet Report No. : UI-CS-2003-xx Report Date : July 2003 Original Language : English Type of Paper : Technical Report Title Rambutan – Requirements Management Tool for Busy System Analysts Keywords requirements management, requirements engineering, extensible markup language, requirements markup language, document object model, handheld application, personal digital assistant, design patterns, PalmOS, PocketPC, Windows CE, SuperWaba, Waba, Java, Swing, XML, RQML, DOM, Xerces. Authors and Their Email Addresses Sasmito Adibowo ([email protected]) Eko K. Budiardjo ([email protected]) Performing Organization Name and Addresses Faculty of Computer Science University of Indonesia Kampus UI, Depok 16424, Indonesia Ph. +6221 7863419 Fax +6221 7863415 http://www.cs.ui.ac.id Abstract Rambutan is a Requirements Management Tool for Busy System Analysts. The application consists of two programs, one for a desktop computer and the other for a handheld computer. The desktop software is programmed as a Java Swing GUI application while its handheld counterpart is coded using SuperWaba and runnable on Palm OS, PocketPC, and Windows CE. Both applications are programmed with the Java programming language using established design patterns to support its evolution. The conceptual foundations of Rambutan are based on Requirements Markup Language (RQML), an XML dialect for storing natural-language requirements document. In turn, RQML is based on a set of best practices in requirements engineering. Therefore, Rambutan is independent of any particular requirements engineering methodologies. Supplementing Rambutan’s source code documentation, this report consists of a general description of the product, example screen shots of both applications, architecture overviews, and several pointers on evolving the system. Total number of pages (including this page and cover page): 35 Table of Contents General Description ...............................................4 Product Functions............................................4 User Characteristics...........................................4 Product Path ................................................4 User Interface Design ..............................................9 Handheld Application..........................................9 Desktop Application..........................................14 System Components .............................................24 Architecture Overviews........................................24 RQML Problem Domain .......................................27 Evolution Management ...........................................32 Evolving RQML .............................................32 Adding missing features.......................................32 Supporting multiple users .....................................33 Upgrade issues to network-based user interface .....................33 Supporting other mobile device platforms..........................34 Bibliography ...................................................35 3 1 General Description 1.1 Product Functions Rambutan – Requirements Management Tool for Busy System Analysts is a set of end- user applications software that assists a system analyst in the gathering and categorization of facts for a requirements specification document. In its current state, the product consists of two programs that perform similar functions. A handheld application is used to gather facts in the client's site while a desktop application is used to edit and further refine the requirement statements in the analyst's office. Both applications allow the user to enter, modify, and display data that make up a requirements specification document. The concepts behind Rambutan lies on RQML 0.9, an XML-based requirements specification document format [Gudg00]. In turn, Requirements Markup Language (RQML) is based on a set of best current practices in requirements engineering. This design decouples Rambutan from any specific methodology for requirements engineering. Both the desktop application and its handheld counterpart are implemented using the Java programming language, allowing them to share some common code. However, it is not possible to code both applications to the same API. The desktop application is programmed for the Java 2 Standard Edition platform, version 1.3. On the other hand, the handheld application is programmed to run under the SuperWaba virtual machine using its own API. Both applications are GUI-based single-user systems. Compared to other requirements management tools, Rambutan offers these competitive advantages: • Convenient client application for use in handheld (PDA-class) computers. • Portability between handheld platforms supported by SuperWaba: PalmOS, Windows CE, and PocketPC. The handheld application may also be run on any Java 1.1-compatible devices. • Portability between desktop platforms supported by Java 2 Standard Edition: Windows, Macintosh, and Unix (including Solaris and Linux). • Extensible pattern-based object-oriented design ([Gamm95]). • Open XML-based document format. • Independent from any specific requirements engineering methodology. • Non-restricting Apache-style open-source license. 1.2 User Characteristics Rambutan is targeted toward mobile system analysts that performs extensive data gathering at the client's site during software development. These users typically use a handheld computer to assist their day-to-day tasks and also a desktop/notebook computer for heavier computing activities. 1.3 Product Path 1.3.1 Handheld and desktop applications 4 Chapter 1 – General Description 5 This initial state of the product consists of a handheld and a desktop application for use by a single user. The handheld application maintains data in its own proprietary format on the device. Its desktop counterpart is able to read, modify, and save documents in the handheld format. Natively, the desktop application uses XML DOM to manipulate the requirements document. The XML format used is a subset of the proposed RQML 0.9 specification. 1.3.2 Desktop conduits The next phase will be the development of conduit components that allow the handheld application to carry only a subset of the data available in the desktop version of the requirements document. This will allow the user to maintain large requirement Figure 1.1 Duet of Handheld and documents yet still minimize memory requirements Desktop Applications on the handheld. These conduits should also provide synchronization facilities between the desktop and the handheld. By synchronizing data, the user will be able to edit the same document both in the desktop and in the handheld computers. At synchronization time, data in both of the modified documents will be merged in a record-by-record basis. This synchronization facility is similar to the one provided by PIM applications such as the Palm Desktop. 1.3.3 Collaborative document editing Having attained a high usability for a single user requirement management tool, the next step of the evolution should be in supporting team members involved in requirements engineering. This support will be in the form of collaborative editing of requirements specification documents. Multiple users will be able to concurrently modify the same document at their own computers. Multi-user functionality should be accomplished by using a central repository that stores the requirements docu- ments. Users work on their desktop computers using data downloaded from this central repository. Occasionally, applications on the desktop connect to the repository to receive updates from other team members as well as to commit its own updates to the repository. Handheld application still synchronizes with its desktop counterpart. Figure 1.2 Collaborative Document Editing Thus, the desktop application acts as a middle-tier be- tween the handheld and the repository. Going multi-user also implies that there will be conflicts among the users of the system. These conflicts may range from simple concurrency problems to contradicting requirements even to modifications made by one user that negates the work of another user. Concurrency problems should be solvable by means common in the operating system and database domains – using techniques such as locking, semaphores, and transactions. While problems beyond concurrency are pertained to the problem domain which is requirements engineering. Conflicts on a level higher than concurrency problems are solvable by providing revision control and history functionalities. Each modification of a requirement Chapter 1 – General Description 6 statement is recorded along with the user who performed the modification. Should conflicts arise, the system will be able to provide historical data that assists in conflict resolution. Furthermore, keeping a history of each requirement allows traceability information between requirements to extend into the dimension of time. Additional "nice-to-have" features in this phase might include: • Discussion/messaging facilities. • Group scheduling tools. • Group polling (decision-making) tools. • Shared contact list data (to keep in touch with stakeholders). 1.3.4 On-line multi-faceted requirements management system Requiring the use of desktop applications for collaborative requirement engineering may prove to be inflexible in the long run. Being a thick client, the application must be installed in the user's computer
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages35 Page
-
File Size-