软件工程需求分析--需求分析ppt课件.ppt

上传人:飞****2 文档编号:28413298 上传时间:2022-07-28 格式:PPT 页数:131 大小:1.23MB
返回 下载 相关 举报
软件工程需求分析--需求分析ppt课件.ppt_第1页
第1页 / 共131页
软件工程需求分析--需求分析ppt课件.ppt_第2页
第2页 / 共131页
点击查看更多>>
资源描述

《软件工程需求分析--需求分析ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程需求分析--需求分析ppt课件.ppt(131页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2022-7-281第5章 需求分析可行性研究通过以后,下一步就要根据草拟的开发计划,展开详细的需求分析活动。软件需求分析,是详细分析需求,并建立需求分析模型的阶段我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-282第5章 软件需求分析 5.1 5.1 需求分析概述需求分析概述 5.2 5.2 结构化分析方法结构化分析方法 5.3 5.3 数据流图的绘制数据流图的绘制 5.4 5.4 编制数据字典编制数据字典 5.5 5.5 加工逻辑的分析与表达加工逻辑的分析与表达 5.6 5.6 需求验证

2、与评审需求验证与评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2835.1 需求分析概述 5.1.1 5.1.1 需求分析的任务、特点、主要困难需求分析的任务、特点、主要困难 5.1.2 5.1.2 人员组成人员组成 5.1.3 5.1.3 分析师的角色分析师的角色 5.1.4 5.1.4 需求分析的活动和原则需求分析的活动和原则我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2845.

3、1.1 需求分析的任务n 完成完成“分析建模分析建模”; ;n 拟定拟定“确认测试确认测试”计划计划n 修订修订“开发计划开发计划”n 编写编写“需求规划说明书需求规划说明书”n 需求评审需求评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2851. 分析建模 针对用户要求实现的软件功能、性能等目标,针对用户要求实现的软件功能、性能等目标,与开发人员进一步澄清、达成共识、形成规与开发人员进一步澄清、达成共识、形成规约约; ; 准确讲,需求分析是发掘需求、分析求精、准确讲,需求分析是发掘需求

4、、分析求精、逻辑建模、形成规约的过程。逻辑建模、形成规约的过程。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2861. 分析建模v发掘需求发掘需求调查需求、挖掘潜在需求、预测未调查需求、挖掘潜在需求、预测未来可能的需求;来可能的需求;v需求求精需求求精对模糊不清的用户需求明确、精化;对模糊不清的用户需求明确、精化;v逻辑建模逻辑建模在现行系统逻辑模型的基础上,考在现行系统逻辑模型的基础上,考虑新的用户需求、限制和约束的基础上导出新系虑新的用户需求、限制和约束的基础上导出新系统的逻辑模型;统

5、的逻辑模型;v形成规约形成规约将双方达成共识的需求文档化、模将双方达成共识的需求文档化、模型化,这份文档被称为型化,这份文档被称为“需求规约需求规约”和和“需求规需求规格说明书格说明书”,它将是后需活动开发方努力实现的,它将是后需活动开发方努力实现的目标目标我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2872. 2. 拟定拟定“确认测试确认测试”计划计划 有了共同的需求约定以后,就可以制定有了共同的需求约定以后,就可以制定“确认测确认测试试”计划,它是用户验证软件是否满足需求的依计划,它是

6、用户验证软件是否满足需求的依据;据; 这个计划到综合测试后期执行。这个计划到综合测试后期执行。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2883. 3. 修订开发计划修订开发计划 系统调查与可行性研究阶段的最后,草拟了初步系统调查与可行性研究阶段的最后,草拟了初步的开发计划,当时由于需求尚不详细,现可有了的开发计划,当时由于需求尚不详细,现可有了详细的需求分析结果以后,应该使开发计划更准详细的需求分析结果以后,应该使开发计划更准确一些。确一些。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什

7、么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2894 . 4 . 编写编写“需求规划说明书需求规划说明书” 需求分析阶段的成果集中体现在需求分析阶段的成果集中体现在“需求规格说明需求规格说明书书”中,这是一个里程碑;中,这是一个里程碑; 有明确的格式和内容有明确的格式和内容我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28105. 5. 需求评审需求评审 需求评审是需求评审是“质量保证活动质量保证活动”的内容;的内容; 体现出瀑布

8、模型的体现出瀑布模型的“文档驱动文档驱动”特点特点 由项目经理、用户、分析员、前一阶段(可由项目经理、用户、分析员、前一阶段(可行性研究)的主要人员和后一阶段(概要设行性研究)的主要人员和后一阶段(概要设计)的主要人员组成评审小组;计)的主要人员组成评审小组;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2811阶段性成果(主要文档)包括:阶段性成果(主要文档)包括: 需求规格说明书需求规格说明书 细化的项目计划细化的项目计划 确认测试计划确认测试计划我吓了一跳,蝎子是多么丑恶和恐怖的东西,

9、为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2812主要特点主要特点: :面向问题域(即用户业务领域)面向问题域(即用户业务领域)只关注只关注“逻辑逻辑”,不考虑,不考虑“物理物理” 只研究应该只研究应该“做什么?做什么?”,暂不考虑用什么,暂不考虑用什么手段、如何实现,即手段、如何实现,即“怎么做怎么做”的问题;的问题;用数流据图、数据字典、加工描述等工具建立用数流据图、数据字典、加工描述等工具建立逻辑模型逻辑模型我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错

10、:表里边有一个活的生物2022-7-2813面临的主要困难 需求分析活动面临的挑战:需求分析活动面临的挑战:v使用有效的软件工程方法克服复杂性使用有效的软件工程方法克服复杂性v建立分析员与用户的有效沟通建立分析员与用户的有效沟通使用有效的工具,克服需求表述的二义性使用有效的工具,克服需求表述的二义性我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28145.1 5.1 需求分析概述需求分析概述 5.1.1 5.1.1 需求分析的任务、特点、主要困难需求分析的任务、特点、主要困难 5.1.2 5

11、.1.2 人员组成人员组成 5.1.3 5.1.3 分析师的角色分析师的角色 5.1.4 5.1.4 需求分析的活动和原则需求分析的活动和原则我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28155.1.2 5.1.2 人员组成人员组成 如果是一个企业信息系统开发项目,那么项目团队如果是一个企业信息系统开发项目,那么项目团队成员应包括用户和开发人员;成员应包括用户和开发人员; 参与团队的用户包括:参与团队的用户包括: 企业负责人、部门负责人、专业岗位上的员工;企业负责人、部门负责人、专业岗位

12、上的员工; 参开团队的开发人员包括:参开团队的开发人员包括: 系统分析师、数据管理员;系统分析师、数据管理员; 在需求评审时,还需要在需求评审时,还需要”可行性分析可行性分析“和和”系统设系统设计计“阶段的主要人员参与;阶段的主要人员参与;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28165.1 5.1 需求分析概述需求分析概述 5.1.1 5.1.1 需求分析的任务、特点、主要困难需求分析的任务、特点、主要困难 5.1.2 5.1.2 人员组成人员组成 5.1.3 5.1.3 分析师的

13、角色分析师的角色 5.1.4 5.1.4 需求分析的活动和原则需求分析的活动和原则我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28175.1.3 5.1.3 分析师的角色分析师的角色 是用户与开发人员的桥梁;是用户与开发人员的桥梁; 与项目经理合作,是开发团队的领军人物;与项目经理合作,是开发团队的领军人物; 具体业务主要集中在可行性研究和需求分析阶段;具体业务主要集中在可行性研究和需求分析阶段; 个人素质方面:个人素质方面: 具有领导才能,善于沟通;具有领导才能,善于沟通; 具有实干作风

14、;具有实干作风; 知识面宽,重在广度而不是深度;知识面宽,重在广度而不是深度; 技术全面;技术全面; 有时分析师是一个团队,由若干人承担;有时分析师是一个团队,由若干人承担;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28185.1 5.1 需求分析概述需求分析概述 5.1.1 5.1.1 需求分析的任务、特点、主要困难需求分析的任务、特点、主要困难 5.1.2 5.1.2 人员组成人员组成 5.1.3 5.1.3 分析师的角色分析师的角色 5.1.4 5.1.4 需求分析的活动和原则需求

15、分析的活动和原则我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28195.1.4 5.1.4 需求分析的活动和原则需求分析的活动和原则 活动主要分为:活动主要分为: 需求获取需求获取; 分析建模;分析建模; 需求评审需求评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2820需求获取的目标需求获取的目标 对用户需求进行鉴别、综合,清除用户需求的对用户需求进行鉴别、综合,清除用户需求的模糊

16、性、歧义性和不一致性;模糊性、歧义性和不一致性; 把对原始问题的理解和软件开发经验结合起来,把对原始问题的理解和软件开发经验结合起来,鉴别由于用户的片面性或短期行为所导致的不鉴别由于用户的片面性或短期行为所导致的不合理要求,发现用户尚未发现的但具有真正价合理要求,发现用户尚未发现的但具有真正价值的潜在需求;值的潜在需求;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2821需求获取中风验需求获取中风验 需求获取隐藏着很大的风险需求获取隐藏着很大的风险 因为任何错误的需求描述,都必然造成错误的

17、因为任何错误的需求描述,都必然造成错误的设计、错误的编程和错误的软件结果,而实际设计、错误的编程和错误的软件结果,而实际情形是这种潜在的风险是客观存在的情形是这种潜在的风险是客观存在的我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2822总的原则总的原则 分析师关注的焦点是分析师关注的焦点是“做什么(做什么(WhatWhat)”,而不,而不是是“怎么做怎么做How”How”,系统会产生和使用什么数据?,系统会产生和使用什么数据?系统必须完成什么功能?将定义什么界面?会遇系统必须完成什么功能?

18、将定义什么界面?会遇到什么约束?等。到什么约束?等。 这一阶段主要精力集中在获取和分析系统的逻辑这一阶段主要精力集中在获取和分析系统的逻辑功能上。不要把功能上。不要把“用计算机如何实现用计算机如何实现”这样的物这样的物理因素牵扯进来,影响逻辑功能的分析。理因素牵扯进来,影响逻辑功能的分析。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28235.1.4 5.1.4 需求分析的活动和原则需求分析的活动和原则 活动主要分为:活动主要分为: 需求获取;需求获取; 分析建模;分析建模; 需求评审需求

19、评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2824分析建模分析建模 用户往往会从不同的角度、不同的抽象级别阐述对用户往往会从不同的角度、不同的抽象级别阐述对原始问题的理解和需求,相对比较零乱,有必要借原始问题的理解和需求,相对比较零乱,有必要借助模型。助模型。 一方面,模型用于精确地记录用户从各个视角、不一方面,模型用于精确地记录用户从各个视角、不同抽象级别上对原始问题及目标软件的描述;另一同抽象级别上对原始问题及目标软件的描述;另一方面,它将帮助分析人员去伪存真、由表及里地挖方面,

20、它将帮助分析人员去伪存真、由表及里地挖掘用户需求。掘用户需求。 建模不仅是描述系统的工具,也是用户与开发人员建模不仅是描述系统的工具,也是用户与开发人员进行交流的工具。在结构化分析方法中,数据流图进行交流的工具。在结构化分析方法中,数据流图是建模的主要工具。逻辑模块不仅是描述问题的图是建模的主要工具。逻辑模块不仅是描述问题的图形工具,同时更是分析问题的一种工作方法。形工具,同时更是分析问题的一种工作方法。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2825 调研阶段产生的文档,是需求分析的

21、起点,是目调研阶段产生的文档,是需求分析的起点,是目标软件系统逻辑模型的雏型。标软件系统逻辑模型的雏型。 在需求分析阶段,分析师将进一步对它进行细化、在需求分析阶段,分析师将进一步对它进行细化、扩充,直到足够具体为止。在分析的过程中建立扩充,直到足够具体为止。在分析的过程中建立数据字典,对模型进行注解。数据字典,对模型进行注解。 逻辑模型是分析师与用户交流的主要工具,也是逻辑模型是分析师与用户交流的主要工具,也是需求分析阶段的成果的主要体现。需求分析阶段的成果的主要体现。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有

22、一个活的生物2022-7-28263.3.需求评审需求评审 需求审查和管理复审是需求分析的最后一个环节,需求审查和管理复审是需求分析的最后一个环节,通过了这一环节,就等于暂时为需求分析阶段画通过了这一环节,就等于暂时为需求分析阶段画上了一个上了一个“句号句号”。尽管后期可能还会有些对需。尽管后期可能还会有些对需求分析的反复,但有了这个求分析的反复,但有了这个“句号句号”,就可以进,就可以进入设计阶段了。入设计阶段了。 经过审批之后的文档,在整个项目范围内,相当经过审批之后的文档,在整个项目范围内,相当于用户与开发人员之间达成了一份合约,后期的于用户与开发人员之间达成了一份合约,后期的系统设计和

23、系统测试,都将以这份系统设计和系统测试,都将以这份“规约规约”为准。为准。 任何对合约的修改,都将影响到整个项目的工期任何对合约的修改,都将影响到整个项目的工期和开发成本,都需要经过严格的审批和签约。和开发成本,都需要经过严格的审批和签约。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2827例 家庭保安系统 问题描述: 家庭保安市场正以每年40%的速度增长。希望建立一种基于微处理器的家庭保安系统,它能够识别异常事件并采取相应的防护措施。这些异常事件包括:非法侵入、火灾、水淹等。一旦异常情况

24、被传感器探测出来,系统应自动通过电话向监控中心报警。此外,应允许户主对系统行为进行程序控制。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2828家庭保安系统 分析初期联合小组的工作程序 联合小组首先制定工作制度:每次会议开始前必须有确定的议程,参加者必须针对各项议程进行充分的准备,并用文字表示。 经过会议讨论,明确问题的范围、问题与环境的关系,并就开发软件产品的必要性达成共识。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有

25、错:表里边有一个活的生物2022-7-2829例 家庭保安系统 小组负责人要求每位参加者列出问题及环境中的有关对象,对这些对象施行的操作以及对象间的相互作用。列出的操作和对象尽可能完全,如,控制面板、电话机、监控中心、烟雾传感器、门窗监视器、警报器等对象,以及用户编程控制、电话拔号、报警等操作。 负责人应要求小组成员对接收传感器事件、用户编程控制、电话报警等操作进行更详细的描述,必要时可用流程图表示。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2830例 家庭保安系统 用户可能提出一些条件

26、,如造价不能超过3,000元,对传感器事件必须在1秒内作出响应,事件必须按优先级进行处理等。会后小组负责人对这些信息进行综合、整理,形成文档,该文档应能反映“家庭保安系统”的全貌。 联合小组分成两个小组,分别处理用户编程控制和传感器监测两个子系统。目的是对子系统的软件需求进行细化。对出现的新对象、新操作、新约束应及时添加到相应的子系统。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2831例 家庭保安系统 确定子系统需求并形成文档 联合小组讨论子系统的集成及需求验证标准。子系统集成包括子系统

27、接口的一致性检查、系统功能和行为的完整性检查。需求验证标准应该是可测试的,以便开发人员在代码生成后能够通过测试结果向用户表明软件系统已完整地实现了用户需求。 初步分析活动应形成结论性文档,该文档将作为后续分析活动的基础。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2832例 家庭保安系统 初步分析生成的“家庭保安系统”部分需求文档 (不包括约束条件和测试标准) “家庭保安系统”的软件允许用户在安装时进行系统配置,实施对传感器的监控并通过控制面板与用户进行信息交互。 配置操作(1)指定每一传

28、感器的种类和编号;(2)设置开、关机密码;(3)指定报警电话号码;(4)指定报警延迟和电话重拔延迟时间(以秒为单位)。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2833例 家庭保安系统 当软件系统接收到传感器发出的数据后,判别是否出现异常事件。如果是,则在指定的延迟时间内拔报警电话号码,拔号操作将按照重拔延迟反复进行,直至电话接通。然后软件系统负责报告时间、地点和异常事件的性质。 开机后软件系统负责显示当前工作状态,接收并处理用户指令。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放

29、在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2834第第5 5章章 软件需求分析软件需求分析 5.1 5.1 需求分析概述需求分析概述 5.2 5.2 结构化分析方法结构化分析方法 5.3 5.3 数据流图的绘制数据流图的绘制 5.4 5.4 编制数据字典编制数据字典 5.5 5.5 加工逻辑的分析与表达加工逻辑的分析与表达 5.6 5.6 需求验证与评审需求验证与评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2835什么是结构化方法

30、?什么是结构化方法? 软件工程方法论:软件工程方法论: 面向对象方法论面向对象方法论 面向过程方法论面向过程方法论结构化方法结构化方法 解决复杂问题的方法解决复杂问题的方法分解分解 面向对象面向对象按按“负责负责”分解问题,找承担责分解问题,找承担责任的对象任的对象 结构化方法结构化方法按按“功能功能”分解问题,划分模分解问题,划分模块块我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28365.2 5.2 结构化分析方法结构化分析方法 5.2.15.2.1结构化分析的概念结构化分析的概念 5

31、.2.25.2.2细化数据流图细化数据流图 5.2.35.2.3数据流程图应用实例数据流程图应用实例我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28375.2.15.2.1结构化分析的概念结构化分析的概念 用一组标准的工具和策略从事系统分析与设用一组标准的工具和策略从事系统分析与设计,以便提高系统分析与设计的质量和效率计,以便提高系统分析与设计的质量和效率 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生

32、物2022-7-2838 结构化分析方法的直接目的就是撇开物理因结构化分析方法的直接目的就是撇开物理因素,在综合分析用户对系统各项要求的基础素,在综合分析用户对系统各项要求的基础上,最终导出新系统的逻辑模型。上,最终导出新系统的逻辑模型。 用数据流图作为主要工具,进一步审查用户用数据流图作为主要工具,进一步审查用户的真实需求和新系统必须完成的功能,逐步的真实需求和新系统必须完成的功能,逐步细化数据流图,直到把细化数据流图,直到把“数据流数据流”、“加工加工”和和“数据存贮数据存贮”分析分解到足够具体为止,分析分解到足够具体为止,最终得到的就是系统的基于功能的逻辑模型。最终得到的就是系统的基于功

33、能的逻辑模型。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2839 在对数据细化的过程中,要建立数据字典,对在对数据细化的过程中,要建立数据字典,对“数据元素数据元素”、“数据结构数据结构”、“数据流数据流”、“数据存贮数据存贮”和和“加工加工”都要加以详细的定义和都要加以详细的定义和注释。注释。 加工的处理逻辑描述,还需要用到专门的分析和加工的处理逻辑描述,还需要用到专门的分析和表达工具:结构式语言、判定树和判定表等工具表达工具:结构式语言、判定树和判定表等工具我吓了一跳,蝎子是多么丑恶

34、和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2840 综上所述,结构化系统分析的过程,大致归纳为以综上所述,结构化系统分析的过程,大致归纳为以下几步:下几步: 细化数据流图(细化数据流图(DFD),必要时,对实时系统还要),必要时,对实时系统还要绘制控制流图(绘制控制流图(CFD);); 编制数据字典;编制数据字典; 用户复查;用户复查; 修正开发计划;修正开发计划; 整理文档;整理文档; 审查和复审。审查和复审。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我

35、的猜测没有错:表里边有一个活的生物2022-7-28415.2 5.2 结构化分析方法结构化分析方法 5.2.15.2.1结构化分析的概念结构化分析的概念 5.2.25.2.2细化数据流图细化数据流图 5.2.35.2.3数据流程图应用实例数据流程图应用实例我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28425.2.25.2.2细化数据流图细化数据流图 1沿数据流图回溯,挖掘想要的内容沿数据流图回溯,挖掘想要的内容 2自顶向下逐层分析的分析策略自顶向下逐层分析的分析策略 我吓了一跳,蝎子是

36、多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28431沿数据流图回溯,挖掘想要的内容沿数据流图回溯,挖掘想要的内容 系统输出的数据流是由哪些数据元素组成的?每系统输出的数据流是由哪些数据元素组成的?每个数据元素又是从哪里来的?对这些问题的回答,个数据元素又是从哪里来的?对这些问题的回答,迫使我们必须从数据流图的输出端开始,沿数据迫使我们必须从数据流图的输出端开始,沿数据流的方向回溯。流的方向回溯。 既然它们是系统的输出,显然不是从外面输入到既然它们是系统的输出,显然不是从外面输入到系统中来的就是通过加工产生

37、出来的。沿数据流系统中来的就是通过加工产生出来的。沿数据流图从输出端向输入端回溯,一定能够找出每个数图从输出端向输入端回溯,一定能够找出每个数据元素的来源。同时确认某个数据流是由某个加据元素的来源。同时确认某个数据流是由某个加工产生的,就可以从用户那里调查分析得到该加工产生的,就可以从用户那里调查分析得到该加工的逻辑算法。工的逻辑算法。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2844 记住一个准则:记住一个准则:“数据流数据流”一定是和一定是和“加工加工”有有关联的。一个数据流不是流

38、入关联的。一个数据流不是流入“加工加工”的就必然的就必然是从是从“加工加工”流出的,如图流出的,如图5-1所示。所示。图图5.1 数据流与加工的关系数据流与加工的关系我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2845 在调研阶段产生的高层数据流图,许多具体的细在调研阶段产生的高层数据流图,许多具体的细节没有包括在里面,因此沿数据流程回溯时常常节没有包括在里面,因此沿数据流程回溯时常常遇到下述问题:遇到下述问题: 为了得到某个数据元素需要用到数据流图中目前为了得到某个数据元素需要用到数据流

39、图中目前还没有的数据元素,或者得出这个数据元素需要还没有的数据元素,或者得出这个数据元素需要用的算法尚不完全清楚。为了解决这些问题,往用的算法尚不完全清楚。为了解决这些问题,往往需要向用户和其他有关人员请教,他们的回答往需要向用户和其他有关人员请教,他们的回答会使分析师对目标系统的认识更深入更具体,数会使分析师对目标系统的认识更深入更具体,数据流图中的更多的成分就可以被分解出来。据流图中的更多的成分就可以被分解出来。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2846 通常把分析过程中得到

40、的有关数据元素的信息描通常把分析过程中得到的有关数据元素的信息描述在数据字典中,把对算法的简明描述记录在述在数据字典中,把对算法的简明描述记录在IPO图中(输入图中(输入/处理处理/输出图)。通过挖掘分解出输出图)。通过挖掘分解出来的数据流、数据存贮和处理逻辑及时添加到数来的数据流、数据存贮和处理逻辑及时添加到数据流图中,这就是细化的过程。据流图中,这就是细化的过程。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2847 回溯数据流图的过程中,还要掌握的另外一个回溯数据流图的过程中,还要掌握

41、的另外一个原则是:数据流程图不可能一步细化到位,需原则是:数据流程图不可能一步细化到位,需要按照概括程度逐步细化,逐层分解。要按照概括程度逐步细化,逐层分解。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28485.2.25.2.2细化数据流图细化数据流图 1沿数据流图回溯,挖掘想要的内容沿数据流图回溯,挖掘想要的内容 2自顶向下逐层分析的分析策略自顶向下逐层分析的分析策略 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表

42、里边有一个活的生物2022-7-28492自顶向下逐层分析的分析策略自顶向下逐层分析的分析策略 在软件工程中控制复杂性的两个基本手段:在软件工程中控制复杂性的两个基本手段:“分分解解“和和“抽象抽象”。 分析理解问题时,一般不可能一步到位,分解可分析理解问题时,一般不可能一步到位,分解可以以“循序渐进循序渐进”地进行,即先考虑问题最本质的地进行,即先考虑问题最本质的属性和高度概括的情形,以后再逐层剖析内部的属性和高度概括的情形,以后再逐层剖析内部的细节,直至涉及到最详细的内容。细节,直至涉及到最详细的内容。 这种用高度概括的手法,先把握主要的功能,忽这种用高度概括的手法,先把握主要的功能,忽略

43、细节,避免眉毛胡子一把抓的做法,就用到了略细节,避免眉毛胡子一把抓的做法,就用到了“抽象抽象”的手法。的手法。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2850 在研究用户业务系统的数据流程时,是以在研究用户业务系统的数据流程时,是以“功功能能”为对象进行不同级别为对象进行不同级别“抽象抽象”的。的。 在数据流图的细化方面,把处理功能按抽象层在数据流图的细化方面,把处理功能按抽象层次进行逐层分解,把握好抽象的粒度,使其与次进行逐层分解,把握好抽象的粒度,使其与层次对应。层次对应。 我吓了

44、一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2851图图5.2 对数据流图的分层分解对数据流图的分层分解 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28525.2 5.2 结构化分析方法结构化分析方法 5.2.15.2.1结构化分析的概念结构化分析的概念 5.2.25.2.2细化数据流图细化数据流图 5.2.35.2.3数据流程图应用实例数据流程图应用实例我吓了一跳,蝎子是多么丑恶和恐怖的

45、东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28535.2.35.2.3数据流程图应用实例数据流程图应用实例 某汽车配件公司设有销售、采购、仓库、会计等某汽车配件公司设有销售、采购、仓库、会计等业务部门。公司每天都要处理大量的销售订单业业务部门。公司每天都要处理大量的销售订单业务。当配件缺货或库存量低于保险贮备量时,就务。当配件缺货或库存量低于保险贮备量时,就要进货。如果暂不考虑配件公司内部的仓库和会要进货。如果暂不考虑配件公司内部的仓库和会计业务细节,那么,配件公司的计业务细节,那么,配件公司的TOP图,如图,如5-3所

46、所示。示。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2854(1)销售子系统)销售子系统TOP图图描述系统边界描述系统边界图5.4 汽车配件销售、采购子系统TOP图图5.3 汽车配件销售业务系统TOP图我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2855(2)销售子系统第一层图)销售子系统第一层图反映主要功能反映主要功能我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美

47、丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2856(3)销售子系统第二层图细化数据流图我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-2857第第5 5章章 软件需求分析软件需求分析 5.1 5.1 需求分析概述需求分析概述 5.2 5.2 结构化分析方法结构化分析方法 5.3 5.3 数据流图的绘制数据流图的绘制 5.4 5.4 编制数据字典编制数据字典 5.5 5.5 加工逻辑的分析与表达加工逻辑的分析与表达 5.6 5.6 需求验证与评审需求验

48、证与评审我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28585.3.15.3.1数据流图的布局数据流图的布局 为了便于制图和读图,习惯以加工处理为中为了便于制图和读图,习惯以加工处理为中心,输入来自左侧,输出流向右侧。心,输入来自左侧,输出流向右侧。 输入的输入的“数据流数据流”及其及其“来源来源”一般画在左一般画在左侧,如图侧,如图3-6从从“顾客顾客”发来发来“订货单订货单”。 输出的数据流及其去处一般画数据流图的右输出的数据流及其去处一般画数据流图的右侧。如图侧。如图3-6中,中,“

49、销售报表销售报表”输出到输出到“主主管管”。 从全局看从全局看“数据流数据流”也是由左侧流向右侧也是由左侧流向右侧 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28595.3 5.3 数据流图的绘制数据流图的绘制 5.3.1数据流图的布局数据流图的布局 5.3.2符号的应用符号的应用 5.3.3避免线条交叉避免线条交叉重复项表示重复项表示 5.3.4抽象数据流的应用抽象数据流的应用 5.3.5编号规则编号规则 5.3.6命名规则命名规则 5.3.7父图与子图的平衡父图与子图的平衡我吓了一跳

50、,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28605.3.25.3.2符号的应用符号的应用n关于正规的符号、语义关于正规的符号、语义图图5.7 数据流图符号应用数据流图符号应用 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2022-7-28615.3 5.3 数据流图的绘制数据流图的绘制 5.3.1数据流图的布局数据流图的布局 5.3.2符号的应用符号的应用 5.3.3避免线条交叉避免线条交叉重复项表示重复

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com