Richard Gau

Tanya Lovrenovich

Chris Lockard

Project Development Plan

The purpose of this Project Development Plan is to outline how the project as a whole will be organized and executed. First, a brief description of the project will be given followed by a more in-depth look at specific areas of the development process and how team OrbiTech plans to approach each area.

  1. Project Overview

On December 1, 2003 Lockheed Martin Integrated Systems Solutions (ISS) requested a Three-Dimensional Satellite Orbital Display program to improve upon their current two-dimensional model.

Lockheed Martin is currently one of the largest companies in the advanced technology systems industry. Their main focus in the technology industry is surveillance and communications with a majority of their contracts coming from the United States Department of Defense. One of the key systems that Lockheed Martin employs is satellites to solve the problem of surveillance and communication. It is very important to be able to keep track of all these satellites and to be able to visually see the paths they trace over the earth. The problem of visual satellite tracking is currently being done with a two-dimensional version, as mentioned above. This two-dimensional version, although functional, does not provide the desired “view” that Lockheed Martin would like. Team OrbiTech’s project is to produce a three-dimensional version for Lockheed Martin that provides the desired viewing capabilities. Following are some key features that the three-dimensional model will provide.

  • Accurate representation of the earth with and without clouds
  • Two different resolution settings will be provided
  • Display any number of selected satellites and there orbits
  • Each selected satellite will display a “foot print” on the earth
  • Each satellite’s coverage of the earth will be shown
  • Ability to display major cities
  • Key satellite information will be displayed
  • Entire model will provide panning, rotating and zooming features
  • Two views provided, space view and satellite view and all satellites

The overview above has been compiled from information obtained primarily through meetings with Lockheed Martin’s Bill Rawlings.

  1. Organization
  • The following is a break down of the members of team OrbiTech and their respective responsibilities.
  • Richard Gau – Team leader and facilitator

As the team leader, Mr. Gau is responsible for the organization of team meetings and the assignment of projects to each team member. He also functions as a facilitator should any inter-team conflicts arise.

  • Tanya Lovrenovich – Team recorder

As the team recorder, Ms. Lovrenovich is responsible for taking meeting minutes and maintaining the team notebook containing all work done to date.

  • Chris Lockard –Team communicator

As the team communicator, Mr. Lockard is responsible for all communications with all outside entities, with the exception of Mr. Rawlings.

  1. Schedule
  • The schedule for the project outlines all major and minor deliverables as well as project milestones.
  • February 28 - Functional Specification
  • March 1 - Design Review Presentation I
  • March 5 – Module 1 development spherical mapping and orbital positioning
  • March 15 - Software Design Specification
  • March 18 – Completion of Module 1
  • March 19 – Module 2 development, ground tracking and ground points
  • March 25 – Initial integration, 3D and 2D versions
  • March 28 – Completion of Module 2
  • March 29 – Module 3 development, alternate views
  • April 4 - Design Review Presentation II
  • April 5 – Completion of Module 3
  • April 19 – Final integration of completed 3D version with 2D version
  • April 26 – Testing of three-dimensional orbital display
  • April 30 - Final Project Presentation
  • May 5 - Final Report
  1. Risk Analysis
  • The Following is a categorized table of the different risks that will be encountered during this project.

Technical risk / Likelihood of risk occurring
(Almost certain, Likely, Possible, Unlikely, Rare) / Consequences
(Catastrophic, Major, Moderate, Minor, Insignificant) / Level of risk
(Extreme, High, Moderate, Low)
Integration of 2D and 3D models / Possible / Moderate / Moderate
Insufficient Jave3D information / Likely / Major / High
Timely display updates / Likely / Minor / Low
Team risk
Team member drops out / Rare / Major / Low
Team member doesn’t do job / Possible / Moderate / Low
Business risk
No business risks perceived at this time

From the above table, it is apparent that our greatest risk is from insufficient information concerning the Java 3D libraries. This risk will be dealt with by staying in close communication with our Lockheed Martin contacts and by actively studying the library’s API’s.

  1. Requirements
  2. The client will give us the primary requirements. We will receive these requirements in the form of a PowerPoint presentation and verbal expression.
  3. These derived requirements will then be outlined in the requirements document according to the guidelines set by the client. Once the requirements document is completed, it will be sent to the client via e-mail. The client and team will exchange the revised requirements document until the client is satisfied with the results.
  4. Once the team is fully aware of the requirements requested by the client each requirement will be assigned an ID and a label. This process will be done with the help of the requirements document. The ID will be in the form of a number followed by a decimal and another number. The main number represents a high level requirement and as the details of that specific requirement get defined then numbers after the decimal will be added starting from 1 and up. Resulting in all minor requirements found in one main subject requirement. The label will give a full description of the specified requirement.
  5. The general requirements will then be used as checklist for creating the design. This design will be cleared with the client to ensure they are going to get all of the requirements that they specified via e-mail. Once it has been cleared with the client the general requirements will be broken down into functional requirements. The functional requirements will also contain an ID and a label so they can be referenced back to the general requirements. The functional requirements will contain physical descriptions needed to fulfill the general requirements.
  6. The functional requirements will be used as a checklist to facilitate the creation of the implementation. Each functional requirement will be required to be in the implementation. Again the client will be asked to verify that we are indeed providing all of the requirements. Once the client has again agreed the implementation and testing can take place.
  7. During the testing phase the team will go through and make sure that every functional requirement, by ID, is in the final design. Then this should fall back and take care of all general requirements ending in a final product with all requirements specified by the client included.
  1. Specifications of Design Document
  • The design document will include a written description of what we will be providing to build the three-dimensional satellite orbital display. This will include details on how the display will zoom in and out; display the orbits of the satellites around the earth, tracking of the satellites and specifications on how the “footprint” of the satellite, on the earth’s surface, will be seen. In addition to the written part, diagrams, charts, screenshots, and tables will be included, if needed, to further illustrate the design details.
  1. Specification of Development Process

For this project, the iterative development process will be used. In an iterative process the construction phase consists of many iterations, in which each iteration builds production-quality software, tested and integrated, that satisfies a set of requirements of a project.

The iterative process has three major phases: inception, elaboration, and transition. In the inception phase the team establishes the business rationale and decides on a scope of the project. This is what our team has been doing for the last several weeks. This has involved contacting the client and learning about them and the project.

In the elaboration phase, the team collects detailed requirements, establishes the basic architecture by doing a high-level design and analysis, and finally creates the plan for construction. Outlined in the requirements section, above, is the process our team will take to capture the requirements of the client. This process can go back and forth until the team has understood fully what the client wants. With the requirements, design and implementation can continue.

In the transition phase, testing, performance, and user training are done. The iterative process is as follows: get requirements, pick some functionality, and build. The team repeats this process again, while involving the client on specifications. It’s a back and forth process and that is exactly what are team needs to do to complete the project in an effective and efficient way.

  1. Software Configuration Management Plan
  2. To develop this project we will be using the JDeveloper 9 IDE. This IDE will be provided by Bill Rawlings, of Lockheed Martin. By using this IDE, we will be able to more closely simulate working within the Lockheed Martin Corporation.
  3. Team members will be assigned specific modules to complete. Those team members will be responsible for keeping their latest versions in the “src” folder. Team members will be able to distinguish a current version from an older version using the following naming convention: <class_name>_<dana_acct>_<month>_<day>_<year>.java
  4. To help minimize problems with integration all development will be centered on interfaces. Each team member will be responsible for creating an interface for their modules before they actually begin implementation. They will be responsible for maintaining these interfaces and informing the other team members of changes they make to their interface.
  5. Integration will take place during a meeting between all team members responsible for at least one module being integrated with the most current working version of the software. All problems with integration are to be addressed by those team members responsible for the conflicting modules.
  6. The most current ‘working’ version of the project will be stored in the “OrbiTech” folder in the class folder. Inside the “OrbiTech” folder will be a folder called “src” that will contain a “current” folder. No person will place modules into this folder without, first backing up the contents of the folder into a “backup” folder.
  7. The “backup” folder will contain all older ‘working’ versions. The older versions will be placed in a folder, within the “backup” folder with the following naming convention: <month>_<day>_<year>.
  1. Software and Hardware Platforms
  • The final result of this project will be required to work on both Windows and UNIX based hardware platforms. The Windows platform computer will consist of a Windows XP operating system. The UNIX platform will be run on Solaris.
  • We will assume the following minimum hardware configuration for both platforms:
  • 400MHz processor.
  • 256MB of RAM.
  • 16MB of Video RAM.
  • Monitors capable of resolutions of at least 1280x1024.
  • We will use one of the team member’s computers to host the Windows environment. We will use the computers in the Solaris Lab of the CET as the Solaris computer.
  • Several JAVA SDKs will be used to create the final program.
  • JAVA 1.4.2 will be used for the GUI and base components.
  • JAVA Advanced Imaging 1.1.2 will be used for the basic graphics and imaging.
  • JAVA 3D 1.3.1 will be used to hand the 3-D graphics and display.
  • Utilities that will be used during the project.
  • FTP, telnet, graphics, and any other software needed to complete the project.
  1. Client Updates
  • The client will receive weekly e-mails detailing the progress made over the previous week. This will also include completed tasks, in-progress tasks, and near future tasks.
  • The team will also attempt to hold by-weekly “live” communications with the client. This will take the form of either conference calls, or meetings in person.