《软件需求与分析》阅读笔记

简介:   阅读文章《我们应该怎样做需求分析》我了解到,软件需求分析需要掌握以下内容。  需求调研:对自己需要开发的软件进行调查,了解好用户的需求,针对需求做好准备。需求调研对于一个软件开发来说,是一个系统开发的开始阶段,它的输出“软件需求分析报告”是设计阶段的输入,需求调研的质量对于一个应用软件来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个软件的交付结果。

  阅读文章《我们应该怎样做需求分析》我了解到,软件需求分析需要掌握以下内容。

  需求调研:对自己需要开发的软件进行调查,了解好用户的需求,针对需求做好准备。需求调研对于一个软件开发来说,是一个系统开发的开始阶段,它的输出“软件需求分析报告”是设计阶段的输入,需求调研的质量对于一个应用软件来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个软件的交付结果。怎样从客户中听取用户需求、分析用户需求就成为调研人员最重要的任务。

  需求分析:针对自己调研出来的数据进行相应的分析,提取出用户真正的需求。需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。

  需求确认:用户开始的需求经过调研和分析两个过程后,列出最终的需求列表,与客户进行核对。书写需求说明书。

一、需求调研

初识:

要让客户认识到自己的专业性。通过听取客户的需求,做出相应的判断,以专业的角度对需求进行理解并回复客户。不要在客户面前唯命是从,要适当地提出自己的见解,这样不但会让客户对自己有信心,而且自己也可以规范化客户的需求,不至于客户提出什么我们就按照客户说的做什么。

进行详细的角色分析,对号入座。客户方有很多的角色,每一个角色都有自己独特关注的地方,要合理地进行角色分析,让他们了解他们所希望了解的问题,对于需求的调研分析非常地重要。

从宏观上制定目标。在将角色进行分析后,要对每一个角色进行特定地分析,与各个角色进行详细地业务分析,详细了解业务的流程,对于需求的分析非常重要。

拜访:

需求分析需要与客户进行交流,与人交流就要处理好与他人的关系,我们应该在项目的整个过程中与客户建立良好的友谊关系,好的关系可以提高交流的效率。客户是一个大群体,有很多部门,有的部门与项目关联较大,有的则关联较小,不管关联大还是小我们都要与客户建立良好的友谊关系,这对项目的良好开展非常地重要。

研讨会:

将项目负责人以及客户代表聚到一起开需求研讨会是非常重要的,在研讨会上可以详细地对项目进行需求分析,将客户聚到一起一方面可以将各个部门的客户的需求统一化,避免每个部门的需求不一致,导致项目需要开发很多的版本,导致项目太大开发困难而且不容易维护;另一方面可以将各个部门的需求进行分析,取长补短,从而制定一个好的项目。

需求研讨:

需求研讨是在客户提出需求时,需求人员对客户的需求进行可行性分析,因为客户一般都是非专业人员,对项目的开发不了解,以致于提出的需求不合理或者很难实现,所以需求人员需要对希求进行可行性分析,如果客户提出的需求不合理则应该充分了解客户为什么会提出这项需求,客户究竟想要实现什么功能,充分了解客户,充分理解需求,制定出替代的方案,然后跟客户进行协商,以达到客户的满意和自己项目的正常进行。

迭代:

在从客户那里得到需求后,我们应该分析用户的每一项需求,对需求进行分析,绘制类图和对象图等,详细地进行设计分析,然后不断地与客户进行交流,细化需求,进行迭代开发,每次多理解一点,最终使软件更接近用户的满意。

需求捕获:

从客户那里得到需求是需求分析的关键,如何从客户那里捕获需求,捕获的需求是否明确非常重要,我们应主动地从客户那里捕获需求,不能被动地捕获,这样可以有效地分析客户业务的详细流程,了解由谁来操作,并了解为什么要这样操作,深入地了解这些领域和知识,另外因为我们对客户的业务不熟悉,我们要主动地对客户进行询问,深入明确地了解用户的需求和业务流程。大多数客户对于软件开发并不专业,所以很有可能会遗漏一些东西,需求人员应该深入分析客户的需求,提出客户遗漏的东西,使需求更接近与客户真正的需求。

 

二、需求分析

功能角色分析与用例图

我们应根据需求分析角色,分析出各个角色的功能,绘制用例图,其中包括参与者、用例与系统边界。用例图是提供给客户看的,所以不应该出现技术性较强的表达方式,应该用客户易懂的词语进行功能描述,从而让客户了解我们了解到的需求,并提出修改意见。

业务流程分析

应根据需求对业务流程进行分析,分清系统外和系统内,将需要信息化管理的部分进行开发,不需要信息化管理的部分则不开发,使软件真正地实现提高工作效率,而不是加重负担。

用例说明

在进行业务流程分析时绘制用例图能够生动形象地描述我们的分析,但是其会丢失很多信息,所以我们需要有一些文字的描述,就是用例说明。

查询报表分析

我们应根据需求实际设计不同的查询报表,报表的内容应符合客户的需求,对必须的内容要加上,不需要的可以删掉。

子用例与扩展用例

在基本流程中将多个用例所共有的,可以相互共享的流程,将这些流程提取出来就是子用例,这样提取公共部分提高了系统的内聚降低了系统的耦合。

行动图和状态图

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

业务领域分析

业务领域分析就是通过与该业务领域的专家进行学习,了解该领域的一些基础知识,然后构建该领域的知识体系,了解该领域需要什么实体,并可以对业务流程更加熟悉,有助于在项目开发中进行参考,从而提高项目的正确性和提高项目的开发效率。

原文分析法

原文分析就是分析需求的原文,提取出业务领域的名词,对名词进行分析提取出业务领域的实体。

非功能需求

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

 

三、需求确认

通过对客户的需求进行分析,以业务人员的角度进行总结,列出需求列表。并用快速原型法进行需求确认。以供每一步的开发人员进行参考,防止出现不符合需求的因素。最后书写自己的需求说明书,本着实事求是、切实可行的态度去描述用户的业务需求。

 

 

目录
相关文章
|
算法
文档管理软件中的冰桶算法简介与应用探讨
冰桶算法在文档管理软件中的作用主要是用于控制用户的访问频率和流量,以保证网络的稳定性和安全性。具体来说,它可以通过限制用户的访问速度、设置访问时间段、限制访问次数等方式,来防止用户对网络资源的过度消耗和滥用,从而提高网络的可用性和效率。
135 0
|
文字识别
论文工具大全+软件简介
论文工具大全+软件简介
191 0
|
16天前
|
Ubuntu Linux Shell
Sentieon软件快速入门指南
Sentieon为纯CPU计算加速软件,完全适配主流CPU计算架构:Intel、AMD、海光等X86架构CPU,华为鲲鹏、阿里倚天等ARM架构CPU。可灵活部署在实验室单机工作站、HPC集群、超算中心和云计算中心,保持同一套流程下不同规模数据计算结果的一致性。Sentieon软件团队拥有丰富的软件开发及算法优化工程经验,致力于解决生物数据分析中的速度与准确度瓶颈,为来自于分子诊断、药物研发、临床医疗、人群队列、动植物等多个领域的合作伙伴提供高效精准的软件解决方案,共同推动基因技术的发展。
40 4
Sentieon软件快速入门指南
|
3月前
|
人工智能 JSON 算法
不是吧?这么好用的开源标注工具,竟然还有人不知道…
LabelU是一款专为AI项目设计的强大多模态数据标注工具,支持图像、视频、音频等多样化数据类型。它提供灵活的标注工具与自定义配置选项,让用户根据需求定制高效标注流程。特色功能包括一键载入预标注结果以简化修正工作,以及支持JSON、COCO等多种格式的导出选项。LabelU既可本地部署确保数据安全,也提供在线版本方便快速上手。此外,OpenDataLab还开源了Label-LLM对话标注工具和MinerU文档处理工具,进一步丰富了数据准备的工作流。欢迎访问[LabelU](https://github.com/opendatalab/labelU)了解更多详情,并为这些优秀工具点赞支持!
111 0
不是吧?这么好用的开源标注工具,竟然还有人不知道…
|
6月前
|
存储 人工智能 安全
面向企业的 ChatGPT 究极手册:第七章到第八章
面向企业的 ChatGPT 究极手册:第七章到第八章
151 0
面向企业的 ChatGPT 究极手册:第七章到第八章
|
机器学习/深度学习 算法 数据挖掘
全网最快入门———R语言机器学习实战篇6《功效分析》
R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
|
程序员
我的收藏:第四章:八十种在线工具
我的收藏:第四章:八十种在线工具
156 0
我的收藏:第四章:八十种在线工具
|
机器学习/深度学习 数据采集 数据挖掘
开启机器学习懒人模式——AutoGluon小试某数据挖掘训练赛
近来在浏览DataCastle竞赛平台时,注意到了上面挂载的一些数据挖掘训练赛题目,因为是定位于训练赛,主要用于帮助初学者快速熟悉和练手机器学习技能,所以赛题难度相对基础,也没有提供实质性的竞赛奖励
782 0
开启机器学习懒人模式——AutoGluon小试某数据挖掘训练赛
|
开发者
软件需求与分析读书笔记3
这本厚厚的书终于被我读完了,现在开始最后一篇读书笔记。     最后几章主要讲的是需求的文档和需求过程的管理。即需求分析必须标准化。我们在需求的过程中必须学会用建模的方法来规范需求工程。需求分析的根本任务是简历分析模型,达成开发者和用户对需求信息的共同理解,根据共同的理解,发挥创造性,创建软件系统的解决方案。
1130 0