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

 

 

 

Outline.. 1

Introduction.. 3

General Assumptions.. 4

Website Walkthrough.. 5

AviaSafe, Inc.’s Homepage. 5

Login/Registration.. 5

Services Catalogue. 6

Categories. 6

Sub Tasks. 6

Client Utilities. 6

Order Placement 7

Order Tracking. 7

Order Modification. 7

Other Utilities. 8

Internal User Utilities. 8

Data Management: Aircrafts, Models, Engines, & Clients. 8

Data Management: Categories & Sub Tasks. 8

Data Management: Company Info & Website Settings. 8

Data Management: Order Addition/Tracking/Modification. 8

Project Characteristics.. 10

Resource Estimation.. 14

Function Points. 14

Schedule Estimates. 14

Comparison of Methods. 16

Appendix.. 17

List of Services Provided by AviaSafe, Inc. 17

Preliminary Database Relationships. 19

 

[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 New England. AviaSafe clients will use this web outlet to browse the company’s catalogue of supported services, place/track aircraft maintenance orders, and update their personal profiles. AviaSafe internal users will be able to login with special privileges capacitating them to manage (update/add/delete) aircraft, engine, service, client, and order-related data. Internal users can also change website settings and style elements, as the website is completely database-driven, content and form-wise.

 

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 New England.

 

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.

 

 

AviaSafe, Inc.’s Homepage

 

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]

 

 

Login/Registration

 

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.

 

A new client registers by filling out a form containing his/her contact and login info. The validation process starts with confirming him/her as an owner of a supported aircraft/engine model, and then checks the integrity of the other fields (regular email, phone number, etc… validation). The client will be notified of any missing/invalid required fields.

 

(Note that a client’s profile management is catered for by the same form and validation schema provided above. He/she will be redirected to the same new client registration page with the input fields populated with their current profile data. Clients will not be able to modify critical fields such as name or username to keep them recognizable by the database and consistent with the ownerships data.)

[Top]

 

 

Services Catalogue

 

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.

 

Categories

       

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.

 

Sub Tasks

 

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]

 

 

Client Utilities

 

Upon successful login, a client is taken to a welcome page containing a list/menu of utilities:

 

Order Placement

 

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.

 

Order Tracking

 

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.

 

Order Modification

 

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.

 

Other Utilities

 

This constitutes other minor pages/utilities the client can access, such as logging out, contacting AviaSafe webmaster, or accessing an FAQ page.

[Top]

 

 

Internal User Utilities

 

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: