Vous êtes sur la page 1sur 18


Requirements Management Tool

for Busy System Analysts

Sasmito Adibowo
Faculty of Computer Science
University of Indonesia
August 2003

P Product Overview
P Sample Screens
P Architecture Overview
P Product Demonstration
PQ & A
Product Overview
Statement of Purpose

Providing facilities to collect and organize

natural-language requirements
immediately as they are being uttered by
the stakeholders.
Product Overview

Further analysis
at developer’s office
Requirements gathering
at client’s site
Product Overview
Competitive Advantages

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
Product Overview
Current State

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
Future Developments

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
< Hybrid UI (GUI, web, WAP, mobile applets)
< Provide access to external stakeholders
Handheld Application

P Document List
< Displays requirements
documents available in
< Tap on New to create a
< Tap on document name to
modify a document
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
< 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
Handheld Application

P Element Edit
< Modifies a requirement
< 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
Desktop Application
Active document
file name File modified flag

First-Class Element Type

First-Class Element

Active Element

Active Element

Status Bar
Desktop Application
Architecture Overview

Swing GUI SuperWaba GUI

Desktop RQML Abstraction Handheld

Model Model

J2SE API SuperWaba API

desktop application handheld application
Architecture Overview
Handheld Application

P Two-layered application SuperWaba GUI

< User Interface layer Handheld Model RQML Abstraction
< Data layer
P Quasi-MVC architecture RQML Implementation
< UI layer: view and controller SuperWaba API
< Data layer: model
P Shared component: RQML Abstraction
P Stores data in proprietary format
Architecture Overview
Desktop Application

Swing GUI
P Two layered application Desktop Model RQML Abstraction
< User Interface layer
< Data layer Element Adapters
P XML-based data format DOM API
< RQML Abstraction (data model) Xerces Implementation
< Adapts RQML to DOM
< Xerces’ implementation of DOM
P Swing’s Separable Model Architecture
< UI layer: Swing-derived classes
< Data layer: adapters for Swing’s model
Architecture Overview
Data Conversion Component

P Located in the desktop Bridge Facade

application Import Facade Export Facade
P Converts data between the First-Class Copy Facade First-Class
Importer Element Copiers Exporter
two applications
RQML Abstraction
P Several layers of facade Handheld & Desktop Models
classes SuperWaba API
P Runs the handheld’s data SuperWaba to Java Bridge

model code in the desktop

Product Demonstration

P Create document in desktop

P Add requirement entries in desktop
P Transfer data to handheld
P Modify entries in handheld
Thank You