CS@GWU homepage


world wide web
cs @ gwu

Department of Computer Science
The George Washington University
801 22nd Street NW, Suite 704
Washington DC 20052

Voice: (202) 994-7181
Fax: (202) 994-4875
E-mail: cs@gwu.edu

Senior Design Projects - 2001

This page contains the project synopsis of Senior Design Projects completed in 2001.

Concurrent Assessment Manager - Clifton Best

This report contains progress review two for the development a concurrent psychological assessment manager. The transactions will consist of a battery of personality profiling assessments. These assessments will be scored according to the scoring scheme developed by the psychologists of the Strategic Decision Making & Executive Information Systems department of the National Defense University.

This transaction manager utilizes traffic delivery agents distributed across multiple computers to deliver transactions simultaneously and at varied intervals. The transaction management system handles these assessment transactions generically, and routes them to the appropriate scoring mechanism. Once scoring is completed, the results are inserted into a database where real-time status of population completion can be monitored at any given time.

This project will require 36 weeks to be completed and an estimated 759 person-hours of labor. The estimated cost for labor is $30,670. A working prototype shall be available by April 25, 2000.

The estimated cost for the prototype is $103,891. An economic analysis has determined that we will sell approximately 200,000 units of the software at a cost to the company of $0.52 per unit. Estimated retail price of a single distribution is $127.94. Thus far an expenditure of $16,405 has been made to develop this progress review.

Web-Enabled Procurement Database - Kajal Dadhania

This is the final design report for a Web-Enabled Procurement Database. The Web -Enabled Procurement Database is designed to manage a flat file database. Although this package is designed to manage a procurement database, the management system has a wide range of possible applications. The product consists of three primary components: A web browser also called a Web Client, a HTTP server with a CGI program, and a database server. A database query is initiated by sending a user request from the Web Client to the HTTP server. Upon receiving the user request, the HTTP server invokes the CGI program to assemble user-input data into database-specific statements, and sends them to the database server for processing. The query results will be returned by the database server to the CGI program, and then passed to the Web Client through the HTTP server.

The three modules are subdivided into smaller modules that perform divided tasks and functions. To provide the database manager software, which will be located on the database server, a cgi script will be written in Pearl. Also, there will be a security module for validation. For the procurement database, 6 modules will be needed. The HTML modules will be located on the HTTP server. The other five will be located on the Database server. The functions that will be supported by this software are as follows: Add, Delete, Modify, View, Search.

The Web-Enabled Procurement Database will store up to 10,000 records. Each record will be able to support up to 150 attributes (fields). Each attribute will permit up to 256 characters. Starting from August 29th, 1999, the completion of this project will take 36 weeks and will cost approximately $18,865 in 489 person hours of labor. The First Progress Review will be on 1st of December 1999. A working prototype will be available by 26 April 2000. Estimated total cost for the prototype is $63,388. An elementary Economic Analysis has determined that this Web - Enabled Procurement Database will sell about 5,700 units. Each unit is estimated to cost the company $64.32 including indirect labor costs, A & G costs, and a 20% profit. The estimated retail price of each Web-Enabled Procurement Database is $115.77. As of 3 November 1999, $7690 has been spent on the design phase.

Magic Libre Library Management Tool - Nina D'Souza

Magic Libre, an online library management tool will support patron and librarian functionality. This tool will be developed in Perl and CGI. It will include a validation interface that will differentiate three login levels: patron, librarian, and administrator. The validation interface will include a guest option. Account management, circulation inventory management, and report generation are the main modules for librarians and administrators. Membership services and circulation services are the main modules for patrons and guests.

The membership services module will allow guests to request for accounts, and patrons to access patron account information as well as profile information. Patrons will be able to view reserved and renewed items, and will be notified of any reasons that the renewing and reserving transactions were canceled on the account if applicable.

Administrators will be able to manage all account levels: librarians, patrons, and other administrators. Librarians will be limited to managing patron accounts. Administrators and librarians will be able to conduct all transactions within circulation inventory management and report generation.

The development of Magic Libre will take 36 weeks to complete. The final product will be demonstrated April 30th, 2001.

Web GradeBook Software - Alexander N. Gertsen

The goal of this project is to build a World Wide Web based GradeBook software. The GradeBook program will be accessed through any HTML browser. The software will be designed for use at the elementary, middle, and high school levels. This program will allow teachers to add, review, and edit grades as well as manage assignment lists. Students will be able to view their grades and continuously monitor their progress throughout the grading period. Both teachers and students will be able to access the grading information as long as they have a World Wide Web browser and an Internet Connection.

This software package will consist of four main modules: the graphical interfaces, a security module, database modules, and the report manager module. There will be two separate graphical interfaces, one for use by the teachers and one for the students. The security module will protect the sensitive information in the database and grant access only to the appropriate users. The database modules will be the backbone of the software, storing and managing the records with grades, assignments, and student information. The report manager module will organize the information contained in the databases into various useful report formats.

The project will require 36 weeks to complete and will expand an estimated 515 person-hours of labor at an estimated total labor cost of $20,390. A working prototype of this product will be available by April 26, 2000. Estimated total cost for the prototype is $68,512. Performing a preliminary Economic Analysis has determined that approximately 50,000 copies of the software will be sold. Each copy will cost the company $51.77, which includes indirect, A & G costs as well as 20 % profit. Estimated retail price for this software is $93.19.

Space Management Tool (SMaT) - Zohra Z. Hemani

The space management tool is an application design to help people in charge of managing physical space, space managers, to try and arrange objects in a virtual room before the actual implementation of their ideas. The tool informs the user if the arrangement of objects is not possible in the given amount of space that has been specified. This tool can be used to store information about building, floor and room layouts, to be retrieved at a later point in time by people looking for space. Information about available rooms can be retrieved in the form of pictures and text. All the information is stored on an Oracle database. Detailed tests were done to meet all of the above specifications. Thus, this tool performs geometric computations to determine whether configurations of geometric objects are valid, and perform computations to store geometric data, and render stored geometric data onto a screen.

Database Data Generator - Pavel Kisiel

A Database Data Generator is a program capable of performing database population with test data predefined by user parameters. There are no restrictions on the number of database tables and the number of generated rows per table. These limits are dependent upon the particular Database Management System in use. The main purpose of the Database Data Generator is to load the testing of database applications and performance tuning of large databases.

There are four main modules in the program - the User Interface, Database Schema Analyzer, Database Populator Engine and the Random Data Generator. Each of these four modules has several sub-modules. The Database Schema Model sub-module is a shared object which is used by all four modules to gather database schema specifications and user parameters for data generation. This information is used by the Data Generator Engine during the database population.

The User Interface module manages all communications with the user. It interprets user data generation parameters and handles database authentication. The User is required to enter a database user name and password. Database schema analysis is performed by the Database Schema Analyzer module. The Database Schema Analyzer creates a Database Schema Model based on database specifications. The User is then able to define the kind of data and table(s) that should be generated via a User Interface. The Random Data Generator generates data values constrained by user parameters. The Database Populator Engine uses data from the Random Data Generator to populate the database. It also uses the database connection managed by User Interface and Database Schema Model created by Database Schema Analyzer. The Database Populator Engine is thus the central piece of the program design.

The project requires 36 weeks to complete and will expend an estimated 694 person-hours of labor at an estimated labor cost of $27,655. A working prototype should be available by April 26, 2000. Estimated total cost for the prototype is $92,920. Economic analysis has established that approximately 100,000 copies of the software will be sold at a cost to the company of $56 per copy. This price includes indirect, Administrative and General costs as well as a 20% profit margin. Estimated retail price of the product is $100.

Scientific Calculating Machine - Abhay Pal Singh Kohli

The Software will be built in the C programming language, to solve simultaneous Homogeneous Equations with constant coefficients. A general solution to the equation can be obtained for an equation up to the 10th degree and 10th order. A particular solution can be obtained for an equation that is of the 10th order and 3rd degree. The scientific calculating machine will be designed with the objective of minimizing the amount of effort it takes to specify, solve, and visualize the solution of a system of differential equations without sacrificing power and flexibility. This software will be able to solve five simultaneous differential equations at one time. After the differential equations have been solved, their particular functions will be plotted on the screen. This software is designed to work with a user interface.

This project will require 36 weeks to complete and will expend an estimated personhours of labor at an estimated total labor cost of $ 26,910. The Critical design Review was presented on Oct 20 and the final design should be completed by November 3. A working prototype will be available by April 24,2000. Estimated total cost for the prototype is $97,138. A preliminary Economic Analysis has determined that the Meltzer company will sell approximately 10,000 of these at a cost to the company of $67.31 per software, including indirect, A&G costs, and a 20% profit. Estimated retail price for the software is $121.15.

DariWrite - Kaweem Koshan

Kaweem M. Koshan's Senior Design Project is DariWrite, a Persian text editor and Web page generator for the Microsoft Windows Operating System running the MS Internet Explorer Internet 5 browser. The application will be written using applets of the JAVA 2 computer programming language. The primary function of the application will be to produce simple text documents in the Dari-Persian (Farsi) and Arabic languages. The secondary function of the application will be to produce a basic Web page from the text document by inserting the necessary HyperText Markup Language tags.

The application includes 18 modules. The modules will create the editor, map Arabic Unicode characters (also used in the Dari-Persian language) to the keyboard and provide the various functions for editing, formatting and file handling.

The project requires approximately 35 weeks to complete.

Products International - Susanna Manoranjan

"Products International" consists of e-commerce software serving as a customizable template for any company commercializing in multiple products. The project would provide a ready-made site, where the merchant company handles the supply and selling of its products online. Customers can search and browse an online catalog, and after user verification, order any selected products through secure transactions. To maintain administrative control, the merchant company would be able to customize the web-site, query the database, email prospective suppliers for price quotations, order supplies, and set retail prices for new products. The merchant company, "Handicrafts", is selected to demonstrate the software's functionality. This company specializes in unique handicrafts and merchandize from around the world.

The project is designed in HTML and Java, including Java servlets on the server side. It contains three main modules: (1) Two Graphical User Interfaces (GUI) (2) Java Servlets (3) Database. The first module consists of a customer interface and a merchant company administrative interface. The second module consists of database and general Java Servlets residing on an Apache Server to fulfill all client requests. All database queries, updates, and user verification are serviced by database servlets, while the more general servlets complete tasks of emailing, maintaining shopping carts, and final credit card processing of purchases. The third module consists of an Oracle database of seven tables: customers, orders, suppliers, products, supplies, shopping cart, and employees.

The Compressed Web Page Browser - Arthur J McDaniel

This report is a final design review for a universal appointment system for all types of doctors. The system will be written for use on the World Wide Web, with the primary purpose being to minimize and save time spent for both patients and doctors in obtaining a doctor's appointment. Patients will be able to make their own appointments as needed, and cancel an appointment if necessary. One of the key features is that patients will be able to put themselves on a waiting list in the case that they only have time on a certain day to see a doctor, and an opening arises due to another patient canceling.

The point of the system is to allow people to easily maintain their own schedule for doctors' appointments, and for doctors' offices to reduce their overhead. There are often problems with receptionists not being able to keep up with phone calls and with the patients in the office, and this system seeks to improve that. The system will allow the user to search through a list of doctors by location, health plans that are accepted, specialist, etc. Each doctor will have the accepted insurance plans listed, and doctors can easily find and refer people to a suitable specialist in the area. Patients will be able to post feedback about any doctor for everyone to see, and it will also help the doctors' office improve relations with their patients.

The total number of hours needed to complete this project is estimated to be 482. The total cost of the project will be approximately $19,635.

FDR - John Chad Parry

A browsing interface will be designed for the Palm Vx Series of mobile devices. The system will consist of two main components. First, a proxy server will be built using Java, running in a standalone Java Virtual Machine. Second, software for the client will be created in Java, using the K Virtual Machine. The client machine will have the ability to communicate with the proxy and it will request Web pages through the proxy. The proxy will have the ability to parse and simplify Web pages for easier consumption by the client.

The goal of this project will be to explore ways to overcome the limitations traditionally associated with inexpensive handheld devices. Web browsing with a handheld is problematic because of the reduced screen real estate, the lack of color, the narrow bandwidth, the less-powerful processors, and especially because of the clumsy user input devices. The ability to display a variety of pop-up windows which each contain a small amount of information is one of the solutions that will be presented. The finished product will be able to handle Web page components such as text and text formatting, images and forms.

The proxy server component consists of five components. First, the Liaison module will be responsible for communicating with the handheld client. Second, the Network Valet will service network requests from the Liaison. Third, the HTTP Client will send requests over the Internet and parse responses from Internet servers. Fourth, the Parser will parse Hypertext Markup Language (HTML) documents and construct a document tree. Fifth, the Sieve will filter the document tree for elements that are not suitable for display on a handheld device.

The handheld client component consists of five modules. First, the Location module points the browser to an Internet address specified by the user. Second, the J2ME HTTP Client will communicate over the Internet with the proxy server. Third, the Unmarshal module will interpret the document trees sent from the proxy server as binary streams. Fourth, the Display module will draw the graphical user interface. Fifth, the Event Handlers will respond to user input.

Universal Appointment System - Cary Shapiro

This report is a final design review for a universal appointment system for all types of doctors. The system will be written for use on the World Wide Web, with the primary purpose being to minimize and save time spent for both patients and doctors in obtaining a doctor's appointment. Patients will be able to make their own appointments as needed, and cancel an appointment if necessary. One of the key features is that patients will be able to put themselves on a waiting list in the case that they only have time on a certain day to see a doctor, and an opening arises due to another patient canceling.

The point of the system is to allow people to easily maintain their own schedule for doctors' appointments, and for doctors' offices to reduce their overhead. There are often problems with receptionists not being able to keep up with phone calls and with the patients in the office, and this system seeks to improve that. The system will allow the user to search through a list of doctors by location, health plans that are accepted, specialist, etc. Each doctor will have the accepted insurance plans listed, and doctors can easily find and refer people to a suitable specialist in the area. Patients will be able to post feedback about any doctor for everyone to see, and it will also help the doctors' office improve relations with their patients.

The total number of hours needed to complete this project is estimated to be 482. The total cost of the project will be approximately $19,635.

Geometric Shape Recognition - Jeff Skrysak

The geometric shape recognition software has one overall function of being able to detect and differentiate between different geometric shapes. These shapes are a square, a rectangle, a circle, a hexagon, and a triangle.

The software is written in Java 2, so it will run on any platform that has a java virtual machine. It will need a mouse and a keyboard for input. The shapes can be any size no smaller than 20 pixels in diameter. The maximum image size will be 640 x 480 pixels, and will have a color depth up to 16 colors.

The software program is GUI driven, and utilizes the mouse and keyboard. An event handler accepts the user's commands and runs the function that corresponds to the input. These functions include loading an image, and searching for geometric shapes. The load image functionality uses the image libraries that accompany the Java language. There are three main objects, the scanner object, the image object, and the analyze object. When a user requests to load an image, the scanner object method Load_Image() is called, which puts the image data within the image object. Once that is complete, the user may then analyze the image by using methods within the analyze object. These methods use the image object as input and internally store the locations of the patterns found. A fourth object, called draw, uses the location data from the analyze object to draw outlines of the shapes. These outlines overlap the locations where the patterns are presumed to be.

The purpose of this software is to explore the genre of pattern recognition in a graphical context. Algorithms developed for the detection of basic geometric shapes may be used to detect more complex shapes within an image. These complex shapes can often be dissected into segments that resemble more basic shapes. A tank turret may be regarded as a semi-circle with a rectangular cannon at the end of which is a circular projectile exit point.

Med-E-Band - Jennifer Sri

Med-E-Band will be an electronic medical records system that is designed to allow patient data to be with the patient at all times in an iButton. Healthcare workers will be able to access this data at the patient's bedside at any time with the use of a handheld device.

The software will consist of the terminal's graphical user interface, the handheld's user interface, the server's database, and the iButton's data module. The iButton is a highly specialized processor that acts as a Java Virtual Machine in a tiny button-shaped case. These iButtons will be placed in a wristband, which would contain information pertinent to each patient in a hospital. Upon visiting a patient, the doctor, nurse, or other healthcare worker will be able to obtain the information in the patient's iButton, as well as, update the data in the iButton and in the database via his/her handheld device and an iButton receptor. This newly updated information may also be viewed at any terminal's graphical user interface.

The Med-E-Band working prototype should be presented by April 23, 2000, requiring approximately 35 weeks to complete.

Restaurant Database and Management System - Peter Swanson

The restaurant database and management system consists of a database of restaurants that will allow users on the World Wide Web to find information about restaurants in an area, and it also provides management for several host functions. There are two parts to the system: a Web program and a restaurant program. In the Web program, a user searches for a restaurant with certain criteria. Once the user finds a restaurant, the user will be able to view information about the restaurant, view the menu, check the current waiting time, make a reservation, or place a name on the waiting list. In the restaurant program, the host or hostess can keep track of the restaurant's seating chart, reservation list, waiting list, and menu. The host or hostess can also find out the current waiting time, which is computed by the program. He or she can make reservations and add and delete items from the menu. The program informs the user which party should be seated at a table when it is clear. The program also updates the waiting list and reservation list if any users on the Web have added themselves to those lists.

 


Schedule of courses
Libraries

SEAS Website
GWU Website
l>l>