Photo Vieureka camera "VRK-C301"
Panasonic releases "Vieureka camera starter kit" for developers
If you write the contents roughly
The SDK comes with 10 sample applications that make it easy to imagine use cases.
Panasonic is compatible with the "Vieureka Platform (Vieureka PF)" ... → Continue reading
Weekly BCN +
It is a familiar IT business information site in Weekly BCN.
Weekly BCN + is an information site that supports partner businesses. Not only news, but also support for partner matching and column interviews by opinion leaders.
Wikipedia related words
If there is no explanation, there is no corresponding item on Wikipedia.
Use Case(Use Case) isSoftware engineering,System engineeringIn the system (or system of systems) functionalClaimThis is a technique for grasping behaviors including. Each use case is a main body (scenario) of a script (scenario) about some purpose/purpose/function.actor(actor)), which depicts the interaction between the user and the system. Use case actorsEnd-userIn some cases, or in another system. Use technical jargon in the use cases as much as possible, and use jargon that is easy for end users and business experts to understand. The use case is created jointly by the business analyst and the end user. A diagram of the use caseUse case diagramTherefore, there is no reason to strictly distinguish between the two.
1986, laterUnified modeling language(UML) andRational Unified Process Played an important role in (RUP)Iver JacobsonWas the first to codify a use case technique. Initially he usage scenarios And usage case I used the term, but I realized they were unnatural in English use case Came to use the term.. Kurt Bittner, for modeling use cases founded by Jacobson,, Gunnar Overgaard and others have made improvements.
1990 era, Use cases have come to be used as a method of grasping behaviors including functional requirements. Is the field of originObject-orientationRemarkable in association[Source required].. The effectiveness of use cases is not limited to object orientation. Use case specifications have no direct relationship with object orientation.
System engineeringIn, the use case isSoftware engineeringIt is used at a higher level of abstraction than that used to describe system missions and system owner goals.[Source required].. More detailed requirements SysML It can be grasped from the requirements diagram of.
Purpose and scope of use cases
Each use case describes a way to accomplish a goal or task. A software project may draw dozens of use cases for the planned system.[Source required].. The level of detail required for use cases changes depending on the degree of formality of the software project and the stage of the project.
Use cases and system functions do not always match. A use case may support multiple functions. A single function may support multiple use cases.
Use cases define the interactions between external actors and the system in achieving a goal. Actors are the "roles" of people and things that interact with the system. Actually, even one person is depicted as multiple actors if there are multiple roles. For example, Mr. AAutomatic teller machineIt is a "customer" in the case of withdrawing deposits at (ATM), but if Mr. A actually replenishes ATMs as a "bank employee", that is another role.
System in a use caseBlack boxTreat as. Therefore, the interaction with the system including the reaction of the system is depicted as being observed from the outside. This is an intentionally set policy and use case authors should focus on what the system does, not how it behaves. This avoids the trap of implicitly assuming a particular implementation.
Use cases include business use cases and system use cases. The only difference between them is their scope. A business use case treats the entire business as a black box and depicts the interaction of that business with outside actors (eg, a customer buying something). The business use case details define the business process.
Embodying business use cases explains how workers collaborate in the business to provide value to external actors in the business. If even some of the workers are automated, those automated parts are subject to system use cases. In that case, other workers and external actors will be actors in the system use case.
Here are some things to keep in mind when creating a use case:
- Draw how actors use the system to achieve specific goals.
- Don't use words that limit implementation.
- Draw at the appropriate level of detail.
- Do not include details such as user interface or display. These are the categories of user interface design.
How to write a use case
Degree of detail
Alistair Cockburn Writing Effective Use Cases Defines three levels of detail when creating a use case.
A brief use case is a statement that summarizes a use case. this isSpreadsheetBest suited for planning software development with. The summary use case is long enough to be written in a spreadsheet cell, with business priority, technical complexity, release number, etc. in another cell in the same row.
A casual use case is a more detailed textual description of the contents of a summary use case, detailing the use case in a story-like manner.
A detailed use case is a fixed document written according to a template that is divided into sections. Generally speaking, this is the use case. Detailed use case templates are described in detail in a later section.
Software development processIn some cases, only simple use cases need to be used for requirement definition. However, sometimes more detailed use cases are needed. The larger the project, the more detailed the use case tends to be.
The level of detail of the use case also depends on the stage of the project. The first use case may be a summary, but more detailed use cases will be needed as the development process progresses. Therefore, the requirements for use cases differ. Initially, a summary-level use case for gathering business requirements from the user's perspective is sufficient. However, as development progresses, developers will need detailed use cases as design guidelines.
Rational Unified ProcessLet's summarize the use caseUse case diagram, And put a short description as a comment, and then add a detailed description of the event flow. Sometimes these can be entered in one use case tool (ie, etc.), or of course they can be written separately in a text editor.
Use case template
There is no standard template for documenting detailed use cases. There are several methods, and either one is selected for each project or the developer selects and uses an appropriate one. It is more important to standardize within a project than to compare the details of a particular scheme. However, the main part is almost constant in any method. The difference between the methods is the usage of terms and the description order, and there is no essential difference.
Typical sections include:
- Use case name
- Version number
- Basic route
- Alternative route
- Business rules
- Author and creation date
Other sections are added depending on the template. For example, “assumption”, “exception”, “recommendation”, “technical requirement” and the like. In addition, special descriptions may be added depending on the industry.
Use case name
The use case name is for uniquely identifying the use case. It is desirable to use a combination of nouns and verbs (“borrow books”, “cash down cash”, etc.). It is also desirable to set a goal that can be completed (preferably "register user" rather than "register user"). In addition, it is desirable that the end users have enough detail to understand what the use case envisions. In goal-driven use case analysis, use case names that correspond to the actor's goals are used to clarify the user-oriented position. Two to three is appropriate for the number of words (in Japanese, particles are not counted). If it gets longer, you should change your mindset to a shorter phrase with the same meaning.
Version numbers are often required to indicate the stage of the use case. The first use case for business analysis can be quite different from the detailed version used during software development. In addition, since the old version of the use case may remain in the current document, it is necessary to indicate the stage of the use case.
This section describes the outline of the use case before it is completed. This makes it easy for the reader to get an overview. It is basically a few sentences, including a description of the goal and the main actors.
A clause that describes the conditions that are true at the start of the use case. However, note that it is different from the trigger that starts the use case. If even some preconditions are not true, it is uncertain what happens when the use case is executed.
A trigger is a condition for starting the use case. There can be external conditions, temporal conditions, internal conditions.
There is at least one basic scenario or typical flow of events for each use case. The basic event path is depicted as steps such as:
- System to the userLogonEncourage.
- User enters name and password.
- The system confirms the login information.
- The system leaves a log in the system.
There may be a second path or alternative scenario for the same subject in the use case. It can also describe exceptional situations and cases where problems occur (a separate section may be prepared for that purpose). In the alternative route, a number is assigned to each step of the basic route, and it is described at which step the branch is performed, or in some cases, at which point the basic route is joined. This is to avoid the waste of repeatedly writing the same information.
An example of an alternative route description is:
- 1. The system is on the user's machineク ッ キ ーRecognize.
- 2. Go to step 4 of the basic route
An example of an exceptional route description is as follows:
- 3. The system does not recognize the user's logon information.
- 4. Go to step 1 of the basic route
According to Anthony JH Simons and Ian Graham, alternative routes did not originally exist in use cases. Each use case was drawn for each route. Therefore, it was necessary to draw many use cases to design the system based on the use cases. In that sense, the use cases were purely for research rather than documentation.
It is a condition that should be true when the scenario is completed.
Is a rule to follow as a business of the organization regarding the use case, and it may or may not be documented. Business rules are a special assumption. Some business rules relate only to specific use cases, some to all use cases, and in some cases to the entire business.
Experience shows that no matter what template you use, there is important information that doesn't fit anywhere. Therefore, every template has a clause that describes such information.
Author and creation date
This section describes the author and creation date of this version of the use case. Also, similar information should be provided for earlier versions. However, this is not an essential part of the use case, so it is appropriate to describe it last. Use cases are made possible by the cooperation of multiple people and should not be claimed by an individual.
Use case description method
The relationship between use cases and actorsUse case diagramCan be illustrated. this isIver Jacobson Of Objectory Based onUnified modeling languageIs part of.SysMLBut a similar description is used at the system block level.
Use cases and development process
How the use case is used in the development process depends on the methodology in the development. Some development methodologies only require use case research. In other methodologies, the use case is refined and the character is changed as the development progresses. Another methodology starts with a business use case, develops into a more detailed system use case, and then into a more detailed test case.
Use case strengths
Use cases for softwareRequired specificationsIt is a mature model to grasp. In the past, when designing a new system, the requirements were put together in the form of a single thick document, but this often failed in the sense of completeness.
- Use case modeling (including describing use cases) is generally regarded as a great technique for understanding the functional requirements of a system.
- Use cases prevent premature design.
- The use case is verifiable.
- Use cases can also be used as a basis for estimation and scheduling.
- Use cases can be reused within a project. With each edition, grasp the required specifications, development guidelines for programmers,test caseAvailable for user documentation.
- Alternative routes for use cases can enhance the robustness of the system.
- Use cases are useful for setting the range. Use cases facilitate phased releases. Addition/deletion is relatively easy according to the priority in the project.
- The use case is intended to be easy for business users to understand, and is useful for communication between developers and end users.
- No special language is needed for the use case. You can write in a form that suits your individual project.
- A use case can describe a story. Converting use cases into stories and scenarios is very easy.
- Use cases relate to user interaction with the system. User interface designers can participate in the development before (or in parallel with) the development of the software itself.
- Use cases put requirements in context and clearly describe them in the context of business tasks.
- Use case diagramMakes it easier for system development clients to understand the system and its business areas.
- There are various UML tools for creating use case diagrams. CASE tools can be used to create use cases and use case diagrams that can be integrated with other design documents to store complete requirements, design and implementation documents.
- Some test cases (system test, acceptance test, functional test) can be created directly from use cases.
- Use cases are important to the efficient execution of.
Use case limits
Use cases also have the following limitations:
- Use cases are not good at understanding the non-functional requirements of a system.
- Use case templates cannot automatically guarantee clarity. Clarity depends on the skill of the author.
- It is not suitable for mission-critical or real-time systems where accuracy is important.
- There is a learning curve in understanding the use case correctly for end users and programmers. Since there is no standardized definition, understanding can only be deepened.
- Extreme programmingThen I say that the use case is unnecessarily documented, and I prefer a rather simpler approach.
- When writing a use caseUser interfaceYou may be wondering what to do with levels that depend on. Theoretically, the use case does not assume any user interface, but the use case cannot be visualized without assuming any interface.
- The use case is not suitable for platform specification specifications. The use case envisions one system to be implemented, but the platform (hardware or operating system) on which several systems operate.
- Use cases tend to be overemphasized.Object Oriented Software ConstructionIn (2nd edition)Bertrand MayerDesigning the system faithfully to the use case, other usefulRequirements analysisDiscusses the problem of eliminating techniques.