TheMultiple Player Type Compact Disc
Analyzer project is the redesign of an existing compact disc analyzer.
The computer software was changed from a C language (structured) to a Visual
C++ language (object oriented). The Supervisory micro-controller software
had to be modified to accommodate the communication for the new compact
disc player. The computer software was redesigned for an object oriented
language in order to make modifications much simpler, such as changing
the compact disc player type.
To survive the fierce competition in the existing market, it has become necessary for small businesses to manage data more efficiently. The current manual systems in most small businesses cause a severe problem but at the same time small businesses may not be able to invest a complex and costly information systems. This shows a need of a system that would help such businesses to manage data efficiently and in a cost effective manner.
This Master’s thesis project,
called the Client-Server (CSS),simulates a Client-Server architecture to
automate the day –to-day activities of an imprinted and sporting goods
business, emphasizing inventory tracking functions of the business. The
CSS utilizes Object Oriented Analysis and Design (OOAD) techniques. The
object model used Booch methodology.
"Decision in Normandy" is an interactive educational and entertainment application involving the events surrounding the invasion of France by the Allies in 1944. The idea for this thesis project originated from an interest in the growing field of multimedia in the educational and entertainment areas and a life-long interest in military history. The term now in use for such an application is "edutainment".
The project combines the concepts of software engineering with knowledge of a particularly important military event to create a software package that gives the user the opportunity to learn while having fun. The decision was made to use the invasion of Normandy (D-Day) because of all the publicity surrounding its fiftieth anniversary. Because such a package is very complex and still quite new to the software engineering community, this project was very challenging. More packages of this type are planned so the concept of reusability was important from the beginning.
Grady Booch suggests that for large systems where the complete requirements and specifications are unknown and complex, to use a language that supports the iterative development paradigm. This project is an example of just such a system. Prototyping and object-oriented design were used effectively during this development. The object-oriented development methodology was used because of the obvious real-world entities that could be viewed as objects in this type of project.
This package needs a visual interface for the user to interact with the software. The use of Microsoft Windows for entertainment and educational software has become "the standard" on IBM and IBM compatible hardware. Therefore, the use of software run by Microsoft Windows may become "the standard" for creating this same software. Since windows themselves are objects, a visual programming language that supports object-oriented design was chosen.
The language used is Visual Basic, which is becoming increasingly popular with software developers and the business community. Visual Basic includes several advanced programming concepts, one of which, the ability to act as a graphical user interface to a relational database, was exactly what was needed for the development and implementation of this application. A great advantage of Visual Basic is that it is an object-oriented language (although there is some debate surrounding this) which supports the iterative development paradigm (IDP). The IDP is a technique for developing software in an evolutionary, discovery mode, with each major iteration providing inputs to the next The iterations are composed of these periods: preparation (adjusting to variable requirement), production (analysis, design, implementation), and appraisal (performance, reusability). Its goals are: (1) to guarantee the ability to construct the system correctly by methodically verifying and improving requirements and (2) to permit planning to construct complicated systems that complement the real world, by scheduling partial implementation of the system as more of its functions are understood.
Concepts that are necessarily present for a system to be object-oriented are classes, inheritance, encapsulation and polymorphism. The major steps in object-oriented design are: (1) identify the classes and objects at a given level of abstraction, (2) identify the semantics of these classes and objects, (3) identify the relationships among these classes and objects, and (4) specify the interface and then the implementation of these classes and object.
The initial requirements call for designing a graphical user interface (GUI), arranging objects as different windows (called forms in Visual Basic) and different controls on these windows. Application design in Visual Basic is done interactively using a graphical user interface, so many of the controls require no coding. There is a toolbox used to place objects on the forms, and a properties window to change the properties of objects, if required. Some simple coding is required t link the forms and start the application. When construction of the prototype was started, the way to begin seemed to be to focus on event-driven (user-controlled) objects. It soon became apparent that progress toward the high-level design of the total requirements was being delayed by being too focused on the design of the GUI. The focus of the project was changed to designing the database objects first, which were closer to the real world, and then returning to design the interface, or operations that these objects would initiate. As this package was being developed, several iterations caused changes to the requirements and design, especially to the database and code which contains the operations of these objects. The project became a graphical user interface to a relational database, with operations being driver by the data (objects). The application is still initiated by the user who makes selections from data displayed by the GUI from the database (event-driven). This will ensure that the package has the excitement of a game and is not simply a "reading" package.
This project meets the goals of software engineering: modifiability, efficiency, reliability, and understandability. Visual Basic supports the principles of modularity and localization, creating modules that are loosely coupled and strongly cohesive, enhancing all four goals. The goals of modifiability, understandability, and reliability are met by using the principles of abstraction (deriving the principle details at a particular level) and information hiding (making details that are not relevant to another part of the system inaccessible to that part). The goal of understandability is also met by using the principle of uniformity, which means that modules have been coded using a consistent style and that the modules do not contain any unnecessary differences. Finally, by using the principles of completeness (all requirements presented in the specifications are satisfied) and confirmability (being readily testable), the goals of reliability, efficiency, and modifiability are met.
The tables of the database are based
on real world entities that existed at the time of the invasion of Normandy.
A student using this package in a history class will be able to learn the
geography, biography, and strategy surrounding this event. Also, h/she
will have the ability to see how history could have been changed based
on decisions made.
The purpose of this thesis is to study
issues related to real-time multimedia database systems and to build a
protoype of a real-time multimedia database system that addresses these
issues on a personal computer. The issues that have researched are multimedia
synchronization, scheduling, real-time clock, video, and audio. The prototype,
called Real-Time Multimedia Object Manager, or Real-Time MOM for short,
shall be able to store various types of media, process several types of
media concurrently, and handle strict scheduling requirements. There are
four types of media that Real-Time Multimedia Object Manager is associated:
video, audio, photographs, and text. In this paper, we address the aforementioned
issues and how we simulated them in our Real-Time MOM.