If a use case incorporates a scenario that is significantly different from the main success scenario, you may decide to create a new subsidiary use case. There may even be a need to create more than one subsidiary, depending on what happens in different circumstances. For example, when making a reservation in a typical hotel the receptionist would first determine whether the guest was already known to the hotel (among other advantages, this would speed up the reservation process since re-ente

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

For each use case there may be more than one scenario. In the process of requirements elicitation and specification, you may find a certain amount of common behaviour in two or more of your use cases. You may even find that an existing component can provide part or all of that common or shared behaviour. Indeed, if you do find such an existing component, this is an example of reusing requirements which is discussed more fully in MRP.

You can record the shared behaviour in

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

In the hotel example, you saw two actors in the use case diagram shown in Figure 3 (reproduced below). Why is the actor Guest associated with the use case for making a reservation but not associated with the use cases for checking in and out? The answer comes from an understanding of what happens when someone, a guest, arrives at a hotel. Hotels are service oriented. That is to say, they offer certain services to their guests with the intention of earning money for the business. A hote

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

The purpose of a use case is to meet the goal of its associated actor(s), such as a guest making a reservation with a hotel. This implies that a use case should include everything that must be done to meet that goal. For example, if it is necessary to check the availability of rooms in the hotel for the desired length of stay before accepting a reservation, then we expect the use case to contain that check. In general, a use case contains a narrative about the flow of events that specifies a

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

To understand the work, you need a good idea of what each use case means. To get a feel for what this might entail, look again at Figure 3 (reproduced below) which shows a simple use case model for a hotel chain reservation system. Note that Figure 3 is not intended to be an exhaustive model of the hotel domain; the scope of the problem to be solved is confined to reservations and the processes of checking in and out.

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

In this section, we take a closer look at use case modelling, and show you how it can be used to model the requirements for a product that includes the development of a software application or, simply, a system. Use case models act as a discussion tool between the requirements analyst and stakeholders, and offer a common language for agreeing the functions of a proposed system. In this discussion, we shall use the Unified Modelling Language (UML) notation (diagrams) for use cases to re

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

When the word model is used, you are most likely to bring to mind physical models such as those that are constructed to depict new buildings, cars or other artefacts. Such models are a precursor to actually building the artefact ‘for real’. However, our use of the word goes beyond physical models. For example, when a new house is built there will be a variety of plans produced to show different aspects of the house: its floor plan, a diagram of its location, a drawing of the front elevati

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

There is not a lot published on distributed development paradigms. The book by Coulouris et al. [2] indirectly introduces some of the paradigms introduced in this unit. Lynch's book [3] on distributed algorithms is full of algorithms which are message passing based. The book by Patzer and 14 others [4] is a good practical introduction to many of the technologies detailed in this unit. One of the few current books on JavaSpaces has been written by Freeman et al. [1].

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

The protocol described above for a simple naming service is an example of a fixed protocol. This is a protocol whose vocabulary is fixed: it is embedded in the client and server's code and data and does not change. An adaptive protocol is one where the protocol changes. A fixed protocol could change over a period of time because the functionality provided by a server changes. However, this change will be over months or years rather than over seconds.

There are some instances wher

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

This is the most ubiquitous form of commerce on the World Wide Web. It involves a company presenting a catalogue of its wares to internet users and providing facilities whereby such customers can purchase these products. Almost invariably such a site will contain facilities for ordering and paying for products by means of credit cards. The sophistication of sites described by this business model range from just the simple presentation of a static catalogue to the presentation of an interactiv

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

So far I have detailed e-commerce applications which are connected with very large organisations; to conclude this section it is worth looking at a number of smaller applications, many of which are distinguished by the fact that they are novel. They are in contrast to the applications discussed in previous subsections which mainly consist of standard functions such as order processing.

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

Databases are one of the more enduring software engineering artefacts; it is not uncommon to find database implementations whose use can be traced back for 15 years or more. Consequently, maintenance of the database is a key issue.

Maintenance can take three main forms:

Operational maintenance, where the performance of the database is monitored. If it falls below some acceptable standard, then reorganisation of the database, usuall

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

The aim of testing is to uncover errors in the design and implementation of the database, its structure, constraints and associated user and management support. Testing is usually considered to involve two main tasks – validation and verification. Without adequate testing users will have little confidence in their data processing.

Validation answers the question: has the right database been developed to meet the requirements? It attempts to confirm that the right database has been co

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

After a database has been created, there are two ways of populating the tables – either from existing data, or through the use of the user applications developed for the database.

For some tables, there may be existing data from another database or data files. For example, in establishing a database for a hospital you would expect that there are already some records of all the staff that have to be included in the database. Data might also be bought in from an outside agency (address

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

An interface to a washing machine does not need to be like the interface to a personal computer (a user interface is a display/control panel that enables the user to control a machine or interact with a program). It is specific to the task of washing laundry, which involves two things:

displaying the choices that relate to washing laundry (such as type of laundry to be washed, water temperature, and spin speed);

displaying some indica

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

Art is difficult to define. But all art involves the Exercise of human skill. A natural object, such as a piece of driftwood, a flower, a bird song, can move us to admire it as beautiful or intriguing or comforting, but it isn't art. Artists (be they photographers, painters, sculptors, actors, musicians, authors or dancers) use their skill to transform natural objects, materials or signs (paint, clay, their own body or voice, the sounds of musical instrument, words) into somethi

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share

All life is ‘encoded’ chemically in genes. What this means is that the structure of an organism, the organs it possesses, its colouring, and so on are all determined by different genes. A very simple organism may have just a few genes, and a complex one tens of thousands. The ‘map’ of an organism's genes is referred to as its genome. It shows, in essence, which genes give rise to which characteristics or traits of the organism. The word ‘template’ would describe the

Author(s): The Open University

License information

Related content

Except for third party materials and/or otherwise stated (see terms and conditions) the content in OpenLearn is released for use under the terms of the Creative Commons Attribution-NonCommercial-Share