Transcript Poster

Wishmaker, Ltd: Design and Prototyping of Web Services
Matthew Baranowski
MSIM Capstone Project
[email protected]
Introduction
Definition: Collectible Card Game
Companies manufacture and
distribute collectible card games in a
manner similar to baseball cards.
Consumers buy these cards in
packs. Consumers collect these
cards and build decks to play
against each other.
Wishmaker, Ltd. is a pre-funding start-up organization that seeks to build a
collectible card game. Wishmaker plans to sell cards, but the cards are not
what will drive consumers to buy the game nor are they truly what Wishmaker
will sell.
Deliverables
Prototype
The use cases and other documentation reside in XML. The screen shot below shows one
use case rendered with XSL. XML’s separation of form and content allows for easier editing
and reuse of the documentation.
The prototype demonstrates a small
set of features. These features are
meant to show that Wishmaker has
the capability to build a Web-based
information system that meets its
business needs and will help
Wishmaker offer a level of service
that exceeds industry standards.
The documentation of the use cases and of the database schema will serve as a foundation
for further development. Additionally the XML format of the content will serve as model for
managing content at Wishmaker.
Technology
The Web pages are
constructed from XML,
XSL, XSLT, and CSS.
Perl-CGI manages the
application flow and
interfaces with a
MySQL database on a
virtual host. The code
and conceptual design
are object-oriented in a
way that allows for rapid
development,
integration of new
features, and change to
existing features.
Wishmaker is selling a game, an organized play structure with cash prizes,
and access to a community of gamers. Wishmaker must support these
products with information and technology.
This Project
In this project, I developed a design for an information management system
and built a Web-based prototype to test and demonstrate concepts within the
design. When fully implemented, this information management system will
integrate sales, tournament management, marketing, and customer relations
management. This system will help Wishmaker Ltd. use the Web to ease
logistical burdens of managing a tournament centered collectible card game.
Use Cases
With the help of Wishmaker
staff, I developed a list of use
cases that describe the ways in
which users might interact with
a Wishmaker Web site.
I used a set of the use cases to
develop the prototype.
Additionally these use cases
helped encourage discussions
about Wishmaker’s goals. For
example, Wishmaker staff
discussed which services are
inappropriate for a Web
environment. These use cases
and discussions will serve as the foundation for future development projects at
Wishmaker.
The use cases fit into one or more of the five classes described in the diagram
above. These classifications show a useful way of looking at the enterprise.
Wishmaker plans to derive its revenue from selling a small set of products with
almost no intrinsic value. These physical products have limited value because they
are only representations of Wishmaker’s real product: a tournament game and an
organized play structure with cash prizes. Consequently, the majority of the use
cases involve providing information about the game and supporting the logistics of
organized play.
Class Diagram
The diagram to the right is the
original UML class diagram used
to design the code in the
prototype. The classes under the
real abstract class represent all of
the objects that users manipulate
in the use cases. The classes
under the tool abstract class
represent tools that the Web site
needs to function.
The prototype helped expose
some issues with this class
structure. For example, ORDER,
ENTITY, TOUR, GAME, ORG, and
PERSON all have similarities more
significant than I originally
envisioned. These classes should
be restructured so that they can
inherit the code they have in
common. This restructuring will
allow for less redundancy and
ease long-term maintenance.
Learning
While designing and building the
prototype, I found several
reusable models. One example of
these models, shown in the
sequence diagram to the right,
describes an interaction between
object-oriented programming and
XML.
XML allows the application to
pass an information object to the
Web browser, which uses XSL to
render the object as a user
interface. The user interacts with
and resubmits the altered object.
This model allows for a high level
of code reuse. The application
only needs to generate the
appropriate information object,
instead of having to manage all of
the details of a user interface.
This model and others
discovered in the course of this
project will serve as a foundation
for efficient development of an
information system that helps
Wishmaker meet its goals.
The integration of sales,
tournament
management, marketing,
and customer relations
management that the
prototype represents will
help Wishmaker quickly
break into the market,
manage information
efficiently, and provide
access to the information
it has accumulated.