Use case approach in software engineering




















Use case relationships are listed as the following:. A Use Case diagram illustrates a set of use cases for a system, i. The include relationship adds additional functionality not specified in the base use case. The extend relationships are important because they show optional functionality or system behavior. Take a look at the use case diagram example below.

It shows an extend connector and an extension point "Search". A generalization relationship means that a child use case inherits the behavior and meaning of the parent use case. The child may add or override the behavior of the parent. The figure below provides a use case example by showing two generalization connectors that connect between the three use cases.

The figure below shows a use case diagram example for a vehicle system. As you can see even a system as big as a vehicle sales system contains not more than 10 use cases! That's the beauty of use case modeling. The use case model also shows the use of extend and include.

Besides, there are associations that connect between actors and use cases. Often, people find it easiest to start the requirements elicitation process by identifying the actors.

The following questions can help you identify the actors of your system Schneider and Winters - :. Identifying the Use Cases, and then the scenario-based elicitation process carries on by asking what externally visible, observable value that each actor desires. The following questions can be asked to identify use cases, once your actors have been identified Schneider and Winters - :.

Use case granularity refers to the way in which information is organized within use case specifications, and to some extent, the level of detail at which they are written.

Achieving the right level of use case granularity eases communication between stakeholders and developers and improves project planning. It is not a book on object-oriented programming. We are convinced that the big benefits of object-orientation can be gained only in the consistent use of object-orientation throughout all steps in the development process. If you are a student with no previous experience in development methods, you will learn a robust framework which you can fill with details as you take part in future development projects.

Since the focus of the text is on development, the book will be convenient to use in combination with other texts on object-oriented programming. Many examples illustrate the practical application of analysis and design techniques. From this book you will get a thorough understanding of how to use object-orientation as the basic technique throughout the development process.

You will learn the benefits of seamless integration between the different development steps and how the basic object-oriented characteristics class, inheritance and encapsulation are used in analysis, construction and testing. With this knowledge you are in a much better position to evaluate and select the way to develop your next data processing system Even though object-orientation is the main theme of this book, it is not a panacea for successful system development.

The change from craftsmanship to industrialism does not come with the change to a new technique. The change must come on a more fundamental level which also includes the organization of the complete develop- ment process. Objectory is one example of how this can be done This book does not present Objectory. What we present is the fundamental ideas of Objectory and a simplified version of it.

To introduce the process in an organization also needs careful planning and dedication It is our hope that we have reached our goal with this book, namely to present a coherent picture of how to use object-orientation in system development so as to make it accessible to both practitioners in the field and students with no previous knowledge of system development.

This has been done within a framework where system development is treated as an industrial activity and consequently must obey the same requirements as industry in general The intention is to encourage more widespread use of object-oriented techniques and to inspire more work on improving the ideas expounded here. We are convinced that using these techniques will lead to better systems and a more industrial approach to system development Part I: Introduction.

The book is divided into three parts The first part is a background part and covers the following chapters: 1 System development as an industrial process, 2 The system life cycle, : 3 What is object-orientation? It also discusses the system life cycle. The idea of object-orientation is introduced and how it can be used in system development and during programming is surveyed Part II: Concepts. The second part is the core of the book. It covers the following chapters 6 Architecture, 7 Analysis, 8 Construction, 9 Real-time specialization, 10 Database specialization, 11 Components, 12 Testing The first chapter in this part introduces the fundamental concepts of OOSE and explains the reason why these concepts are chosen.

Two chapters discusses how the method may be adapted to real-time systems and database management systems. The components chapter discusses what components are and how they can be used in the development process. Testing activities are discussed in a chapter of their own. Part Ill: Applications. The third and last part covers applications of OOSE and how the introduction of a new development process may be organized and managed.

This part ends with an overview of other object-oriented methods. This part thus looks as follows: 13 Case study: warehouse management system, 14 Case study: Telecom, 15 Managing object oriented software engineering, 16 Other object-oriented methods. Finally we have two appendices. Appendix A com- ments on our development of Objectory and Appendix B summarizes the notation used in the book So, how should you read this book? Of course, to get a complete overview, the whole book should be read, including the appendices.

But if you want to read only selected chapters the reading cases below could be used. If you are an experienced object-oriented software engineer, you should be familiar with the basics. You could read the book as suggested in Figure P. If you are a manager you could read the book as proposed in Figure P. Hence, although the book is not object-oriented, it is written in a modularized way and can be configured in several different ways.

To build systems in this way is the theme of the book, and the technique and notation used above is very similar to the technique used also in this book. The main concepts were signals and blocks.

A real-time system is an open system communicating with its environment by signals only. Given a signal as input, a system performs internal actions such as executing algorithms, accessing internal information, storing results and sending output signal to the environment.

A less abstract view on a lower level models the system as a set of interconnected blocks. Blocks are modules which can be implemented in hardware or software or any combination of both.

A block communicates with its environment only through signals. Signals between two blocks are internal, whereas signals modeling physical communication, that is signals between a block and the environment of the system, are external, Internal signals are messengers conveying, data from one block to another within the same system. All entries of a block were labelled and constituted the signal interface of that block, to be specified in a separate interface document.

Hence the system can now be viewed as a set of interconnected blocks jointly offering the functions of the system. Skip to main content. A use case can be identified by asking stakeholders the following types of questions to which they must answer from the point of view of the actors : What are users in this role trying to accomplish?

To fulfill this role, what do users need to be able to do? What are the main tasks of users in this role? What information do users in this role need to examine, create, or change?

What do users in this role need to be informed of by the system? What do users in this role need to inform the system about? The Elements of a Use Case Although there is no universal format for a use case, it will usually combine — to a greater or lesser extent — some common elements.

Triggers: the events causing the use case to be initiated. A Use Case Template A case template is often created to support construction of the case. For example: Brief use case: A few sentences summarizing the use case.

Use case diagrams can be embedded at any level. The problem is that everyone writes them differently, and from different perspectives. Primary Actor: Who will have the access to this use case. In the above examples, administrators will have the access. Scope: Scope of the use case Level: At what level the implementation of the use case be.

Flow: What will be the flow of the functionality that needs to be there. More precisely, the work flow of the use case. Some other things that can be included in the use cases are:. Skip to content. Change Language. Related Articles. Table of Contents.



0コメント

  • 1000 / 1000