• 用例图是软件项目成本预估的好帮手


    成本预估对于所有的项目来说都是至关重要的。没有成本预估,就不可能在项目前期控制成本与管控风险。为了让项目经理能够尽早组建团队、申请项目资金,并评估可能的风险,一个方式便是参考以往项目经验来估算项目成本。

    成本最重要的“开发成本(时间)”部分就是由程序员参考生产力来评估所有系统功能完成的。尽管具体功能花费的时间是由程序员来估算,但是比”具体功能”影响更大的,比如,项目有多少功能?范围如何?则是由项目经理向客户确认的,而确认的结果就是用例文档和用例图。

    相比用例,同样是描述参与者和系统的交互(也就是系统功能),用例图却有这样的优点:

    • 简单。相比几百行的文字和简单的图形,可想而知哪个更容易
    • checklist。图形容易放在一张纸上,这样有助于发现检查遗漏的需求;几十页的文字很难做到。

    所以,在分析系统时使用用例图更不容易遗漏,更有帮助与沟通,也更能帮助到你。而我们说的成本预估刚好需要从系统的范围入手。

    谁使用用例图?

    用例图是一个非常有效的工具,各个参与方都可以从中获益:

    • 客户–可以更好的理解软件将完成什么,并能判断当前的方案是否满足他们大部分的需求。
    • 项目经理–项目经理可以使用用例图来保证各利益方达成共识。在项目预估时,用例图可以作为重要的沟通手段,确保所有人都很好的理解了方案设计的系统范围。
    • 程序员–通过用例图理解系统的功能和交互。

    如果你有一只笔和一张纸,那么现在就可以开始了

    怎样创建用例图?

    创建用例图的工具非常多。一开始时建议使用白纸来绘制草图,一般我会快速地画出马上识别出来的用例图。这些用例一般颗粒比较粗,所以随后我会在另外一张白纸上画出比它颗粒更细的用例图。过程中,我通常使用比较粗的黑色水笔来绘制第一份用例图,因为较粗的线条会迫使我专注在重要的元素上,并忽略那些暂时不重要的细节。如果出现了错误,我选择直接放弃它,这完全不会影响其它的草图。但是被放弃的草图纸,你最好想办法再次利用他们,这是为了环保。

    image

    当草图完成的时候,我一般会邀请团队的技术主管做个简短的评审。评审时我会先在电脑上使用软件重新绘制草图。较之于在白纸上绘制草图,使用软件绘制有如下的好处:

    1 重新组织用例图元素时,使用软件比手绘更快、更简单。

    2 软件提供了绘制模板,使用手动拖放就可完成绘制过程。

    3 数字用例图更容易和别人分享,并且能够在团队中保证用例图的一致性。

    clip_image001[4]

    我使用UMLet作为绘制用例图绘制工具,你可以在官网http://www.umlet.com中下载到它它是开源代码轻量级UML建模工具,使用界面简单,能够让你快速建模,并能导出各种格式SVG, JPG, PDF and LaTeX-friendly EPS。恰恰因为它的简单,让我在众多的软件中选择它。

    clip_image003[4]

    UMLet还为绘制其它图形提供了模板,比如时序图、泳道图等

    clip_image005[4]

    我认为UMLet是非常值得推荐的工具,但是,用例图本身是和工具无关的,他的目的是促进交流和探索新需求。这意味着你应该选择自己熟悉的工具。 

    用例图的4个小技巧

    1. 不要试图将用例图变漂亮

    虽然我们应该尽量将用例图装饰得好看一点,但是不要把精力放在上面,而应该把精力集中在其要展示的系统上。

    2. 及早反馈,经常反馈

    不用担心你的用例图还没有展示所有的东西,而应该尽早地向利益相关者展示。用例图应该是协作式的、迭代式的过程,这个过程分为3个步骤:

    1. 从草图开始,以表达一些概念
    2. 从所有利益相关方收集反馈
    3. 逐步完善直到项目结束

    3. 站在用户的角度

    4. 在必要时使用注释

    在你需要说明的地方加上注释,比如关于更细颗粒的用例在另外一页时,可以使用用例说明。

    结论

    用例图是帮助团队讨论系统、分析系统的绝佳工具,它非常适合在团队讨论、分析、展示、评审时使用。同时,它又非常地简单,一只笔、一张纸即可,当然你也可以使用软件。如果你在预估项目开发时间时使用它,我相信它会帮助到你的。


  • 相关阅读:
    4、java变量、函数、基本类型的值传递、分支、循环、流程控制
    mysql-数据库维护
    mysql-安全管理
    mysql-管理事务
    mysql-触发器
    mysql-游标
    mysql-过程与函数
    ViewPager 带动画的欢迎界面
    Pull to RefreshListView 添加HeaderView
    解决 listView gridView 与ScrollView嵌套时的冲突
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314442.html
Copyright © 2020-2023  润新知