zoukankan      html  css  js  c++  java
  • 软件需求与软件评估

    引言:
    提到软件需求相信很多人并不陌生,特别是从事信息化方面工作的人员,基本每天都需要与软件需求打交道。 可是在实际的工作中,因为软件需求问题导致信息化项目失败的情况屡见不鲜,软件需求在软件项目中处于一个什么地位,我们需要怎样编写需求?希望通过本文的探讨给大家带来一些思考,给实际工作带来帮助。
    一、软件需求是什么

    根据百度百科的定义:软件需求是用户解决问题或达到目标所需条件或权能系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 软件需求包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。本文我们主要讨论软件的功能性需求,主要包含三个层面的内容:
      业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明,这是软件项目要实现的目标或者功能
      用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明,这是用户在特定场景下,通过软件所需要实现的功能;
      功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求

      

    二、软件需求与软件评估

    工作中,怎样编写软件需求可以更好的满足软件研发的需要 很多人可能认为需要写得越详细越好,只有把需求写清楚了,我们才能研发出客户满意的软件。可是在实际中,编写软件需求工作量很大,并且在时间做软件研发过程中,需求内容随时都会发生变更,随着敏捷研发思想的普及,很多人又走向了另一个极端:认为软件需求不需要编写,通过代码就可以反映需求的内容,研发不需要把宝贵的时间浪费在冗余的文档编写上 两种意见可能都有一定的道理,那么我们需要怎样的软件需求文档呢

    要回答这个问题,需要我们首先考虑:我们为什么需要需求文档 如果需求的编写只是为了解释说明软件实现的功能,那么良好的编码结构,代码注释就可以很好的实现软件的功能说明,程序员可以将编写需求的时间节约下来进行更多功能的实现; 可是,这样的情况可能更多适用于中小型项目,或者互联网项目,因为这样的项目需求不复杂,并且需求变化很快,所以研发的效率非常重要。然而,针对大型软件项目或者功能比较复杂的系统,软件研发可能是多人协作的成果,所以在信息传递过程中, 我们只有提前考虑好软件需求的内容,才能正确评估开发软件所需要的时间,成本的要素,从而更好的管理项目

    三、如何写好软件需求

    如何写好一个软件需求,我们通过一个案例来进行说明:

    1、业务需求 :
    客户对系统的总体的目标要求 ;在线培训考试平台,主要是用于网上教学、学习、模拟训练等,老师可以通过此系统进行学习科目、学习课件、学习评估等管理,学员可以通过系统进行网上学习、模拟训练、在线考试及帮助。

    2、用户需求 :
    用户在特定场景下,通过软件所需要实现的功能 在线培训考试平台的案例中,核心功能主要包括

      

    ......

    其中在线培训管理模块包括:

    科目管理:针对培训过程中的不同类别进行科目管理,对培训科目进行管理维护:包括科目信息添加、科目信息查询、科目信息修改、科目信息的删除等操作。
    课程管理:对于培训课程进行管理维护:包括课程信息添加、课程信息查询、课程信息修改、课程信息的删除等操作。
    课件管理:课程信息主要包括不同课程的课件信息,用户通过输入课件的 名称、密级、类型、讲义可以对课件信息进行独立的管理 包括课件信息添加、课件信息查询、课件信息修改、课件信息的删除等操作。
    学员管理: 对于登陆用户报名学习某一科目的课程内容进行管理,包括学员新增,查询、修改、删除等操作。
    计划管理:管理员可以对培训计划进行管理,主要计划添加培训课程和培训学员管理员卡还可以对培训计划进行添加、查询、修改、删除等操作。
    培训日志:管理通过输入时间、类型、描述可以对培训信息进行查询。

     

    3、功能需求
    开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求,在线培训管理包括科目管理、课程管理、课件管理、学员管理、计划管理,培训日志查询等功能;

      3.1科目管理

        

      3.2课程管理

        

      3.3课件管理

        

      3.4学员管理

        

    四、确定功能进行成本评估
    通过对软件需求功能点点梳理,借助需求管理平台(www.parawork.com
    )需求分析功能,我们可以了解该项目的规模大小,通过行业基准数据的分析可以了解研发成本,工期时间的管理要素,为项目管理提供依据;

     

    本文为作者原创,如需转载请注明出处!

    软件需求管理
  • 相关阅读:
    2017.0321.数字电路与系统-触发器
    2017.0320.数字电路与系统-触发器
    2017.0319.数字电路与系统-算术逻辑单元
    2017.0317.数字电路与系统-减法器
    2017.0316.算术运算电路和ALU
    2017.0315.数字电路与系统-奇偶校验器
    2017.0313.数字电路与系统-数据选择器分配器的理解
    2017.0311.数字电路与系统-数据选择器分配器的理解
    2017.0310.数字电路与系统-数据选择器分配器的理解
    2017.0309.数字电路与系统-组合电路的模块分析
  • 原文地址:https://www.cnblogs.com/parawork/p/6524054.html
Copyright © 2011-2022 走看看