Aviation Maintenance System Software Requirements and
Resource Estimation
Presented by Loai Naamani & Mazen
Manasseh (September ’02)
Posted on December 24, 2002
Static
component (incuding DHTML) of AviaSafe,
Inc. website is available at: http://www.Loai-Naamani.com/AviaSafe/index.htm
Comlete
database-driven AviaSafe, Inc. website might be available at: http://arlington2.mit.edu/AviaSafe
Outline
Data Management: Aircrafts, Models, Engines,
& Clients
Data Management: Categories & Sub Tasks
Data Management: Company Info & Website
Settings
Data Management: Order
Addition/Tracking/Modification
List of Services
Provided by AviaSafe, Inc.
Preliminary
Database Relationships
[Top]
Introduction | General Assumption | Website
Walkthrough | Project Characteristics
| Resource Estimation | Appendix
This document is a preliminary description of the requirements,
processes, interfaces, and resources necessary to develop a web-based
management system to support AviaSafe,
Inc., an aircraft maintenance company in
A hybrid format containing textual description, charts, and sample scenarios (when relevant) was used to better convey the system requirements, processes, and interfaces. A preliminary sketch of the database tables and their interrelationships has also been included to support the justification of some of the system’s underlying assumptions and processes.
Finally, a detailed estimation of the resources (team size and schedule months) is outlined using two methods. The complexity levels assigned to different program characteristics are justified in brief descriptions of the different queries, input forms, and output forms. The results obtained using both methods are finally compared, and a confidence range is accordingly assigned to the final estimates.
[Top]
Introduction | General
Assumption | Website Walkthrough
| Project Characteristics | Resource Estimation | Appendix
o
AviaSafe, Inc.
maintains up to date data on existing aircraft models, engine models, and
aircraft ownerships in
o
Clients cannot
register new planes; ownership registration is catered for by AviaSafe’s
updated database.
o
A client can own
more than one aircraft; whereas a single aircraft is owned by only one client (see preliminary database structure and
relationships in Fig 1)
o
The week is the time unit for scheduling,
parts ordering, and task durations. All duration-related entries in database
constitute multiples of the week
unit.
o
The number of
mechanics is AviaSafe’s only finite resource. All mechanics qualify to work
in all supported services, and are considered available for a given task if they count towards AviaSafe’s total number of employed
mechanics and are not occupied on that given week.
o
The only
hindrance to placing an order is mechanics availability (sufficient to
accommodate all tasks in a given order) on a desired time slot or week. Parts
are assumed readily available during the week after that in which order was
placed.
o
An order
consisting of many tasks takes the duration of its longest task before its
status changes to complete.
o
An order will not
be processed/scheduled unless all of its sub tasks can
be accommodated; since client is assumed to be more willing to schedule all
tasks on a suitable date rather than fly in his aircraft a number of times for
different tasks.
o
An order of
multiple tasks will be treated as a single order with as many task instances.
However, a multiple of the same task will be treated as a single instance of
the task with a frequency attribute
that is greater that one. For example, the task of overhauling two engines will be considered complete only after both engines are served.
o
An order, once
placed (paid for), cannot be deleted/modified by the client. This can be
managed only by an internal user upon receipt of a formal request from client
describing desired modifications (applies only to scheduled orders).
o
AviaSafe’s website serves visitors,
clients, and internal users. Visitors can browse through AviaSafe
services and other general pages, but cannot place/track orders. Orders can
only be made by aircraft owners registered at AviaSafe, hence becoming AviaSafe clients. Orders can also be made by AviaSafe internal users on the behalf of AviaSafe clients.
[Top]
Introduction | General
Assumption | Website Walkthrough
| Project Characteristics | Resource Estimation | Appendix
The AviaSafe website is database-driven, content and form-wise. That is, internal users have virtually total control over most style elements and contents of the website. This will enable the company to keep all online data (from coverage of supported services to the company’s logo and address) up to date and customized to its dynamic taste on all website pages.
The in-depth description of the various website components below is meant to elaborate on the function, logical process, and initial interface design of each component. It is recommended that the reader uses Fig. 2, the components diagram, to explore the processes therein, as it contains hotspots (in softcopy version) linking the reader to the corresponding textual descriptions.
This is the front door to the web site and is accessible to site visitors, clients, and internal users. It contains links to the services catalogue and the login/registration page.
Other possible pages to which the homepage can link a visitor are the Terms of Use, What’s New?, News, and an FAQ.
[Top]
A visitor is prompted to login in order to place/track an order, manage his/her personal profile, and/or assume internal user’s role. Only owners of supported aircraft/engine models (recognized from updated ownerships database) can register as AviaSafe clients, and choose a username/password for future login. Any invalid login attempt will prompt the user to either register as a new client or have his possibly forgotten password automatically sent to him via email (using IIS) upon validation.
[Top]
The services catalogue can be browsed by all website visitors, irrespective of their registration status. It contains up to date textual/graphic descriptions of the services provided by AviaSafe. A list box containing all supported service categories will be available on the homepage, and will auto-navigate to the category of preference.
Services in AviaSafe are grouped under eight distinct categories (see appendix). The proposed database structure allows for a detailed description (in HTML content) for each of the categories. Upon accessing the category page, a hyperlinked listing of sub tasks with their attributes (price, duration, etc…) will be tabulated. Clicking on any of the sub tasks takes the client to the corresponding bookmark on the sub tasks page.
A listing of task-specific descriptions and attributes is presented herein. The visitor can also start defining the desired tasks in an order from this page. Some tasks have a ‘RequiresParts(?)’ attribute, which would force an order to be delayed one week before acquiring the necessary part(s). If the visitor status is client or internal user (a registered visitor who has successfully logged in) with an active login session, he is taken to the order placement page with the task automatically selected (checked). Otherwise, the unrecognized visitor will be redirected and prompted to login/register before placing an order.
(Note that the ‘TaskDescription’ table contains information that pre-characterizes each available service, whereas the ‘Tasks’ table contains all instances of the tasks placed through orders. While ‘CategoryDescription’ and ‘TaskDescription’ tables are pre-defined by internal users and remain intact during order placement, the ‘Tasks’ table is populated with new records whenever a new order is placed.)
[Top]
Upon successful login, a client is taken to a welcome page containing a list/menu of utilities:
The client is presented with a tabulated listing of supported services (grouped by category) with their details summary, along with a checkbox next to each and a dropdown list for specifying service frequency when appropriate (as in the case of overhauling two engines, for example).
The client then proceeds to an itemized summary of the services he selected with the overall duration, sub total, tax, and total price of his order. Along with the summary, the website automatically searches for the soonest time slot at which the order can be accommodated and displays it to the client. The client is then prompted to confirm the order summary and proposed schedule or specify a new time slot if the soonest possible does not suit him. The system will always return the order summary along with the client’s desired time slot (if unreserved) or the closest possible, and ask him/her to confirm.
Upon confirmation, the system searches for this specific client’s last payment method and displays it accordingly (with accompanying details in case of credit card), with the option of selecting an alternative method of payment. This is processed by joining the ‘CreditCards’, ‘Orders’, ‘Aircrafts’, and ‘Clients’ tables and retrieving this client’s last payment method/info. Otherwise, the system prompts the user to select a payment method. A comprehensive order summary (services, total price, desired schedule, and payment info) are finally presented to the client for confirmation.
The client is provided with a tabulated history of orders he/she has placed at AviaSafe, along with their status, placement date, and other details. The status of a placed order (paid for) can be scheduled, in progress, or complete. Selecting an order would take the client a list of its sub tasks and their corresponding details.
An order, once placed (paid for), cannot be deleted/modified by the client. This can be managed only by an internal user upon receipt of a formal request from client describing desired modifications (applies only to scheduled orders). To facilitate the process, while tracking an order, an extra ‘Modify’ option is added next to records (with scheduled status) in the client’s order history table. Once the client elects to modify an order, a ‘mailto:’ hyperlink triggers a customized email with the specific order tracking number as subject and AviaSafe’s contact address as recipient. The client can directly fill the body with his desired alterations and notes to AviaSafe.
This constitutes other minor pages/utilities the client can access, such as logging out, contacting AviaSafe webmaster, or accessing an FAQ page.
[Top]
Upon successful login (as internal user), an internal user is taken to a welcome page containing a list/menu of utilities:
Data Management:
Aircrafts, Models, Engines, & Clients
In datasheet view (facilitated through converting to ‘Data Access Pages’ via MS-Access), internal users can navigate, sort, filter, update, delete, and add any aircraft, model, engine, and client-related data. A memo data type field, ‘NotesByDBA’, in the ‘Clients’ table can be used by internal users (inaccessible to clients) to add any special notes/info about certain clients.
Data
Management: Categories & Sub Tasks
In addition to the capabilities described above, AviaSafe service categories and sub tasks will be described in larger text fields/areas, where internal users can use HTML tags to stylize the descriptions, custom-add hyperlinks, and provide references to picture files or other web content to describe their supported services.
Data
Management: Company Info & Website Settings
Most fields in the ‘CompanyInfo’ table will serve as session or application variables retrieved from the database upon entering the site, and passed on from page to page. Those would include parameters such as the company logo file (among other style elements), the webmaster’s email address, total number of mechanics employed, etc… all of which can be updated in all pages by internal users from the database with no HTML or web authoring know-how required.
Data
Management: Order Addition/Tracking/Modification
Order deletions/modifications will be administered using a Data Access Page, as described above. An order, once deleted, deletes along all related sub tasks. If individual sub tasks need to be deleted/modified, the internal user has to manage that from a similar sub tasks Data Access Page.
Order additions and tracking, however, is managed using the same order placement/tracking process a client goes through in order to force/preserve referential integrity among new orders and their subtasks. An internal user places/tracks an order on the behalf of a certain client by indicating the client’s name (or username) in a conditionally added list box (only during internal user session) to the order placement and order tracking pages.

Figure 2. AviaSafe,
Inc.’s Website Components Diagram
All textual entries constitute
hyperlinks to component descriptions in Website
Walkthrough
Dashed connectors (- - -) constitute hotspots to component
descriptions in Website Walkthrough
[Top]
Introduction | General
Assumption | Website Walkthrough | Project Characteristics
| Resource Estimation | Appendix
In order to provide an estimate of the project schedule and effort needed, a detailed analysis of the various tasks is carried out. The analysis is a twofold process for the web application and the database system:
i) Concerning the database system, the analysis study is conducted in two steps: