Sei sulla pagina 1di 55

Device Independent Network Independent

*****

UML DIAGRAMS IN DETAIL

Detailed Description of Components

Identification Type Purpose Function Subordinates

ActiveX Control Library Gather the information of mouse position, capture the picture, draw a line

It will return the position of the each point in a line, so that we can calculate new coordinate.
N/A ActiveX Control is very important component of our project. Without this, we can't really do much in our project. Timing must be correct, up-tosecond in this project. This will interact with mouse, and button down/up events. It will produce lines on the picture, and return coordinates of points in the line.

Dependencies

Interfaces

Resources
Processing Data

N/A
N/A Pictures, GPS coordinates.

Identification Type Purpose

IC Image Control License, and Library Provide the 'right' to capture, edit image.

Function
Subordinates

N/A
N/A It needs to feed the image from the camera. We will use this image in our VB6 GUI. User will be able to capture the image from the camera. We are going to use embedded GPS device, and the camera that sponsor provided use with. N/A IC Image Control license, Camera, Images.

Dependencies
Interfaces Resources Processing Data

Identification Type Purpose Function Subordinates Dependencies Interfaces Resources Processing Data

Camera Equipment To feed the image in front of the vehicle, capture image, calculate the distance. N/A N/A Need power to turn on. It need to be installed at the top front of the vehicle. Need to install V-Stream software application to find camera device. N/A USB port N/A N/A

Identification Type Purpose Function Subordinates Dependencies Interfaces Resources Processing Data

Customer/Party JSP web page To save customer information of those that have shown interest in a trip, scheduled a trip, or go on on a trip. Add, edit, and delete customer information. Group customers into parties. Data stored in the customer and party tables in the database Every customer must belong to a party. Singleton parties are acceptable and will be the default. web browser Database on server Connect to the database and retrieve, edit or remove entries. All Data will be stored in a table in the database. The database will be initially empty. Data will be added and viewed through the web-based application.

Identification

Equipment

Type
Purpose Function Subordinates Dependencies Interfaces Resources

JSP web page


To define equipment (like boats) required for trips. Add, edit, delete trip equipment. Data in the equipment tables. none web browser Database on server

Processing
Data

Connect to the database and retrieve, edit or remove entries.


All Data will be stored in a table in the database. The database will be initially empty. Data will be added and viewed through the web-based application.

Pseudo code for components


Algorithm[ runGPSCoordinateCorrector ] Input: mapData; Output: correctedLongitude, correctedLatitude (both continuously updated);

Initialize the vector/raster map data using the appropriate ActiveX controls.
Layout map data over GPS coordinate grid (using an ActiveX control). Prompt user to confirm whether a sufficient number of GPS satellites have been located. Estimate the Region of Total Certainty (RTC) from the GPS error history. Make an educated guess of the vehicle's current location on the map. Loop forever
-Call getCorrectedGPSCoordinate to determine the new GPS coordinate data. -Output the latest corrected longitude and latitude. -Sleep for one second.

Algorithm[ getCorrectedGPSCoordinate ] Input: (none); Output: correctedLongitude, correctedLatitude, methodOfCorrection; Read longitude, latitude, and heading from the GPS module (or from the simulation-test file). Read compassHeading from compass module. Read speed from the speedometer. If GPS is working properly, then call locateNearestRoad( ). Else, assume speed, heading, and the previous coordinate are correct; then, approximate the new coordinate using path integration. Return the corrected GPS coordinate, as well as the method used to correct the coordinate.

Verification and Validation Plan


Component Test Plans and Procedures
Component Test Strategy Overview Testing process: Phase 1: Verify that the webpage contains correct content

Phase 2: Verify that user has to log in to access pages which modify the database
Phase 3: Verify that the user can easily maintain the information stored in the database Phase 4: Verify that 4-8 user can connect to the website at the same time Phase 5: Verify that the website can be accessed at any time Phase 6: Verify that access to database is available from the web server Phase 7: Verify that the website is compatible with listed browsers

Requirements traceability: All webpages must meet the following requirements: Must contain appropriate content (SRS sections 3.2.1 through 3.2.6)

Only people with the access key will be able to edit the database (SRS section 3.4)
The Program should be easily maintainable (SRS section 3.4) 4-8 can connect to the site at the same time (SRS section 3.3) Access to the website can be at anytime (SRS section 3.4) Access to database must be available from the web server (SRS section 2.5) Must be compatible with listed browsers (SRS section 2.5) Items or components tested:
"Trip" page "Billing" page "Schedule" page "Employee/Guide" page "Customer/Party" page "Equipment" page "Login" page

Test case for all components: Browser compatibility


Input All web pages in website The following list shows several browsers with which the website must be compatible: Output oMozilla 1.3.1 and up oNetscape Navigator 6.0 and up oInternet Explorer 5.0 and up Environment Special procedures Precedence and dependencies References The test will take place on the Internet through each listed web browser Each webpage will be viewed by each webbrowser in the above list. Internet connection and listed browsers available N/A

Accessibility
Input
Output

All web pages in the website


Website is accessible at one time in the morning, one time in the afternoon, and one time in the evening The compliance test will take place on the Internet through a web browser N/A N/A N/A

Environment Special procedures Precedence and dependencies References

Database Availability
Input
Output Environment

All webpage on the website


All web pages that use a database connection will be successful The test will take place on the Internet through a web browser Each webpage will be viewed in a web-browser and its properties will be compared against the above checklist. Web server is running and accessible. N/A

Special procedures Precedence and dependencies References

Class Name Inherited class

Transition None

Aggregated Classes
Associated Classes Data Members

None
None int ID // unique id for the transition int fromStateId // the transition comes from state.getID() int toStateId // the transition goes to state.getID() COLORREF color CArray type // list of unique types (inputs) related to this transition CString label // name of the transition CString comment // comment about the transition void setID(int id) // sets the ID attribute int getID() // returns the ID attribute void setFromStateID(int id) // sets the fromStateId attribute int getFromStateID() // returns the fromStateId attribute void setToStateID(int id) // sets the toStateId attribute int getToStateID() // returns the toStateId attribute void setLabel(CString label) // sets the label attribute CString getLabel() // returns the label attribute void setColor(COLORREF color) // sets the color attribute void setComment(CString comment) // sets the comment attribute CString getComment() // returns the comment attribute void setTypes(CArray &) // sets the types of transition on the type array CArray getTypes() // returns the type attribute int, CArray, COLORREF, CString This class is the implementation of the transition object. It holds the basic attributes of the transitions. Every transition is created and modified using this class.

Member Functions

Data Structures Processing

Class Name Inherited class Aggregated Classes Associated Classes Data Members Member Functions

File None None None None void open() // open a file int parseAndLoad(CString content) // returns 1 if successful int save() // returns 1 if successful None This class encapsulates the file associated with the canvas.

Data Structures Processing

Function Description

int open() Display the open GUI and create a buffer containing the opened file *see xml file format template in chapter 2... File Int None None The user clicks on file>open... // display GUI CString exten = State Transition Diagram (*.xml)|*.xml; CFileDialog Dlg(TRUE,exten); // when user selects the file do... if ( Dlg.DoModal() == IDOK) { // read file CString fileName = Dlg.GetPathName(); CFile File(filename, CFile::ModeRead); File.SeekToBegin; int size = File.GetLength(); char *buffer = new char[size]; File.read((char*) &buffer, sizeof(char)*size); // put content of file in a CString for easier comparison CString content; for (int i = 0; i<size; i++) { content.Insert(i,buffer[i]); } delete[]buffer; // check if first line is STDD3000 version=1.00> // if it is call parseAndLoad with content and then return 1 // if not return 0 }

Class
Return type Input parameters Files used Caller Pseudo code

Function Description Class Return type Input parameters Files used Caller Pseudo code

int updateUser() update login.rsa and return 1 if it worked User Int type (user type), old password, new password login.rsa user presses on the change password button in the change password GUI read user type read old password entered read new password entered read second new password entered open, read in a buffer and decrypt login.rsa find user type in the buffer if old password corresponds to the user type and the 2 new passwords are the same: { update password for specified user encrypt the buffer save to file login.rsa return 1 } else { give hint to user on what error s/he made return 0 }

Module Type

Type (s) of module to which the test applies

Purpose/Function
Test Procedure Expected Result

Purpose of the test


Actions taken by the performer of the test Expected outcome of test procedure

Code Verification
Module Type Purpose/Function Test Procedure Expected Result Code files, including HTML, Java Servlets, and JSP To ensure the correctness of the code Inspect code and/or use validation tools to check correctness of code Valid codes

Link Integrity
Module Type Purpose/Function Test Procedure Expected Result Links To ensure links are correct Click each link to navigate through the system Each link connects to the intended location

System Connectivities
Module Type Purpose/Function Test Procedure Connection with web and database server To ensure connection is set up with application Input values in the field and check whether the input is correctly submitted to database Retrieve customer, trip, and employee information from database, and check whether they are correctly received Request and Retrieve action to database work properly

Expected Result

Function Verification
Module Type Purpose/Function Test Procedure Functionality of each page To ensure each page works properly as intended Create bogus info and submit to database Retrieve information from database Schedule trips with given customer and trip information Each link connects to the intended location

Expected Result

Browser Compatibility
Test description Verify the jsp pages look the same in the following browsers: Mozilla 1.3.1 and up Netscape Navigator 6.0 and up Internet Explorer 5.0 and up

Expected result
Actual result

All pages will appear and behave the same in all browsers.
The pages performed as expected. We suspect with later versions and development of the layout, this goal may become harder to achieve.

Database Availability
Test description Verify The database is available at any time so that system's database requests are answered.

Expected result
Actual result

The database will always be available.


Our development server has occasion outages because it uses one of our team member's home Internet connection that resets sporadically. When these resets occur, the connection cannot be restored without authentication.

Potrebbero piacerti anche