PUT IT INTO a Context!
Diagram saying the size of size
As a user of use, I want to emphasize that the premise of this paper is that you have realized the importance of demand work, and clearly understand the problems in our needs, and use cases in demand The improvement role in the work has certain awareness.
Patterns, is a set of questions and solutions, which is a relatively excellent solution for specific issues in a specific environment. It is more important that there is a universal name as the cornerstone we communicate.
Now, the use case basically has become a model. Because it is a relatively excellent solution to a specific demand problem in a particular environment. ^ _ ^ (Isn't someone writing some use case mode?). When I heard that my colleagues were arguing, "a use case or two use cases", the ear is all kind. As the work is in-depth, the use case technology has been placed in a very high level. Indeed, after this technology, there is more thinking about problems.
For the particle size of the use case, it is really a problem that many people's headache. I have participated in the UMLCHINA online meeting today, and I also see this: Many people's speech themes are the particle size of the use case. It is said that "Mastering the Demand Process" This book also proposes the size of the use case. I haven't seen it (it is estimated that I will go to see it. ^ _ ^), Here, I will first put forward my understanding of this problem.
problem
In many information, we can see that use examples into two types: Business use case and use case, formerly for business modeling, the latter is used for system modeling, that is, their applicable range However, the same example format is the same. Although there are countless data and information suggest that business modeling is very important, but our project is generally, there is no time to separate business modeling, and can effectively organize the system model in the demand process. Compare less.
The practice of RUP data is to derive the model model of system modeling from the business modeling model and business object model. This process looks like a chapter, but, as before, lack of business modeling, we When the system is used directly, it will feel that the particle size is difficult to master.
How to use the use case technology in such a project to analyze the demand analysis?
As the evolution of traditional use case technology (IVAN), Alistair Cockburn is in the "Writing Active Example" except for the "contract" definition in the supplementary example, it also proposed: It is also a system use case, which is also hierarchical. According to his statement, system usage, basic division: summary (system) use case, user target stage (system) use case, sub function (system) use case. I personally think that hierarchical treatment of system use is one of the successful highlights of the book. He breaks our constraints of the single system usage, triggering our thinking and expression on the target level.
Then, this will lead to a new question: Which level should we pay attention to system usage? (Also a problem with a particle size).
There are other related issues caused by granularity: use reverse push method, let us think, use the beneficiary of the case, they all need to get in use? What is the problem now? How can we do an optimized balance between the quality and limited working hours of our need to guarantee?
As one of the best guarantees for software quality, testers need system testing and integration testing of our system (unit testing, we will give developers ^ _ ^) They usually do not understand business, and system testing Integrated testing requires testers to simulate different login roles, perform testing throughout the system process. What time should they intervene in the software development process? Of course, it should not be the design phase, class diagram and sequence diagram developed in OO. At that time, business logic will be broken down into a class of classes. (I don't want to distinguish the design and detailed design here, we are increasingly found, the traditional profile design and detailed design work will become very uncomfortable, we recommend: Design by a group of people To do it, don't distinguish it again.) Not much disconnection, testers can only be intervened in demand process. (If you need it according to iterative development, you should be said to be intervened in the instruction stage, but we only look at an iteration Discipline. This way,
You can correspond to the traditional waterfall or the lifecycle model of the spiral, in which the demand process is always placed first. ), And, they have the demand manual that must contain a complete system process and different login users in the process.
Figure 1 Focus on an iterative process in the iterative model.
solution:
My solution is: put the use case in the context environment. (Put Use Case INTO Context).
Please note that there are several meanings about context:
1: It is the context environment meaning used in the mode, indicating a particular environment that can use the case (mode).
2: It is the context environment of the use case, which is a specific business environment to be expressed in use.
3: It is the context environment in the use case text, usually we call the scene of it.
I don't want to sort out a use case mode, so the first is a joke; the use case scene, I have my own name, I don't want to change it, so the third is not our attention.
By the way, we are mainly focused on the second meaning: the specific business environment to be expressed.