We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure [email protected]
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Edited by
Jan Van Eijck, Centre for Mathematics and Computer Science, Amsterdam,Vincent Van Oostrom, Universiteit Utrecht, The Netherlands,Albert Visser, Universiteit Utrecht, The Netherlands
Edited by
Jan Van Eijck, Centre for Mathematics and Computer Science, Amsterdam,Vincent Van Oostrom, Universiteit Utrecht, The Netherlands,Albert Visser, Universiteit Utrecht, The Netherlands
Edited by
Jan Van Eijck, Centre for Mathematics and Computer Science, Amsterdam,Vincent Van Oostrom, Universiteit Utrecht, The Netherlands,Albert Visser, Universiteit Utrecht, The Netherlands
Edited by
Jan Van Eijck, Centre for Mathematics and Computer Science, Amsterdam,Vincent Van Oostrom, Universiteit Utrecht, The Netherlands,Albert Visser, Universiteit Utrecht, The Netherlands
This book is meant to serve pedagogical and practical purposes by presenting a process called Bridge, which instantiates generic aspects of software methods including iteration and traceability. It also presents seven case studies documented in Unified Modeling Language (UML). The process and case studies are preceded by an overview of object-oriented modeling artifacts that act as a background for developing the concepts in the process and for presenting the case studies.
The book is appealing for a variety of readers because it provides a comprehensive view of modeling artifacts and how they fit together in an iterative context to provide working solutions. The approach that it adopts has the advantage of cutting down the learning curve and of bridging the gap between theory and practice. Readers will learn from the experience of other developments. The underlying theme is that a considerable amount of learning is achieved through practical applications of the theories involved; teaching object-oriented development could be made more effective by relying on documented practices.
This book is adequate for an introduction to object-oriented software development for pedagogical, training, and practical purposes. The first part is appropriate for a course on object-oriented development, whereas the second part on the case studies provides the meat for technical training. In addition, we believe that novices in practical contexts would benefit from this book, which cuts down the learning curve. Software engineers seeking to add rigor to their techniques would also find this book useful.
Work on this case study was motivated by an anticipated need of travel agencies to improve their sales by making their products, namely, tours, directly accessible to their client base. Although this application focuses on travel agencies, it could be viewed as one instantiation of a general application framework that handles reservations in general, such as hotel and car reservations.
INCEPTION
USER REQUIREMENTS
User requirements are a summary of information that is collected by customers asking travel agencies about tours that the travel agencies offer. From that information we deduced the user requirements, shown in Description 3-1.
Constraints
For simplicity, we made two assumptions. The first one is that the customer can only reserve a single tour. Consequently, he is assigned a login ID and a password. The second assumption is that the customer can optionally reserve as many trips as he wants in his tour reservation. For example, suppose that the travel agency company provides a tour to Athens. Then the customer who chooses this tour can optionally choose one or more trips related to the Athens tour such as a trip to the temples or a tour to Olympus.
A software for a travel agency provides reservation facilities for the people who wish to travel on tours by accessing a built-in network at the agency bureau. The application software keeps information on tours. Users can access the system to make a reservation on a tour and to view information about the tours available without having to go through the trouble of asking the employees at the agency. The third option is to cancel a reservation that he/she made. […]
The following is a collection of user requirements, each of which describes the required behavior of a system. Except where otherwise specified for each of the requirements, apply the bridge process to reach a full-fledged design in terms of a use case model, object model, and subsystem model. Apply traceability at all stages.
WEDDING LIST
A software for a wedding agency provides a gift reservation facility for couples who would like to have a wedding list, and a gift purchase facility for people who would like to send gifts. The software keeps information on couples and their corresponding wedding lists. Users can access the system to create or update, cancel, view their own wedding list, or to buy certain items from a specific wedding list. Users can also get help on how to use the system without the trouble of contacting employees at the wedding agency. Employees at the agency will administrate the system operations. Employees can delete, update, or add items to inventory. Any complaints or suggestions that the client may have could be sent to the agency and stored in a complaint database. To ensure secure access to the system couples and employees have personal logins and passwords.
This part introduces two case studies taken from two different problem domains. The first case study has an internet-based architecture and is an interesting model to apply to applications that deal with reservations; the second deals with web development. This application has a network-based architecture and could also be used as a model to develop similar applications. The bridge process is applied in detail including details of traceability. Both could be viewed as tutorials on applying the bridge process and could be used as such to guide the reader in solving the exercises at the end of the chapters in Part III.
This application focuses on automating the operations of a goods distribution company. The summary of user requirements is appended with all data that may be needed by such applications. Almost all details required by the application are collected from the beginning. The detailed requirements give a useful sample that can be adopted in building similar applications. The activity diagrams depict conditionals and repetitions. Also, the detailed object model is rich with attribute names and associations. The exercises at the end of the chapter lead the user in carrying traceability and other activities that were dropped from this case study.
INCEPTION
USER REQUIREMENTS
Description 7-1 gives a brief description of the application.
More on User Requirements
The following are detailed requirements of the application. Most of these will be more useful during the design stage and serve to shape the object model.
DVC is a software solution for a given company. This company is a reseller of goods. It obtains its products from a vendor, and resells them to a customer. The basic need of the company is a database to store specific informationconcerning the various vendors, customers, and warehouse,s as well as a product database. In order to make the lives of the employees easier, the software features an easy-to-use interface for the database, which includes interactive forms and graphics. Using the information in the database, the user can access the information in several easy ways, such as browsing and searching.
This case study is about simulating a mechanical robot arm. The design model is obtained as a consequence of applying the bridge process. Similar applications on simulation could be designed in a similar fashion. The user requirements are complemented up front by a glossary of terms, each of which denotes a component of the robot arm, the target of the simulation. In addition a picture is displayed to further clarify the concept. Note that the use case model is simple. It focuses on three activities; two of which, help and test, could be generalized to any application. The third focuses on the core activity of the application. In this sense the initial use case model is a good start to design and later build the application. The scenarios include describing help and test facilities that the application offer. The object model expresses aggregation and inheritance relations, showing how commonalties could be factored out to reach more concise models.
The chapter leaves out the details of derivation to give to the reader the opportunity to apply the bridge process and check the results against the models that are presented. The exercises at the end of the chapter guide the reader in this direction
INCEPTION
USER REQUIREMENTS
Description 5-1 gives a summary of the user requirements, and Description 5-2 lists a glossary of terms.
This part introduces modeling artifacts that are used to express architectures in terms of uses cases and objects. The second chapter introduces the bridge process.