zoukankan      html  css  js  c++  java
  • UML Distilled

    Iterative(迭代) and Waterfall(瀑布) Processes

    One of the biggest debates about process is that between waterfall and iterative styles.

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

    If you have a project that you think will take a year, few people are comfortable telling the

    team to go away for a year and to come back when done .

    Some breakdown is needed so that people can approach the problem and
    track progress.

    The waterfall style breaks down a project based an activity.

    To build Software, you have to do certain activities :

    * requirements analysis

    * design

    * coding

    * testing


    eg: 1-year project might thus have a structure like below:

    2-month analysis phase

    4-month design phase

    3-month coding phase

    3-month testing phase

    The iterative style breaks down a project by subsets of functionality.

    You might take a year and break it into 3-month iterations .

    eg: In the first iteration, you'd take a quarter of the requirements and do the complete software life cycle,
    for that quarter : analysis, design, code, and test .

    At the end of the first iteration, you'd have a system that does a quarter of the needed functionality .

    Then you'd do a second iteration so that at the end of 6 months, you'd have a system that
    does half the functionality.

     Agile Processes

    In the past few years, there's been a lot of interest in agile software processes .
    Agile is an umbrella term that covers many processes that share a common set of
    values and principles as defined by the Manifesto of Agile Software Development
    examples of these processes are Extreme Programming(XP), Scrum, Feature Driven Development (FDD),

    Crystal, and DSDM(Dynamic Systems Development Method).

    Agile approaches assume that the most important factor in a project's success is the quality of the
    people and how well they work together in human terms .

    Which process they use and which tools they use are strictly second-order effects.

    Agile methods tend to use short, time-boxed iterations, most often of a month
    or less(2 weeks).

    Agile processes are often characterized as lightweight.

    Rational Unified Process(RUP)

    The Rational Unified Process (RUP) is independent of the UML, the
    two are often talked about together.

    All RUP projects should follow four phases:

    1 . Inception makes an initial evaluation of a project . Typically in inception,
    you decide whether to commit enough funds to do an elaboration phase .


    2. Elaboration identifies the primary use cases of the project and builds software
    in iterations in order to shake out the architecture of the system . At

    the end of elaboration, you should have a good sense of the requirements
    and a skeletal working System that acts as the seed of development . In particular,
    you should have found and resolved the major risks to the project .


    3 . Construction continues the building process, developing enough functionality
    to release .


    4. Transition includes various late-stage activities that you don't do iteratively.
    These may include deployment into the data center, user training, and the
    like .

  • 相关阅读:
    【转】职场中如何才能学会心理自控
    Gof《设计模式》完结
    阿里巴巴CEO马云最新超经典哲学语录
    大话设计模式感悟(3)——策略模式(Strategy)
    设计模式 ( 十三 ) 命令模式Command(对象行为型)
    数据结构&算法实践Python——序章
    设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
    设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
    金融系列2《借贷记卡应用》
    php 设计模式数据映射模式(应用程序与数据库交互模式)
  • 原文地址:https://www.cnblogs.com/davidgu/p/3500627.html
Copyright © 2011-2022 走看看