330 likes | 342 Views
This project aims to create a CAD-generated 3D model of an airplane and its components, along with an API for navigating the model virtually. It also provides an API for manipulating "Stickies" and a web-based navigation tool. The project has functional requirements for navigation methods, location information, and Stickies management, as well as nonfunctional requirements for user interface, documentation, hardware considerations, performance characteristics, error handling, system interface, quality issues, system modifications, physical environment, security issues, and resource issues.
E N D
Requirements Analysis Review Modeling Team Matt Weyant 26 Oct 1999
Goals • Create model of airplane and its components • Develop API for virtually navigating the airplane model • Provide API for graphically manipulating “Stickies” • Build a web-based navigation tool
What is this model? • CAD-generated 3D model • Data structure is a component tree
Functional Requirements • Provide navigation methods for navigation through a 3D model of an airplane and its components • Provide location information in a 3D coordinate system for the airplane and its components • Map locations (x,y,z) to specific parts of the airplane and back
Functional Requirements, cont… • Locate Stickies associated with components or the whole airplane • Provide a GUI and manipulation methods for Stickies in a Sticky database owned by Workflow
Nonfunctional Requirements • User interface and human factors • Documentation • Hardware considerations • Performance characteristics • Error handling and extreme conditions • System interface • Quality issues
Nonfunctional Requirements, cont... • System modifications • Physical environment • Security issues • Resources issues
User Interface and Human Factors • Web-based user interface • Built on API’s • Intuitive • Restricted access • Access rights • Web users will have “read” access to database • View/navigate through existing data
Documentation • Describe features and operation of Web-based navigation tool • Help pages • Demos • Javadoc of implementation • Extensive additional docs available to other subsystems
Hardware Considerations • Large storage space • Lots of memory • Graphics acceleration not available • Web availability on remote machine
Performance Characteristics • Real time requests • AR • Authoring • Non-real time requests • Workflow • Java3D
Error Handling and Extreme Conditions • Error Handling • Method calls between subsystems • Dialogue with Web user • Examples • Extreme Conditions • Multiple uses on same CPU • Memory shortage
System Interface • Augmented Reality • Maintenance/Workflow • Authoring
Augmented RealitySystem Interface • AR’s event-based model • AR publishes a Vector event with a reference to an empty frame • Modeling fills the frame and returns it • API holds methods for rotating, translating and scaling that view • Web-UI will use AR’s event- and UI-model
Maintenance/WorkflowSystem Interface • Modeling provides API for Sticky manipulation • Place • Remove • Review • Modify • Must interface with Sticky database owned by Workflow
AuthoringSystem Interface • Same methods provided to Authoring as AR • Generate IETMs using these methods
Quality Issues • System overload • Another system unavailable • Accurate output for given input • Platform-independent
System Modifications • Extending system for some other weapons system • Abstract Factory pattern means minimal changes
Physical Environment • Never comes in contact with physical surroundings
Security Issues • Shared memory • Each subsystem must limit access • Data encryption to prevent “eavesdropping”
Resources Issues • No permanent Workflow data • Navigation information must be stored
Constraints • Platform-independence • Speed of Java • Together/J
System Model • Scenarios • Use case models • Object models • Dynamic models • Navigational paths and screen mockup
ScenariosSystem Model • Inspection • Repair • Browser
NavigateComponent Use CaseUse Case Models • NavigateComponent • Actors: Authoring, AR, RemoteUser • Entry: Actor wants to view/manipulate model • Flow of Events • 1. Request entry of system if not already in • 2. Call method to use for model manipulation • 3. Exit system if done • Exit: Actor is done manipulating model • Special Requirements: Is system on local machine? Speed?
Navigational TextSystem Model • NavigateComponent Sequence Diagram • Actor initializes display of the model; a wireframe is returned. • Actor could draw components of the model; a new wireframe is returned. • Actor could rotate and zoom model/components; a new wireframe is returned.