Learning Notes---UML (ii)

Source: Internet
Author: User

1 ooad detailed 1.1 UML tools

STARUML, small, use more, there is a similar software, called Jude, with more.

1.2 Object-oriented
    • Object-oriented is a system modeling technique, object-orientation, or OO.
    • Object-oriented programming is a process of developing programs using OO methodology, object-orientation programming, or OOP.
    • Describe or model a system by analyzing the interaction of objects within the system.
    • Objects that interact are eventually organized in the form of classes.
    • The OO approach consists of three parts: process, logo, and rule.
1.3 Objects
    • is an objective and unique entity.
    • Is the starting point and foundation of analyzing and solving problems in OOP process.
    • have their own identity, data and behavior.
    • Can be simple or complex.
    • can be abstract or concrete.
    • In OOP is a dynamic instance of a class.
Class 1.4
    • A class is a template for an object.
    • object is generated through the instantiation of the class.
    • A class can create multiple objects.
1.5 OOAD
    • Object-orientation Analysis and design is the process of analyzing and designing software based on OO methodology.
    • OOA, analysis phase.
    • OOD, design phase.
    • Ideally, the practice often needs to be repeated.
1.5.1 OOA Stage
    • The analysis phase mainly solves the problem:

① establishes a clear view of the business problem domain.

② lists the core tasks that the system must complete.

③ establishes a common glossary for problem domains.

④ lists the best solution for this problem domain.

    • The core issue to be addressed at this stage is: what does?
1.5.2 Ood Stage
    • The design phase mainly solves the problem:

① how to solve specific business problems.

② introduces the supporting elements required for the system to work.

③ defines the implementation strategy of the system.

    • The core issues addressed at this stage are: how does?
Main features of 1.6 oop
    • Abstract abstraction
    • Package Encapsulation
    • Inherit inheritance
    • Polymorphic polymorphism
    • Association Association
    • Polymerization aggregation
    • Combination composition
    • Cohesion and coupling cohesion and coupling
1.6.1 Abstract
    • The process of ignoring the details of an object or entity and focusing only on its essential characteristics.
    • simplifies functionality and formatting.
    • Helps users interact with objects.
1.6.2 Package
    • Hide data and implementations.
    • Provides a common way for users to invoke functionality.
    • Two views of the object:

External view: The work an object can do.

Inner view: How the object completes its work.

1.6.3 inheritance
    • A mechanism for defining new types through the types that exist.
    • Typically there is a relationship between two types such as is a or kind.
    • Inheritance enables the reuse of code, and inheritance is also the basis for polymorphism.
1.6.4 polymorphism
    • A name, multiple forms.
    • Inheritance-based polymorphism.
    • The method is called according to the different choices of the object to be processed.
1.6.5 Association
    • A way to refer to objects as they interact with each other.
    • When an object uses another object's service or operation through a reference to another object, an association occurs between two objects.
1.6.6 Aggregation
    • One of the associated relationships in which an object becomes part of another object.
    • is a strong association.
    • There is a relationship between the two objects that has a, an object that exists as a property of another object that can be specified by the client as an internal object associated with the external object when it is produced.
1.6.7 Combination
    • When an object contains another object, the external object is responsible for managing the life cycle of the internal objects.
    • One of the strongest associations in the relationship.
    • The creation of an internal object is controlled by the external object itself.
    • An internal object cannot exist when the external object does not exist.
1.7 Domain Model
    • The domain model is object-oriented, and the domain model can also be a design model in object-oriented terminology.
    • The domain model consists of a bit of content:

① with objects that have state and behavior.

② the relationship between domain objects:

    • Association Association,
    • Rely on Dependency,
    • Gather Aggregation,
    • Generalize (generalization) generalization
1.7.1 Association Relationship

    • A one-to-many and a-to-many nature are the same, but the reference is not the same.
    • One person, such as people and ID card.
    • Many-to-many, such as students and courses.
1.7.2 Dependency

    • A method that accesses the customer class in Businessservice and constructs an object of the customer class.
1.7.3 Aggregation

    • Aggregation refers to the relationship between a whole and a part, which is common between entity domain objects.
1.7.4 generalization

    • Generalization refers to the inheritance relationship between classes.
1.8 Cohesion and coupling
    • Cohesion: A measure of the ability of a class to accomplish a task independently.
    • Coupling: Measures the complexity of dependencies within or between systems.
    • Design principle: High cohesion, low coupling
1.9 Overview of the development process
    • Traditional development process: Waterfall model
    • Unified software Development process (USDP)
1.10 Ooad Development process
    • Large items are broken down into sub-projects.
    • Use UML Tools.
    • The unified software development process is an iterative, incremental development process.
1.10.1 iteration, incremental project life cycle
    • The project is iterative and incremental.
    • An iteration refers to a step in the life cycle.
    • Iterations result in an "increment" or an increase in the entire project.
    • Large items are broken down into sub-projects.
    • At each iteration stage, the following work should be done:

① Selecting and analyzing related use cases

② design based on the selected architecture

③ implementation design at the component level

④ validating components to meet the needs of use cases

    • When an iteration satisfies the target, the development enters the next iteration cycle.

    • Inception---start up
    • Elaboration---Refine
    • Construction---Implement
    • Transition---Promotion

    • Each cycle contains one or more iterations.
    • The end of a phase is called a milestone (milestone).

Process diagram:

1.10.2 initialization phase
    • The increments of this phase are concentrated in:

① Project Launch

② Building a business model

③ Defining a business problem domain

④ Identify key risk factors

⑤ defining the extension of project requirements

⑥ documentation for creating a business problem domain

1.10.3 Refinement Phase
    • The increments of this phase are focused on:

Analysis and design of high-①

② building the infrastructure of the project

③ oversight of major risk factors

④ Create a plan to achieve the objectives of the project

1.10.4 construction phase
    • The main increments in this phase are: Code and function implementation
1.10.5 Handover Phase
    • The increments of this phase are mainly focused on:

① Publishing Products to users

②beta Test (alpha test is internal test, beta test is user test)

③ perform performance tuning, user training and testing (for performance issues, we often encounter a performance bottleneck when developing a project, but when the project starts, it is not necessary to always be concerned about performance issues, performance should be considered at a later stage, if performance as an important indicator at the outset, will affect the development progress, Perhaps the performance problem at the beginning is not at all, performance tuning is a deep learning, should be based on a lot of testing and data to speak, based on experience or view code is not reliable.

1.10.6 Iteration Workflow
    • Each increment consists of a 5-part workflow:

① demand and initial analysis

② Analysis

③ Design

④ implementation

⑤ Test

    • The depth of the workflow is different for each iteration of the execution
    • Early iterations cover the initial workflow in depth, and later iterations cover the post-workflow in depth.
    • 80/20 Principles

Iteration Workflow:

1.10.7 Iterative, incremental advantage
    • Reduce costs
    • Facilitates better maintenance of project progress
    • Facilitates collaborative development of the team
    • Easy to adapt to the dynamic changes of user needs

Learning Notes---UML (ii)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.