迅速把握软件需求要点?

发表于:2007-06-20来源:作者:点击数: 标签:需求软件需求
摘要:在项目的初期,往往通过一次简单的交流、若干原始资料,需要我们能迅速把握系统的整体 需求 ,并明确其中的要点。如何能够有效地做到这一点呢?我通常会使用记事本,做一个包含要点的笔记,这份笔记的内容如下: ------------------------------------

摘要:在项目的初期,往往通过一次简单的交流、若干原始资料,需要我们能迅速把握系统的整体需求,并明确其中的要点。如何能够有效地做到这一点呢?我通常会使用记事本,做一个包含要点的笔记,这份笔记的内容如下:
---------------------------------------------------------------------------------------------------------------------

名称×××系统
  如:网上书店系统

客户×××(名称),×××(主要负责人),×××(联系方式)
  
如:新媒体,李四,13888888888 , lisi@gmail.com  
项目目标:
       开发一个××应用系统,以使客户能够×××。
        注:尽量简洁、使用一句话来描述:,如:开发一个电子商务网站,以使客户能够在网上进行售书。  
       客户希望在××之前能够实现××等功能。
       注:尽量简洁的词语描述客户在短期内最希望实现的功能,如:客户希望在一个月内能提供书籍上传和管理,并可进行书籍浏览、查询功能。
这其实相当于描述一个短期目标。确定短期目标的目的是能让我们迅速抓住最核心、最紧迫的需求,避免把前期最宝贵的资源浪费掉。

       客户希望能够在××之内,最终实现××等功能。
      注:简洁描述最终的整体期望,如:客户希望在四个月内能实现一个可管理100万册图书、日访问量过百万、简洁易用的售书网站。
这是描述系统最终的
Vision. 确定大方向和准则。
项目角色
      1) ××角色:来自×××的用户,通过系统完成××任务,×××。
     如:网站访问者,来自外部Internet的用户,通过系统完成图书浏览、查询任务;注册后成为会员。角色一般分为客户角色(使用系统的最终用户)和内部角色(系统本身管理、配置的维护角色)。来自××一句通常能说明该角色究竟是最终用户还是内部角色。一般情况,最终用户角色的需求优先级往往高于内部角色的功能需求(因为客户方更能看到价值)  
      2)××角色:来自×××的用户,通过系统完成××任务,×××。
     如:会员角色,来自外部Internet的用户,通过注册后成为会员,通过系统完成收藏图书、预览图书章节、购买图书。
      3)××角色:来自×××的用户,通过系统完成××任务,×××。
      如:系统管理员角色,来自客户内部的用户,通过系统完成书籍、会员管理、系统配置和维护。
     4)…….
功能要点
      注:一般我认为只需要列出前面所描述短期目标的要点,仅在必要情况下对长期目标作部分要点详述。描述的方式我觉得用户场景(User Scenarios)或用户故事(User Story)比较好。(如果必要,可用Word写该文档,对这些场景或故事配搭上一些界面框架草图,就更容易让所有成员看过一眼后就留下较深刻的印象)
<!--[if !supportLists]--><!--[endif]-->       1)    ××(角色)进行××(操作),以××(目的)。
注:其实就是Who,What,Why三个要素,有时还会加上When,Where要素。
如:网站访问者打开网页,可查看一个最新十本书、热卖的十本书的书籍列表,并可通过该界面上的搜索功能搜索、查找书籍。
再如:系统管理员角色通过“管理员登录”页面进入系统,查看已有书籍列表,并可对书籍按照时间、出版社、作者、价格、售出数量、在库数量等排序,也可以按照这些字段查找、筛选书籍。并能够方便快捷地添加新图书。
每当月末时,系统管理员需要统计本月书籍销售情况,生成统计报表,邮件发送给销售经理和总经理。

       2)…….

其他说明事项

       注:这里说明与项目背景相关的,需要大家重点注意的一些事项。
  如:1)之前该客户曾经请××公司开发过一个原型,但因为不太满意所以改选择我们,我们会尽量获取已有的资料以帮助我们进行分析。。。;
    2)客户对网站的性能压力测试很重视,并要求观察和跟踪我们测试的过程。
.

---------------------------------------------------------------------------------------------------------------------

我感觉这种方式工作量小、简洁、易于记忆、易于在团队中共享(团队中的成员可通过阅读或交流这份要点笔记,迅速明确、记住系统概况和需求要点)。不知是否对你有点帮助呢?

原文转自:http://www.ltesting.net