我们应该怎样做软件需求分析

我们应该怎样做需求分析

通过阅读这篇博客,我觉得对于我们的软件需求分析,有了一些自己的看法和认识。

无论做什么样的需求分析,我们都应该了解到需求分析不是一蹴而就的,它应当贯穿整个周期,不断的分析确认的过程,这就是敏捷开发倡导的需求反馈。敏捷开发认为,需求分析阶段不可能解决所有的需求问题,因此,从一开始客户诉说对软件功能的要求,到我们对软件的设计,开发,测试以及最后完成,在这个整个过程中我们都应该在每一个部分,不停地用开发的成果与客户交流,及时获得反馈。只有这样我们才能减少客户和我们对软件需求理解的偏差,确保项目成功。

我们对客户提出的需求进行深入理解以后,运用我们专业知识,提出比客户的原始需求更加合理、可操作的解决方案,让客户感觉你说的正是他们想要的。如果能够这样,客户不仅能够欣然接收你提出的方案,而且会感觉你非常专业,客户对你的信任度也会有很大程度的提升,使你有更多的机会提出有利于开发的可行方案,降低开发的风险。这毫无疑问会形成一个良性循环,想要做到这一点,必须要在开始交流的前期就给客户留下极好的印象才行。

我觉得有以下几点总结:

1.需求调研:

需求调研是需求分析里很重要的一个环节,根据这篇博客上可以总结出关于需求调研的四点:

<1>初识。即在一个项目启动上,要大方而得体地提出自己的意见,使客户重视你的意见,甚至主动征求你的意见。同时,不同的部门,由于业务的不同,对软件的需求自然是不同的,因此我们在进行需求调研的时候,什么部门的需求就应当跟什么部门谈。而且,纵向又可以划分为多个层次,如高层领导、中层领导与基层人员,要与每个层次的人员都要适当的沟通,明白他们对该项目每个方面的需求。划分清楚角色,弄清楚每个角色的需求提出者与决策者,就是为了在今后的需求调研中找对正确的人,使今后的调研工作事半功倍。

<2>拜访。分析一个客户人群的关系,就是在分析这个人群中,谁有意愿支持我们,而谁却在自觉不自觉地阻碍我们。那些通过这个项目可以提高政绩,提高自身价值的人,都是我们可以争取的盟友。他们是我们最可以依赖的人,我们一定要与他们站在一起,荣辱与共,建立战略合作伙伴关系。

<3>开研讨会。需求分析不是一种简单的你说我记的收集活动,而是在大量业务分析与技术可行性分析基础上的分析活动。只有建立在这种分析基础上的软件研发,才能保证需求的正确与变更的可控。

<4>迭代。需求分析就是按照迭代这样的过程,每次多理解一些,再多理解一些,更多理解一些,逐渐深入的过程。每深入一步,我们的软件就更接近客户的满意。

<5>需求捕获。我们在需求分析的整个过程,不断进行业务领域知识的学习,采用主动态度去捕获需求,我们的需求捕获最初是源于企业现有的操作流程,但当我们深入理解了客户现有的操作流程以后,应当有意识地发现那些不合理的部分,并最终提出更加合理、更适于信息化管理的流程。

2.需求分析。

<1>功能角色分析与用例图

这个运用学过的统一建模的知识,用客户易懂的词语进行功能描述,从而让客户了解我们了解到的需求,并提出修改意见。

 

<2>业务流程分析

我们可以用以下思路来进行我们对流程改进的分析:清除低效环节、简化业务瓶颈、整合可用资源,以及将繁琐任务自动化。

<3>用例说明。

图形的最大优势是能够形象生动地描述我们的分析,但它最大的缺点是会遗失许多的细节信息,因此我们必须要对它进行进一步的文字描述。

<4>查询报表分析

报表作用体现的是报表对于不同用户的真实意图;输出列体现的是对各个数据项及其数据来源的说明;假设与约束罗列的是报表中各个数据项的运算公式、数据规则与约束;还有使用频率、数据链接、非功能需求,以及最后的界面原型,等等。只要我们把这些都分析到了,我们的查询报表就分析到位了。

<5>子用例与扩展用例

我们都学过同意建模,如图所示,对项目进行子用例和扩展用例。

<6>行动图和状态图

用例图只是描述了某一个用例自己的功能,而各个功能很分散,没有联系,所以需要行动图和状态图来将各个模块组织起来,来对业务进行整体的描述。状态图描述了业务流程状态的转换,可以清晰地展现各个业务流程。

<7>业务领域分析

我们进行业务领域分析,就是通过与用户进行交流,掌握领域知识,然后绘制成业务领域模型,去指导我们软件开发的过程。

<8>原文分析法

由于考核指标掌握着指标的定义,还有那些执法行为,所以它可以执行考核,而过错类型则掌握着过错标准,因此可以执行过错的判断。注意,这里的“执行”什么行为,是软件意义上的概念,即一个类可以拥有什么行为,而非现实世界的概念。要知道现实世界中的事物是不可能有主动执行什么操作的能力的。

<9>领域驱动设计

<10>非功能需求

非功能需求包括可用性、可靠性、性能、可支持性以及其他,非功能需求时需求人员非常容易忽略的,但是确实对软件开发非常重要的,某一方面考虑不周全,可能会导致软件的失败,例如界面不友好,性能差,支持性差等都会导致客户不想使用导致软件开发的失败。

3.需求确认。

<1>需求规格说明书。

<2>评审和签字确认会。

关联关系:

 

 

转载于:https://www.cnblogs.com/sunshine-z/p/8529921.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 范围 1 2. 总体要求 1 2.1 总体功能要求 1 2.2 软件开发平台要求 1 2.3 软件项目的开发实施过程管理要求 2 2.3.1 软件项目实施过程总体要求 2 2.3.2 软件项目实施变更要求 2 2.3.3 软件项目实施里程碑控制 3 3. 软件开发 3 3.1 软件需求分析 3 3.1.1 需求分析 3 3.1.2 需求分析报告的编制者 4 3.1.3 需求报告评审 4 3.1.4 需求报告格式 4 3.2 软件的概要设计 4 3.2.1 概要设计 4 3.2.2 编写概要设计的要求 4 3.2.3 概要设计报告的编写者 4 3.2.4 概要设计和需求分析、详细设计之间的关系和区别 4 3.2.5 概要设计的评审 4 3.2.6 概要设计格式 5 3.3 软件的详细设计 5 3.3.1 详细设计 5 3.3.2 特例 5 3.3.3 详细设计的要求 5 3.3.4 数据库设计 5 3.3.5 详细设计的评审 5 3.3.6 详细设计格式 5 3.4 软件的编码 6 3.4.1 软件编码 6 3.4.2 软件编码的要求 6 3.4.3 编码的评审 6 3.4.4 编程规范及要求 6 3.5 软件的测试 6 3.5.1 软件测试 6 3.5.2 测试计划 6 3.6 软件的交付准备 7 3.6.1 交付清单 7 3.7 软件的鉴定验收 7 3.7.1 软件的鉴定验收 7 3.7.2 验收人员 7 3.7.3 验收具体内容 7 3.7.4 软件验收测试大纲 8 3.8 培训 8 3.8.1 系统应用培训 8 3.8.2 系统管理的培训(可选) 8 附录A 软件需求分析报告文档模板 9 附录B 软件概要设计报告文档模板 21 附录C 软件详细设计报告文档模板 33 附录D 软件数据库设计报告文档模板 43 附录E 软件测试(验收)大纲 错误!未定义书签。5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值