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

 

Advertisements

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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