OOM Victor

Assignment #1 Knowledge Sharing Weblog (10%) Tasks: Each student should keep a weekly weblog (blog) to document their learning experience and what they learned. The main purpose of the weblog is to encourage you to learn independently as well as a way to share what you learned with others in the class. Each student is required to give a short 5-minute talk on your blog in class.

Saturday, March 12, 2005

Week 8 - Pattern Design

http://www.dofactory.com/patterns/Patterns.aspx

What is “Software Design Patterns”? According to this web site, design patterns are recurring solutions to software design problems you find again and again in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication of platform concerning elegant, reusable solutions to commonly encountered programming challenges.

http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html

The fundamental to any science or engineering discipline is a common vocabulary for expressing its concepts,. The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development. Patterns help create a shared language for communication insight and experience about these problems and their solutions.


There are three goal to achieve this purpose:
The Quality:
Most important, regard as essence of all things living and useful that imparts unto them qualities such as: freedom, wholeness, completeness, comfort.. etc. it is what makes us feel “alive” and “sated”, give us satisfaction and ultimately improves the human condition.

The Gate:
This is the mechanism that allows us to reach the quality. It is manifested as a living common pattern language that permits us to create multiform designs which fulfill everyone’ needs. It is the universal “either” of patterns and their relationships that permeate a given domain. The gate is the conduit to the quality.

The Way:
Using the way, patterns from the gate are applied using a technique of differentiating space in an ordered sequence of piecemeal growth: progressively evolving an initial architecture.


My view:

The ultimate goal of the pattern design is to union the different programming design. It sounds great as we want to create the program, write it fast and maintain it easily. If it does happen, what is the standard of such pattern coding come from? Can it be came from the big software house? Or can it be came from the Open source projects? No! people do not like to stick to the standard. Like the literary, someone life to create something new but not like to follow the majority. If this is the case in Computer Science, and I am quiet certain that many programmers do not like to “step after” other people. Especially happen in big software company. They all like to create its standard in order to gain more market share ultimately.

Thursday, March 03, 2005

Week 7 What is UML

Week 6 – UML


What is UML?

UML stands for the Unified Modeling Language. UML is the OMG’s most used specification and the way the world models not only application structure, behavior and architecture, but also business process and data structure.

UML 1.5: the current official version

http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML

UML resource page

http://www.uml.org/

Borland UML tutorial

http://bdn.borland.com/article/0,1410,31863,00.html

The heart of object-oriented problem solving is the construction of a model. The model abstracts the essential details of the underlying problem from its usually complicated real world. That’s the reason why we would like to use the UML to model the real world while we are programming.

So, what is UML? UML stands for “Unified Modeling Language”. Why does the UML so important? Since writing software is something that does not like constructing a building. The more complicated the underlying system, the more critical the communication among everyone involved in creating and deploying the software. The UML is application to object-oriented proclaiming solving. Anyone interest in learning UML must be familiar with the underlying tent of object-oriented problem solving. How can we get started? We use model. What is mode? A model is an abstracting of the underlying problem. The domain is the actual world from which the problem comes.

At the center of the UML are its nine kinds of modeling diagrams, which we describe here:

1. Use case diagrams

2. Class diagrams

3. Object diagrams

4. Sequence diagrams

5. Collaboration diagrams

6. Statechart diagrams

7. Activity diagrams

8. Component diagrams

9. Deployment diagrams


UML are quiet simple. With several simply rules, we can adopt to the complicated world with simply diagram. It is really a great innovation and hopefully the upcoming version UML 2.0 will be much more

Huge of modeling tools

Poseidon for UML

http://www.gentleware.com/

Borland Together

http://www.borland.com/together/


7 out of 9 UML diagram Posted by Hello