Download A Flexible 3D-Visualisation Engine With Force

Transcript
The 'Flight' Simulator
Page 19 of 117
5 Requirements Definition
The Requirements Specification Document (Appendix A) details the high-level requirements of the
system as a whole. The Architectural Design Document (Appendix C) shows the high-level design of
the Flight system, giving an overview of its constituent parts. The requirements definition stage of the
project takes these high level requirements, and distributes them to the necessary components of the
system. Each component is then examined in greater detail, and requirements may be added or refined.
After this process each component should have a set of requirements, which it must fulfil in order to
satisfy those described in the Requirements Specification document. (Note that some requirements
from the requirements specification will not appear here. For example, the need for an introduction
screen resulted in the EDSSplash component, but will not result in any further requirements. Note also
that the Flight Task Language absorbs many requirements.)
This section gives a brief overview of the requirements of each component in the system. The
Requirements Definition Document (see Appendix D) provides full descriptions of these requirements.
Note that these requirements were discovered at various stages of the project. As new functionality
was required, the Requirements Specification and Architectural Design Documents were updated, and
then the Requirements Definition was performed again, distributing the requirement to the relevant
component (or components). To save time and space, however, the requirements are given here in their
final form.
5.1 Flight Requirements
The Flight process is the main component of the Flight system, and actually performs the simulation.
When launched, the program should configure itself with a task selected by the user. The name of this
task will be extracted from the 'task.ini' file.
The user should be able to exit the simulation at any time. Control over the graphical settings of the
simulation should be available, along with control over an external view and its position. The program
should also allow the user to rewind, pause, and fast-forward any Controls which are reading their state
from disk.
The simulation itself should provide support for particles (such as smoke), structures, terrain, fogging,
force feedback effects, and graphical models of the Controls.
During the simulation, the joystick should operate as documented by the author of the main Control.
No concrete requirements can be formed here, but descriptions of the standard Controls are available in
Appendix K.
5.2 FlightLoader Requirements
The FlightLoader component will be a Visual Basic program, providing a graphical user interface to
the system. The program should display a list of available tasks, and a method should be provided
whereby the user can refresh this list (in order to include task files added while the program is running).
The user should be able to perform simple editing of task files, as well as copying, renaming and
deleting these task files. The user should have the ability to view the 'trace.log' file from a previous
simulation run.
The user should be able to initiate the simulation, after choosing a task to perform. In this case, the
program should write the name of the selected task to the 'task.ini' file, before launching the FlightLink
program. This program will synchronously launch the EDSSplash process, followed by the main Flight
simulation process. During this time, the FlightLoader program will continue to operate.
The program should terminate on request from the user.
5.3 FlightLdr Requirements
The FlightLdr component will be a simple loader program, used as a front end to the Flight system on
machines without Visual Basic runtime support. The program should display a list of tasks available to
Douglas Currie