Sunday, August 21, 2005

UML Basic

UML Basic
     Difference between UML and design pattern in enterprise architecture

  • There are five phases in enterprise architecture: Envisioning, Planning, Designing, Stabilizing (Testing), Deploying.

  • Envisioning: Preparing three documents of envisioning phase

  • Vision/Scope document

  • Risk Access document

  • Project Structure

  • Planning:

  • Gathering and Analyzing Business and User Requirements

  • Formalizing Business Requirements into Functional Specifications

  • Transforming requirements into functional specifications

  • Transforming functional specifications to technical specifications.

  • Designing:

  • Conceptual

  • Logical

  • Physical :eight items should be concerned during this phase

  • Performance

  • Maintainability

  • Extensibility

  • Scalability

  • Availability

  • Deploy ability

  • Security

  • Accessibility

  • Establish Standard ,process, quality and performance metrics

  • Code Standard: source code formatting and naming conventions

  • Real example:

  • Finish all user case models

  • Base class diagram

  • Sequence diagram

  • Collaboration diagram

  • Detailed class diagram

  • Stabilizing(Testing)

  • Unit test

  • System test

  • Pilot test

  • Deployment

  • Design pattern includes 23 programming patterns are usually used in Designing phase (conceptual, logical).

  • UML is design method to represent the elements (including current design patterns) of business models.(It is just a way to show all the elements )

  • Datebase Design:

  • ER

  • ORM (object role modeling)

  • Difference between ER and ORM

  • For years, ER modeling has been one of the most popular conceptual modeling languages for database design. ER models are still useful for documenting the conceptual design of a system but are far less useful for formulating that design or making and applying changes to it. In fact, the ORM model still includes a use for ER but only as one “view” of the conceptual data model

  • ORM is a system based on natural language because instead of creating its own notation for describing the database of a system, it uses English. ORM is similar to another natural language design methodology called Natural Language Information Analysis Method (NIAM) and is partly based on that meth

  • There are other benefits to using ORM instead of ER as well. ORM allows database designers to provide more detail about the design in the diagrams and simplify the addition of constraints to the model. In short, the creator of ORM analyzed the modeling languages that came before it and created a language that overcomes many of the deficiencies of those languages while retaining their simplicity.

  • UML is one kind of design method of OOA/D (Object Oriented Analysis/Design)

  • UML is a language to represent unified best engineering practices for specifying, visualizing, constructing, documenting the elements of business models, software systems. On the other hand, it is not a process, visual programming language.

  • Enterprise Architecture (EA), RUP and Microsoft Visio are all development tools of UML. (Or can say “UML can support a number of methodologies such as RUP, Visio”.)

  • The reason using UML is mainly for RAD (rapid application development)

  • UML supports nine types of diagrams :

  • Activity (mostly used): An activity diagram is a special case of a statechart diagram in which all of the states are action states and the flow of control is triggered by the completion of actions in the source state.

  • Collaboration: A collaboration diagram represents a collaboration, which is a set of object roles related in a particular context, and an interaction, which is the set of messages exchanged among the objects to achieve an operation or result. It is an interaction diagram that shows, for one system event defined by one use case, how a group of objects collaborate with one another.

  • Component: component diagrams are implementation-level diagrams that show the structure of the code itself. A component diagram consists of components, such as source code files, binary code files, executable files, or dynamic-link libraries (DLLs), connected by dependencies.

  • Deployment: Deployment diagrams are implementation-level diagrams that show the structure of the run-time system. From a deployment diagram, you can understand how the hardware and software elements that make up an application will be configured and deployed.

  • Package: A package is the basic organizing element of a UML system model. You can think of the entire system as a package that contains all the other packages, diagrams, and elements. One package can contain subordinate packages, diagrams, or single elements, and you can set the visibility of a package as well as the visibility of the elements it contains

  • Sequence: A type of interaction diagram, a sequence diagram shows the actors or objects participating in an interaction and the events they generate arranged in a time sequence. Often, a sequence diagram shows the events that result from a particular instance of a use case but a sequence diagram can also exist in a more generic form.

  • Statechart : A statechart diagram represents a state machine. By documenting events and transitions, a statechart diagram shows the sequence of states an object goes through during its life

  • Static(mostly used) :

  • Conceptual static: A conceptual diagram is a static structure diagram that represents concepts from the real world and the relationships between them. It focuses on relationships and attributes rather than methods, and helps you understand the terminology in the domain area for which you are developing a system.

  • Class static(ER diagram ): Like conceptual diagrams, class diagrams are static structure diagrams that decompose a software system into its parts. In a class diagram, however, the parts are classes that represent fully defined software entities rather than objects that represent real-world concepts.

  • User Case (mostly used): After you identify the use cases, you can create use case diagrams to put the use cases in context. Creating a use case diagram involves establishing a system boundary for a set of use cases and defining the lines of communication between a particular actor and a use case. In the early stages of a development project, use case diagrams describe real-world activities and motivations. You can refine the diagrams in later stages to reflect user interface and design details.
Example: Analyze A real business problem and design a solution using UML. (can see Beginners_Guide_to_UML_Part2.pdf)



0 Comments:

Post a Comment

<< Home