subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link
subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link
subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link
subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link

Software Development Plan

 

 

 

 

Software Development Plan

Version 1.0

 

 December 09, 2004

 

  1. Overview

 

Team Evolution has been contracted to create a set of controls that will enhance the control for the School of Engineering robot “Taz”. The project has been named the Robotics Orientation and Mapping Project or R.O.M.P. Our clients have deemed it necessary to add controls to the current user interface that will allow users to zoom, pan, and tilt the front-mounted camera on the robot. In addition they have requested that a mapping feature be added so that users will know the location and orientation of the robot in the engineering building.

 

Our clients for this project are Dr. Jerry Weinberg, Associate Professor for the Computer Science Department at SIUE, and Andrew Lamonica, Instructional Support Specialist for the Computer Science Department. At their request, we will be developing software that will be integrated into the current system. We must have a software design, complete with prototype by the conclusion of the fall semester 2004, with final delivery scheduled for the conclusion of the Spring Semester 2005.

 

  1. High-Level Functionality

 

The software that we will be developing will consist of a JAVA applet that will be integrated into the Applet portion of the current system. Our software will introduce controls that allow users to tilt, zoom, and pan the front-mounted camera. Their will also be a map display added that will show the robot's position and orientation in the building.

 

The zoom control will give users the ability to zoom the camera in and out as they navigate through the engineering building. This feature will enhance the overall experience for users giving them added sight distance as they control the robot.

 

The panning feature that will be added allows users to turn the camera left or right. The purpose of this feature is to give users a better view of the robot's surroundings, as the current camera only allows a straight-ahead view.

 

The tilt feature allows the camera to tilt up and down up to a specific angle. This feature adds more visibility for the user, and in combination with the zoom, and panning features should allow the user to be able to visualize the robot's surrounding environment in a more complete, and human-like manner than at present.

 

The mapping feature is an essential addition to the user interface. It allows users to see their location and orientation in the building. This is very important because the users of the system will be school aged children, and these children will not have a familiarity with the building. The mapping feature will allow them to navigate more easily throughout the building.

 

  1. Project Staffing

 

Our design team is composed of five members. The roles that are required for our project are; team leader, two lead programmers, two lead designers, webmaster, documentation specialist and lead tester. The team will double as lead programmer for our camera control subsystem. Our lead designer for the camera control subsystem will also be responsible for maintaining the website. The lead tester will also be in charge of producing and maintaining documentation.

 

As our project is divided into two subsystems mapping, and camera controls, we have lead programmers and lead designers for each. The lead Designers will be responsible for the design of their respective subsystem, with input from the entire team. Our lead programmers will be responsible for writing the code for the subsystem to which they are assigned

 

  1. Software Process

 

The lifecycle model that we will be following is called Evolutionary delivery. In this lifecycle a version of the product is developed, shown to the customer, and refined based on customer feedback. The model for this lifecycle is shown in Figure 1 below.

 

Figure 1 The Evolutionary-Delivery model.

 

In our project the design of architecture and system core will consist of designing and coding the mapping and camera controls. Once we have the basis for these subsystems we will enter into the cycle. What we will be refining in the cycle will be the interfaces for the subsystems. We will deliver interfaces for each subsystem to the client and refine them based on their feedback. We will continue this until the client is satisfied with the interface.

 

  1. Software Tools

 

The primary software tool we will be using to develop our system is the Java editor eclipse. This software was chosen because it is open source and also easy to learn and use. We will develop our prototype and final product using this tool.

 

  1. Software Engineering Methods

 

Our team is required to engineer software that will integrate seamlessly with the current system. The camera controls that we create must be easily understandable since our users will primarily be children. Because of this, we will be doing usability testing with children in order to implement a user interface that is easy to user and understand.

 

Since the current system uses an applet written in Java, our design will be implemented with Java also. Our design consists of two subsystems one for the camera controls, and another for the map. Our design is modular so that the subsystems can be developed independent of each other. When the modules are completed, they will be tested individually and then integrated and tested together. Once the modules are successfully integrated together we will integrate them with the current system, and test.

We will keep documents detailing project requirements, schedule, and design, in addition to a signed contract between the clients and ourselves. To ensure the quality of our project we will have regular code and document reviews.

 

  1. Schedule and Effort

 

Our project requires a good amount of effort by our team for success. Given the learning curve involved with the Java language, we will be forced not only to develop the software, but learn the language we will be developing it with. These tasks must be done concurrently since we have a deadline to meet. Figures 2, 3 and Figure 4 show our project schedule for the spring 2005 semester.

 

 

 

 

 

 

 

 

 

 

 

Figure 2 Project Schedule Part 1.

 

 

 

 

 

 

 

 

 

 

 

Figure 3 Project Schedule Part 2

 

 

 

 

 

Figure 4 Project Schedule Part 3

 

Some of our tasks will overlap and run concurrently.

Project Risks

 

A big risk is the fact that we are all inexperienced in programming in Java. Since this is the language that we will primarily be using we must learn how to use it as we develop our project.

 

One of the risks we face in our project is working with the streaming video. We must research different methods of streaming video since we are not familiar with this.

 

Another risk is our software being incompatible with Aria, software that is part of the current system. Aria is software used in the current system that communicates commands to the robot. We must ensure that our software works with Aria since we will need to it to get our commands to the robot.

Hardware Support

 

All of the hardware necessary for our project is already in place. The robot is already in use by the School of Engineering . The Applet portion of the current system where our code will be integrated runs on a client machine. All that is necessary for the user to use our software is a computer with internet access.

Software Support

 

There are several software tools that we will be using for support of our project. The following is a list of the tools that we will be utilizing.

    1. MS Word – Used for creating and maintaining documentation.
    2. MS Project – Used for creating the Gantt chart representing our schedule
    3. MS Power Point – Used for creating presentations
    4. Macromedia Dreamweaver MX 2004 – Used to create web page

     

    Personnel Support

 

For successful completion of our project we will need the support of other groups. These groups will be available to aid our team as necessary. They Are:

    1. Upper Management – Upper management will be available to provide guidance to our team as needed.
    2. Andrew Lamonica – As one of our clients Mr. Lamonica will be available to answer questions and provide assistance to us, as he aided in the design and maintenance of the current system

 

About Us |Contact Us | ©2004 Team Evolution