第一章:需求概述

       已完成的软件通常伴有各种各样的问题,一部分是因为软件开发与维护的方法问题,但是没有对用户的需求进行正确的分析也是软件开发失败的主要原因之一,Standish集团总结的十大成功保证之中,有三个是直接与需求挂钩的,权重高达37.1%,而十大失败因素中与需求相关的更是高达5个,权重比51.6%,由此可见需求分析在软件开发中的重要性。

       不同的软件项目根据其特点都有不同的分析方法,拿信息系统来说,它是人、数据、过程和接口的结合,它们之间相互作用,支持并改进企业的日常动作,并支持管理人员和用户解决问题和做出决策。主要包含以下几个要素:1、支持企业日常动作

                                2、支持解决问题  

                                3、支持决策。

       在信息工程框架中包含联机事务处理系统、管理信息系统、主管信息系统、决策支持系统、专家系统、办公自动化的主要类型,其中各类信息系统的关系又可分为以下几种:联机事务处理系统是数据的生产者、管理信息系统是数据的消费者、主管信息系统、决策支持信息是数据的高级消费者、专家系统是个人知识的沉淀 同时也是数据的消费者、办公自动化系统是沟通与协作的直接支持。                                 


 

一、软件需求分析有几个基本的问题

1、需求是谁的需求

2、怎样获取需求

3、怎样真正理解和描述需求

4、需求是不断发生变化的

 

我对这几个基本问题的理解:  

1、首先需求是客户的需求,这一点毫无疑问

2、从客户方面获取需求需要对业务背景有大体上的理解,然后与客户进行沟通,获取客户的需求

3、对客户需求的理解是项目中极为重要的一部,他决定的项目的成功与否,我认为想要真正理解需求就需要与用户进行良好的沟通,因为口头传递信息可能发生的失误例如我就曾经在晚上看到一个驳论说文字的顺序并不会影响人对文字的阅读,下面给了一段许多文字顺序发生了错乱的文字,但是我们依旧可以读懂文字,这是为什么呢?为什么明明是错乱的文字却依旧没有影响我们的阅读呢?这是因为我们在这段文字上加入了自己的理解,因此可以阅读文字错乱的一段话。获取客户需求也是这样,我们通常会下意识的对用户的需求加入自己的理解,因此可能对用户需求的理解有些许变差,所以我们需要不断的与客户进行确认以及复述等来保证真正的理解客户的需求。而想要真正的做出一个优秀的需求描述,需要具备完整性、正确性、无歧义性、可行性、有优先级、必要性、可验证性等等,为正确描述 需求可将需求写成需求文档,并适当采取形式化描述,例如UML等。

4、需求为什么会发生变化?产品应用越多,用户对应用的理解也就越多,需求也就会随之发生变化,同时当产品成型后,用户也会对其中的不足之处要求进行更改,但并不能以此性将所有的不足之处指出,因此需求是不断发生变化的。


 

二、需求的层次和分类

1)、软件需求包括三个不同的层次1、业务需求

                                                                                2、用户需求

                                                                                3、功能需求

 

我对这三个需求层次的理解以及一些举例:

1、 业务需求:从宏观上描述需求,它代表了需求链中最高层的抽象,它为软件系统定义了项目视图和范围,反应了企业或组织对软件系统的高层次目标要求,它是彻底从业务角度描述的,是指导软件开发的高层需求。这个目标通常体现在问题与机会两个方面,它追求可行性和利益的最大化。

例:如何引导用户使用,如何盈利,如何推广运营,这些都属于微信的业务需求。

2、 用户需求:用户需求是指描述的是用户使用软件需要完成什么任务、怎么完成的需求,简单的来说就是用户需求是需求捕获的产物,它具备零散、存在矛盾等几个方面的特点,因此需要对用户需求(原始需求)进行分析整理,从而整理出更加精确的需求说明。

例:微信中中用户希望可以个性化设定自己的头像,于是上传用户头像是一定要满足的用户需求之一。

作为卖家,你用淘宝怎么收款,发货,管理订单,这也是用户需求

3、功能需求:功能需求需要对用户需求进行分析、提炼、整理,它是对用户需求的一个延续因为用户需求具有零散、存在矛盾的特点。功能需求是需求分析与建模的产物,这能生成指导开发的、更精确的软件需求

:上传头像的用户需求,图片格式有很多种,但上传的头像一定只能是有限的某几种格式,所以,只能上传XXX格式的图片作为头像属于功能需求

微信好友数量上限

电脑qq消息同时闪烁等等都属于功能需求

 

2)、软件需求的分类:

              1、功能需求

              2、非功能需求

              3、设计约束  

 

我对这三类软件需求的理解及举例:

1、功能需求:开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求

例:微信发送信息的功能,淘宝下单的功能,加入购物车的功能,图书馆系统查询图书的功能等等。

2、非功能性需求:它描述了系统展现给用户的行为和执行的操作等。

例:微信发送的消息对方是否回复,网上购物何时到达等等。

3、设计约束:开发人员在软件产品设计和构造上的限制,产品必须遵从的标准,规范和合约。

例:必须采用什么样的数据库系统,系统开发必须使用什么技术等             


 

 三、需求分析与其他软件项目过程的关系

需求阶段在系统开发的整个生命周期中处于最基础、最重要的位置。

转载于:https://www.cnblogs.com/yangxuefeng/p/8585642.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
教会你如何写需求分析报告~~·需求分析说明书 1 、系统功能结构图( HIPO 图) (在该功能结构图选一个子系统进行逐层分解) 2 、系统功能说明 (对以上选的子系统进行功能描述) 3 、现有系统的业务流程图及说明 (对以上选的子系统绘制手工系统或旧的计算机系统的业务流程图并进行简单的功能说明) 4 、新系统的业务流程图及说明 (对以上选的子系统绘制计算机系统下的业务流程图(重组后的)并进行简单的功能说明) 采购管理系统分析 采购是企业 物资供应部门 按已确定的物资供应计划,通过市场采购、加工订制等各种渠道,取得企业 生产经营活动所需要的各种物资的经济活动,采购业务的状况会影响到企业的整体运营状况。 通常情况,企业的采购业务通常由 采购部 来执行—— 制造部 根据销售定单制定生产计划,企业生产 制造系统根据 生产技术部 提供的有关材料定额资料以及 制造部 提供的生产计划,考虑现有库存情况, 生成采购计划。 采购部 根据采购计划分别进行国内采购和国外采购。 采购管理系统 主要进行 采购订单 、 采购入库单 和 采购的管理 。采购业务发生后, 采购部 将 采购录入 采购管理系统 ,采购物料入库时, 采购部 储运科根据验收单在 库存管理系统 录入入 库单; 财务部 根据采购和物料验收单据进行采购结算,系统自动生成相关凭证,登记相关库存帐。 课程设计应该递交哪些文档? 课程设计应提交一份课程设计报告,课程设计报告包括以下几个方面的内容:①封面、②目录、③ 系统可行性分析报告、④系统分析报告、⑤课程设计小组成员清单。 如何撰写课程设计报告? 课程设计报告包括两个方面的内容,一个是系统可行性分析报告,一个是系统分析报告。可行性分 析报告简单的来讲我们要求大家写两个方面的内容,首先是对企业目前的状况进行描述,指出企业需要用 计算机来进行管理(即需要信息系统),然后从经济上、技术上、管理上阐述企业是否具备了相应的条件 ,最后得出系统是否可行的结论。我们的课程设计是基于系统可行来进行的。用文字把以上内容描述清楚 就是我们的可行性分析报告。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值