Unified use case method

zhaozj2021-02-16  96

Unified use case method version A0 IT source Zhang Wei

I. Using an example of the basics 1.1 Example of simple history use case technology generally experienced germination, maturity and development of 3 phases [12], the earliest date can be traced back to the end of the 1960s UML (unified modeling language), RUP (Rational Uniform Process) Parent Ivar Jacobson Dr. Iva Jacobs In the famous Swedish Ericsson Company leading the program-controlled telephone switch, the Traffic Case (traffic case), from 1986, Dr. Asia, Dr. Asia published by the Oopsla Conference [4 ] The formal birth of the use case is marked. In 1992, Dr. Yakhen was formally launched in his famous "object-oriented software engineering: use case driving method" [3], the use case method of the exemplary, with example driven became the core content of the Objectory process (one of RUP) Since this use case, the foreign software engineering community is rapidly popularized, and in the middle of the 1990s, RUP and UML are absorbed as core elements, and Dr. Yakhen is in the "Road of Unified Software Development" [4] and "Unified Software Development Process" [5] made a wonderful explanation of this, these books have become an important work of understanding their cases. Today, as an essential key content, the use of example technology is always cited by all contemporary needs engineering, and "use case" itself is almost symptoms of functional needs. (Note: Considering the origin relationship in history, in order to facilitate the convenience, the following uses the term "Akths" or "Achake Schedule" namely RUP, UML, and its supporters, despite them each other There may be a subtle difference, and it is not necessarily all by Assassin himself asked or approved.) Use another mainstream faction Representative ALISTAIR COCKBURN (Alisi · 寇 本) last century 90 generation I learned the use case from Acx Shen, which was subsequently inherited and developed through ten years of serious extensive practice.本 本 本 本 本 19 至 至 至 方法 方法 方法 方法 方法 方法 方法 方法 方法 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化 化 中 中 中 化/ Semi-structured text use case is a major feature of the method of 本 本, the book can be said to date the most detailed use case textbook, which has a high value for how to write text use cases of the practitioner. 1.2 Using an example definition, let's start discussions from what is the use case. Akiss Definition [7] emphasible cases are an action sequence executed by the system (Note: This also interacts with the user), which must have observable, valuable, valuable, valuable, valuable, valuable result. (Note: Actor is essentially a role playing in the user) So what is the result of "observable, valuable"? Although the two use cases are inherently consistent, the Akiss definition does not say this, and the 寇本 definition [1] is more perfect and clear. It first emphasizes the use of a variety of system beneficiaries (Stakeholder, translating "Conditions") (Note: Activities, action, and interaction between action, and objects), establish a contract To reach a certain goal, every use case and its name should actually represent a user objective. Is this goal that is really satisfied is the key to determining whether the use case we extracted is "valuable".寇本 also got out how to implement the specific implementation of the use case, how to implement the actor's goal is achieved or failed, and one use case is actually a plurality of plots executing under different conditions and may result in many different subsequent states (Scenario, and translating The superposition of "scene") is the "observable" of the use case.

Therefore, we will integrate such a few keywords: goals, behavioral contracts, behavioral (event) sequences (action and interaction), plot, observable, valuable, and accurately describe the essential characteristics of the exemption. 1.3 The importance of use cases Why is the usual example? One words, this is because the use case is a common objective reality, and practical proves that the use of examples is the most profound, accurate and effective system functional demand description method. Functional requirements refer to the mapping of the system input to the output and their different combinations [9], any feature inevitably to complete through the interaction between the external environment and the system, is this not exactly what to reflect? Therefore, we can set up the functional requirements of the usage and the system in content and form, and it is concluded that as long as it is software, there is inevitable case (although sometimes not necessarily used in some specific case format) Among them, it contains data streams, and also includes a control flow, which contains both messaging and data exchange (interaction), including activity / action execution, and changes in state. These are the essence of the use case (the real, abstract "embryo" behind the phenomenon), while various format text, UML graphics (we can use at least 4 UML dynamic graphs) However, it is the exteriority of the use case. Therefore, it is better to say that Jacdu. Dr. Yacch is not as early as 20 years ago, it has been discovered this objective reality, and finally invented the use of examples and the method of driving the software process. So, in what case is not suitable for use case method? There are two main situations: (1) Users have little or no, the interface is very small, such as scientific computing / simulation software, killing virus software, compiler, memory management, etc. [9]; (2) Features is very simple, Non-functional needs and constraints dominate. Obviously, most of the application software, system software, especially the complex system of telecommunications, banking, insurance, taxation, manufacturing, enterprise informationization, is in line with the applicable case, reflecting the use case from one side Wide applicability of technology. Please note that even in both cases, it is not said that these software use cases do not exist, but only indicate that their functional demand is simple or less important, except for use, there may be more applicable methods. The correct and effective software demand must be testable and verifiable. In the past, we described that the functional demand may adopt a variety of methods. In addition to strict formation, the universal disadvantage is that the particle size is too thick, the accuracy is not enough, mostly stayed in the beneficiary requirements (feature). [9 ]. For example, for a "print report" function, it is usually description of its static input and output only, and it should also describe the specific operational flow of the user print report. What special conditions and option settings are there. And it is dependent on other needs. Many teams began to rush to coding in demand, and the result is often caused by a large number of demand risks and even architectures to be hidden to constructs, and the transfer phase has been discovered, which must cause frequent frequent rework and severe resource waste. Timely and accurately grasp the demand contract - the key to use case, can help us to effectively avoid the majority of abnormal demand changes in the later period of the project in the absence of practicality, flexibility, and win the progress of the project Valuable time and improve the success rate of the project. 1.4 Related Translations Like this opportunity, let's talk about USE Case related terminology translation. The author believes that "use case" is currently a better translation, which may be derived from "test cases" that everyone knows.

Some people think that USE Case is translated into "use case" is a wrong [11], the reason is: "'Example' is listed in order to illustrate some cases, using the universal adaptation to a system function usage Description, rather than using this function or in individual conditions, it is not described by way of example, so it cannot be called "use case". This kind of saying is not comprehensive, and some will be strong (no matter whether it is correct or not), in fact, USE Case is individual or group (universal), depending on our point of view. Although USE Case is superimposed in multiple plots, it is a combination of a whole, but we know that a system function must be countable, limited, and each function can be expressed as a USE CASE, so on the level of all the functional requirements provided by the observation system, Use Case is another possible individual ("ellipse"), each represents different user objectives, suitable for individual Actor and Individual specific preamp. The same thing is both an individual is also a whole. This phenomenon is not strange. For example, in the UML object-class-class relationship, usually the object is an instance of the class, and the class is an instance of the class, and the class is coming Say, class, interface, subsystem, use case, etc. is an individual's concept, class is both a collection of object instances and an individual element of its type. It can be seen that the "case" "case" of Use Case is translated into "example" is not wrong. Some places translate USE CASE into "use", "the situation used", meaning is true (another way of use case is "means of use")! But I always feel that this word is more awkward, I have a "use case", and Scenario is called "case", probably these words are not very good in line with everyone's habits (similar, since it can be called " ", Why can't I call" useless "?), So now" use case "is still more and more. In fact, the translation of "use case" has an accompanying benefits. We can easily link USE Case and Test Case (Test Case from Scenario, while Scenario is an execution) from the use case. The Chinese name is also conveniently unified. However, here we need to make a small improvement. "Test cases" in Chinese refer to Test Case (noun words in the name), or refer to the use case (Testing the USE CASES, the Bin "? Obviously these are not easy to distinguish, and if the two words "use case" and "test cases" appear in one sentence or a paragraph, people often feel and twist. In order to eliminate ambiguity, simply call Test Case "test", which is not only more concise than the previous call, but also very much in writing or semantics. Of course, use cases and tests are "examples" in different levels. There are also many translations on the market now, and common include "participants, executors, protagonists", and more. The "participant, executor" is mainly inaccurate. First, "Participants" usually make everyone think about the word participant, and please note that a true participant of a use case is quite external Actor, which necessarily includes the system itself and its internal elements.

The "executor" is similar to this: a real executor of a use case should be the system itself! Therefore, it is wrong to say that this is wrong, and it is more appropriate to call "external participants" and "external executives". The translation of the protagonist also has contradictions. If the Actor is called "the protagonist", the Primary actor should be called the "main protagonist". It seems that the actor is not included in the "Lord", then "angle" is left, and UML already has a special term Role (role), we can't call the actor directly as "role". At present, it is more appropriate to embrace the Actor "user". In most cases, the actor is indeed the user (exactly a role that the system user is played), so we can use the word "user" from the literal to "user" (user ", but At the same time, it maintains the semantics of both. We can also call the Supporting / Secondary actor for system services (see below) (in order to simplify the "word) or" pair ". In addition to the user of the system, "user" has another layer of meaning, that is, the actor is a user (or user) of the user (or user), this relationship should be visualized between the UML case example. Connection (association). This way, not only is said, but also more convenient for business personnel who are not familiar with software technology. Of course, we don't rule out the better translation of terms that will find "use case", "actor". Second, unified use case method 2.1 Why is this unified use case method (UUCM), do you have this? We have found that although the use case of 寇 本 用 用 申 申 申 申, after more than ten years of development, the two use cases have gradually occurred some significant differences, and we have not yet been in business or other aspects. Seeing the significant trend that both will be integrated. The two methods have advantages and disadvantages, and the 寇本 emphasizes the target-based text format, and the optional examples are more prominent, as shown below, there are at least 10 differences. For practitioners, how to deal with these significant differences, avoid the misunderstanding of the use, and can make a hierarchy, realize the bear's paw and fish, these are very realistic in practice. problem. The author believes that combining the unified use case method, combining the use of Yakhen and 本 用, even other use case methods (it is said to have more than 18 kinds of use of various uses [2] [6]), Both theory and practice are feasible and necessary, which may be the best strategy we can take. However, UUCM itself is not a new use case method, but is just a specific processing plan. It is based on the inheritance of Yacch, and 寇 本 用 理 method, trying to eliminate inconsistencies and contradictions of these two classic methods, and explore possible optimization improvements and follow-up development, so the role of UUCM and Yacch, The This use case method is secondary and tiny. The following is comparative analysis of the differences between the two methods and gives UUCM recommendations. 2.2 Levels clearly propose the level and range division of the use case, which is the essence of the "target-based use case method" [2]. Obviously, the meaning of each use case is to complete a certain user objective.本 用 用 例 例 例 例 层 层 层 层 层 层 层 层 层 目 层 层 层 层 层 层 层 层 层 层 层 层 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 帮 次 次 帮 帮 帮 帮 度The use case will eventually be implemented to the user's target layer) to prevent the explosion of the case.

The Akiss-Shen method and its related literature are introduced to effectively control the particle size of the use case, generally only the two basic judgment rules: (1) By judging whether or not the content is valuable, it can prevent the use of excessive (for example, "input The particle size of the goods is too small. This is not a real use case, which is equivalent to the sub-function layer of 本); (2) By judging if the specific content is observable, it can prevent the use of excessive (for example, "user management" It is more void, which is not a valid use name, which is equivalent to the summary of 本). However, as mentioned above, what is "valuable", what is "observable", how to grasp this degree, Yak Shen method is unknown, bringing RUP and UML users to a lot of confusion, and The method of 本 方法 has answered this problem. UUCM: Through the analysis of 本, we found that there is a longitudinal (level) and horizontal (range), which is a very valuable concept, which is rich and perfect for the Sakhen's basic use case method. Conflict, you can use it in RUP-related practices. It is worth noting that we should pay particular attention to user target layers in practice. The main purpose of the introduction of the introduction of the summary is to include one or more user target layers, providing a global function view for the system, and proposing the sub-function layer is used to express the specific implementation steps of the user target layer. Although sometimes it is simple, we also called "use case", but in fact they are not true. It may be to prevent abuse, the decomposition of misuse (this is easy to attract people back to structured functional decomposition), and the Sakuctic method does not mention even intentionally avoiding the hierarchical problem. Dr. Yacchch in recent article [12] introduced the concept of use case fragment, which means that we should call the sub-function layer of the 本 方法 用 用 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片 片A better way of processing in the future. 2.3 Range of the scope of use, two methods can be basically consistent, can be divided into business cases, the system uses two types, and the difference is that the 寇本 emphasizes the explicit manner of the format indicates each use case. The concept of the outermost layer (or the most peripheral) case [13] is proposed on the basis of the use case hierarchy [13], which is not available in the beeking method. UUCM: The essence of the use case is a collaborative and interaction between the objects. These contents are required or designed. The key is to see the discussion boundaries you have settled. We can not only use it to describe the functional requirements of the system boundary (the general definition of the use case), but also describe the black box interaction between the system in the system, component, interface, or class / object boundary. However, the latter tends to involve the design of the system, which belongs to the special usage of the use case, which is generally not considered when doing the needs of the project. As I mentioned, the same case name, such as "withdrawal", may substantially represent two distinctive use cases: one is ATM withdrawal (system usage), the other is the bank counter withdrawal (business use case). Therefore, it is necessary to labeze its range in one case. We can use specific icons, or use specialized format fields to indicate the range of use cases, but also modify the name of the usage to distinguish, such as "counter withdrawal", "ATM withdrawal".

The current discussion boundary (SUD, THE System Under Discussion) is generally easier to determine, so how to judge a use case from the scope of the use case, or is it a business use case? (This is a very high "FAQ). There is a tip: if a SUD or the scope of the use of people contains people and the people consisting of people, the department, organization activities, then the use case to this SUD is inevitable is a business use case; if the SUD is just some software, Hardware, electromechanical equipment or systems consisting of them do not involve people's business activities, then based on this SUD is definitely the system use case. Due to the system (note, "system" herein refers to an IT system consisting of soft and hardware), which is often part of the business, we can also conclude: For a system use case SUC, you can always find a business case BUC The range of BUC is greater than or equal to the range of SUC; when the range of the two use cases is equal, BUC is the level of SUC, or BUC is higher than the SUC level. 2.4 Include and expansion Due to complex reasons, how to better means that the relationship between the use case has always been a disputed problem, and I am afraid that it is still difficult to cond this for a longer period of time. We have found that there is some significant differences in the use details of 本 本 方法 方法, including, inheritance, etc., in which a large part of the reasons may be due to the definition of existing literature on the use case relationship is not accurate and perfect. It causes everyone to take the desired, each interpretation at each interpretation. If we don't pay attention to this situation in practice, it may bring obstacles to the communication and communication of needs. 2.4.1 The relationship between the same pair of use cases is the same, in the 本 用 例 model, the relationship is included, but it may be expanded in the Sakcto mode. For example: Figure 1, 本 画 法 [1] Figure 2, "UML Reference Manual" painting [10] UUCM: Why is there a difference? To illustrate problems, let's take a look at the text description of these use cases. "UML Reference Manual" Write: Base Use Example ATM Session: Display Open Advertising Include Include (Verify Account) ---------------------------------------- - (Extended point 1) Printing with item titles -------------------------- (Extension Point 2) Log out of the extension: Received the following request specified the number of withdrawals ------------------------ "Produced request> (extension 3 Payment here, we are not difficult to explain why the relationship between the ATM session and the withdrawal is extended (Note: This itself may not meet the principles of the Sakhen Shen exemption [4]). Since after authentication, what is the specific operation of the customer can be any one of the payment, deposit, transfer, and inquiry, etc., and even possibly add (extension) new features in the future, and ATM prints. The content will vary depending on the user's operation. The incidence of these contents requires a certain condition, which is possible, which seems to be a definition of extended use cases. Taking into account these factors, the embodiment then uses the strategy of Figure 2, and extracts possible operation and printing content from the base case. However, don't forget, in addition to the expansion can only be triggered under certain conditions, the extension of the extension is also required to perform any effect on the implementation of the propeller examples even without the expansion case insertion. .

Therefore, if we take the two extensions in the upper text (just look at the text on the left) and refer to the standard of the target use case, it can be found that the aliquot is completely not a target for full implementation. The above writing is problematic, it is incomplete, and the efficiency is not high, it seems to imitate some of the processes and ideas of programming languages, which is not worth promoting in practice. Let's take a look at the "use of ATM" of the 本 版 [1]: 1. Customer card, enter the PIN. 2. ATM Verify the customer account and PIN. 3. Customers perform the following matters: Use the deposit transfer to query the customer to perform the above transaction until you choose to exit. 4. ATM returns. Here, withdrawal, deposits, such as payment, deposits, clearly appear in the basic stream of the use case, clearly they are all contained in "using ATM". Note that each action step is not necessarily executed in the use case, which can be cycled, selectable, or even any sequence, such as step 3 above. In WEUC, Book also pointed out that in actual withdrawals, deposits, transfer, etc. are all special examples and avatars that customers perform a transaction business, so it is also possible to further paint in the form of Fig. 3. We can see that Figure 1 is actually a simplification of Figure 3. Figure 3, how should a more accurate picture determination of a use case relationship Is the relationship or an extended relationship? Some situations are also more clear, for example, for "verification identity" and "swallow", everyone may have no objection, agree that they are "using ATM" including use cases and extensions. However, once the case occurs, it is difficult to handle it. However, we can usually determine this: If the trigger condition contains things responsible for the basic example, that is, the case example knows when the additional use case, why, then the album should include (call or reference) it; if the condition is triggered A thing that is responsible for the additional use case, that is, an additional example knows when it should, where, why should the additional use case expansion be used [1]. These two rules are still very useful. In addition, according to the author's experience, it is also possible to refer to such a simple rule: Any additional use case that occurs in the basic stream of the use case should be used as an example, and the additional use case that appears in the extended stream is inevitable. Obviously, Figure 3 is in line with the above rules. The problem seems to be solved. However, in the UML 2.0 Structure Specification (www.uml.org), we saw the solution similar to Figure 4: Figure 4, another approximate picture, some people have to ask, why is the same paragraph use case text description However, there are two contradictory UML paintings, the same use case "withdrawal" is included in Figure 3, but in FIG. 4 is inherited, which is right? In fact, Figure 4 and Figure 3 are exactly consistent in the entire content described in the whole, and the problem is in the name of the case. Analysis, the relationship between comparative examples, please pay attention to the contents of the use case - action step. We can find that the "withdrawal" in Figure 4 is different from the substantive content contained in the "withdrawal" in Figure 3, a large, one small. Therefore, if we change their names to "withdrawal transactions" and "payment (transaction) operations", and agreed that the former "greater than" latter, you can have an unity to a certain extent, so that two images are approximately Equivalent. Regardless, Fig. 3, Fig. 4 is unanimously unintended to expand the use of "withdrawal", "deposit", "transfer" as a reference case. The author believes that after the improvement, these two paintings are currently feasible, while Figure 3 may be better. A deeper discussion on the use of examples, expansion, and inheritance relationships is worth writing a special article, which is impossible here.

In the current situation, it is recommended that you don't know what is the relationship between the two use cases. It is better to include the relationship if it is unclear, it is not as good as the relationship, which does not affect the subsequent system analysis design and use. , Because the content of the use case itself is written is the essence of the problem, the real key. In short, practitioners don't expect to accurately determine the relationship between them only by watching the names of several use cases. Reliable basis comes from the inside of the use case, it is not necessary to waste too much time in the relationship of the use case, this problem can be resolved to solve the scholars and researchers. 2.4.2 Sub Use Case This is called Sub Use Case in WEUC, which is the meaning of Subordinate Use Case, but in fact, Subordinate Use Case (author translated into "Decree") in the Aglet application There is a special purpose (Dr. Yacch), which is proposed in the SystemOf InterconnectedSystems mode for large-scale system modeling, with the hyperviscribed system / super-use / division system / division [4]). The Sub Use Case called the Suben used to be directly translated into Chinese "child use case", resulting in a new misunderstanding because we know "father and son" said that in the OO method is usually used to describe the inheritance between object classes. The relationship, subclasses are derived classes of the parent class, apparent that this does not match the true semantics containing the use case. In UML [10], the use case, the extension is called an additional use case, which is included, and the use case of the extension is called a reference case. In the inheritance relationship of the use case, the parent example, the child use case, this way, It is appropriate. UUCM: It is recommended to use the "included example" or "additional use case" to be distinguished in practice, and it is clear that the use of "child use case" is clearly agreed. Inherit or generalized. 2.5 Actor types of actors have 7 kinds of actor types, including [1]: actors, External actor (An actor outside sud), Stakeholder (An External actor), Stakeholder (An External actor) , Primary actor (a stakeholder who requests that the system deliver a goal), Supporting / secondary actor (a system against which the SuD has a goal), Offstage / tertiary actor (a stakeholder who is not the PA), Internal actor (either The SUD, A SUBSYSTEM OR An Active Component of The SUD. RUP About Actor [7] is: Someone or Something, Outside The System or Business That Interacts with the system or business. UML definitions are: an actor specifies a role played by a user or any other system That Interacts with the subject. UUCM: Akissic Examples and 本 用 examples have a significant difference between the definition of the Actor.

Yacch and UML Actor are people or objects outside the system, while the meaning of the Actor Actor (may come from the early Sak Schedule) more general, with a much larger, and there is an internal and external Actor. Since we determine that one of the main purposes of the Actor is to delineate the boundaries of the system (or business), you should always treat the actor as an external thing outside, so that the internal actor is unnecessary concept. Moreover, the actor is important in practical application [1], the primary purpose of identifying the Actor is to help extract the use case, and usually do not need to distinguish such a detailed distinction in various Actor types. In addition, the definition of Stakeholder is also different from the definition of Stakeholder.寇本 believes that Stakeholder is an external actor (Note: This is a significant contradiction between the definition of the use case [1]), this is wrong. According to common sense, all stakeholders include internal actors, and external Actor should belong to the Stakeholder, especially when we discuss business organization. 2.6 Compared with Yak Schedule, the rear conditions of the use case have been subdivided, and the concept of minimal guarantee, success guarantee, etc., which make sense. The minimum guarantee describes the system whether in any case, especially when the use case failed, the target is not reached, and the at least code conditions and the measures should be taken. UUCM: It is recommended to adopt the minimum guarantee and successful guarantee of the method. In addition, in addition to the conditions necessary to satisfy the conditions in the preamp, rear conditions (minimum guarantees and successful assurance), the system can be explained separately before and after the start of the use case, including various success and failure states and failed. State processing. 2.7 Action Steps This use of the example step adopts a unique number of numbers. The basic stream uses 1, 2, 3 ... sequential number, the conditions of the expanded stream, using the digital, alphabetic interval, such as 1a, 1a1, 5c, 5c3b1, etc. And you can also use the macro character *, you can specify the conditions of any number of steps, such as 1-9a, 2, 7-9c, etc., it is very convenient to use. The basic stream of RUP, expanded flow steps completely use the sequential number of natural sections, such as 1.1, 2.3.4.1, etc., not convenient for the reader to find the specific reference location of the use case, which is more troublesome when specifying the extended position. On the other hand, each step of the RUP case can be attached to an name, which is called "Name Procedure". If one step is more, with a phrase tag to summarize the general content executed by this step, it is indeed convenient, and it is possible to use the activity diagram of the drawing case in the future. UUCM: It is recommended to adopt the step number of the Ben Ben and the RUP's naming step method. 2.8 Text and UML Aqueling Methods and UML, there is natural and close relationship between the RUP. The use case is driven, visual modeling is two major characteristics of RUP, if the use case and UML is absent, RUP is not called RUP. In the subscriber method, in addition to the exception of the format text described in RUP, it is also recommended to appropriately select the use of UML modeling, sequence diagrams, collaboration diagrams, activity graphs, and state diagrams 5 illustrations to describe the use case, It can be said that the means is sufficient, weapons are ready.本 Represents the main base of WEUC is a text description of textualization / semi-structural text. Although he also mentioned UML, discussions mainly focus on how to properly treat UMLs and related case tools, etc., the role and significance of the other four diagrams used to describe dynamic behavior are insufficient enough, in fact these The role of the map is much more important than the example example, and it is also an embodiment of the power of UML. UUCM: As mentioned earlier, text use case is essentially a row of the execution step of the object interaction process.

The use case itself is the most critical and important thing about each "elliptical" inside. The relationship between the use case is relatively important. At this point, it can be said that the view of the subscription method and the method of 寇本 is Consistent [1] [4]. In practice, we have found a lot of time, write a text system, after which the existing text indicating that the UML map is longer to describe the graphics to describe the system use case. It can be seen that the analysis of software requirements, we should first put more energy in writing a good text (this is the strength of the method). However, 本 believes that "Sequence Diagrams Are Not A Good Form for Expression Use Cases" [1], this statement has a loss and comprehensive. Throughout the book, Jie Ben is mainly analyzed from the perspective of tools. He is quite a micro-words in the book that is not so advanced, and thinks they are not more convenient and effective as text writing. However, in fact, this is only one aspect of the problem, and the defect of the UML tool does not simply be equivalent to the defect of the UML language itself. Correctly using UML and its tools are not only for an image of intuitive, cross-reference, hyperlink, name automatic change, etc., more important reason is that by appropriate UML graphics, such as SSD (system sequence diagram), To accurately define and describe the contract between system events and system operation as its response (that is, the input and output of the system) [8], which is the starting point for subsequent system analysis and design. The sequence diagram actually plays a considerable key role in the use case analysis, and it is also a very common practice to use it in practice to portray every important system. Moreover, when analyzing complex business processes / business use cases, people seem to be more accustomed to first-draw activities (may be related to human thinking habits), but not willing to adopt cumbersome text descriptions. For complex and critical use cases, in addition to some necessary text descriptions, the reciprocation can be visualized in a UML activity diagram, a sequence diagram, or a state diagram, which is a good practice, which helps clarify the nature of the problem and quickly seize Essentials. For complex use case models, it is also necessary to provide global browsing views by using the relationship between the use case. The UML graphics and text descriptions of the use case are not to replace who is the relationship, but complement each other, the advantage is complementary, and should be applied to the local system. Not only that, but also the structure / semi-structured text and UML graphics of the use case, often helps to compare each other, confirm, significantly improve the correctness of the use example and analysis. According to my experience, it is best to combine the two to use the effect. It is not necessary to emphasize a certain aspect. 2.9 Black Box White Box Adaptin's use case implementation (UCR, USE Case Realization) [5] is a very important concept in RUP, UML, which describes how internal objects interact with each other, theoretical Each usage should have at least one UCR and it corresponds, so UCR has played a link problem domain and solution in the subscription method, and the key role of the entire software analysis design process. In the method of 本, there is no UCR term, only black boxes (demand), and the reduction in white box (implementation). UUCM: First, since talking about the functional requirements based on the use case, then it should be a black box, transparent. If we see the situation inside the system (white box, opaque), this is actually a realization of demand. Therefore, we should try to avoid the contradiction of "white box use case" at the time of demand analysis. Strictly regional UC and UCR helps the project team to eliminate demand and implementation in practice.

This is more common in the programmers who have been written to write demand, and they often write to the write software design plan, which is often written to the software design. This is very bad. 2.10 Format Template A total of 5 main use format templates in Weuc: complete, simple, single-column, double column, and RUP style. Here, we recommend a complete type (本 本 的 爱 的) as a UUCM template that combines single-column and RUP style features: use case name: level: |! | - Scope: Brief, background: Lord Users and benefits: Other beneficiaries and benefits: beneficiaries 1: beneficiary 2: Minimum guarantee: Status 1: Status 2: Rear condition Success: Pre-conditions: Condition 1: Condition 2: Status 1: Status 2: Trigger event: Basic stream: 1. Step 1 2. Step 2 ... n. Step n Extended stream: 1A. Condition 1: 1A1. Step 1 1A2. Step 2 Extended Point: Name 1: Location 1 Name 2: Location 2 Technical and Data Variation: 1A. 2A. Non-functional requirements: Business rules: Note: Other necessary fields ... Table 1, UUCM template V1.0 double column table is more used to describe the user interface Demand, some people prefer it, but we have found that the double list is not simple enough, compare space, and many situations are not applicable, such as more than two cases. Third, the use case method of the synonym with the target-based structure / semi-structured text description is long, and the acrymy application method is more emphasis more attention to the UML visualization modeling and use case driver. Even though the same peers [1], there is a significant difference in some details, and each is still moving forward along the existing track. The unified case method proposed in this paper is not a new method. UUCM is just a symbol or representation (maybe there may be other better names), which essentially represents a solution and ideas, with the aim of absorbing Accompanying and The strength of the use case method, eliminating the inconsistency of both, helping practitioners avoid the use of misunderstandings, play the use case and the UML method "1 1> 2" joint advantage. This is both a choice of practice and a need for reality. Saying the trend of the world, the long-lasting, long-term basis. UUCM is not a period, but a new starting point. For commercial, private or other reasons, many technical geography in China will continue for a long time for a long time, which is a good thing. However, for our practitioners, there should be no obstacles for martial artificial segmentation when choosing practical engineering techniques. For specific occasions, specific projects, companies often have only a wise choice, that is: Create the largest customer value with the smallest cost. Therefore, we can take the attitude of bits to practical technology, prevent Guru-Locked-in, the best use! Acknowledgments Thank Qiu Qiwen (from him, I learned the word "embryo"), Pan Jiayu, Shen Zhongjun Dr. Shen Jun took the full text in his busy schedule and put forward valuable improvements! References [1] cockburn A. "Write an effective use case" (English version), Machinery Industry Press, July 2002.

转载请注明原文地址:https://www.9cbs.com/read-13175.html

New Post(0)