1 Claim Class Diagram Inheritance Claim Plan Claim Plan Claim - - PDF document

1
SMART_READER_LITE
LIVE PREVIEW

1 Claim Class Diagram Inheritance Claim Plan Claim Plan Claim - - PDF document

Announcements UML HW2 Phase 2 peer reviews: due today, Jan 29 th at 5pm Phase 3 review of reviewers: due Sun, Feb 1 st Class diagrams Sequence diagrams CS361 6-2 1 Modeling notations Usage of UML Used for both requirements


slide-1
SLIDE 1

1

1

UML

Class diagrams Sequence diagrams

Announcements

❚ HW2

❙ Phase 2 peer reviews: due today, Jan 29th at 5pm ❙ Phase 3 review of reviewers: due Sun, Feb 1st

CS361 6-2 CS361 6-3

Modeling notations

❚ Used for both requirements analysis and for specification and design ❚ Useful for technical people ❚ Provide a high-level view ❚ Require training ❚ Many notations

❙ each good for something ❙ none good for everything

CS361 6-4

Usage of UML

❚ Help developers communicate ❚ Provide documentation ❚ Help find errors (tools check for consistency) ❚ Generate code (with tools) ❚ Drawing Tools: ArgoUML, Visio (Microsoft), OmniGraffle

CS361 6-5

UML Class Diagrams

❚ Formed by merging Booch Diagrams + Jim Rumbaugh (OMT) Object Diagrams + Ivar Jacobson use case diagrams ❚ Descendent of Entity-Relationship Diagrams ❚ Describes data and operations

CS361 6-6

Elements of UML class diagram

❚ Class

❙ attributes ❙ operations

❚ Associations

❙ multiplicity ❙ direction/aggregation/

❚ Generalization

slide-2
SLIDE 2

2

CS361 6-7

Claim Class Diagram

Claim Image Plan Provider

name: String address: String phone: String ID: String name: String

Claim

date: Date procedure: String supplies: String price: Integer

0..1 0..N 0..1 0..N

❚ 0..1 or 0..N means optional ❚ 1 means mandatory ❚ * means 0..N

CS361 6-8

Inheritance

Scanned Image Plan Provider

name: String address: String phone: String name: String

Claim

date: Date procedure: String supplies: String price: Integer

claim * image *

Claim Image

ID: String

Fax Image

0..1 0..1

CS361 6-9

OO modeling points: how do you come up with objects

❚ Best objects correspond to real-world entities. ❚ Some correspond to actors (adjudicator). They are actually interfaces to the actors. ❚ Some correspond to complex processes, but this is an exception, and should not be common. ❚ * is 0..N

CS361 6-10

Attributes vs. associations

Claim Image Plan Provider

name: String address: String phone: String ID: String date: Date

Procedure

name: String supplies: String price: Integer

0..1 * 0..1 *

Claim

*

CS361 6-11

Health Claims Processing

❚ Receives health claims and supporting documents via many sources: electronically, fax, on paper. ❚ Scanned paper and fax processed by OCR. Documents first subject to form dropout, deskewing, despeckling. ❚ All images are logged to optical disk.

CS361 6-12

Behavior

Claim Image Plan Provider

name: String address: String phone: String ID: String form_dropout() deskew() despeckle() log()

0..1 0..1 *

Claim

*

name: String date: Date

slide-3
SLIDE 3

3

CS361 6-13

OO modeling points

❚ Class names should be nouns

❙ Avoid class names ending in “er”

❚ Verbs become operations

CS361 6-14

Analysis vs. Design

❚ Class diagrams are used in both analysis and design ❚ Analysis - conceptual

❙ model problem, not software solution ❙ can include actors outside system

❚ Design - specification

❙ tells how the system should act

❚ Design - implementation

❙ actual classes of implementation

CS361 6-15

Temporary vs. permanent

❚ Most class diagrams are temporary

❙ Boxes and lines ❙ Gradually add

❘ More classes ❘ Attributes ❘ Labels/cardinality of associations

❚ Most class diagrams only show small part

  • f model

CS361 6-16

Extending class diagrams

❚ No modeling notation can do everything. ❚ Modeling notations should be extensible. ❚ UML has two techniques

❙ Constraints ❙ Stereotypes

CS361 6-17

Constraints

Claim Image Plan Provider

name: String address: String phone: String ID: String form_dropout() deskew() despeckle() log()

0..1 0..1 *

Claim

*

{Provider is legal under plan} date: Date name: String

CS361 6-18

Stereotype

Claim Image Plan Provider

name: String address: String phone: String ID: String form_dropout() deskew() despeckle() log()

0..1 0..1 *

Claim

*

<<Remote>> date: Date name: String <<Persistent>>

slide-4
SLIDE 4

4

CS361 6-19

Adjudicator +handle claim() +ID : string Claim +accept/reject()

  • field1 : any
  • field2 : any

Postal system +send letter() Mainframe system +handle claim() 0..1 0..n Automatic claim processor +handle claim() 0..n

CS361 6-20

Sequence diagram (event trace)

❚ Model how a set of objects communicate ❚ Describe sequence of events ❚ A line for each object ❚ Time goes from top to bottom ❚ Arrows represent communication events

CS361 6-21

Sequence diagram for claim

automatic claim proc. an Adjud. a claim mainframe system postal system handle claim * get data accept or reject [accept] handle claim [reject] send letter

CS361 6-22

Class Diagram

❚ Central model for OO systems ❚ Describes data and behavior ❚ In UML, is used along with Use Cases and Packages for analysis ❚ Is also used to describe implementation ❚ Don’t confuse analysis and implementation! Don’t add all implementation details

Class Activity: modeling a customer

  • rder from an online retail catalog

A customer can place an order. A customer can buy several items within a single order. The system calculates the tax, the total price, and the total shipping weight for an order. An order contains information (such as quantity, tax status) about the item. An item contains info like its shipping weight and description of the item. There are three ways (which can also be combined) to make a payment: cash, check, or credit.

CS361 6-24

Next time

❚ Read through chapter 7 of UML Distilled (third edition) ❚ More UML resources

❙ http://dn.codegear.com/article/31863 ❙ http://www.sparxsystems.com.au/ UML_Tutorial.htm ❙ http://www.gnome.org/projects/dia/umltut/ index.html