UML Weekend Crash Course⢠- To Parent Directory
UML Weekend Crash Course⢠- To Parent Directory UML Weekend Crash Course⢠- To Parent Directory
Session 4—Defining Requirements for the Case Study 39 and time of arrival. Not all this information is necessarily essential to the business, but it does help management make decisions about shipping companies and suppliers based on their delivery performance. During the analysis phase, rules are a major focus of discussion. They refocus your attention onto why the client is doing the job that particular way. For example, why do they need the extra shipment information When you use this line of questioning, you bring the client back to that important question, “What is really needed to make this system work correctly” And, “What is essential” versus “What do you do because you want to, or because the old system didn’t work, or because you are used to doing it that way” The UML diagrams provide places for you to capture these rules. In Sessions 5 through 8, you will use the Use Case model to describe how the users plan to use the system for filling orders, stocking products, and so on. Sessions 9 through 13 use the Class and Object diagrams to model rules and constraints for the resources the system manipulates like shipments, products, and orders. Sessions 14 and 15 model how the various processes are supposed to work using the Activity diagram. Sessions 16 through 23 explain how to use the Sequence, Collaboration, and Statechart diagrams to capture how objects behave when they are used in these processes. Performance Performance requirements define how well the system solution should perform when you use it. The challenge here is that the means to achieve the required performance may require choices at any or all the project phases. For example, the speed at which the product search window refreshes may reflect the volume of data being requested, bandwidth on the network, server memory or speed, the efficiency of the code, and so on. If you can identify the performance requirements, then you can use them at each phase of the project to evaluate how what you’re deciding in that phase could affect the ultimate outcome. Consider the impact on these design phases if the requirement is a specific response time threshold for all applications: Requirements gathering: Earlier, I said that the inventory control system users wanted to network the warehouse to the accounting office so that they can do inventory searches, but the phone lines would be so restrictive that this would interfere with the performance of the system. Addressing this requirement could require feasibility testing to determine exactly what performance levels could be achieved given the current limitations of the phone lines. Analysis: In the inventory system, users have defined product searches that bring the current system to its knees. You could restrict the allowed lookups to take advantage of the database configuration and guarantee the required response time. Design: The database in use is two versions behind and the current version promises to provide the speed that would satisfy the required performance level if we also put the restricted lookups in place. Unfortunately, the upgrade adds three months to the project and 15 percent to the project cost. The most important point to remember here is that performance is not a concern to be left to the implementation phase. Performance should be addressed throughout the project.
40 Friday Evening An Inventory Control System Now to the nitty-gritty part you’ve been waiting for! As a hands-on opportunity to explore the diagramming techniques, you’ll work on modeling the inventory control system. Although you won’t be able to build a complete model, you’ll have ample opportunity to try the UML modeling notation in a reasonably realistic setting. The goal of this course is to build at least one of each type of diagram to model the inventory control system. This should provide a representative sampling of how each type of diagram may be applied to understand and to solve a problem. Beginning with user requirements and progressing through the logical modeling of classes and objects and their interactions, you will move on to process modeling, and finally implementation modeling. In each session, I explain the use of each diagram and the notation used to express the model fully. Identifying requirements There is a wealth of material in bookstores on gathering and documenting requirements. The variety is a reflection of the diversity of applications under development. Some of the techniques can be large and sophisticated. But because this book is intended as a crash course, I don’t want you to get diverted from the focus, which is applying the UML modeling language to describe systems. So I take a simplified approach. One approach to gathering requirements is to look for them by examining the problem statement and the supporting documents and interviews from different perspectives. Using these different perspectives also helps to validate the requirements by giving you the opportunity to compare and contrast what you find from three overlapping sources: Users: Users have expectations for the use of the system. Resources: Resources are represented as information that is created, used, and deleted by the system to support the system behavior. Functionality: Functionality refers to the behavior supported by the system. While you’re researching the problem from each unique perspective, be on the lookout for the four different types of requirements discussed earlier. Users Someone or something (another system or device) is going to communicate with your system. You need to know why and what they expect from their communication with the system. Consequently, the questions you ask should focus on the users’ responsibilities that make them dependent upon the system or that make them an essential source of information for the system. As you read through these questions, try to imagine the answers you may receive from the actors in the case study. You’ll need that information to build the diagrams in the remaining chapters.
- Page 11 and 12: x Preface To get the most out of th
- Page 13 and 14: xii Preface Features First, as you
- Page 15 and 16: Part VI—Sunday Afternoon ........
- Page 17 and 18: xvi Contents Encapsulation ........
- Page 19 and 20: xviii Contents Modeling the Class C
- Page 21 and 22: xx Contents Session 22-Modeling the
- Page 24: UML Weekend Crash Course
- Page 27 and 28: PART I Friday Evening Session 1 Wha
- Page 29 and 30: 6 Friday Evening The UML is a stand
- Page 31 and 32: 8 Friday Evening will find three pa
- Page 33 and 34: 10 Friday Evening The Continuing Re
- Page 36 and 37: SESSION 2 UML and Development Metho
- Page 38 and 39: Session 2—UML and Development Met
- Page 40 and 41: Session 2—UML and Development Met
- Page 42 and 43: Session 2—UML and Development Met
- Page 44 and 45: Session 2—UML and Development Met
- Page 46 and 47: SESSION 3 How to Approach the UML S
- Page 48 and 49: Session 3—How to Approach the UML
- Page 50 and 51: Session 3—How to Approach the UML
- Page 52 and 53: Session 3—How to Approach the UML
- Page 54 and 55: Session 3—How to Approach the UML
- Page 56: Session 3—How to Approach the UML
- Page 59 and 60: 36 Friday Evening Remember to pay c
- Page 61: 38 Friday Evening Constraints The s
- Page 65 and 66: 42 Friday Evening Performance How
- Page 67 and 68: 44 Friday Evening In the effort to
- Page 70 and 71: Part II — Saturday Morning Sessio
- Page 72 and 73: SESSION 5 Understanding the Use Cas
- Page 74 and 75: Session 5—Understanding the Use C
- Page 76 and 77: Session 5—Understanding the Use C
- Page 78 and 79: Session 5—Understanding the Use C
- Page 80 and 81: Session 5—Understanding the Use C
- Page 82: Session 5—Understanding the Use C
- Page 85 and 86: 62 Saturday Morning Order Fulfillme
- Page 87 and 88: 64 Saturday Morning What does the
- Page 89 and 90: 66 Saturday Morning For example, th
- Page 91 and 92: 68 Saturday Morning REVIEW The goal
- Page 93 and 94: 70 Saturday Morning Much of this la
- Page 95 and 96: 72 Saturday Morning You reply that
- Page 97 and 98: 74 Saturday Morning Writing a Use C
- Page 99 and 100: 76 Saturday Morning Use Case dialog
- Page 101 and 102: 78 Saturday Morning Table 7-7 The F
- Page 104 and 105: SESSION 8 Identifying the Use Case
- Page 106 and 107: Session 8—Identifying the Use Cas
- Page 108 and 109: Session 8—Identifying the Use Cas
- Page 110 and 111: Session 8—Identifying the Use Cas
40<br />
Friday Evening<br />
An Inventory Control System<br />
Now to the nitty-gritty part you’ve been waiting for! As a hands-on opportunity to explore<br />
the diagramming techniques, you’ll work on modeling the inventory control system.<br />
Although you won’t be able to build a complete model, you’ll have ample opportunity to try<br />
the <strong>UML</strong> modeling notation in a reasonably realistic setting.<br />
The goal of this course is to build at least one of each type of diagram to model the<br />
inventory control system. This should provide a representative sampling of how each type of<br />
diagram may be applied to understand and to solve a problem.<br />
Beginning with user requirements and progressing through the logical modeling of<br />
classes and objects and their interactions, you will move on to process modeling, and finally<br />
implementation modeling. In each session, I explain the use of each diagram and the notation<br />
used to express the model fully.<br />
Identifying requirements<br />
There is a wealth of material in bookstores on gathering and documenting requirements.<br />
The variety is a reflection of the diversity of applications under development. Some of the<br />
techniques can be large and sophisticated. But because this book is intended as a crash<br />
course, I don’t want you to get diverted from the focus, which is applying the <strong>UML</strong> modeling<br />
language to describe systems. So I take a simplified approach.<br />
One approach to gathering requirements is to look for them by examining the problem<br />
statement and the supporting documents and interviews from different perspectives. Using<br />
these different perspectives also helps to validate the requirements by giving you the<br />
opportunity to compare and contrast what you find from three overlapping sources:<br />
Users: Users have expectations for the use of the system.<br />
Resources: Resources are represented as information that is created, used, and<br />
deleted by the system to support the system behavior.<br />
Functionality: Functionality refers to the behavior supported by the system.<br />
While you’re researching the problem from each unique perspective, be on the lookout<br />
for the four different types of requirements discussed earlier.<br />
Users<br />
Someone or something (another system or device) is going to communicate with your system.<br />
You need to know why and what they expect from their communication with the system.<br />
Consequently, the questions you ask should focus on the users’ responsibilities that<br />
make them dependent upon the system or that make them an essential source of information<br />
for the system.<br />
As you read through these questions, try to imagine the answers you may receive from<br />
the actors in the case study. You’ll need that information to build the diagrams in the<br />
remaining chapters.