design? !… when it needs? to understand, to communicate with customers complex problem what is...

31
Design? !… When it needs? To understand , to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism) How to represent? modeling

Upload: felix-camron-hensley

Post on 05-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Design?

!…

When it needs?

To understand , to communicate with customers

Complex problem

What is good design?

Separate What to do?(Policy)

and How to do(mechanism)

How to represent?

modeling

Page 2: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

What is a model?

Abstraction for understanding!.

To deal with the complexity of the problem

Want to build model, verify the model satisfying the system requirements implement by adding details

easy to communicate with customers and/or among designers

How it is possible?

Do abstraction by isolating important aspects for some purpose for some purpose and suppress those unimportant aspectsInherently, not complete. Seek for adequacy for some purpose.

What is the good medium for modeling? Is computer language a good vehicles for modeling? UML

Page 3: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Models?

Class model, state model, interaction model

Class modelStructure of objects in systems (identity, relationship to other object, attributes, operations)

Provide context for state and interaction model

Capture the static structure of the system by characterizing objects, the relationship among objects, the attributes and operations for each class of object.

Class model represents static, structural data aspects of a system State model represents temporal behavioral control aspect Interaction model represents the collaboration of individual objects, the interaction aspects.

Modeling with Class model?

Page 4: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Object? A concept, abstraction or thing with identity that has meaning for an application (distinguishable)

Class? Blueprint?Describes a group of object with same attributes, operation and relationship.

Define class and object is enough?Vague, insufficient

We need vehicles that are coherent, precise and easy to implement.

Class diagram and object diagramClass diagram : a graphic notation for modeling classes and their relationship good for abstract modeling and design

Object diagram: for showing individual objects and their relationships good for documenting test cases and discussing examples.

Page 5: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

UML

Class:Box, Bold case, center, start with Capitals. Singular noun

ObjectName:ClassName

Page 6: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Values and attributes

Value:data

Attributes: named property of a class that describes value held by each object of the class

2nd compartmen

t

Page 7: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Unique identifier (implicit in a class model)

Purely implementation convenience with no application meaning

Social security no, telephone no, etc

Page 8: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Operation: function or procedure that may be applied to or by objects.

Method: implementation of an operation for a class

3rd compartmen

t

Direction of data

In, out, inout

Page 9: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 10: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Link and Association

Link: physical or conceptual connections among object

Association: description of a group of links w/ common structure and common semantics

Italic

multiplicity

If link has name, underlined

Page 11: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 12: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Association end name

Optional

Necessary between object in same class

Page 13: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 14: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 15: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 16: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 17: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 18: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Regard many association ends as a set

Sometimes object have an explicit order

Page 19: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Binary association, yet permit multiple link for a pair of object, duplication allowed

Page 20: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Links of an association with attributes!

Association class

attributes

Dashed line

Page 21: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 22: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

One to one or one to many

Page 23: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 24: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 25: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Small box

Disambiguates the object for many association ends

Page 26: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Generalization

Relationship between superclass and subclass

Inherits

Point to superclass

{ means there are additional subclass}

Page 27: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)

Polymorphism

Generalization set name

Aspect of object being abstracted

Page 28: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 29: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 30: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Page 31: Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)