About Design Decision
1.DRY
DRY means Don't repeat yourself
We should not duplicated design
2.keep it simple
The design should be clear and easy to see.
Do not be complex.
3.Loose coupling
This means even if we change one component, the system can work.
That component is loose coupling, so loose coupling means it can be fexible.
4.Separating things that change
??????
Software should be extensible and flexible, because we may need some changes for the software.
If the component is neither extensible nor flexible, we cannot fix the system when it has some wrong.
Extensible is to add something.
Flexible is to be able to put out and change something.
LEARNING BLOG
2010年9月15日水曜日
2010年9月14日火曜日
UML Class Reviewing (3/4 7th Sep 2010)
How can I draw the use case diagram?
First dot means start.
We write the action the actor do in the system into the rectangle.
If the actor do the several actions in the same time, we can draw like Action2 and Action3.
We can use the branch.
Acording to the decision, we can choose the next action.
The last dot means end.
How can I draw the state machine diagram?
State machine diagram shows the transition of object's state.
There are invalid activities in some states.
For example, the car cannot start when the engine doesn't work.
We can see like that condition from this diagram.
The state is write in the ellipse.
We draw the next state which will be changed by the event.
We can use the branch, but the importance is to be easy to see.
If the branch makes diagram complicated, we should not use the decision.
How can I draw the sequence diagram?
First we should enumerate the object or component we need in the process.
Write the action or interaction between the objects at each process.
After Action1, the user get the response.
The action which recieve the reaction like this is called syncronus.
The action which doesn't recieve the reaction like Action3 is called Asyncronus.
Use case diagram needs 3 notations.
Ellipse symbolizes the use case.
We write the use case we need in it.
Rectangle symbolizes the boundary.
One system or conponent shows in it.
Stick man symbolizes the actor.
Actor can be not only the user, but the engineer and so on..
It is possible if the actor is not human.
<<include>> is used when one use case can be said it is one part of the other use case.
<<extend>> is used when one use case can be said a developed use case of the other use case.
How can I draw the activity diagram?
First dot means start.
We write the action the actor do in the system into the rectangle.
If the actor do the several actions in the same time, we can draw like Action2 and Action3.
We can use the branch.
Acording to the decision, we can choose the next action.
The last dot means end.
How can I draw the state machine diagram?
State machine diagram shows the transition of object's state.
There are invalid activities in some states.
For example, the car cannot start when the engine doesn't work.
We can see like that condition from this diagram.
The state is write in the ellipse.
We draw the next state which will be changed by the event.
We can use the branch, but the importance is to be easy to see.
If the branch makes diagram complicated, we should not use the decision.
How can I draw the sequence diagram?
First we should enumerate the object or component we need in the process.
Write the action or interaction between the objects at each process.
After Action1, the user get the response.
The action which recieve the reaction like this is called syncronus.
The action which doesn't recieve the reaction like Action3 is called Asyncronus.
2010年9月8日水曜日
UML Class Reviewing (2/4 1st Sep 2010)
What is UML diagrams.
UML use some diagrams.
They are classified as follows.
This can be classified more.
"Class Diagram"
Class is like "Car".
It is not specified.
I will consider it as an actual object.
It contains Name, Attriblute and Operation.
For example the car, Name is "Car"
Attribute is like "coler", "model" and so on..
Operation is like "to accel".
"Object Diagram"
Object is like "The First Car"
The difference with the Class is that Object can be specified.
"Component Diagram"
Component means one functional part of software.
or set which collects some classes and objects.
It can be identified with module, but component is often used in something large.
"Composite Structure Diagram"
??????
"Package Daiagram"
Object should belong to correct class.
Tokyo have to belong to Japan.
It is wrong Tokyo belong to Korea.
so, we have to express obviously how the object is packaged.
"Deployment Diagram"
This shows how the component or objects are arranged in the system.
We will also see the relation and the place the component work.
- Behavior Diagram -
"Use case Diagram"
Use case means what the actor can do in the system.
Actor is sometimes customer and anybody who influence the system.
"Activity Diagram"
This diagram shows the process which the component works in high level.
We often show how user acts in the process.
"State machine Diagram"
This diagram shows the transition of the state of the object in low level.
The object can be the system component and user interface, etc...
- Interaction Diagram -
Interaction Diagrams show the interaction among the objects
"Sequence Diagram"
This diagram shows also when the object act to the other object in the entire process of the system.
"Comunication Diagram"
This diagram shows especially how the objects relate and collaborate.
These are the UML diagrams.
When we model the system, we should use them.
That's it.
UML use some diagrams.
They are classified as follows.
- Structure Diagram
- Behabior Diagram
- Interaction Diagram
This can be classified more.
"Class Diagram"
Class is like "Car".
It is not specified.
I will consider it as an actual object.
It contains Name, Attriblute and Operation.
For example the car, Name is "Car"
Attribute is like "coler", "model" and so on..
Operation is like "to accel".
"Object Diagram"
Object is like "The First Car"
The difference with the Class is that Object can be specified.
"Component Diagram"
Component means one functional part of software.
or set which collects some classes and objects.
It can be identified with module, but component is often used in something large.
"Composite Structure Diagram"
??????
"Package Daiagram"
Object should belong to correct class.
Tokyo have to belong to Japan.
It is wrong Tokyo belong to Korea.
so, we have to express obviously how the object is packaged.
"Deployment Diagram"
This shows how the component or objects are arranged in the system.
We will also see the relation and the place the component work.
- Behavior Diagram -
"Use case Diagram"
Use case means what the actor can do in the system.
Actor is sometimes customer and anybody who influence the system.
"Activity Diagram"
This diagram shows the process which the component works in high level.
We often show how user acts in the process.
"State machine Diagram"
This diagram shows the transition of the state of the object in low level.
The object can be the system component and user interface, etc...
- Interaction Diagram -
Interaction Diagrams show the interaction among the objects
"Sequence Diagram"
This diagram shows also when the object act to the other object in the entire process of the system.
"Comunication Diagram"
This diagram shows especially how the objects relate and collaborate.
These are the UML diagrams.
When we model the system, we should use them.
That's it.
2010年9月7日火曜日
UML Class Reviewing (1/4 31st Aug 2010)
Why is modeling important for developing software?
I understood the following reason why we should model.
The developer should explain the project to develop the software as a business or an investigation.
When the stake holders and developer discuss, they should understand that software and share their idea collectly.
Second, if we skip the modeling, the project has to get less scale.
The huge project like OS, compiler, Office, etc, needs so many design decision.
Risks mean, bugs happening or misunderstanding among developers, for example.
what/if analysis means "if the object works in some condition, what happens?"
To analysis like this is necessary to understand how prduct performances and whether it satisfies the requirement.
We had better reuse the design of product or its components.
When then, the design should be visualized clearly to reuse it easily.
The better way to realize these is modeling.
What are the system structure?
Module means one functional part of software.
Class can symbolize one set which collects some objects and so on...
Classes or modules should interact earch other.
Classes and modules should be arranged at the each correct location.
User interface is the component which influence the user directly, for example, display(output design) and button(input form).
To design and model with drawing, the notation which simbolizes something should be unified.
That is what I learned in tha class.
I understood the following reason why we should model.
- Good to communication with stake holders
- We can create high level design decision
- To reduce risks
- what/if analysis
- To reuse the design component
The developer should explain the project to develop the software as a business or an investigation.
When the stake holders and developer discuss, they should understand that software and share their idea collectly.
Second, if we skip the modeling, the project has to get less scale.
The huge project like OS, compiler, Office, etc, needs so many design decision.
Risks mean, bugs happening or misunderstanding among developers, for example.
what/if analysis means "if the object works in some condition, what happens?"
To analysis like this is necessary to understand how prduct performances and whether it satisfies the requirement.
We had better reuse the design of product or its components.
When then, the design should be visualized clearly to reuse it easily.
The better way to realize these is modeling.
What are the system structure?
- module
- Classes and their relations
- Real time interactions
- Data flow
- Deployment
- User interface
- etc..
Module means one functional part of software.
Class can symbolize one set which collects some objects and so on...
Classes or modules should interact earch other.
Classes and modules should be arranged at the each correct location.
User interface is the component which influence the user directly, for example, display(output design) and button(input form).
To design and model with drawing, the notation which simbolizes something should be unified.
That is what I learned in tha class.
登録:
コメント (Atom)



