RUP-Class Design


1.       Class operations, attributes, relationships, methods, states, dependencies, implementation requirements, interface realizations


2.       ·Outline design classes

·          boundary classes mapped to user interface technology (e.g. forms, controls, charts, …)

                                                               i.      screen design tools implicitly define boundary classes

·          entity classes mapped to persistent technology

                                                               i.      object-relational mapping, database design, data modeling, etc.

·          control classes must consider distribution (separate design classes on different nodes), performance, and transaction issues.


3.       Identify operations and visibility in language syntax  

·          responsibilities, inputs and outputs

·          special operations

·          interfaces provided

·          flow of events descriptions

o         activity diagrams

o         state diagrams

·          Support and coordinate all roles the class plays in different use-case realizations


4.       Identify attributes

·          type based on programming language or design class

·          cannot share a single attribute among design classes, make it a separate class

·          refactor complex classes – separate concerns


5.       Identify associations and aggregations

·          see interaction diagrams

·          multiplicities, role names, association classes, ordered roles, qualified roles, n-ary associations, navigability


6.       Identify generalizations

7.       Describe methods, as necessary (defer to implementation)

8.       Describe states and state chart

9.       Handle special requirements

10.    Refactor mercilessly during iterations



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s