http://www.se.rit.edu/~royalflush
Introductions
Software Engineering Team:
Kevin Francis • Derrick Hudson • Mike O’Connor Jason Plaisted • Jessica St Croix
Corporate Sponsor:
Jon Templin, PAETEC Communications
Faculty Advisor:
Professor Judy Englert
http://www.se.rit.edu/~royalflush
Agenda
• E911• Problem Domain• Motivation• Goals• E911 Provisioning System• Technologies• Process• Risks• Results• Lessons Learned• Demo• Future Work
http://www.se.rit.edu/~royalflush
E911 Background
• Enhanced 911 upgraded original 911 system in early 1970s
• Automatically retrieves caller information (Name, Telephone #, Address)
• Routes call to proper dispatcher based on location
• Requires constant updating of database
http://www.se.rit.edu/~royalflush
Issues Addressed by E911
• Your mailing address does not always match the actual location of your business or residence
• A location may reside in a combination of different fire, police, and emergency districts
• Inaccurate information can waste time or have catastrophic consequences
http://www.se.rit.edu/~royalflush
Problem Domain
• PAETEC is required to provide & maintain E911 data for all their customers
• Internal E911 Provisioning System enables employees to add/edit customers, addresses, and telephone numbers
• Program runs each night to gather changes and send them to Incumbent Local Exchange Carriers (ILECs)
http://www.se.rit.edu/~royalflush
Motivation
• Existing system is inefficient and cumbersome to users
• Parts of system do not logically model real world
• Software difficult to maintain due to discontinued third party tool
• Current employees have expertise in newer languages
http://www.se.rit.edu/~royalflush
Goals
• Rewrite E911 Provisioning software using up-to-date technologies
• Improve maintainability of software
• Increase usability of the user interface
• Fix data model problems stemming from initial design
http://www.se.rit.edu/~royalflush
E911 Provisioning System
• PAETEC employees maintain customer E911 information through user interface
• Information stored in local database
• Data extraction program creates individual record files from local database in each ILEC’s required format.
http://www.se.rit.edu/~royalflush
Technologies
• Resin Enterprise Application Server– Currently used by PAETEC
• Java 2 Enterprise Edition Specification– Enterprise Java Beans
• Improves scalability and maintainability
– Java Server Pages• Replaces obsolete Oracle Web Design
• Oracle Relational Database Management System (RDBMS)– Currently used by PAETEC
http://www.se.rit.edu/~royalflush
Process
• Incorporate software development process with project management techniques
• Assign roles to team members• Document requirements, architecture,
design, and testing phases• Plan Tasks
– Use MS Project and Excel– Track time invested per task– Project progress based on current work rate
http://www.se.rit.edu/~royalflush
Risks
– Correct operation is critical - malfunction could indirectly lead to injury or loss of life
• Able to directly compare output to old system
– Development team unfamiliar with Resin application server
• Delays impacted schedule
– Team lacked expertise with Oracle• Sought help from PAETEC database administrator
– 20 Week time constraint• Uneven distribution of workload late in project
http://www.se.rit.edu/~royalflush
Results
• Statistics– 139 Requirements– 7934 lines of code– 146 Test cases, 18 initial failures (12%)– 0 Known remaining bugs– ~800 Hours of work during second quarter
• New E911 Provisioning system is fully functional
• Goals of project have been met
http://www.se.rit.edu/~royalflush
Lessons Learned
• Separate development and test teams would have been more efficient
• Gain required expertise with tools at beginning of project– Support from experienced Oracle DBA was
invaluable
• Better enforce separation of responsibilities between roles
http://www.se.rit.edu/~royalflush
Lessons Learned (cont.)
• Distribute more work towards beginning of project– Project tracking provided some warning signs
of potentially falling behind schedule
• Parallel work allowed functionality of system to quickly come together
http://www.se.rit.edu/~royalflush
Future Work
• PAETEC will take over control of the project
• They will perform independent testing in production environment
• Will review product and make any additions and/or changes
• Roll product out for use within company