Download presentation
Presentation is loading. Please wait.
Published byGwen Knight Modified over 8 years ago
1
Distributed Java Programming 107-198 Distributed Java Programming Class #1 August 20, 2002
2
Distributed Java Programming 107-198 What is UML? Stands for Unified Modeling Language It is a culmination of 15 years of effort to properly define and model object- oriented systems. It is based on the OO Methodologies of: Grady Booch (Clouds) Ivar Jacobson (Use Cases) James Rumbaugh (OMT)
3
Distributed Java Programming 107-198 Yeah, but What is UML? UML is a modeling language. It lets us takes a problem, visualize it and clearly understand it before we begin writing code. UML consists of a lot of different tools. However we are going to focus on three core tools for use in this class: Use Cases Class Diagrams Interaction Diagrams Lets dive into it
4
Distributed Java Programming 107-198 Use Case and Use Case Analysis Use cases are tool for capturing how a users interacts with an existing system or a new system that is being built. A use case is a discrete and well- defined action that is carried out by a user to reach a specific goal. Use cases usually involve two pieces of documentation: A Use Case Diagram A Use Case Specification Document
5
Distributed Java Programming 107-198 A Use Case Diagram
6
Distributed Java Programming 107-198 Use Case Piece: The Actor ►Actors are a role a user is playing in the system. ►An actor can carry out many tasks within a system. ►Actors do not have to be people. They can be other systems. ►Often times, particularly large projects listing the actors are a good place to start.
7
Distributed Java Programming 107-198 Use Case Piece: The Use Case ►Represents a discrete task to be carried out by end user. ►Can also represent a more complex task. ►Granularity is the key here. You use case diagram clearly communicate the major tasks in the application will carry out.
8
Distributed Java Programming 107-198 More About Use Cases Generalization and Actors Generalization and Use Cases The Use of Include
9
Distributed Java Programming 107-198 Generalization and Actors
10
Distributed Java Programming 107-198 Generalization and Actors Generalization allows us to capture roles that share responsibilities. Using generalization when modeling the actors in your system allows you to easily define security roles for each user. Do not try to jam too many actor generalizations on one screen. It makes things difficult to read and understand.
11
Distributed Java Programming 107-198 Generalization and Use Cases
12
Distributed Java Programming 107-198 Generalization and Use Cases Sometimes one process will build on the functionality of another process. The generalization in a use case is very similar to an inheritance hierarchy in a class diagram. In our example previously, the generalization shown between “Deposit Check” and “Deposit Payment” are very similar. “Deposit Check” puts the money into your bank account. “Deposit Payment” puts the money against a liability owed to the bank.
13
Distributed Java Programming 107-198 The Include Statement
14
Distributed Java Programming 107-198 The Include Statement The include statement allows you to indicate that the functionality provided in one use case is used in another use case. It is a time saving measure. Particularly when you have to translate your use case diagrams into use case specifications.
15
Distributed Java Programming 107-198 Use Case Specification More rigorous definition of a specific use case. Defines the pre and post conditions for a use case. Defines any exceptions that can occur and how they must be handled. Defines each of the individual steps involved within the user case. See the hand out for an example use case specification.
16
Distributed Java Programming 107-198 Closing Thoughts…… Use case diagrams are useful tools for communicating with business users about the development team’s understanding of a set of processes. Keep your use case diagrams simple. Use cases decompose complex processes in easy to understand pieces. Use case specification documents are what the development team will be working off of when they begin coding. The definitions for a use case specification must be rigorous. If your use cases are designed properly, they should represent one discrete piece of functionality on a project plan.
17
Distributed Java Programming 107-198 Assignment 1 Take an existing business process at your work (Or make one up) Build a use case diagram demonstrating how 1 or more roles perform various use cases. Proper notation is required and the process you pick must have 3 – 4 use cases in it. Take one use case and write a full user specification. Based upon your use case, build a class diagram. Show all classes derived from the use case Show their properties, methods and access levels. Show multiplicity and any inheritance relationships that may exist between.
18
Distributed Java Programming 107-198 Resources Martin Fowler UML Distilled Second Edition Safari-informit.com Poseidon UML www.gentleware.com UML Resource Center www.rational.com/uml
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.