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 .

  • 相关阅读:
    用Fiddler模拟低速网络环境
    定制 Fiddler 之将请求发往另一服务器
    软件测试流程进阶----两年软件测试总结
    Fiddler 4 抓包(APP HTTPS )
    JMeter报错 ERROR o.a.j.t.JMeterThread: Test failed!
    Python显示百分比
    python 2 到 3 的新手坑
    Python运行的17个时新手常见错误小结
    Python去除字符串的空格
    js控制媒体查询样式/判断是PC端还是移动端
  • 原文地址:https://www.cnblogs.com/davidgu/p/3500627.html
Copyright © 2011-2022 走看看