找回密码
 注册
搜索

怎样写软件需求更有效?

已有 84 次阅读2017-3-13 16:18 | 软件

 

 

 

 

 

 

 

 

怎样写软件需求更有效?

 

      李培圣(北京软件造价评估技术创新联盟

 

 

 

 

 

 

 

 

 

 

 

引言:

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

一、软件需求是什么

根据百度百科的定义:软件需求是用户解决问题或达到目标所需条件或权能;系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 软件需求包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。本文我们主要讨论软件的功能性需求,主要包含三个层面的内容:

 

业务需求

用户需求

功能需求

 

 

业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明,这是软件项目要实现的目标或者功能

用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明,这是用户在特定场景下,通过软件所需要实现的功能。

功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求

 

 

二、软件需求与成本评估

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

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

 

三、如何写好软件需求

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

1、业务需求

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

2、用户需求

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

 

 

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

科目管理:针对培训过程中的不同类别进行科目管理,对培训科目进行管理维护:包括科目信息添加、科目信息查询、科目信息修改、科目信息的删除等操作。

课程管理:对于培训课程进行管理维护:包括课程信息添加、课程信息查询、课程信息修改、课程信息的删除等操作。

课件管理:课程信息主要包括不同课程的课件信息,用户通过输入课件的 名称、密级、类型、讲义可以对课件信息进行独立的管理 包括课件信息添加、课件信息查询、课件信息修改、课件信息的删除等操作。

学员管理: 对于登陆用户报名学习某一科目的课程内容进行管理,包括学员新增,查询、修改、删除等操作

计划管理:管理员可以对培训计划进行管理,主要计划添加培训课程和培训学员,管理员卡还可以对培训计划进行添加、查询、修改、删除等操作

培训日志:管理通过输入时间、类型、描述可以对培训信息进行查询

 

 

3、功能需求

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

 

3.1科目管理

 

功能描述

对科目进行增,删,改,查等管理操作。

输入

a)      新增科目:新增界面输入科目名称、科目描述等信息。

b)      修改科目:在科目编辑界面对科目名称、描述等信息进行修改。

操作序列

a)      新增科目

1)      在科目管理界面点击“添加”按钮进入科目新增界面;

2)      在科目新增界面输入科目、描述等信息;

3)      点击保存按钮,新增科目成功;

4)      点击返回按钮返回科目管理界面。

b)      修改科目

1)        在科目管理界面科目对应的操作列中点击“修改”进入修改界面;

2)        在科目修改界面根据自己需要修改相关项;

3)        点击保存按钮,科目修改成功;

4)        点击返回按钮返回科目管理界面。

c)      删除科目

1)        在科目管理界面科目对应的操作列中点击“删除”;

2)        弹出提示删除信息;

3)        点击确定删除。

d)      查询科目

1)        在科目管理界面输入查询条件;

2)        点击查询;

3)        显示查询结果

4)        点击导出功能,导出.xls文件。

输出

增、删、改,查等操作如果保存成功,给出成功提示;如操作失败,给出错误提示。

补充说明

    3.2课程管理

 

功能描述

对课程进行增,删,改,查等管理操作。

输入

a)      新增课程:新增界面输入科目、名称、类型、描述等信息。

b)      修改课程:在课程编辑界面对科目、名称、类型、描述等信息进行修改。

c)      课程查询:输入课程名、科目等查询条件。

操作序列

a)      新增课程

1)在课程管理界面点击“添加”按钮进入课程新增界面;

2)在课程新增界面输入课程、描述等信息;

3)点击保存按钮,新增课程成功;

4)点击返回按钮返回课程管理界面。

b)      修改课程

1)在课程管理界面课程对应的操作列中点击“修改”进入修改界面;

2)在课程修改界面根据自己需要修改相关项;

3)点击保存按钮,课程修改成功。

4)点击返回按钮返回课程管理界面。

c)      删除课程

1)      在课程管理界面课程对应的操作列中点击“删除”

2)      点击确定即可删除该条记录。

d)      查询课程

1)      在课程管理界面上输入查询条件;

2)      点击查询按钮,即可查询检索相应的记录。

3)      点击导出功能,导出.xls文件。

输出

增、删、改、查等操作如果保存成功,给出成功提示;如操作失败,给出错误提示。

补充说明

  3.3课件管理

 

功能描述

对课件进行增,删,改,查等管理操作。

输入

课件名称、密级、类型、讲义

操作序列

a)      进入课件管理界面

1)        在课程管理界面点击“课程名称”即可进入对应的课件管理界面。

b)      新增课件

1)        在课件管理界面点击“添加”按钮进入课件新增界面;

2)        在课件新增界面输入课件、讲义等信息;

3)        点击保存按钮,新增课件成功;

4)        点击返回按钮返回课件管理界面。

c)      修改课件

1)        在课件管理界面课件对应的操作列中点击“修改”进入修改界面;

2)        在课件修改界面根据自己需要修改相关项;

3)        点击保存按钮,课件修改成功。

4)        点击返回按钮返回课件管理界面。

d)      删除课件

1)        在课件管理界面课件对应的操作列中点击“删除”

2)        点击确定即可删除该条记录。

e)      查询课件

1)        在课件管理界面上输入查询条件;

2)        点击查询按钮,即可查询检索相应的记录。

3)        点击导出功能,导出.xls文件。

输出

增、删、改、查等操作如果保存成功,给出成功提示;如操作失败,给出错误提示。

补充说明

课件支持类型:pdfdocdocxxlsxlsxflvmp4等常见格式;

模拟训练功能采用3D技术实现。

 

 

3.4学员管理

 

功能描述

a)      注册学员管理:注册学员查询、修改、删除等操作。

b)      后台新增学员管理:教员可在学员管理中新增学员,也可对学员信息进行查询、删除等操作。

输入

登录名、真实姓名、密码

操作序列

a)      新增学员

1)      在学员管理界面点击“添加”按钮进入学员新增界面;

2)      在学员新增界面输入登录名、真实姓名、密码等信息;

3)      点击保存按钮,新增学员成功;

4)      点击返回按钮返回学员管理界面。

b)      删除学员

1)      在学员管理界面学员对应的操作列中点击“删除”

2)      点击确定即可删除该条记录。

c)      查询学员

1)      在学员管理界面上输入查询条件;

2)      点击查询按钮,即可查询检索相应的记录。

3)      点击导出功能,导出.xls文件。

输出

增、删、查等操作如果保存成功,给出成功提示;如操作失败,给出错误提示。

补充说明

 

 

四、确定功能进行成本评估

通过对软件需求功能点点梳理,借助需求管理平台需求分析功能,我们可以了解该项目的规模大小,通过行业基准数据的分析可以了解研发成本,工期时间的管理要素,为项目管理提供依据


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-7-6 03:55 , Processed in 0.030572 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部