UML Pristine 2-development process

Source: Internet
Author: User

Iterative and waterfall processes

The essential difference between the two is how you break up a project into smaller chunks.

    • Waterfall styles are based on activities to break down the project. In order to build software, you have to do certain activities: requirements analysis, design, coding, and testing. A one-year project may have a 2-month analysis phase followed by a 4-month design phase followed by a 3-month coding phase followed by a 3-month test phase.
    • The iteration style decomposes the project according to a subset of functions. You may break a year into 3-month iterations. The first iteration, which deals with 1/4 of the requirements, and makes a complete software lifecycle for these 1/4: analysis, design, coding, and testing. At the end of the first iteration, you have a system that does 1/4 of the required functionality. Then you do a second iteration, so that at the end of the 6 month, you have a system that accomplishes half the functionality.

There is usually a formal handover between each stage in the development of the waterfall, but there are often backtracking. During coding, there are some situations that cause you to look back at the analysis and design. Of course, when you start coding, you should not assume that all the designs are complete, and that the subsequent stages look back on the analysis and design decisions that are unavoidable. However, this backtracking is an anomaly that should be minimized.

During iterative development, there are usually some exploratory activities before the actual iterative development. At the very least, this gives us a high-level view of demand: It's enough for us to break the demand and put it into the next iteration. Each iteration should produce integrated software that is ready for the product, but it is often difficult to reach this point strictly, and we often hear that a project has multiple release releases, each of which is decomposed into several iterations iteration. Iterations have many names: increments, spirals, evolutions, and so on.

You can also use the hybrid approach. Phase delivery staged delivery life cycle, first complete analysis and advanced design in waterfall style, then put the coding and testing into the iteration. Such a project may have 4 months of analysis and design, followed by 4 two-month iterations to build the system.

The common skill of iteration is to use the time box boxing. Time box forward each iteration has a fixed length of time. If you cannot complete the expected functionality within a specified time, you can defer some functionality to the next iteration without delaying the iteration end time. Generally we can publish a less functional software, but can not postpone the release time, the time box can help control the time.

Iterative techniques: Automated regression testing automatic regression test, refactoring refactoring, continuous integration continuous integration.

Predictive and adaptive planning

The predictive approach is expected to do some work early in the project to better understand what is to be done later, so that the project can be estimated in a relatively accurate manner. However, the fact is that demand is constantly changing and plans are not keeping pace. Adaptive planning considers predictability to be an illusion, to face reality and to treat change as the norm for software projects. In this way, changes are controlled, the best software delivered by the project is delivered, and the project is controllable, although the project is not predictable. The adaptive approach absolutely requires iterative methods, both of which are predictable, but it's easier to see how the project works with waterfall and phase delivery.

Agile processes

Examples of agile processes are: Extreme Programming xp,scrum, feature driven development fdd,crystal, dynamic system development method DSDM. The nature of agile process is very self-adaptive, but also attaches great importance to people-oriented. The agile approach assumes that the most important factor in the success of a project is the quality of the people in the project, how well they work together, and what processes and tools are absolutely secondary factors. Agile methods tend to use short, time-based iterations, and less ritual ceremony (there are many documents and control points during the ritual-oriented process project). Agile processes are often portrayed as lightweight, but it is important to note that the absence of rituals is self-adapting and is based on humanistic results rather than basic properties.

Rational Unified Process (RUP)

RUP is actually a process framework that provides a glossary and a loose structure for talking about the process. When you use RUP, the first thing you need to do is to choose a development case (development cases): the process you intend to use in your project. RUP is essentially an iterative process. All RUP projects follow a 4-phase process:

    1. Initial inception phase. Estimate the project and decide whether to invest enough money to do the elaboration phase.
    2. Refine the elaboration phase, identify the project's primary use case, and iterate over the build software to make the system's architecture shape. At the end of the refinement phase, you should have a good understanding of the requirements and a system that can work roughly to play the seeds of development. In particular, you should identify and address the major risks of the project.
    3. Constructs the construction stage. Continue to build software and develop enough functionality to publish.
    4. Handover of the transition phase. Contains late-stage activities that are not iterative and may include deployment to data centers, user training, and so on.

Between stages, there are quite a number of fuzzy zones, especially between the refinement stage and the tectonic phase. For some, it is possible to use the predictive planning model for the construction phase, and for others, it only shows that you have a thorough understanding of the requirements and a schema used by the project.

Crop a process for a project

As the project progresses, you may need to crop the project process and iterate to support frequent process improvements. An iterative review at the end of the iteration (iteration retrospective), the team gathered to discuss: Do well to save, do not do well to improve. Consider a more formal, two or three-day review of Project retrospective at the end of the project or when there is a major release.

Crop a UML for a process

Consider what types of UML diagrams to use at various stages of the project process.

    1. Requirements analysis. You can use: Use Cases, class diagrams, activity diagrams, state diagrams.
    2. Design. Class diagram, sequence diagram, package diagram, state diagram, deployment diagram.

UML Pristine 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.