UML Essence--1. Introduction & 2. Development process

Source: Internet
Author: User

1. Introduction
"How to use UML"
Consider UML as a sketch sketch. Forward engineering forward Engineering will draw UML before writing the code. The reverse engineering reverse engineering to draw UML based on existing code to help understand.
UML as a design diagram blueprint for completeness completeness. Working in a forward project is a designer who builds a detailed design that draws a design to make it easier for programmers to write code. The design needs to be complete, and all design decisions designed decisions are listed laid out, allowing the programmer to easily follow through with a little thought (the programmer should be able to follow it as a pre TTY straightforward activity that requires little thought).


"Markup and meta-model notation and Meta-Model"
The notation notation is the graphic stuff of the graphical material in the model, such as class, association, and multiplicity.
The methodology is looking for ways to provide rigor to the method rather than sacrificing its usefulness, one way of defining a meta-model meta-model: Often a class diagram that defines the concept of the language.


"UML Diagram"
Activity Procedural and parallel behavior
Class Class, features, and relationships
Communication Interaction between objects; Emphasis on links
Component Structure and connections of components
Composite structure Runtime decomposition of a class
Deployment Deployment of artifacts to nodes
Interaction Mix of sequence and activity diagram
Object Example configuration of instances
Package COMPILE-TIME hierachic Structure
Sequence Interaction between objects; Emphasis on sequence
State machine How events, a object over their life
Timing Interaction between objects; Emphasis on timing
Use case How the users interact with a system


2. Development process
When you hear people talking about UML, you often hear them discuss the unified software development process (RUP = Rational Unified Process).


"Iterative iterative and waterfall mode Watarfall process"
The necessary difference between the two is how you break down a project into small chunks (small chunk).
The waterfall Mode decomposition project is based on active activity. To develop software, some activities need to be performed: requirements analysis, design, code writing, testing. Our 1-year project may have a February analysis phase, a April design phase, a March writing code, and a test phase in March.
The iteration pattern decomposes the project through a subset of features subsets of functionality. You can tier multiple March iterations in a year. In the first iteration, you complete 1/4 of the requirements and perform 1/4 of the complete cycle of software cycles: analysis, design, code, testing. When the first iteration is complete, you have a system that completes the 1/4 functional requirements.
You can also mix modes, stage delivery staged delivery: Analysis and advanced design are done in waterfall mode, then the code and test are divided into iterations.
A common technique for falling generations is to use time boxing, which forces an iteration to complete at a fixed length of time.
• Automated regression testing automated regression tests: allows you to quickly detect problems that arise when you make changes. A good rule is that the code for unit tests is almost as large as the product code.
• Refactoring Refactor
• Continuous integration Continuous Integration: Keep a team in sync to avoid the painful integration cycle painful integration cycle.


"Prediction and adaptation plan predictive and adaptive planning"
With a forecast plan, a project has two phases: the first phase completes the plan and is difficult to estimate, but the second stage is better estimated because the plan has been completed.
Using adaptive planning, predictions are considered wrong. We need to face the fact that there will be continual changes in a software project. Changes are controlled by the deliver of the project's deliverables, but are unpredictable, although the project is controllable.
But adaptation plans are also planned, but these plans are treated as a baseline baseline to assess the results of assess changes rather than projections for the future. The fix price can be fixed by the adaptive planning process.
Two recommendations:
• Do not make predictive plans unless you have precise needs and you have confidence that they will not change seriously.
• Use an adaptive planning approach if you don't have precise, stable needs.
An adaptive plan certainly requires an iterative process.


"Agile development Agility Process"
Agile is an inclusive term that includes many procedures that share the same common value of values and the set of guideline principle. Examples of these processes are: Extreme Programming Extreme Programming (XP), scrum, feature-driven development feature driven development (FDD), CRYSTAL,DSDM (Dynamic Systems Development method).
Agile processes are well adapted to their essential nature and are also very human-centric. He assumes that the key factor in the success of a project is the quality of people in the project and how they work better in a human way.
Agile development tends to use short, time-limited iterations, often 1 months or less. Because they do not attach too much focus to the document, they do not draw UML Blueprints blueprint mode. Most of them use UML as a sketch sketch mode.
Agile development is less than the form, thinking that form ceremony makes change difficult and violates the results of talented people works against the grain of talented people.

"Unified software development process Rational Unified processes"
Although RUP is called a process, it is actually a process framework that provides a vocabulary and a loose structure to talk about the process. The first thing to do with RUP is to select a development case development cases: The process you will use in your project.
All of the RUP projects should have the following 4 phases:
inception beginning to give a project an initial evaluation of the evaluation. Here you decide whether to submit enough money to do a detailed production elaboration phase
elaboration points out the main use cases of the project and iteratively develops the software. At the end of elaboration, you should has a good sense of the requirements and a skeletal working system that acts as the Seed of development. In particular, you should has found and resolved the major risks to the project
construction continue the build process to develop enough functionality to publish
transition includes different post-event activities that do not require iterations, including deployment to the data center, user training, and so on.


"Find the right process for the project fitting a-process to a project"
Mode: Describe common ways of doing things and is collected by people who spot repeating themes in designs. Patterns are examples of design.
At the end of each iteration, an iterative review iteration retrospective. Team together consider how things are going and how they can be improved. List the following 3 categories:
keep hold: Doing well, making sure to continue
problem problem: a bad job
try try: Change in process for improved changes to your process to improve it

"Find the right UML in the process"
"Demand Analysis"
It is pointed out that the software users and consumers want the system to do, may need the UML technology:
• Use cases: Describe how users and systems interact
• Example diagram: From a conceptual perspective, a good way to build a strict vocabulary in a field
• Activity diagrams: Show the workflow of your organization, show the interaction of software and human activities, and display the contents of a use case
• State diagram: If a concept has an interesting life cycle, and different states and events change state
The most important thing in demand analysis is to communicate with users and consumers. Remember that it is important to draw UML with the fewest marks.
Design
Useful techniques:
• Class Diagram: Display classes and relationships from a software perspective
• Timing diagram: Scenario for universal scenes. Identify the most important and interesting scenarios from use cases to point out what's going on in the software
• Package diagram: Large-scale organization showing software
• State diagram: The complex life history of a class
• Deployment diagram: Physical layout of the software
Document
Package diagram makes a good logical road map of the system. Help me understand the logic of the systems, see the dependencies, and better control them. The deployment diagram shows an advanced physical diagram.
If a class has complex life-cycle behavior, draw a state machine to describe it.
If I introduce a particularly complex algorithm, I consider using an activity diagram as long as he can make me understand the code better.
If I find that the concept comes many times, I use pattern patterns to grab the basic idea.
One important thing about writing a document is the design options you didn't use and why you didn't choose.

UML Essence--1. Introduction & 2. Development process

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.