Functional Requirements
|
What is the product supposed to do?
|
What is the expected usage environment?
The concept is that the student will be in a lab or study environment with little to no environmental disruptions enabling the user to concentrate on the program without distraction. The student can also use this program on their personal computer at their home or dorm. There is a possibility that there will be a few more distractions in this personal environment but this won’t affect the usability of the product. |
|
What information/materials are given to the
product?
The product is to work in parallel with a standard textbook and lab
manual. Each of these books
will provide the core material such as functions and data tables that the
student will use and then input into the traffic simulator to get results.
The data tables can also be provided on the Website. |
|
What internal data must the product contain?
The traffic controller has built-in logic and logic that is changed by the student's programming of his/her timing plan. Both of these logics will function in the simulation. All of these functions relate and display in real-time with an accuracy of 0.1 seconds. |
|
How is the product expected to behave at each
stage of use?
The simulator will behave just like the controller boxes that the client has showed us. In the early stages of development there will be limited functionality, only the core functions will be implemented. Once development is in its advanced stages more of the nonessential features will be implemented according to the client’s specifications. |
|
How long is the product
expected to work?
The product is supposed to work for many years, as long as traffic lights are controlled using the logic we simulate. |
|
How
continuously will the product be in use?
The simulation will be used by a number of different students who are enrolled in the upper division civil engineering class. The duration of a session will be about the length of a class period. |
|
O
The operator’s who will use this product will be students enrolled in the upper division civil engineering class. They may only use this product a couple times, so we can expect only limited familiarity with the software. |
|
Physical and environmental
constraints on product usage.
The environmental constraint is that students will have to use this software in a classroom lab environment. This means that we can’t require sound, we need 8-bit color, and the smallest screen size we support will be 800 x 600. The physical constraints will be that the computer has a mouse, keyboard, and if not accessed over the web they need a CD-ROM. |
|
Customer
"needs" and "wants".
The customer “needs” and “wants” are as follows; he needs an accurate simulation of a traffic control system for student to use in a web-based class. The customer wants the software to be easily distributed, available as a stand alone program, and to run on a combination of operating systems and web browsers |
|
How does this product
compare with existing products?
The existing product that is used is for calculating the information needed for setting up a traffic control system, while the one that we are working on will do the calculations and show an intersections light working. The difference between the existing product and the part of our product that does the calculations will be that the interface will be a lot more user friendly. |
|
Non-Functional |
Standards Requirements.
Our client has placed no requests for formalized standards on our software. However, we feel that adding JAWS (Job Access With Speech, a program to help the visually impaired) compatibility will add value to the project and make the software accessible to more students. |
Delivery Requirements. Our applications should be available in both a web based format and a stand-alone format. As a result of being available through the Internet, the program must not take an unreasonable amount of time to download through a modem. This requirement is qualitative and subject to our digression, but we have all used modems before and know how to judge long waits. The software is designed for people who already have knowledge concerning traffic control. We expect them to be familiar with key concepts and terminology associated with the simulator. The program should allow a knowledgeable user to easily adjust the control criteria and discover the effects on traffic control. |
|
Implementation Requirements.
The application must be available as an applet and a stand-alone. Although our sponsor hasn’t specified a language, it is clear that this project was meant for Java. The swing classes are perfect for this interface and an applet can be quickly converted to run on its own in a frame. |
|
Usability Requirements.
This software will be used by students who don’t have time in the semester to learn a complicated interface. These students will instead focus on the meaning of the rules and conditions that are applied to the simulator. Hence, the interface should have a minimal learning curve while allowing all of the proper functionality. |
|
Performance Requirements.
The finished application will run on an average computer lab PC. We are expecting to have the software perform smoothly on a 400MHz computer. The program should run on any machine that supports the Java 1.4 Runtime Environment. |
|
Space Requirements.
Anyone attempting to run the stand-alone applet must also have either a CD drive or room on another storage medium to hold the program. The computer must also have sufficient RAM for the OS, an internet browser, and the Java runtime environment. |
|
Reliability Requirements.
This program will be used to simulate a complex mechanism that does not permit failures. If a real traffic light were to allow opposing green lights the consequences would be disastrous. With that in mind, the software will model such a system and should provide an accurate representation of a real traffic controller. However, since the stakes aren’t as high as they are in the real world, the software will not need elaborate backup systems such as uninterruptible power sources. |
|
Maintenance Requirements.
Our code must be extensively commented to allow other developers to easily make future modifications and additions as necessary. The program will require no regular maintenance, and is expected to work well |
|
Constraints |
Economics.
In an economical sense this project seams very feasible. There are no constraints imposed by cost other than the clients does not want to have to buy new hardware to use the software project. The constraints imposed by schedule are that the proposal is due at the end of this semester, a prototype has to be made early to mid next semester, and the whole project has to be completed by the end of next semester. All of these constraints do not seem to be hard to manage, therefore team Bus Overflow recommends that is project be built. |
Technical Feasibility.
Technical feasibility is not a problem because technology to build this project exists. The computer language Java is going to be the language Bus Overflow develops the software project in. This language will allow the team to make an applet version and a stand-alone version of the traffic controller with out too much more work. There is a component in the Java language called swing and this will allow for easy building of the graphical user interface part of the traffic controller. The only resource the team needs outside what we already have is the traffic lab. We will need access to the lab so we can experiment with the traffic controllers. |
|
Legal Feasibility.
Web-based traffic classes will use this software to supplement the students learning. If the software does not perform as it should students might be adversely effected. This could lead to students complaining about the way the class is taught and even filing lawsuits because they paid for a service they did not receive. |
|
Resource Availability.
The traffic control software project is going to be hard work but is definitely within the scope of team Bus Overflow. The team contains five members and all very capable software developers. All of the team members have experience developing software in Java. We all also understand what is involved in proposing, designing, and implementing a software project. Team Bus Overflow will get the job done. |