330 likes | 347 Views
This project aims to create a 3D CAD-generated model of an airplane's components, develop a user-friendly API for navigation and manipulation, including "Stickies," and build a web-based navigation tool for accurate aircraft modeling.
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.