软件需求分析建模

合集下载

软件需求分析方法

软件需求分析方法

软件需求分析方法软件需求分析是软件开发过程中的重要环节,它通过系统化的方法和工具,对用户需求进行分析和抽象,将用户需求转换为软件需求规格说明书,为软件开发提供明确的目标和方向。

在软件需求分析过程中,一些常用的方法有以下几种:1. 需求采集:需求采集是软件需求分析的起点,它主要通过与用户的沟通和访谈,收集用户的需求。

在需求采集过程中,可以采用面对面的交谈、问卷调查、观察等方法,以确保准确获取用户的需求。

采集的需求可以分为功能性需求和非功能性需求,并采用需求列表、用例图、用户故事等形式进行记录和整理。

2. 需求分析:需求分析是将采集来的需求进行分析和抽象的过程。

在需求分析过程中,可以采用功能分解、数据流图、状态图等方法,以将需要系统实现的功能分解为更具体的模块或子功能,并进行详细的描述和定义。

同时,对用户需求进行可行性分析,确定是否能够实现用户需求,并考虑软件系统的可靠性、可扩展性等方面。

3. 需求建模:需求建模是将需求进行进一步抽象和整理的过程。

在需求建模过程中,可以使用UML(统一建模语言)等工具,采用用例图、活动图、类图等方式对系统的需求进行建模和描述。

用例图描述了系统与外界的交互,活动图描述了系统的流程和交互,类图描述了系统中各个类之间的关系。

4. 需求验证:需求验证是验证需求的正确性和完整性的过程。

在需求验证过程中,可以采用原型演示、模拟测试、用户验收测试等方法,以验证需求是否满足用户的期望,并及时发现和纠正需求中的问题和缺陷。

5. 需求管理:需求管理是对需求进行跟踪和管理的过程,以确保软件开发的目标和进度。

需求管理包括需求变更管理、版本管理和配置管理等方面。

需求变更管理是管理需求变更的过程,包括需求审批、变更需求分析和实施变更等环节。

版本管理是管理需求版本的过程,包括需求的版本控制、变更追踪和回归测试等环节。

配置管理是管理需求配置的过程,包括需求管理工具的选择和配置、需求跟踪和跟踪需求变更等环节。

软件工程中的软件需求建模与验证

软件工程中的软件需求建模与验证

软件工程中的软件需求建模与验证在软件工程领域中,软件需求建模与验证是非常重要的环节。

通过对软件需求的建模与验证,可以帮助开发团队实现对用户需求的准确理解,规避项目风险,提高软件质量。

本文将对软件需求建模与验证进行探讨,介绍其意义、常用方法以及实施过程中需要注意的事项。

一、软件需求建模的意义软件需求建模是指将用户需求转化为易于理解、易于分析的建模表示形式的过程。

它的意义主要体现在以下几个方面:1. 精确理解用户需求:用户需求通常是非结构化的,通过建模可以将其转化为结构化的表示形式,从而更好地理解用户需求的具体内容。

2. 消除需求的二义性:在软件开发过程中,需求二义性可能导致开发人员对用户需求理解存在偏差,从而产生错误的设计。

通过建模,可以减少需求的二义性,确保需求准确无误。

3. 支持复杂系统的设计与开发:对于复杂的软件系统,建模可以帮助开发人员更好地理解系统的结构与功能,从而更好地进行系统设计与开发。

二、软件需求建模方法在软件需求建模中,常用的方法包括数据流图、用例图等。

1. 数据流图(DFD):数据流图是一种图形化表示方法,通过展示系统内部外部的数据流与处理过程来描述软件系统的功能与数据交互。

在数据流图中,数据流由数据流向箭头表示,处理过程由方框表示,外部实体由圆形表示。

2. 用例图(Use Case Diagram):用例图是一种图形化表示方法,用于描述系统与外部实体之间的交互关系。

在用例图中,系统由矩形表示,外部实体由椭圆形表示,用例由椭圆形与直线表示。

三、软件需求验证的方法软件需求验证是指通过一系列的过程与活动,确保软件需求的正确性与合理性。

常用的软件需求验证方法包括软件检查、测试、原型等。

1. 软件检查:软件检查是通过审查软件需求文档,以发现并纠正其中的错误、遗漏和不一致之处。

软件检查可以由项目团队内部成员进行,也可以由外部的专业人士进行。

2. 软件测试:软件测试是通过执行各种测试用例,以发现软件需求与实际软件系统之间的差异,并对其进行评估。

软件需求工程中的模型及分析方法

软件需求工程中的模型及分析方法

软件需求工程中的模型及分析方法在软件开发中,软件需求工程是非常重要的一环,因为在这个阶段确定的需求将直接影响后续的软件设计和开发。

而模型及分析方法是软件需求工程的重要工具,它们可以帮助开发人员深入了解用户需求,更好地完成软件开发任务。

本文将围绕软件需求工程中的模型及分析方法展开讨论。

一、模型及其类型模型是对实际系统或过程的一种抽象表示,它可以帮助开发人员更好地理解和分析软件需求,在需求工程中常用的模型包括以下几种:1.1 静态模型静态模型是对系统或过程中的元素及其关系的表示,它们的变化不随时间而定。

在需求工程中常用的静态模型包括数据流图、结构图、实体关系图等。

数据流图可以表示系统中的数据输入、输出以及数据处理过程,它可以帮助开发人员更好地理解数据流动的过程。

结构图可以表示系统中的模块和模块之间的关系,它可以帮助开发人员更好地理解模块之间的交互。

实体关系图可以表示系统中不同实体之间的关系,它可以帮助开发人员更好地理解实体之间的交互。

1.2 动态模型动态模型是对系统或过程中的操作及其变化的表示,它们的变化随时间而定。

在需求工程中常用的动态模型包括状态图、活动图、时序图等。

状态图可以表示系统中不同状态之间的转换,它可以帮助开发人员更好地理解系统状态的变化。

活动图可以表示系统中各种活动的执行过程,它可以帮助开发人员更好地理解系统中不同活动之间的关系。

时序图可以表示系统中事件之间的时间顺序,它可以帮助开发人员更好地理解系统中不同事件的执行顺序。

1.3 物理模型物理模型是对系统或过程中的物理组件及其关系的表示,它们通常与硬件和软件的配合使用。

在需求工程中常用的物理模型包括部署图、机房图等。

部署图可以表示不同硬件之间的连接和通信,它可以帮助开发人员更好地理解系统中不同硬件之间的配合。

机房图可以表示不同设备在机房内的位置和连接方式,它可以帮助开发人员更好地理解机房中各种设备的位置关系。

二、分析方法及其应用分析方法是针对需求进行深入分析的方法,通过分析可以更好地理解用户需求并确定需求的可行性。

软件工程中的需求分析与建模

软件工程中的需求分析与建模

● 03
第3章 需求建模技术
需求建模概述
需求建模是软件工程中的一个重要环节,通过对需求 进行建模,可以更清晰地理解和定义系统需求。需求 建模的目的是为了准确地捕获用户需求,确保软件开 发过程中不会遗漏任何重要需求。同时,需求建模还 可以帮助团队更好地沟通和协作,提高项目的成功率。
用例建模
用例是描述系统功能的一种有效方式。通过用 例建模,可以清晰地定义系统的功能和用户与 系统之间的交互。用例图可以直观地展示系统 的功能和不同用户角色之间的交互关系。用例 描述则详细描述了每个用例的具体行为和步骤。
意度。
需求变更频繁
导致开发过程混乱
需求不明确
影响产品质量
沟通不畅
导致需求误解
面临的挑战
可能的改进方向
采用敏捷开发模式
迭代开发 持续集成 快速反馈
加强需求管理
建立需求数据库 制定明确需求文档 实施变更控制
提高沟通效率
定期沟通会议 使用协同工具 建立需求反馈渠道
展望未来
未来在软件工程领域,人工智能技术的发展将为需求 分析带来更多可能性,大数据技术的应用将提升需求 建模的精度,需求管理工具的不断创新将提高团队效 率。
测试
单元测试 集成测试
软件工程发展历程
软件工程的发展经历了多个阶段,从最初的混沌时期 到逐渐建立起规范的软件开发流程和方法。随着科技 的不断进步,软件工程也在不断演变和完善。
● 02
第二章 需求分析基础
需求分析概述
需求分析是软件工程中至关重要的一部分,它 涉及定义、识别和规范软件开发项目中的需求。 通过需求分析,可以确保开发团队在项目开始 阶段清晰了解客户的需求,明确目标和方向。 需要对需求进行系统性的分析,以确保最终的

第3章软件需求分析与建模

第3章软件需求分析与建模
应如何实施。
2020/3/7第3章软件需求分析与建模
软件工程教研室
15
①数据模型 描述对象系统的本质属性及其关系。常用的建模工具有 实体-联系图等。 ②功能模型 描述对象系统所能实现的所有功能。而不考虑每个功能 实现的次序。常用的建模工具有数据流图、IDEF0等。 ③行为模型 描述对象系统为实现某项功能而发生的动态行为。常用 的建模工具有控制流图、状态转换图等。
2020/3/7第3章软件需求分析与建模
软件工程教研室
24
X
1
3
2
1.1 1.3 1.2
2.2
2.1
2.3
3.2
3.1
3.3
图3-3 自顶向下逐层分解图
2020/3/7第3章软件需求分析与建模
软件工程教研室
25
结构化分析的过程如下 1.建立当前系统(现在工作方式)的概念模型。系统的 概念模型就是现实环境的忠实写照,可用系统流程图来表 示。这样的表达与当前系统完全对应,用户容易理解。 2.抽象出当前系统的逻辑模型。分析系统的概念模型, 抽象出其本质的因素,排除次要因素,获得用数据流图 DFD 图等描述的当前系统的逻辑模型。 3.建立目标系统的逻辑模型。分析目标系统与当前系统 逻辑上的差别,从而进一步明确目标系统“做什么”,建 立目标系统的“逻辑模型”(修改后的数据流图DFD 图等)。 4.建立人机交互接口和其他必要的模型,确定各种方案 的成本和风险等级,据此对各种方案进行分析,选择其中 一种方案,建立完整的需求规约。 分析模型的结构如图3-4所示。
Y
用户和设计者是否满意
N
运行原型
是否放弃
Y
N
把原型作为 把原型作为应 应用系统 用系统开发的

软件工程中的需求分析与建模研究

软件工程中的需求分析与建模研究

软件工程中的需求分析与建模研究在软件开发过程中,需求分析与建模是一个至关重要的环节。

它涉及到从客户的需求中提取关键信息,并将其转化为可理解和可实施的软件规范。

这个过程不仅需要对业务流程的深入了解,还需要合理运用各种建模技术和工具。

本文将探讨软件工程中的需求分析与建模研究,探索其在软件开发中的重要性和应用价值。

首先,需求分析是软件开发的基石。

它的主要目标是确定需求中的功能和非功能要求,为后续的系统设计和实现奠定基础。

通过需求分析,软件开发团队可以更好地理解用户的需求,从而提供更准确的解决方案。

在这个过程中,需求分析师需要与客户进行密切的沟通和交流,确保对需求的理解没有偏差。

同时,他们还需要运用各种技术工具,如用例图、活动图和时序图等,来帮助描述和分析需求。

其次,需求建模是需求分析的重要组成部分。

它为需求分析师提供了一种清晰的方法来描述和组织需求。

需求建模可以通过图形化的方式将复杂的业务流程转化为易于理解的模型。

这些模型可以帮助需求分析师更好地理解业务需求,并与开发团队进行有效的沟通。

常见的需求建模工具包括用例图、活动图、状态图和类图等。

通过这些工具,开发团队可以更好地理解系统的功能和流程,从而更好地设计和实现软件系统。

此外,需求分析与建模的研究也面临许多挑战和困难。

首先是需求的变动性。

随着项目的进行,业务需求可能会发生变化,这会对原有的需求分析和建模工作造成影响。

因此,在需求分析和建模的过程中,需求分析师需要具备一定的变通能力,及时调整并更新需求规范。

其次是需求的完整性和一致性。

在业务流程复杂的系统中,各个业务部门可能会提出不同的需求,这些需求之间可能存在矛盾和冲突。

因此,需求分析师需要在保证需求的完整性的同时,解决不同需求之间的冲突,确保系统的一致性和可行性。

需求分析与建模的研究不仅对软件开发具有重要意义,也对软件工程学科的发展起到推动作用。

随着需求分析与建模技术的不断发展和成熟,软件开发团队能够更好地理解和满足用户的需求,提供更高质量的软件产品。

软件设计师中的软件需求分析与建模方法

软件设计师中的软件需求分析与建模方法

软件设计师中的软件需求分析与建模方法在软件开发过程中,软件需求分析与建模是至关重要的环节,它们帮助软件设计师深入了解客户需求,并将其转化为可行的软件方案。

本文将介绍软件设计师中常用的软件需求分析与建模方法,包括面向对象分析与设计(OOAD)、UML建模语言以及用户故事。

一、面向对象分析与设计(OOAD)面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)是一种常见的软件需求分析与建模方法。

它以对象为中心,将系统建模为一系列相互关联的对象,并通过定义对象的属性和行为来描述系统。

OOAD方法有助于设计师理清系统的功能、对象之间的关系以及交互方式。

在OOAD中,常用的建模方法包括用例图、类图、时序图和活动图等。

用例图用于描述系统的功能需求,通过显示系统与外部实体(用户、其他系统等)之间的交互来展示系统的行为。

类图展示了系统中各个类的属性、方法和关系,帮助设计师理解系统的结构和组成。

时序图用于描述对象之间的交互顺序和消息传递过程,便于分析系统中的时序逻辑。

活动图则展示了系统中的业务流程和操作行为,有助于设计师理解系统的业务逻辑。

二、UML建模语言统一建模语言(Unified Modeling Language,UML)是一种常用的软件需求分析与建模工具,它提供了丰富的图表和符号,方便设计师进行系统建模和描述。

UML中常用的图表包括用例图、活动图、类图、时序图、状态图等。

用例图用于描述系统的功能需求和行为,展示了各个参与者(角色)与系统之间的交互。

活动图描述了系统的业务流程和操作行为,有助于设计师理解系统的工作流程。

类图描述了系统的结构和组成,展示了类之间的关系和属性。

时序图用于描述对象之间的交互顺序和消息传递过程,方便设计师分析系统的时序逻辑。

状态图描述了对象在系统中的状态转换和行为变化,帮助设计师分析系统的状态变化。

UML作为一种标准化的建模语言,广泛应用于软件开发过程中,通过图表和符号的方式,使得需求分析和建模更加直观、易于理解。

软件工程中的软件需求分析方法(二)

软件工程中的软件需求分析方法(二)

软件工程中的软件需求分析方法导言在软件开发过程中,准确、清晰的软件需求分析是成功的关键。

软件需求分析方法的选择和运用,对于确保软件项目的顺利进行以及最终交付优质产品具有重要意义。

本文将探讨几种常见的软件需求分析方法,并介绍它们各自的优缺点。

1. 需求采集方法用户需求访谈用户需求访谈是一种常用的需求采集方法。

通过与终端用户直接交流,软件开发团队能够深入了解用户的需求、期望和挑战。

然而,这种方法的一个限制是,用户在开始的时候可能并不清楚自己具体需要什么,或者无法表达清晰的需求。

场景分析场景分析方法通过模拟真实的使用场景,帮助开发团队了解用户在实际情况下的需求。

开发团队可以通过观察用户在特定场景下的行为、交互等来推断出软件的需求。

然而,这种方法可能无法覆盖所有的使用场景,并且可能受到开发团队的主观因素的影响。

2. 需求建模方法用例图用例图是一种常见的需求建模方法,用于描述软件系统与其用户之间的交互。

它通过标识不同用户角色和系统功能,揭示系统的需求和行为。

用例图直观地展示了系统的功能和交互,有助于软件开发团队更好地理解用户需求。

然而,用例图不能提供详细的需求规范,无法满足复杂系统的需求分析。

数据流图数据流图是一种将系统视为一系列信息流动的图形表示方法。

它描述了软件系统中数据的流动路径和处理过程。

通过数据流图,开发团队可以更好地理解系统中不同模块的功能和相互关系,从而推导出详细需求。

然而,数据流图可能过于复杂,导致需求分析变得困难。

3. 需求验证方法原型验证原型验证方法通过制作出初步的系统原型,让用户提供反馈并验证软件需求的准确性。

原型验证可以帮助开发团队更好地理解用户需求,及时发现和修复问题。

然而,原型开发需要一定的时间和资源投入,并且可能导致需求变更频繁。

领域专家评审领域专家评审是一种常见的需求验证方法。

通过邀请相关领域的专家对需求规格文档进行评审,开发团队可以快速发现和纠正潜在的问题和风险。

然而,依赖专家的评审可能受到时间和资源的限制,评审结果也可能受到主观因素的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实例
小结
在需求获取和分析过程中,要对问题进行 评估,对方案进行综合。在整个过程中,分 析师关注的焦点是“做什么”,而不是“怎 么做”,系统必须完成什么功能,会产生什 么数据,将定义什么界面,会遇到什么约束 等。
总之,在这一阶段主要经历集中在获取和 分析系统的逻辑功能上。不要把“用计算机 如何实现”这样的物理因素牵扯进来,影响 逻辑功能的分析。
需求获取-需求人员
谁参加需求?
角色
职责
需求分析员
客户与最终 用户
项目组
调查、分析用户的需求、定义产品需求、 撰写《用户需求规格说明书》
提供必要的需求信息;确认最终需求
参与需求评审
需求获取-功能
功能性需求
软件必须实现的软件功能
非功能性需求
系统的易用性、反应速度、容错性、健壮性等等质量属性
需求获取-非功能
需求捕获技术-用户访谈
访谈开始和结束
陈述访谈的目的,谈谈被访谈者关心的事。 讨论他们所熟悉的日常工作的过程。 怎样的变化将使你的工作更简单或更有效?暗
示被访谈者提出改进意见。 当列表中的所有领域都讨论过后,提出下面问
题: “还有什么问题我们没有讨论吗?”或是 “ 我们还需要讨论些别的内容吗?” 结束会谈时,简短的总结讨论过的问题,重点 指出会谈的要点,并说出你的理解。 最后,你必须感谢被访谈者参加这次访谈。
本系统对于用户的需求,在功能上可以进行扩展,能满 足各级财政业务上的需求。
本系统在数据库上可以进行移植,支持Oracle,Sybase等 数据库。
需求获取-功能实例
需求获取—参与者
•谁使用了系统的主要功能? •谁来维护和管理系统使系统正常工作?
角色及其职责描•哪述些人对系统产生的结果感兴趣?
角色获取 职责描述
❖角色要求系统提供哪些功能? ❖角色在系统中的工作是什么? ❖角色的某些功能是否必须被系统自动 实现?
需求获取-角色职责分析实例
序号
角色
1 学生
2 教师
3 教务人员
4 系统管理者
职责描述
选课申请 考试 查询成绩单
录入成绩 查询、统计成绩
开设新课程 审核选课申请 结束课程 统计分析 设置角色 设置权限 设置统计类型
最后,是需求的确认。需求的不稳定性往往随着时间的推 移产生变动,使之难以确认。 为了克服以上的问题,必 须有组织地执行需求的获取活动。
需求获取
1)确定需求开发过程:确定需求开发过程确定如 何组织需求的收集、分析、细化并核实的步骤,并 将它编写成文档。对重要的步骤要给予一定指导, 这将有助于分析人员的工作,而且也使收集需求活 动的安排和进度计划更容易进行。
需求获取
7)召开应用程序开发联系会议:召开应用程序开发联系会 议应用程序开发联系会议是范围广的、简便的专题讨论会 ,也是分析人员与客户代表之间一种很好的合作办法,并 能由此拟出需求文档的底稿。该会议通过紧密而集中的讨 论得以将客户与开发人员间的合作伙伴关系付诸于实践。
8)分析用户工作流程:分析用户工作流程观察用户执行业 务任务的过程。画一张简单的示意图(最好用数据流图) 来描绘出用户什么时候获得什么数据,并怎样使用这些数 据。编制业务过程流程文档将有助于明确产品的使用实例 和功能需求。你甚至可能发现客户并不真地需要一个全新 的软件系统就能达到他们的业务目标。
需求分析者应该理解一般的行业术语(术语表) 并且还要熟悉行业上的业务问题
需求捕获技术-用户访谈
计划访谈日程
准备列表,列出主要话题或问题 。这些问题可以找出未意识到的重点 ,还能有逻辑的引导访谈进行。安排 访谈应遵循自上而下的进行。首先访 谈部门或地区的领导,然后才是他们 下属的雇员。在邀请对方进行会谈时 ,要解释这次会谈的目的,一般会涉 及哪些领域,以及大致需要的时间等 。
需求捕获技术-用户访谈
引导访谈
避免提封闭性的问题 询问开放性的问题 使用适当的表达 重述被访谈者的回答 有效的使用沉默
需求捕获技术-收集资料
收集用户的书面需求文档
收集用户现在的业务操作流程及其改 进意见文档
收集用户现在使用的数据表和文件及 其格式,并确定数据的来源
需求捕获技术-问卷表需求分析 Nhomakorabea实体-关系图
需求文档的编写
编写用户需求报告
系统概述(目标 、名词解释 、产品应当遵循的标准或规范 ) 功能需求 非功能需求 功能需求描述(业务流程分析、数据需求 、用户权限 、报表需求

编写需求规格说明书
概述(产品范围 、产品中的角色 ) 目标系统的功能需求 目标系统的非功能性需求 目标系统的界面与接口需求 目标系统的约束条件 需求建模与分析报告
需求获取
首先,需求获取要定义问题范围,而系统的边界往往是很 难明确的,用户不了解技术实现的细节,这样将造成系统 目标的混淆。
其次,是对问题的理解。任何一个系统都会有很多的用户 或者不同类型的用户,每个用户只知道自己需要的系统, 而不知道系统的整体情况;他们不知道系统作为一个整体 怎么样工作效率更好,也不太清楚哪些工作可以交给软件 完成;他们不清楚需求是什么,或者说如何以一种精确的 方式来描述需求;他们需要开发人员的协助和指导,但是 用户与开发人员之间的交流很容易出现障碍,往往忽略了 那些被认为是“很明显”的信息。
软件需求分析建模
需求分析
需求分析是指理解用户需求,就软件功能和性能与客户达成 一致,估计软件风险和评估项目代价,最终形成开发计划的 一个复杂过程。在这个过程中,用户处在主导地位,需求分 析工程师和项目经理要负责整理用户需求,为之后的软件设 计打下基础。需求分析阶段结束后,要求得到《用户需求说 明书》和《需求规格说明书》两份文档。广义上,需求分析 包括需求的获取、分析、规格说明、变更、验证、管理的一 系列需求工程;
2)编写项目视图和范围文档:项目视图和范围文 档应该包括高层的产品业务目标,所有的使用实例 和功能需求都必须遵从能达到的业务需求。项目视 图说明使所有项目参与者对项目的目标能达成共识 。
需求获取
3)用户群分类:产品的用户在很多方面存在着差异,例如 :用户使用产品的频度、他们的应用领域和计算机系统知 识、他们所使用的产品特性、他们所进行的业务过程、他 们在地理上的布局以及他们的访问优先级。根据这些差异 ,你可以把这些不同的用户分成小组。用户类不一定都指 人,你可以把其它应用程序或系统接口所用的硬件组件也 看成是附加用户类的成员。以这种方式来看待应用程序接 口,可以帮助你确定产品中那些与外部应用程序或组件有 关的需求。将用户群分类并归纳各自特点为避免出现疏忽 某一用户群需求的情况,要将可能使都有所差异。详细描 述出它们的个性特点及任务状况,将有助于产品设计。
狭义上,需求分析是指需求的获取、分析及定义的过程。需 求分析的任务就是软件系统解决“做什么”的问题,就是要全 面地理解用户的各项要求,并准确地表达所接受的用户需求 的过程。
需求分析
如果投入大量的人力、物力、财力和时间,而开发出的软件 却没人要,那么所有的投入都是徒劳。如果费了很大的精力 开发一个软件,最后却不能满足用户的要求,而要重新开发 ,那么这种返工是让人痛心疾首的。例如,用户需要一个响 应时间快的软件,而在软件开发前期忽略了软件的性能要求 ,忘了向用户询问这个问题,想当然地认为是开发无响应时 间这一性能要求的软件,如果当你千辛万苦地开发完成向用 户提交时才发现出了问题,是要付出很大的代价的。所以, 需求分析在软件开发过程中具有举足轻重的地位,具有决策 性、方向性、策略性的作用,我们应对需求分析具有足够的 重视。在一个大型软件系统的开发中,需求分析的作用要远 远大于程序设计。
主要质量属性 正确性 可靠性 易用性 安全性
可扩展性 可移植性
详细要求
数据输入输出保持正确,界面显示无误。
本系统操作的数据是财务数据,因此必须保证所有数据 的可靠性和正确性
本系统用户界面简单,用户在经过培训以后,就能很快 上手使用。
所有操作人员都要通过用户名和密码登陆系统,特别是 B/S端用户还必须通过证书验证,才能进去系统,保 证了数据的安全性。
需求分析建模
1.需求获取 2.需求捕获技术 3.需求分析 4. 需求文档的编写
需求获取
开发软件项目关键的第一步工作是什么?
软件的需求分析 理解用户对软件提出的要求
需求获取
需求获取可能是软件开发中最困难、最关键、 最易出错及最需要沟通交流的活动。对需求的 获取往往有错误的认识:用户知道需求是什么 ,我们所要做的就是和他们交谈,从他们那里 得到需求;只要问用户系统的目标特征,什么 是要完成的,什么样的系统能适合商业需要就 可以了。但是实际上需求获取并不是想象的这 样简单,这条沟通之路布满了荆棘。
需求获取
5)建立核心队伍:建立起典型用户的核心队伍把同类产品 或你的产品的先前版本用户代表召集起来,从他们那里收 集目前产品的功能需求和非功能需求。这样的核心队伍对 于商业开发尤为有用,因为你拥有一个庞大且多样的客户 基础。与产品代表的区别在于,核心队伍成员通常没有决 定权。
6)确定使用实例:让用户代表确定使用实例从用户代表处 收集他们使用软件完成所需任务的描述-使用实例,讨论用 户与系统间的交互方式和对话要求。在编写使用实例的文 档时可采用标准模版,在使用实例基础上可得到功能需求 。
需求获取-业务数据、流程
业务流程描述
业务处理过程
业务数据及关系
找出元数据:数据的数据 找出中间数据:描述统计数据的数据 找出元数据和中间数据的关系
需求获取-报表
学生成绩统计表
学号
20090105001 20090105002 20090105003 20090105004 20090105005
需访谈的个体太多 需要回答容易确定的细节问题 当你希望有个详细的结果时 使问卷表尽可能的简短。用多个短小的问
卷表替代一个长的问卷表。如果在回答了 前15-20个问题后,长的问卷表会使用户感 觉厌烦,他们就不会对其余的问题做出正 确的判断。通常,一个问卷表包含的问题 不超过10-15。
相关文档
最新文档