Product Catalog Editor II AJAKS Alek Demko Justin Rennell Alaina Somers Ken Krug Sam Arent Sponsor: Paetec Sponsor’s Representatives: Brion Swanson, Jason Gowan Faculty Mentor Professor Lutz Project Overview This project is being completed for PAETEC, a local telecommunications company. PAETEC provides products such as local and long distance voice services, Internet services, and software applications to customers that include businesses, universities, hospitals, and governmental organizations. Our project fits in by helping the marketing and sales team manage the PAETEC product catalog. The tool needs to replicate the existing functionality provided by a set of Excel spreadsheets and macros. The tool will be designed specifically for the products sold through the PAETEC PAO system. The tool will be used by both product managers and developers, and replace two existing systems. It will allow for product managers to download the existing catalog, edit it, and merge their changes into a working database. Developers will be able to review changes that are made and generate code to be entered into the production database. Basic Requirements The system must be able to create, edit, review, and delete product catalog elements, and import from and export to various sources. Specifically, the system must: Install application. The system must be simple to install and use on any PAETEC managed computer. The project should be installable by product managers with little to no help from outside sources. The project should be quick and simple to start, close, and use. Manage a product catalog's elements and their details. The system must be able to manage a product catalog, its elements, and their details. The PAO database is structured in a hierarchy of elements that represent products sold to customers:
17
Embed
AJAKS - Software Engineering at RIT · Project Overview This project is being completed for PAETEC, a local telecommunications company. PAETEC provides products such as local and
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Product Catalog Editor II AJAKS
Alek Demko Justin Rennell Alaina Somers
Ken Krug Sam Arent
Sponsor: Paetec
Sponsor’s Representatives: Brion Swanson, Jason Gowan
Faculty Mentor
Professor Lutz
Project Overview
This project is being completed for PAETEC, a local telecommunications company.
PAETEC provides products such as local and long distance voice services, Internet
services, and software applications to customers that include businesses, universities,
hospitals, and governmental organizations.
Our project fits in by helping the marketing and sales team manage the PAETEC product
catalog. The tool needs to replicate the existing functionality provided by a set of Excel
spreadsheets and macros. The tool will be designed specifically for the products sold
through the PAETEC PAO system. The tool will be used by both product managers and
developers, and replace two existing systems. It will allow for product managers to
download the existing catalog, edit it, and merge their changes into a working database.
Developers will be able to review changes that are made and generate code to be entered
into the production database.
Basic Requirements
The system must be able to create, edit, review, and delete product catalog elements, and
import from and export to various sources. Specifically, the system must:
Install application. The system must be simple to install and use on any
PAETEC managed computer. The project should be installable by product
managers with little to no help from outside sources. The project should be quick
and simple to start, close, and use.
Manage a product catalog's elements and their details. The system must be
able to manage a product catalog, its elements, and their details. The PAO
database is structured in a hierarchy of elements that represent products sold to
customers:
Figure 1: Breakdown Of Product Catalog Components
The product catalog itself represents the top node in a tree. Products have
features; features have parameters. Each of the three components has its own
unique set of details used by PAETEC to define a product.
The system manages a usable way to create, edit, delete, and review all
components. Components must also require no information other than the default
to be created – this means that components can be added in bulk and edited later
for convenience to product managers.
Manage a local version of a product catalog. Product Catalog Editor must be
able to load from and save to a local version. The local file should be
transferrable between computers and open with Product Catalog Editor. There
must be an option to compare two local files so that if changes are made, a user
can accept, reject, or modify the two to make them identical while editing.
Manage a 'work in progress' database for collaborative editing. Product
Catalog Editor must be able to upload to and download from a central database
specific to the product, and separate from the PAO production database for
collaborative refining of products and creation of new products. The 'work in
progress' database will contain a new version of the product catalog that is being
collaboratively edited and improved. Users should be able to get a copy of the
current 'work in progress' view of the catalog and use an interface to compare this
with their current local file. Users should also be able to upload changes to the
database, comparing the changes with the current database in order to upload the
correct changes.
Export to and import from an SQL file compatible with the PAO database. The project must be able to export to and import from an SQL file as generated by
the current Excel spreadsheet version of Product Catalog Editor. Product Catalog
Editor must be able to import from an SQL file generated either by the current
spreadsheet system or any version of Product Catalog Editor. This will enable an
initial import into the project, as well as allow compatible updates with any
existing SQL files. Product Catalog Editor must also be able to create SQL files
that can be used flawlessly with the PAO Production Database to update changes
and new components.
Usable to product managers and developers. The project must be usable in
order to be adopted. A previous attempt at upgrading Product Catalog Editor to a
web-based program failed due to poor usability; it was simply not preferable to
product managers over the existing spreadsheets. The new version of Product
Catalog Editor must be usable in terms of being easier to use and adopt than the
existing spreadsheets.
The system must be usable two two major groups: product managers and PAO
developers.
Product managers are PAETEC employees who oversee the creation and strategy of
PAETEC's products. They are the primary editors of components and primarily
responsible for the review, creation, changing, and deletion of components. Product
managers also:
Range from technically-minded to not very technical.
Have a familiarity with Windows XP
Have a strong familiarity with the current spreadsheet system
Use a variety of screen resolutions, the smallest of which should be 600px by 800
px
PAO developers will maintain the system once it is completed. Their primary role with
the software is to review the current edited versions and export an SQL file to push to the
PAO Production Database for use by other employees. PAO developers were the
primary contact and sponsor for the creation of this product and thus have the most input
on its evolution. Also, PAO developers will maintain the code of the system once it is
released; the code and build must be well-document to facilitate new features and project
maintenance by PAO developers.
Constraints
The system had many constraints that deal with the computers it will be operating on and
Paetec’s existing systems. Specifically, the technical constraints to the program dealing
with Paetec’s systems were:
Windows XP
Screen resolutions larger than 800x600
Oracle database
The system also does not directly connect to the production database for security reasons.
The sponsors requested that the system generate a SQL file to run in the production
database after review.
Development Process
For this system, we used a modified waterfall model. Our model was originally inspired
by the process used by PAETEC, and turned out to be successful for our implementation.
We reviewed our schedule and process with our sponsors, who were pleased with our
choice and our allowance of time to complete the project.
Our waterfall model process had five stages: requirements collection, design,
development, acceptance testing, and delivery. Our sponsor’s representatives will handle
maintenance after delivery of the project.
Requirements Collection. During the requirements collection phase, the
sponsor's requirements were translated by the team into formal requirements and
verified by the sponsors. Requirements for the system were gathered during
weekly sponsor meetings at RIT or at PAETEC. Initially, the sponsor's
requirements were used to create use cases in Blueprint Requirements Center,
software recommended and provided by the sponsor. Once the initial use cases
were entered, the sponsors were able to access the requirements file as it was
updated to suggest changes via e-mail and plan verbal feedback for meetings.
Requirements were also organized into a prioritized list using a three-tiered
system: items the system must have, items the sponsors would like to have, and
items that should be included only if there is remaining time. The team gathered
sponsor verification on all use cases before proceeding from the requirements
collection phase.
Design. The design phase translated the requirements into a programmable
system. An overall design was created and sections were split up for the creation
of detailed designs.
Development. For development, we followed an iterative evolutionary prototype
cycle. We originally planned for three two-week prototype releases to gather
feedback from the sponsors. However, this was not feasible in production. The
schedule was modified to include testing in iterative cycles with two prototype
releases, three beta releases, and a final release candidate.
Acceptance Testing. Acceptance testing was scheduled for several weeks during
the end of the process to validate the project and make sure it fit with the
sponsor's needs. Since a problem with the previous project was that it didn't fit
the sponsor's needs and was not usable with the product managers at PAETEC,
we needed to make sure that our project was deliverable. We planned to do
usability testing with actual users, other students, and our sponsors, as well as
meeting with our sponsors to discuss use of the project and its future.
Delivery and Release Candidate. The sponsor will be given the final release to
use. Since the sponsors intend to improve and maintain the project after
completion, documentation on how to build and maintain the project will be
included with the delivery.
Project Schedule: Planned and Actual
Our original project schedule read as follows:
Winter Quarter Schedule:
Weeks 1-3: Orientation with Sponsor(s)
Weeks 3-8: Requirements elicitation
Weeks 8-11: Detailed design
Week 10: Interim presentation
Orientation with Sponsors: Meet with sponsors. Get a feeling for company, project, and
goals. Set up methodology to follow, project website, and plan for requirements
gathering.
Requirements Elicitation: Meet with sponsors at regular meetings. Discuss project
goals, business needs, and features for product.
Provide updates on requirements definitions and get feedback. Hone requirements to
meet sponsor approval.
Detailed Design: Work on design diagrams that satisfy requirements and provide a
strong basis for moving ahead into development.
Design must take into consideration possible requirements volatility, though the
likelihood of significant volatility is expected to be low.
Interim Presentation: Create, refine, rehearse, and carry out mid-project presentation