Agenda
Rambutan Requirements Management Tool for Busy System Analysts
P Product Overview P Sample Screens P Architecture Overview P Product Demonstration PQ & A
Sasmito Adibowo Faculty of Computer Science University of Indonesia August 2003
Product Overview
Product Overview
Statement of Purpose
Usage
Providing facilities to collect and organize natural-language requirements immediately as they are being uttered by the stakeholders.
Requirements gathering at client’s site
Further analysis at developer’s office
Product Overview
Product Overview
Competitive Advantages
Current State
P Handheld application (for PDAs) P Desktop companion P Multi-platform P Pattern-based design P XML-based document format (RQML) P Methodology-agnostic P Open-source license
P Handheld and Desktop applications: < Natural-language requirements collection < Single user < Java desktop application < SuperWaba handheld application < Supports PalmOS and PocketPC < Limited functionality
P Immediate next phase: < Traceability functions < Seamless data transfer (desktop conduits)
Product Overview
Screenshots
Future Developments
Handheld Application
P Collaborative Document editing < Edits requirements document simultaneously < Client/Server environment < Discussion/Messaging facilities < Scheduling tools < Collaborative decision-making tools
P On-line multi faceted RM system
P Document List < Displays requirements documents available in device < Tap on New to create a document < Tap on document name to modify a document
< Hybrid UI (GUI, web, WAP, mobile applets) < Provide access to external stakeholders
Screenshots
Screenshots
Handheld Application
Handheld Application
P Element List < Displays requirement entries of a certain type in a document < Tap on New to create an entry < Tap on ant element name to modify the element < Tap on Close to return to document list < Tap on Delete to remove the document
P Requirement types: < requirement, stakeholder, assumption, issue, use case, project, taxonomy, context, lexicon
P Element Edit < Modifies a requirement entry < Consists of multiple screens, selectable via a drop-down list in the upper right < Different requirement types each has its own set of editor screens
Screenshots
Screenshots
Desktop Application
Desktop Application
Active document file name
File modified flag
First-Class Element Type First-Class Element Active Element
Active Element Description
Status Bar
Architecture Overview
Architecture Overview Handheld Application
Swing GUI
SuperWaba GUI
Desktop RQML Abstraction Model
Handheld Model
J2SE API
SuperWaba API
desktop application
handheld application
P Two-layered application < User Interface layer < Data layer
SuperWaba GUI Handheld Model
P Quasi-MVC architecture < UI layer: view and controller < Data layer: model
RQML Abstraction
RQML Implementation
SuperWaba API
P Shared component: RQML Abstraction P Stores data in proprietary format
Architecture Overview
Architecture Overview
Desktop Application
Data Conversion Component
P Two layered application < User Interface layer < Data layer
Swing GUI Desktop Model
Element Adapters
P XML-based data format < RQML Abstraction (data model) < Adapts RQML to DOM < Xerces’ implementation of DOM
RQML Abstraction
DOM API Xerces Implementation J2SE API
P Swing’s Separable Model Architecture < UI layer: Swing-derived classes < Data layer: adapters for Swing’s model
P Located in the desktop application P Converts data between the two applications P Several layers of facade classes P Runs the handheld’s data model code in the desktop application
Product Demonstration P Create document in desktop P Add requirement entries in desktop P Transfer data to handheld P Modify entries in handheld
Bridge Facade Import Facade Export Facade First-Class Copy Facade First-Class Importer Element Copiers Exporter RQML Abstraction Handheld & Desktop Models SuperWaba API SuperWaba to Java Bridge
Thank You Questions?
J2SE API