需求分析(一)概念、方法、实践步骤
软件需求分析与规范
软件需求分析与规范一、引言在软件开发过程中,需求分析与规范起着重要的作用。
准确的需求分析可以确保软件开发的目标明确、需求明确,并为后续的开发工作提供必要的指导。
本文将讨论软件需求分析与规范的概念、方法和流程,以及其在软件开发中的重要性。
二、软件需求分析的概念软件需求分析是指对待开发软件的需求进行详尽的分析、定义和规范的过程。
通过需求分析,可以确保软件开发团队和客户对软件的功能、性能以及其他所需属性具有清晰的共识。
需求分析是软件开发的基础,是后续工作的依据。
三、软件需求分析的方法1. 需求获取:通过与客户和利益相关者的交流,收集和记录软件需求的信息。
可以采用访谈、问卷调查、文档分析等方法进行需求获取。
2. 需求分析:对收集到的需求进行分析,包括需求的功能性、非功能性要求等。
可以采用用例分析、数据流图等方法进行需求分析。
3. 需求规范:将需求以清晰、准确且易于理解的方式进行规范和文档化。
可以采用需求规范文档、用例图等方式进行需求规范。
四、软件需求规范的重要性软件需求规范是对需求进行详细描述和说明的文档,是软件开发过程中的重要组成部分。
具体而言,软件需求规范的重要性体现在以下几个方面:1. 目标明确:需求规范为开发团队提供了明确的目标和方向,使得他们可以更好地理解用户需求,以此为基础进行开发工作。
2. 沟通与共识:需求规范以统一的语言和形式描述了软件的需求,有助于开发团队与客户和利益相关者之间的沟通和共识形成。
3. 可追溯性:需求规范可以作为验证软件开发过程中阶段性完成情况的依据,以及后续验证软件是否满足需求的基准。
4. 保证质量:通过需求规范,可以减少需求的不明确性和冲突性,从而提高软件开发工作的质量和效率。
五、软件需求规范的内容软件需求规范的内容应该根据实际项目的需求进行调整和补充,但通常应包括以下几个方面:1. 系统概述:对软件系统的整体描述,包括系统的功能、目标用户、使用环境等。
2. 功能需求:对软件系统的各项功能进行详细的描述,包括每个功能的输入、输出、处理步骤等。
需求分析(面向对象方法)
2.2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。
2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。
有效的需求分析通常都具有一定的难度。
需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。
此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。
2.2.2需求分析的步骤遵循科学的需求分析步骤可以使需求分析工作更高效。
需求分析的一般步骤如图2-3所示。
需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。
在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。
在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。
在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。
1. 获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。
开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。
遗漏需求是最难修订的需求错误。
获取需求是需求分析的基础。
为了能有效地获取需求,开发人员应该采取科学的需求获取方法。
在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。
问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。
通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。
采用这种方法时,调查问卷的设计很重要。
一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。
第3章 需求分析
网上查某 本书<3秒
图书名称 /作者姓 名
按照输入的组 合条件,进行 模糊查询
显示“图书名称、作 者姓名、是否借出、 内容简介”
2
后台查询读 者信息响应 时间 后台查询图 书信息响应 时间
图书 馆借 阅部 图书 馆借 阅部
借阅 操作 员 借阅 操作 员
后台查某 读者信息 <2秒 后台查某 部书<2秒
案例3-3 【案例3-3】网上图书馆信息系统的部分接口列表,如 表3-3所示。 表3-3 目标系统的接口列表(接口模型)
3.2 需求分析的任务及过程
表3-3 目标系统的接口列表(接口模型)
编 号 接口 名称 接口 规范 接口 标准 入口参数 出口参数 传输 速率
1
与财 务系 统接 口
财务 系统 规定 的接 口规 范
3.2 需求分析的任务及过程
图3-2需求分析过程
3.2 需求分析的任务及过程
根据实际项目的规模和特点确定合适的需求分析常规过 程如下。 1.需求获取 2.综合需求与描述 3. 需求验证 4.需求文档
课堂讨论:
(1)需求分析具体任务有哪些? (2)需求分析常规步骤是什么?
3.2 需求分析的任务及过程书信息系统的 部分性能点列表(性能模型),如表 3-2所示。
3.2 需求分析的任务及过程
表3-2 图书馆系统的性能点列表
编号 性能名称 使用 部门 网上 读者 使用 岗位 网上 读者 性能描述 输入 系统响应 输出
1
读者网上查 询图书信息 响应时间
一张 凭证 一次 处理 传送
3.2 需求分析的任务及过程
7.确定系统运行环境及界面 8.修正开发计划和新系统方案 9. 编写需求文档,验证确认需求 【注意】上述任务要具体分析,灵活运用。如果需求 分析之后,对将要实现的新系统,仍然感到不够明确时, 不应签字确认,还需进行进一步深入分析。
软件工程中的需求分析方法与实践
软件工程中的需求分析方法与实践随着信息技术的不断发展,软件已经成为现代社会中不可或缺的一部分。
然而,软件的开发无法离开需求分析与设计的过程,这是确保软件质量的关键步骤。
在软件工程中,需求分析是软件开发过程的第一步,它涉及到对用户需求的收集和分析,以确定软件系统所需的功能和性能特性。
本篇文章将介绍需求分析的基本原则和方法,以及其在软件开发中的实践应用。
一、需求分析基本原则需求分析是识别和收集用户需求的过程,因此,注重客观的认真沟通和交流是非常重要的。
在开展需求分析工作时,应遵循以下几个原则:1. 面向用户:需求分析的主要目的是满足用户的需求,所以需求分析必须面向用户,即尽可能多地了解用户需求,以便能够开发出具有良好适应性的软件。
2. 逐步精确:需求分析是一个逐步精确的过程,需要在收集、分析、整理、验证和确认用户需求的过程中逐步变得更加准确和明晰。
3. 双向沟通:需求分析应该是一个双向沟通过程,既要沟通用户需求,也要让用户理解开发者的开发理念和技术转化能力。
4. 充分交流:应该采用充分交流的方式进行需求分析,例如,面谈、问卷调查、在线讨论等多种方式,以充分获取用户需求,确保用户需求得到充分的理解和识别。
5. 提供可行性分析:开发者需要根据需求分析结果提供可行性分析,以确保要求能够被实现和满足,同时也需要向用户普及相关技术知识和先进的开发经验,从而促进双方合作共赢。
二、需求分析的方法需求分析是一项复杂而且耗时的过程,需要针对不同的软件开发项目采用不同的分析方法和技术。
以下是几种常用的需求分析方法:1. 面谈法:这是最常用的需求分析方法之一。
该方法是通过面对面的交谈来获取用户需求信息,以便详细了解客户的需求和期望。
面谈可以采用个别访谈、专题研讨、焦点小组和工作坊等多种方式。
2. 观察法:这个方法是通过在用户自然情境下观察和记录用户的工作操作,以收集用户需求和功能性需求。
观察法是一种直接而有效的需求分析方法,可以帮助开发人员设计符合用户需求的软件。
需求分析是什么
需求分析所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,在软件工程当中的"需求分析"就是确定要计算机"做什么",要达到什么样的效果。
可以说需求分析是做系统之前必做的。
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
需求分析是软件工程中的一个关键过程。
在这个过程中,系统分析员和软件工程师确定顾客的需要。
只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。
需求分析阶段的任务是确定软件系统功能。
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。
但在近十年内,越来越多的人认识到,需求分析是整个过程中最关键的一个部分。
假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。
需求分析是一项重要的工作,也是最困难的工作。
该阶段工作有以下特点:1.功能需求2.性能需求3.可靠性和可用性需求4.出错处理需求5.接口需求6.约束7.逆向需求8.将来可能提出的要求逻辑模型综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、E-R图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。
修正计划根据在分析过程中获得的对系统的更深入的了解,可以比较准确地估计系统的成本和进度,修正以前定制的开发计划。
传统方法–面向过程(自上向下分解)–信息工程(数据驱动)(数据流分析结构化分析方法)–面向对象(对象驱动)步骤首先调查组织机构情况包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。
⑵然后调查各部门的业务活动情况包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。
软件需求分析
软件需求分析引言软件需求分析是软件开发过程中的关键步骤之一,它对于确保软件开发项目的成功具有重要意义。
软件需求分析的主要目的是识别、整理和定义用户对软件的需求,以便于开发团队能够设计和实施出符合用户期望的软件系统。
本文将介绍软件需求分析的基本概念、流程以及常用的技术方法。
软件需求分析的概念软件需求分析是指对软件系统进行彻底的调查和研究,以确定用户和其他相关利益相关方对软件的需求。
在软件开发生命周期的早期阶段,软件需求分析将帮助开发团队准确定义软件系统的功能、性能和约束条件。
通过软件需求分析,开发团队可以更好地理解用户的需求,从而提供出更好的解决方案。
软件需求分析的流程1. 需求获取软件需求的获取是软件需求分析的起点。
其中,主要包括用户访谈、问卷调查、观察和文档分析等方法。
用户访谈是一种常用的需求获取技术,通过与用户直接对话,开发团队可以了解到用户对软件系统的期望、功能需求以及其他相关信息。
问卷调查可以借助在线工具,广泛搜集用户的需求信息。
观察则是观察用户在实际使用环境中的行为,从中获取对软件的需求。
2. 需求分析在需求获取阶段完成后,需求分析阶段将开始将这些需求进行归类、整理和分析。
首先,将收集到的需求划分为功能需求和非功能需求,进一步进行细分和梳理。
其次,将需求与系统的约束条件(如时间、成本和技术限制等)进行评估和匹配,以确定哪些需求是可实现的,哪些需求是不可行的。
最后,需求分析阶段还包括建立需求文档,并与利益相关方进行确认和批准。
3. 需求规格说明需求规格说明是将分析出的需求进行详细描述的过程。
在需求规格说明阶段,开发团队将采用适当的模型、工具和方法来规范和记录需求。
其中,用例图、数据流图和状态转移图等模型可以帮助团队更加清晰地描述需求的功能和交互过程。
此外,还可以使用面向对象分析(OOA)和面向对象设计(OOD)等方法来进行需求的建模和分析,以确保需求的准确性和一致性。
4. 需求验证与确认需求验证与确认是对需求进行评审、验证和确认的过程。
项目管理中的需求和功能分析
项目管理中的需求和功能分析需求和功能分析是项目管理中非常重要的一部分。
需求和功能分析帮助项目团队了解业务和用户的需求,有助于制定合适的解决方案,并在项目开发过程中指导技术团队设计和开发产品或服务。
本文将通过介绍需求和功能分析的概念和作用,以及实施需求和功能分析的步骤和方法,来帮助读者了解项目管理中的需求和功能分析。
一、需求和功能分析的概念和作用1.需求和功能分析的概念需求和功能分析是对业务和用户需求进行深入分析的过程。
在项目开发过程中,需求和功能分析是指对需求进行收集、分析、整理和确认,然后将需求转化为功能,并明确这些功能的实现方式和优先级的过程。
通过需求和功能分析,项目团队可以更准确地了解业务需求和用户需求,从而制定适合的解决方案,为产品或服务的开发提供指导。
2.需求和功能分析的作用需求和功能分析对于项目管理来说是非常重要的,它的作用主要有以下几点:(1)指导项目规划和设计:需求和功能分析帮助项目团队了解业务和用户的需求,为项目规划和设计提供依据。
通过需求和功能分析,项目团队可以明确产品或服务需要满足的功能和性能需求,从而制定合适的解决方案。
(2)提高产品或服务质量:需求和功能分析有助于项目团队了解业务和用户需求,并在产品或服务的开发过程中根据实际需求进行调整和优化,从而提高产品或服务的质量。
(3)降低开发成本和风险:通过需求和功能分析,项目团队可以在产品或服务的开发过程中早期发现问题并进行调整,从而降低开发成本和风险。
(4)满足用户需求:需求和功能分析有助于项目团队了解用户的需求,并根据用户的需求来设计和开发产品或服务,从而提高用户满意度。
二、需求和功能分析的步骤和方法1.需求收集和整理需求收集是需求和功能分析的第一步。
需求收集的方法有很多种,可以通过访谈、问卷调查、用户故事等方式来收集需求。
在需求收集的过程中,项目团队需要与业务部门和用户进行充分的沟通和交流,了解他们的需求和期望,并进行记录和整理。
企业创新需求分析方法
企业创新需求分析方法随着科技的不断发展和市场的不断变化,企业的生存和发展已经离不开创新。
创新不仅仅指技术方面的革新,也包括市场营销、管理模式等方面的革新。
而企业需要在创新的道路上找到适合自己的方向和路线,这其中需要进行创新需求分析。
本文将从需求分析的概念、方法和步骤等方面进行探讨。
一、需求分析的概念需求分析是指对目标用户需要、期望、期待和未来可能的需求进行分析的过程。
需求分析的主要目的是确立用户需求,为后续的产品开发提供清晰的方向。
在企业创新方面,需求分析主要是为了了解市场和用户的需求,以便于企业开发能受到市场欢迎的产品或服务。
需求分析的核心是用户体验,因此在进行需求分析时,需要从用户体验的角度出发,制定合理的分析方案和方法。
二、需求分析的方法需求分析的方法主要有三种:问卷调查法、用户访谈法和市场调研法。
不同的方法选用的原则不同,但其核心都是了解用户的需求和期望。
下面就这三种方法进行具体介绍。
1、问卷调查法问卷调查法是一种传统的需求分析方法,通过制定问卷来了解用户的需求、使用习惯、期待等。
问卷调查法的优点是能够大规模地了解用户需求,让数据更加准确。
但是问卷调查也存在一些局限性,如容易出现信息稀疏、回收率低等问题。
因此,问卷调查还需要结合其他方法来进行。
2、用户访谈法用户访谈法是一种通过直接与用户交流来了解其需求、使用情况和意见的方法。
这种方法相对于问卷调查而言更加灵活,也更加具有针对性。
通过用户访谈,可以获得更多的细节信息,并且可以深入了解用户的真实需求。
但是访谈需要考虑到时间和地点等问题,同时也需要具备一定的沟通技巧。
3、市场调研法市场调研法主要是通过分析市场情况、竞争情况等来了解用户的需求。
市场调研需要深入分析市场信息,以及行业和市场趋势。
这种方法需要投入较多的时间和金钱,但是收益也是非常丰厚的。
三、需求分析的步骤企业进行需求分析时需要考虑以下关键步骤。
1、明确目标和定位在进行需求分析之前,需要明确企业的产品、服务或品牌,以及目标受众。
需求分析
需求分析需求分析是软件开发过程中非常重要的一个环节,它是指对用户需求进行全面、准确地分析和收集,以便于确定所需软件系统的功能、性能、安全性等具体要求。
在实际软件开发项目中,如何正确地进行需求分析是影响软件开发成败的重要因素之一,以下将从基本概念、过程方法和常见问题三个方面详细阐述需求分析。
一、基本概念1.需求定义:需求是指客户或用户对某个系统或产品的具体要求。
需求大多来源于用户需求、行业标准、法律法规、技术能力等。
例如,企业需要一个销售管理系统来提升营销效率、一家医院需要一个信息系统来管理患者信息和医疗资源、某个电商平台需要一个订单管理系统来提供更好的服务等。
2.需求分类:根据不同的角度,需求可分为:(1)功能需求:即系统应该完成的操作、处理数据的需求,包括输入、输出、计算、验证等。
(2)非功能需求:系统除了功能外的理性质量要求,如性能、安全、可靠性等。
(3)业务需求:与所属行业或用户业务相关的需求,如支付功能可能需要适配多种支付方式。
(4)可追溯性需求:能够量化为测试用例的需求,例如:给定某些输入值,预期输出结果应该是什么。
二、过程方法需求分析过程是一个涉及用户、业务、行业和技术层面的复杂过程。
正确地执行需求分析将确保开发团队在满足客户期望的同时,合理规划开发周期和成本。
一般情况下,正确执行需求分析需要考虑以下几个方面:1.与客户谈判首先设计人员应该与客户进行会面,了解客户需要的功能、业务以及用户需求。
他们应该了解客户的文化,内部运作方式和工作流程,了解项目的背景和动因,并针对质量标准进行讨论,以促进有效沟通。
2.收集规则与目标在确定用户需求后,设计人员需要开始收集相关信息,包括技术和非技术的要求。
这通常会涉及到信息的收集、盘点和分类整理,记录所有内容并确保每个要素都能明确认识和定义。
3.确定优先级别下一步是通过与客户的交互,确定每个需求的优先级次序。
设计人员需要与客户讨论整个系统的运作方式,并确定优先级次序,以确保项目能够在范围内、时间和成本内完成。
软件需求分析方法与技巧
软件需求分析方法与技巧随着现代技术的不断发展,软件成为了企业和个人必不可少的工具之一。
为了满足用户的需求,软件需求分析成为了软件开发过程中至关重要的步骤。
在这篇文章中,我们将介绍软件需求分析的方法与技巧,帮助您更好地理解并实践软件需求分析。
一、需求分析的前期准备在开始软件需求分析之前,需要进行一系列前期准备工作。
首先,明确软件投入使用的目的和要求,制定一个合理的需求目标和范围;其次,确定项目的时间、质量和成本的要求;接着,收集用户的需求和建议,并建立用户代表沟通机制,以此确保软件开发的方向和用户需求相符,并保持有效的沟通。
二、需求分析的具体步骤1.需求收集:需求收集是需求分析的第一步,它是指通过访谈、问卷调查等方式收集用户需求的过程。
在需求收集中,需要确定用户的需求和期望,分析现有的问题和挑战,并收集用户对于软件的建议和期望。
2.需求分析:需求分析是对收集的数据进行分析和整理,以明确各种需求之间的关系和优先级。
需求分析的具体方法包括功能分解法、数据流图法、虚拟原型法等等。
3.需求规格说明:需求规格说明是将需求分析的结果逐一列举出来,并加以细化说明,包括需求的优先级、开发时间和实现难度等等。
4.需求确认:需求确认是对已经完成的需求提出问题和建议,并进一步完善和优化需求规格说明。
它需要通过用户验收、系统测试等方式进行。
三、需求分析的常用技巧1.场景故事法:通过场景故事法能够更直观地帮助分析软件的使用场景和用户需求,从而提高需求收集的质量。
通过讲述一个具体的场景故事,让用户直观地感受软件的功能和使用方式。
2.头脑风暴法:头脑风暴法是一种刺激创造力、提高团队思维的方法,能够收集更多的用户需求和建议。
在头脑风暴中,通过自由讨论和提出意见的方式,寻求一致的想法和建议。
3.原型法:原型法是一种将软件系统的需求和技术实现联系起来的方法,以此快速验证软件需求的正确性和与用户需求的一致性。
原型可以通过绘制草图、PowerPoint模型等形式确定软件界面及功能,最终优化软件的使用体验。
需求分析实验报告总结
需求分析实验报告总结一、引言需求分析是软件工程开发过程中非常重要的一部分,它主要确定用户的需求,为后续的设计和开发提供依据。
本实验旨在通过实际操作,掌握需求分析的基本方法和技巧,加深对需求分析的理解和应用能力。
二、实验目的- 了解需求分析的基本概念和过程;- 学习需求获取的方法和技巧;- 掌握需求建模的方法和工具;- 实践需求规格说明的撰写。
三、实验环境- 操作系统:Windows 10;- 需求分析工具:Axure RP;- 文本编辑器:Visual Studio Code;- 浏览器:Google Chrome。
四、实验过程及结果1. 需求获取需求获取是需求分析的第一步,我们通过与用户的沟通和了解,获取到了以下需求:- 用户希望能够通过系统浏览商品目录,查看商品的详细信息;- 用户希望能够登录或注册账号,以便于购买商品时进行身份认证;- 用户希望能够将商品添加到购物车,并在结算时进行支付;- 用户希望能够查看订单历史和个人信息。
2. 需求建模在需求建模阶段,我们使用Axure RP工具进行了原型设计和交互演示。
通过绘制UI界面和制定交互流程,我们可以更直观地了解系统的功能和用户的操作路径。
以下是我们完成的原型设计:(插入截图)3. 需求规格说明需求规格说明是对需求的详细描述和规范,它包括了用例描述、功能需求、非功能需求等内容。
我们使用Markdown语言编写了需求规格说明文档,并进行了格式化和组织。
以下是部分需求规格说明的示例:3.1 用户登录3.1.1 用例描述- 用户输入账号和密码;- 系统验证用户信息;- 如果验证通过,系统跳转至用户首页;- 如果验证失败,系统提示错误信息。
3.1.2 功能需求- 用户输入账号和密码应有输入限制,确保输入的账号和密码符合规范;- 系统验证用户信息时应对输入的账号密码进行校验;- 验证失败时应在界面提示错误信息。
3.1.3 非功能需求- 用户输入账号和密码时,系统应有相应的输入提示;- 系统验证用户信息时,应保证验证过程的安全性。
信息系统需求分析
信息系统需求分析信息系统需求分析是指在开发和改进信息系统过程中,对用户需求进行详细的调研和分析,以便确定系统功能、性能、安全和可靠性方面的要求。
本文将介绍信息系统需求分析的概念、目的、方法和步骤,并探讨在实际项目中遇到的一些挑战和解决方案。
一、概念及目的信息系统需求分析是在信息系统开发生命周期中的关键阶段之一。
它旨在深入理解用户的需求和期望,准确捕捉业务流程和功能需求,并对系统性能、运行环境和数据安全等方面进行评估。
通过需求分析,可以确保开发出满足用户期望的高质量信息系统。
二、方法与步骤信息系统需求分析通常包括以下步骤:1. 需求收集:与用户进行沟通和交流,了解用户的需求、目标和期望。
可以采用面谈、问卷调查、观察等多种方法收集需求信息。
2. 需求分析:对收集到的需求信息进行整理和分析,识别出用户的核心需求和关键功能,同时也要考虑系统的性能、安全性等方面的要求。
3. 需求建模:使用合适的工具和技术,对系统需求进行建模和描述,例如数据流图、用例图等。
通过需求建模,可以更直观地展现系统功能和流程。
4. 需求验证:与用户进行需求验证,确保需求描述的准确性和完整性。
可以通过原型演示、功能演示等方式与用户进行反复确认和验证。
5. 需求文档编写:将需求分析的结果进行文档化,包括系统需求规格说明书、数据字典、用例文档等。
需求文档应该清晰、准确地描述系统需求,以便开发人员能够理解和实施。
三、挑战与解决方案在信息系统需求分析过程中,可能会面临以下挑战:1. 需求变更:用户需求常常会随着业务的变化而发生变动。
为了应对这种挑战,需求分析人员应保持与用户的密切沟通,并及时评估和处理需求变更。
2. 矛盾需求:不同用户可能会有不同的需求和优先级。
解决矛盾需求的关键在于与用户进行深入的讨论和协商,找到平衡点和共识。
3. 隐性需求:用户有时会缺乏对系统的全面认知,隐性需求可能被忽略。
为了发现隐性需求,需求分析人员应通过与用户的互动和观察,更全面地了解用户的需求。
第3章 需求分析及功能建模方法
第3章需求分析及功能建模方法3.1 需求分析概述3.1.1 需求分析概念1、所谓需求分折:就是对待开发的系统要做什么,完成什么功能的全面描述。
2、需求分析的工作:通过对需求的调查、了解、观察和分析,通过对原始数据的收集、分类和抽象,并采用有效的技术、工具,对原始资料进行加工整理,描述开发目标、实现的功能及其相互关系等活动的集合;3、需求的定义:客户对一个待开发的系统在实现目标、完成功能、应达到的性能、安全性、可靠性等方面的期望和要求的集合;4、需求获取的困难:(1) 软件功能复杂;(2) 需求的可变性;5、需求分析阶段的主要任务:分析当前的业务流程,包括体系结构,各职能部门完成的主要任务、关系及其交流的信息。
6、需求分析的结果通常以模型等建模工具和方法描述系统的信息流、功能结构及完成各功能需要的数据。
7、功能模型和软件需求规格说明书是软件开发的依据,将指导后续的开发工作。
8、需求分析工作是系统分析员与用户不断交互的过程中完成的。
3.1.2 系统分析员的职能1、系统分析员的主要要任务:是确定应用信息系统及软件产品应该达到的各项功能性要求和非功能性要求,即用户要做什么。
2、系统分析员应该具备的素质:(1) 获取需求的能力;(2) 管理及沟通能力;(3) 技术素养;3.1.3 需求获取的方法常用的几种获取需求的方法:(1)面谈;(2)实地观察;(3)问卷调查;(4)查阅资源;3.1.4 需求分析过程1、标识问题:(1) 需求分析的第一步,通过对问题的识别和标识获得所求解问题及其运行环境的理解;(2) 标识问题从现行系统的业务流程做起,理解现行系统的业务流程;(3) 在标识理解需求的同时,还要注意确定系统的人机界面;2、建立需求模型:(1) 模型是对现实原形所作的一种抽象,其本质是只关心与研究内容有关的因素,而忽略无关的因素,其目的是把复杂的事物变得简单,便于认识和分析;(2) 目前常用的模型方法主要有DFD数据流图和IDEFO,都属于结构化分析方法,其特征是抽象和分解;(3) 首先对应用领域进行全面的分析,发现并找出同类事物的本质,用抽象方法把这类事物的非主要方面剔除,把握住事物的内部规律或本质,就可以找到解决办法;然后采用自上而下逐步求精的方法对复杂的问题进行分解;(4) 结构化分析及建模方法的主要优点:(A) 不过早陷入具体的细节;(B) 从整体或宏观入手分析问题;(C) 通过图形化的模型对象直观地表示系统要做什么,完成什么功能;(D) 图形化建模方法方便系统分析员理解和描述系统;(E) 模型对象不涉及太多的技术术语,便于用户理解;3、描述需求:(1) 需求描述的目标:对软件项目功能性和非功能性的需求全面描述;(2) 功能性需求:指需要计算机实际解决的问题或实现的具体功能,明确描述系统必须做什么,实现什么功能以及输入输出等;(3) 非功能性需求:软件项目对实际运行环境的要求;(4) 需求描述主要由需求模型和需求说明书组成,说明书侧重文字说明,内容如下:需求概述;功能需求;信息需求;性能需求;环境需求;其他需求;(5) 在对需求进行分析过程中,系统分析员要经常考虑的问题:(A) 描述的需求是完全的吗?(B) 需求描述是正确的和一致的吗?(C) 描述的这些需求是可行的、实际可操作的吗?(D) 描述中的每一条需求都是客户需要的吗?4、确认需求:1、评审委员会审核下列内容:功能需求;数据需求;性能;数据管理;其他需求。
需求分析概念、方法、实践步骤
需求分析(一)概念、方法、实践步骤1. 概念、方法、实践步骤需求分析阶段主要通过收集、分析、导出的方法,将客户、业务、用户的需求转换为对应的(软件)系统需求的过程。
典型的工作产品:软件需求说明(Software Requirements Specifications,以下简称SRS)其主要包括系统基本概要、业务功能、系统功能(性能、安全性、信赖性、扩充性、移植性、多语言对应性等要求)、接口功能要求等内容。
需求分析阶段的主要活动需求分析阶段的主要活动可以分为需求开发、需求管理2类:需求开发通过对客户、业务、用户、原系统等调查获取原始的需求,经过需求分析逐步识别并使业务具体化,通过形成制作规格说明书(或SRS)使业务系统化,项目团队同客户、用户逐步达成共识对需求得以最终确认,其间可以通过系统建模、POC等方式评估需求的可实现性。
需求管理在需求开发过程中,通过需求范围认定、需求形式化记录、需求数据库建立、需求状态跟踪、需求变更分析和波动评估、需求评审控制等活动,通过使用需求管理工具等手段,实现对系统需求按基线进行控制和管理。
其核心内容变更管理、版本管理以及需求跟踪。
需求开发的主要概念以及核心步骤】业务需求反映了企业或组织对(软件)系统的业务要求,通常也包含问题或机会的定义。
问题是指企业或组织运作过程中遇到的问题,例如物资供应脱节、用户投诉量大、客户流失率较高等。
机会是指抓住外部环境变化所带来的机会,以便为企业带来新的发展,例如电子商务、网上银行、基于即时通信的工作协同系统等。
业务需求通常由管理人员提出,业务需求的解决往往要结合制度、(人员)能力、系统功能等多方面综合解决。
另外,业务需求也反映了企业或组织对(软件)系统的高层次目标要求,就是系统的建设的目的以及目标。
用户需求是指描述用户使用(软件)系统需要完成什么任务,怎么完成的需求,通常是在问题定义(业务需求)的基础上进用户访谈、调查,对用户使用的场景进行整理,从而建立用户角度的需求。
需求分析方法
Page 10
2.结构化分析方法SA
2.4.1 DFD概述
它是将提供给用户的业务流程图(“物理模型”)进 行功能建模,转化成开发人员能够理解的一系列 “逻辑模型”图,即以图形化的方法描绘数据在系 统中的流动和处理的过程,这些图都应该用规范的 DFD描述。
ห้องสมุดไป่ตู้
DFD设计过程就是将数据和处理进行逐层分解就形 成了若干层次的DFD。DFD分为顶层图(只有一张)、 0层图(也只有一张)、子图、子子图等等。
⑷为了对目标系统作完整的描述,还需要考虑人 机界面和其它一些问题。
Page 8
2.结构化分析方法SA
2.3 SA的描述工具
⑴数据流图; ⑵数据词典; ⑶描述加工逻辑的结构化语言、判定表或判定树。
Page 9
2.结构化分析方法SA
2.4 数据流图DFD
数据流图(Data Flow Diagram,简称DFD)是描 述系统中数据流程的图形工具,它标识了一个系统 的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑 输出所需的加工处理。
需求分析方法 --SA、OOA
主要内容
需求分析方法概述
结构分析方法SA
面向对象分析方法OOA
Page 2
1.需求分析方法概述
需求分析(Requirement Analysis)是对 收集到的需求进行提炼、分析和审查,为最 终用户所看到的系统建立概念化的分析模型。
Page 3
1.需求分析方法概述
Page 14
2.结构化分析方法SA
2.4.4 DFD的改进
DFD 图必须经过反复修改,才能获得最终的目标系统的 逻辑(目标系统的DFD 图)。改进的原则与画分层DFD 图的基 本原则是一致的,可从以下方面考虑DFD 图的改进: ⑴ 检查数据流的正确性 ① 数据守恒; ② 子图、父图的平衡; ③ 文件使用是否合理。特别注意输入/出文件的数据流。 ⑵ 改进DFD 图的易理解性 ① 简化加工之间的联系(加工间的数据流越少,独立性 越强,易理解性越好); ② 改进分解的均匀性; ③ 适当命名(各成分名称无二义性,准确、具体)。
一、需求分析的概念和原则
⼀、需求分析的概念和原则3.1 需求分析的概念和原则需求分析是发现、求精、建模和规约的过程。
这⼀过程包括:详细精化最初由系统分析员建⽴并在软件项⽬计划中确定的软件范围,创建所需数据流、控制流以及操作⾏为的模型,在此基础上选择的解决⽅案。
在可⾏性研究之后,我们对值得开发的软件进⾏需求分析。
3.1.1 需求分析需求分析是⼀种软件⼯程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和其他系统元素的接⼝、并建⽴软件必须满⾜的约束。
需求分析是软件设计师进⾏软件分解的基础,需求分析建造了软件处理的数据模型、功能模型和⾏为模型。
需求分析为软件设计师提供了可被翻译成数据、体系结构、界⾯和过程设计的模型,最后,需求规约为软件设计师和客户提供了软件建造完后,进⾏质量评估的依据。
1.软件需求的概念和分类在我们分析需求之前,先要了解需求的类别,在获取需求时,按类别来处理就不容易遗漏。
对需求有很多种不同的分类⽅法,其中的⼀种分类⽅法告诉我们需求应该包括:1. 第⼀是功能需求,这⽅⾯的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能;2. 第⼆是性能需求,性能需求指定系统必须满⾜的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等⽅⾯的需求;3. 第三是可靠性和可⽤性需求,可靠性和可⽤性需求即需求定量地指定系统的可靠性与可⽤性;4. 第四是出错处理需求,这类需求说明系统对环境错误应该怎样响应,例如,如果⼀个系统接收到从另⼀个系统发来的违反协议格式的消息,该系统应该做什么?5. 第五是接⼝需求,接⼝需求描述应⽤系统与其环境通信的格式,常见的接⼝需求有⽤户接⼝需求、硬件接⼝需求、软件接⼝需求和通信接⼝需求;6. 第六是约束,约束描述了应⽤系统应遵守的限制条件,在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,这只是反映了⽤户或环境强加给项⽬的限制条件,常见的约束有:精度约束、⼯具和语⾔约束、设计约束、应该使⽤的标准、应该使⽤的硬件平台等;7. 第七是逆向需求,逆向需求说明了软件系统不应该做什么。
项目需求分析的方法
项目需求分析的方法项目需求分析——全面了解项目需求,确保项目成功实施项目需求分析是项目管理的重要环节之一。
对于一个项目而言,如果没有进行充分的需求分析,那么就很难在项目实施过程中达到预期目标,甚至可能导致项目失败。
因此,项目需求分析是确保项目成功实施的关键。
一、项目需求分析的概念及重要性项目需求分析是指在项目启动前,对项目的各项需求进行细致的分析和研究。
主要包括对项目目标、范围、时间、成本、质量等方面的分析,以及对项目环境、风险、利益相关者等因素的考虑。
通过项目需求分析,可以全面了解项目的背景、目的及关键成功因素,为项目实施提供有力的支持,确保项目成功。
项目需求分析的重要性不可忽视。
一方面,项目需求分析可以帮助项目管理人员深入了解项目的需求和目标,减少项目中的风险,防止项目失败。
另一方面,项目需求分析可以为项目团队和利益相关者提供清晰的指导,明确各自的责任和任务。
二、项目需求分析的主要内容项目需求分析的主要内容包括以下几个方面:1、项目目标和范围分析。
这一部分主要包括对项目的整体目标和范围进行分析和研究。
通过明确项目目标和范围,可以更好地确定项目的实施计划和资源需求,有助于提高项目实施的效率和质量。
2、项目时间和成本分析。
这一部分主要包括对项目的时间和成本进行分析和估算。
通过合理估算项目的时间和成本,可以在项目实施过程中进行有效的控制,保证项目进度和预算不偏离原定计划。
3、项目质量分析。
这一部分主要包括对项目质量目标进行分析和制定。
通过明确项目质量目标,可以更好地规范项目实施过程中的质量管理,确保项目所提供的产品或服务能够满足客户的要求和期望。
4、项目环境和风险分析。
这一部分主要包括对项目环境和可能出现的风险进行分析和考虑。
通过对项目环境和风险的分析,可以预见可能出现的问题和障碍,并采取预防措施或进行风险管理,保证项目实施过程中的安全和顺利。
5、利益相关者分析。
这一部分主要包括对项目利益相关者进行分析和评估。
需求分析概念及如何写好需求分析附需求分析报告例文
概念需求分析包括业务需求、用户需求、功能需求、非功能性需求和需求分析报告等。
(1).业务需求反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明;(2)用户需求描述了用户使用产品必须要完成的任务,应在使用实例或方案脚本中予以说明;(3)功能需求定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足业务需求;(4)非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制等;(5)需求分析报告所说明的功能需求充分描述了软件系统所应具有的外部行为,在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。
业务部门的主管通常阐明“业务需求”,即产品的高层次概念和主要业务内容,为后继工作建立指导性框架;但“业务需求”并不能为开发人员提供开发所需的许多细节说明。
“用户需求”必须找系统的最终使用者,他们最清楚要使用该产品完成什么任务和一些非功能性的特性需求,如程序的易用性、健壮性和可靠性等,而这些特性将会使用户很好地接受具有该特点的软件产品。
业务部门的主管甚至CIO经常试图代替终端用户说话,但通常又无法准确说明“用户需求”。
用户需求来自产品的真正使用者,必须让实际用户参与到收集需求的过程中;否则,产品很可能会因缺乏足够的信息而遗留不少隐患。
在实际需求分析过程中,由于业务部门工作很忙,经常没有时间或者觉得没有必要与IT人员讨论需求分析,有时甚至希望IT人员无须讨论和编写需求说明就能说出用户的需求。
除非遇到的需求极为简单;否则千万不能这样做。
优秀的软件产品建立在优秀的需求分析基础上,而优秀的需求分析又源于客户与开发人员之间有效的交流和合作。
只有双方参与者都明白自己需要什么、成功的合作需要什么时,才能建立起一种良好的合作关系。
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化、最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段需求分析是介于系统分析和软件设计阶段之间的重要桥梁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求分析(一)概念、方法、实践步骤1.概念、方法、实践步骤需求分析阶段主要通过收集、分析、导出的方法,将客户、业务、用户的需求转换为对应的(软件)系统需求的过程。
典型的工作产品:软件需求说明(Software Requirements Specifications,以下简称SRS)其主要包括系统基本概要、业务功能、系统功能(性能、安全性、信赖性、扩充性、移植性、多语言对应性等要求)、接口功能要求等内容。
1.1 需求分析阶段的主要活动需求分析阶段的主要活动可以分为需求开发、需求管理2类:需求开发通过对客户、业务、用户、原系统等调查获取原始的需求,经过需求分析逐步识别并使业务具体化,通过形成制作规格说明书(或SRS)使业务系统化,项目团队同客户、用户逐步达成共识对需求得以最终确认,其间可以通过系统建模、POC等方式评估需求的可实现性。
需求管理在需求开发过程中,通过需求范围认定、需求形式化记录、需求数据库建立、需求状态跟踪、需求变更分析和波动评估、需求评审控制等活动,通过使用需求管理工具等手段,实现对系统需求按基线进行控制和管理。
其核心内容变更管理、版本管理以及需求跟踪。
1.2 需求开发的主要概念以及核心步骤业务需求反映了企业或组织对(软件)系统的业务要求,通常也包含问题或机会的定义。
问题是指企业或组织运作过程中遇到的问题,例如物资供应脱节、用户投诉量大、客户流失率较高等。
机会是指抓住外部环境变化所带来的机会,以便为企业带来新的发展,例如电子商务、网上银行、基于即时通信的工作协同系统等。
业务需求通常由管理人员提出,业务需求的解决往往要结合制度、(人员)能力、系统功能等多方面综合解决。
另外,业务需求也反映了企业或组织对(软件)系统的高层次目标要求,就是系统的建设的目的以及目标。
用户需求是指描述用户使用(软件)系统需要完成什么任务,怎么完成的需求,通常是在问题定义(业务需求)的基础上进用户访谈、调查,对用户使用的场景进行整理,从而建立用户角度的需求。
解决如何使用(软件)系统完成具体工作。
软件系统需求是在业务需求的指导下,对用户需求进行整理、分析、提炼,从而指导开发的、更精确的、规格化的需求。
一般来说,软件需求可以作为软件验收依据与合同契约。
软件系统需求可以分为业务功能需求、系统功能需求、设计约束等方面的内容。
⏹业务功能需求:(软件)系统必须完成的业务功能,即为了向它的用户提供有用的功能,产品必须执行的动作。
这部分工作将分散的用户零散的需求采用结构化的方法去定义,以便支撑后续的设计、开发、测试。
⏹系统功能需求:(软件)系统必须具备的功能、性能、属性。
包括系统性能(功能速度、响应时间、恢复时间等等)、可靠性、易用性、安全性、移植、部署等方面的内容需求。
⏹设计约束的需求:影响系统实现的各种设计约束,包括开发语言、数据完整性方针、资源的限制、运行的环境的要求等等。
2.主要流程需求分析阶段的主要活动围绕需求开发进行,包括制定及修改需求开发计划、开展需求调查以及分析、需求验证、需求规则说明制作、需求确认几个步骤。
1.制定及修改需求开发计划包括建立需求团队的组织并授权、对需求分析阶段的WBS 进行分解、协商并制定调查分析以及评审计划、评估工作量等等方面的内容,其目的是保证各项活动有序、可控的进行。
2.需求调查以及分析的过程,主要活动通过沟通、收集项目中的各级关系人的需求,形成需求调查报告。
需求调查通过现场参观、开调查会、业务专家培训、询问沟通、设计调查表并调查、收集查阅记录等方式获取客户、用户各级组织对(软件)系统需求,分析并识别客户以及用户的需要、期望、业务要求,归纳整理后形成需求调查报告。
3.需求验证环节主要通过原型(Prototype)、POC(Proof of Concept)、用例(Use Case)或简单的功能列表的方式同客户、用户沟通逐步将业务需求、用户需求等转化为软件系统需求。
•原型(Prototype)模拟最终软件的屏幕显示,这样用户可以看到最终软件将是什么样,有些原型可以模拟实际的操作,对关键的输入输出数据也可以一定程度的模拟。
对于用户体验为主的系统往往可以起到很好的效果。
•POC(Proof Of Concept)原意是“为观点提供证据”。
对于关键的技术或者业务模型,论证需求、设计的可实施性,评估和确认概念设计方案,POC的评价可能引起需求和设计的调整。
一般来说,进行POC的条件:1. 论证业务中涉及到的模型或者算法的可行性。
2. 论证技术模型实现的可行性、成本等。
•用例(Use Case):对(软件)系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
每个用例提供了一个或多个场景,该场景说明了系统是如何同最终用户或其它系统交互(interact)的,也就是谁可以用系统做什么,从而获得一个明确的业务目标。
4.需求规则说明(SRS)制作:通过需求调查和初步的需求验证后,可以建立需求制作的准则,包括确认需求规则说明(SRS)的内容、制作方法、制作工具、质量标准等等。
根据需求制作的准则制作需求规格说明(SRS),好的需求规格说明(SRS)应该遵循正确、无歧义、完备、一致、分级(重要性或稳定性)、可验证、可修改、可追踪的原则。
5.需求确认:通过组织各级评审对需求分析阶段的产物,尤其最重要的结果产物需求规格说明(SRS)进行确认,以确保相关人员理解一致。
从评审方法来说,可以根据情况分为需求开发组组内评审、客户外部评审、关键关系人评审等等。
需求分析的流程往往因项目规模、作业人员、系统类型差异很大,因此必须根据实际的情况合理的裁减,以下举例几种不同情况下的具体流程:例:简明的需求开发的流程第1步:确定实现的目的、目标,基本业务需求、业务定义以及相关的评审。
从达到目的、目标的角度,重新评审业务定义,总结业务需求。
(确认客户实施的业务要求)第2步:使业务具体化,进行软件系统的定义(系统需求定义)。
从目的的角度,进行业务定义(功能,步骤),对系统结构进行讨论、对所要进行系统化或计算机化的功能、流程进行定义。
第3步:一边定义业务需求、系统需求、一边对运行上的相关要求(非功能需求)进行总结运行时间,安全应对、访问权限等系统需求以及设计约束在业务需求的基础之上、考虑系统上的限制条件之后逐步形成。
例:软件工程类的典型流程主要特征:强调客户协同、提高运作效率、屏蔽技术风险、加强边界管控✓强调同客户协同,比如确定各种约定,包括截至时间、交流方式、成果物;✓强调计划管控,起目的确保进度和成本,人力资源合理使用;✓采用《问题回答管理票》的方式加强需求团队以及客户的协同作业,提高生产效率,确保质量;✓加强需求边界管理,控制项目整体成本;✓提前对技术关键环节(技术解决方案、技术构架)进行论证,控制技术风险,减少技术带来的成本损失;✓强调需求最终确认;案例3:软件产品类的典型流程主要特征:缩减开发周期、支撑跨部门运作、提高创造性、强调用户体验设计。
✓∙强调计划性以加快研发进程,缩减产品开发周期。
✓强调跨部门协调组织,建立统一的需求团队。
✓强调行业学习、创新以及交流。
✓分版本制作以适应产品的创造、快速变化、市场需求的适应性、进程以及成本控制。
✓强调交互原型的重要性,加强用户体验性设计。
需求分析(二)内容需求分析阶段产物可以包括需求调查报告、需求规格说明、可行性报告等多方面的内容,但是一般来说需求规格说明(硬件、软件)是最终的产物。
过程中的关键产物还包括需求调查报告。
3.1 需求调查报告通过现场参观、开调查会、业务专家培训、询问沟通、设计调查表并调查、收集查阅记录等方式获取客户、用户各级组织对(软件)系统需求,分析并识别客户以及用户的需要、期望、业务要求,归纳整理后形成需求调查报告。
需求调查常作为一个中间过程成果,主要强调对业务、系统的现状进行归纳整理,同时对业务中的问题、各类期望以及优化方案进行记录和整理,通过初步分析形成结构化描述。
一般需求调查报告包含目的、目标、范围、业务域概述、组织机构以及对应的岗位权限、业务现状、业务优化的期望、业务规则(算法、逻辑)、输入输出数据、其他系统的交互(如果有)等内容。
1.业务领域业务领域主要梳理并整理项目的作业范围,同时在业务上进行梳理了解并描述各领域间的关联。
例业务领域以及关联关系2.业务现状业务现状主要描述当前业务工作中的各种处理,可以通过业务流程描述(常见可以用泳道图描述)、逐个业务场景描述、对系统功能需求描述、相关输入输出信息以及优化分析的期望等几个方面进行描述。
如果原业务有对应的(软件)系统,也可以收集原系统的对应的资料进行整理。
1)业务场景描述: 对业务工作中的每个处理进行对应的描述,并通过记录和整理形成结构化的场景描述。
场景描述一般包括定义场景的名称、场景相关的角色、场景的详细描述、结果产出以及当前的存在的问题以及对应的期望。
需要注意的是任何系统的引入都会一定程度地改变当前的工作模式和工作方法,所以对当前的存在的问题以及对应的期望的支撑程度往往决定了系统的价值,也必然是今后(软件)系统的焦点。
当然这些问题以及期望可以采用多种方式解决,比如通过管理制度的建设、人员能力的加强、计算模型的优化、系统化(计算机化)等等。
其实需求分析阶段的主要工作就是识别、分析那些工作是可以系统化或计算机化的工作,并辅助制度化管理流程、提高人员能力等工作提高作业的效率和质量。
例,一个移动终端希望提高购物的便利性,哪些是可以系统化的呢?比如支付可以系统化做到移动支付,同时第3方支付还需要法律的支撑等等。
2)业务功能需求描述:结合业务场景对系统的业务功能进行描述。
一般包括前置条件、输入、输出、业务规则、典型动作等。
业务功能需求描述着眼于使业务具体化,进行(软件)系统的需求调查或定义,描述方法也更加的结构化。
这一步骤中,业务规则是重要的核心,是业务场景中具体处理的细节要求,一般包括处理的详细流程、关键数据的计算方法、样式要求等等内容。
3)业务数据描述:对业务场景、业务功能需求中的输入和输出数据进行结构化整理的过程。
多数新建系统,业务数据往往是分散和凌乱的,通过这个过程需要对相关的数据进行结构化的整理,并为后续的规格定义提供基础。
4)其他:对业务现状整理过程,对一些过程性的资料比如原始的单据、表单通过扫描等方式进行收集汇总。
对原系统可以通过收集设计资料、屏幕截图等方式汇集整理。
3.2 软件规格说明书(SRS)通过需求调查以及分析、需求验证环节等步骤,需求规格说明书使业务具体化,最终对软件以及硬件系统的功能进行明确定义。
需求规格说明(SRS)对功能进行结构化的描述,以指导后续设计、开发、测试工作的开展。
需求规格说明定义系统愿景、系统范围、业务功能、系统功能、约束条件等方面的需求。