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 .

  • 相关阅读:
    听说你技术很牛?对不起,屁用没有
    Java内存区域与内存溢出异常
    java mongodb连接配置实践——生产环境最优
    MngoDb MongoClientOptions 配置信息及常用配置信息
    java mongodb的MongoOptions生产级配置
    【深入 MongoDB 开发】使用正确的姿势连接分片集群
    MongoDB索引管理-索引的创建、查看、删除
    面试题:判断字符串是否回文
    面试题:Add Two Numbers(模拟单链表)
    面试题:获取一个整数的16进制表现形式
  • 原文地址:https://www.cnblogs.com/davidgu/p/3500627.html
Copyright © 2011-2022 走看看