This page lists a brief description of each of the projects being conducted for the Object-Oriented Analysis and Design class during the Fall Semester, 1998.
by James Garnett, Nate Getrich, and John Todd
The goals of the SKELETOR Project include the design of a Computer-Aided Design (CAD) engine architecture and a skeletal implementation framework that allows each user of the system to expand and enhance it with the specific functionality that they require, and an implementation of this engine that includes as many of the features desired by our user-base as time will permit in the course of the semester.
The principle issue addressed by the SKELETOR project is the construction of an object-based CAD system that supports modular components. Each component is required to implement a specific interface that allows the engine as well as other components to communicate and manipulate each other. The first version of SKELETOR will make use of a predefined static interface. Later versions should examine the feasibility of an interface that is more dynamic and extensible.
by Yiyuan He, Bin Jiang, Qin Liu, and Xiaojiang Zhou
Currently, the user-interface code of the Chimera servers are separated from the networking code through the use of the Mediator pattern. In fact, the servers can currently support three types of user-interface: gui, textual, and logging. The latter provides no user-interface but records its activities to a log file. The former two also log their actions but provide a graphical and textual user-interface respectively. The idea behind this project is to completely remove the user-interface code from the servers and instead allow a separate client attach itself to a running server and provide the user-interface for the server. This would involve developing a user-interface protocol for each server that would enable the attached user-interface to keep up to date with the actions of the server. This would reduce the memory footprint of the servers while allowing a user to manipulate the servers via a user-interface when needed.
by Mark Bodmer, John Caron, Hong Liu, Anthony Ressler, Eugene Yen, and Yixiang Zeng
One of the primary motivations for designing the World Wide Web was to enable scientific collaboration across wide areas. While the Web has been somewhat successful in that goal, it falls far short of its potential. Currently the most widespr ead collaborative activities are email and newsgroups, both which predate the Web and do not in fact use any of the technologies (HTML, HTTP, etc) that constitute the World Wide Web. New capabilities based on the Web should lead to new paradigms for wide area collaboration.
by Li Cen, Leon Gong, Scott Miao, Meixue Mu, Linda Wang, and Jiangfeng Zheng
This project is to design an Online Ticketing System (OTS) for a Center for Performing Art (CPA). The OTS is a web application that allows consumers to purchase tickets from CPA via World Wide Web (WWW). The CPA can have several agents as its ticket outlets. These agents sell tickets on behalf of CPA and at the same time purchase tickets on behalf of consumers. The agents also uses OTS to accomplish their goals. The CPA has an appointed venue manager who manages the events, shows, prices, discounts, and promotions. He also manage sales agreement with the agents, that is to assign seats to agents and set date ranges for the seats. The venue manager uses OTS to perform these tasks.
by Chris Bell, Jim Besha, Vivian Chau, Rogerio de Paula, Maria Murillo, and Constantin Nickonov
In the article Intertwining Perspective and Negotiation, Stahl et al. assert the importance of computer support for perspective and negotiation in collaborative teamwork. Any collaborative interaction involves interplay between individual and group perspective. Through negotiation processes, individual's perspectives are integrated and merged into group shared understanding. The idea behind the term perspective is that an individual interacts with a shared repository of information through her/his particular viewpoint. In so doing, this person is able to edit, delete, store, categorize and annotate particular information on a shared information space. For instance, a group working on a same project may share a set of Internet bookmarks. However, each individual may be interested in a particular aspect of the project. The perspective mechanism allows then each of them to annotate relevant information that is of particular interest in one's own perspective, while they share information that is relevant for the whole group.
by Van Lepthien, Kiana Matthews, Mei Sheng, Bodin Skulkiat, Jia Xiao, and Lin Zhou
The structure of a Chimera hyperweb evolves over time. As users access the hyperweb, a variety of viewers, objects, and views are registered and anchors and links are created over this content. As a hyperweb expands in size, it becomes difficult for users to maintain their context while navigating through the hyperweb's relationships. This is known as the "Lost in Hyperspace" problem. One way to mitigate this cognitive overload is to provide the user with a visualization of the current state of the hyperweb and their location within it. The purpose of this project is to develop a browser for Chimera hyperwebs. The team would need to design the functionality and user-interface for this browser. Chimera used to have an HTML interface provided by a CGI script for browsing the structure of hyperwebs, I will try to resurrect this browser to provide one possible example for this type of functionality.
by Erika Barton, Ted Chen, Walter Manaker, Hung Nguyen, and Julie Schenk
We propose to design a system for efficient, accurate inventory management using a business object approach. A business object has been defined as "a representation of a thing active in the business domain, including at least its business name and definition, attributes, behavior, relationships, rules, policies and constraints." (Arrow et at., 95) For instance, consider a purchase order as an object with pending and validated states and related, relevant methods. We will be using Lowe Alpine for purposes of illustration and to narrow the scope of this project. Lowe Alpine designs and sells backpacks and apparel in the outdoor industry. An object oriented approach will enable us to encapsulate Lowe's process of inventory management efficiently and accurately.
by John Beckman, Wayne Demery, Edgar Roman, Aytekin Vargun, and Xingjian Xiao
The purpose of this project is to integrate a new client or set of clients into Chimera. This type of project will need to identify a client or clients, design a hypermedia user-interface for the client, and implement the first pass of an integration with Chimera. As mentioned in class, an alpha version of a Win32 COM object is being developed to function as an API to Chimera. Thus, you can choose to integrate Win32 applications for this project. Possible ideas for client integrations: Internet Explorer, Microsoft Office applications (for instance PowerPoint), an E-mail application, an MPEG (or other video format) application, a development environment, and a sound and/or music application. In past project classes, I have had students scan the Internet for public-domain software (with source code) to integrate.
by Apiramon Damrongsiri, Sandeep Karandikar, Nathan Ryan, Scott Samek, and Zheng Yang
The world of object-oriented modeling has provided an enormous tool for dealing with the structure of information, not only in how information is handled by programming languages, but also in how information is stored by databases. The relational database (RDB) now has an object-oriented counterpart, the object-oriented database (OODB). An OODB provides functionality beyond a RDB, in that data stored can be viewed from a higher conceptual level. The "Configurable Hyperweb Server" project proposes to design and integrate an OODB model for information stored by Chimera's Hyperweb server (HWS). Choosing this approach has many advantages, such as object-level recovery, concurrency, security, etc. Most importantly, an object-oriented DBMS would ease the difficulties in dealing with low-level abstractions by allowing the HWS to directly access and perform operations on objects, thus portraying a more accurate model of the real-world system.