Project Handoff Document
Emergency Services Directory
Team Rain Delay
STEP Council of the Genesee Region
Dr. David Kluge, Dr. Chloe Alexson
Thank you for purchasing your
new Senior P
™! Please use this document as a
journey to graduation (and self
discovery). We hope it will be
l to your understanding of the Emergency Services Directory and its sponsors
This document is intended to be purely suggestiv
e in nature, but we do have one
lease try to ke
ep the baseball
themed team names
Please see the
TestMachineConfig.doc file for instructions on how to set up a
test sandbox for the directory. Get Kurt to set up a
Virtual Machine for you ASAP.
Remember to keep Windows Update
date or the Virtual Machine will be
(this is bad)
To deploy delivered code to the production server, we followed a series of steps to
guarantee accuracy and maintain website
stability. Remember, you are working with a
system that is live and in
use, availability is essential!
e in CVS to a frozen folder. This will be your deployment code.
Run any database scripts you may have created. This step should be done fi
code/database inconsistencies give users nasty error messages that should be
Copy folder of updated code to the production server.
Create a backup of the live code to allow for rollback in the event of a deployment
Take a moment t
o ensure that all connection strings are pointed to the production
database and not the sandbox. The Google Maps applet also has a unique key for
each domain that will need to be changed.
Copy updated code over the production code.
Rebuild all projects.
erify changes on production website, and address any inconsistencies and errors.
Upgrade and Refactor
The first thing you should know
is that this project
is built on old technologies. Our first
thought was to keep going with these technologies to avoid i
ncompatibility issues. This
was not the best decision. We suggest upgrading to more current technologies. You may
Visual Studio and
Please refer to the included Software Architecture Document for valuable information
t the current design of the system. We inherited this design from three preceding
senior project teams, and identified a number of shortcomings that are overdue for
correction. The EMSWebService data
access layer is rather robust and solid, however,
layer is extremely disconnected and chaotic
the Registration and
STEPEMS projects are split, despite sharing functionality;
there is a large amount of
duplication within the code; a number of essential files are located outside all three
jects (including the CSS and header pages); and the system desperately needs a
greater separation of concerns. For example, we found the process of adding a single
new organization type extremely convoluted and over
by abstracting this,
proof the system to allow the sponsors the power to easily add yet
unknown organization types without the need for software rework.
Finally, you may find it helpful, after upgrading to a better IDE, to implement a testing
framework. Unit tests
especially would be helpful to verify functionality after
refactoring, as well as proving new functionality.
We feel that, by upgrading the technologies and refactoring the design, you can make
future feature implementations far more straightforward.
inning Project Requirements
Eliciting requirements is an important step in the development of every young Software
Engineer. You will have great fun interacting with your project sponsors and compiling a
list of project objectives. To get you started, we
have included a list of project
requirements that we did not address
we leave it to your discretion to investigate their
feasibility and accept or reject them as part of your project scope.
Portable Devices (mobile website)
the project sponsors would
like to see the site
accessible from mobile devices, including PDAs,
Blackberries, and iPods/Phones. This
would likely entail development of a WML portal for the directory website.
Automated Data Mining System (web
one of the major bottleneck
s for your
sponsors’ productivity is the amount of time spent finding organizations to register and
verifying that their information is up
date. We attempted to address the latter problem
with a function to flag out
date entries, while a project con
sultant recommended a web
crawler to help automate the former. You may find this requirement to be out of the
scope of your project as we did, however.
Register Organizations as Multiple Types
organizations are currently classified with a
l, ambulance, etc.). However, there are some cases where an organization
may encompass two of these types (a fire department/ambulance).
sponsors would like an automatic, bi
annual mailer to
remind registrants to update thei
r profile information, relieving the pressure on the editors
to perform this function manually.
the printed directory is currently published by exporting database
information in an Adobe InDesign document, which is delivered to the publis
sponsors have expressed interest in additionally supporting Adobe PDF as an export
there exist some organizations which encompass multiple
direct instances, the “class” to an organization’s “object,” if you
will. An organization
like the Red Cross can have instances in many cities across the country. The sponsors
would like the ability to tag an organization as a subset of an International Organization,
and further, to search and sort by these tags (selecti
ng the profile for the Red Cross
[international organization] would return all organizations tagged as Red Cross
List current information of disaster supplies at retail stores
the project sponsors would
like some means of in
terfacing with retail inventory systems, or a web interface for retail
employees to make note of their inventory, in order to provide an accurate summary of
disaster relief capacity. You may find this feature out of the scope of your senior project.
tional ideas proposed by the project sponsors that are likely out of scope for a
software development team:
Production server backup (for power failure)
Develop common ambulance patient report form (pre
Develop common hospital emergency departmen
t patient information form
demand printing by Xerox
Offer incentives for registration, such as raffles
Some of your greatest resources are those that have travelled this path before you. Please
review our documentation (and, if
re brave, the documentation of teams before us),
and, if you have any questions, contact Dave Beaton, a former senior project graduate
who currently handles support of the Emergency Services Directory. Best of luck with
your senior project, and most of al
l, have fun!
Team Rain Delay