收藏 分享(赏)

软件工程实用教程PPT第03章 需求分析.ppt

上传人:bubibi 文档编号:18831104 上传时间:2023-11-02 格式:PPT 页数:62 大小:1.13MB
下载 相关 举报
软件工程实用教程PPT第03章 需求分析.ppt_第1页
第1页 / 共62页
软件工程实用教程PPT第03章 需求分析.ppt_第2页
第2页 / 共62页
软件工程实用教程PPT第03章 需求分析.ppt_第3页
第3页 / 共62页
软件工程实用教程PPT第03章 需求分析.ppt_第4页
第4页 / 共62页
软件工程实用教程PPT第03章 需求分析.ppt_第5页
第5页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第第 3 章章 需求分析需求分析软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析 软件需求分析工作是软件生存期中重要的一步,也是决软件需求分析工作是软件生存期中重要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。软件需求分析工作也是一个不断认识和逐步件开发的基础。软件需求分析工作也是一个不断认识和逐步细化的过程。细化的过程。本章基本内容:q 软件需求分

2、析的任务。软件需求分析的任务。q 需求分析的过程及原则。需求分析的过程及原则。q 软件需求分析方法及工具。软件需求分析方法及工具。准确地准确地定义定义未来系统的目标,确定为了满足用户的需未来系统的目标,确定为了满足用户的需求系统必须做什么。用求系统必须做什么。用 需求规格说明书需求规格说明书 规范的形式准确规范的形式准确地表达用户的地表达用户的需求需求。软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析3.1 软件需求分析的任务、过程与原则软件需求分析的任务软件需求分析的实现步骤当前系统当前系统物理模型物理模型物理模型物理模型逻辑模型逻辑

3、模型逻辑模型逻辑模型目标系统目标系统模型化模型化怎么做怎么做抽象化抽象化具体化具体化实例化实例化做什么做什么理理解解需需求求表表达达需需求求导导出出3.1.1 需求分析的任务举例:举例:(1)(1)通过对现实环境的调查,通过对现实环境的调查,通过对现实环境的调查,通过对现实环境的调查,获得当前系统的物理模型。获得当前系统的物理模型。获得当前系统的物理模型。获得当前系统的物理模型。学学生生学学生生购购书书申申请请购购书书单单发发票票领领书书单单书书 W W0107 张张教务科教务科E0206 王王会计室会计室 E0206 李李出纳员出纳员(W0105)赵赵教材科教材科学生购买教材的实际处理流程学

4、生购买教材的实际处理流程学生购买教材的实际处理流程学生购买教材的实际处理流程当前系统物理模型当前系统物理模型当前系统物理模型当前系统物理模型软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析(2)(2)去掉具体模型中的非本质因素,去掉具体模型中的非本质因素,去掉具体模型中的非本质因素,去掉具体模型中的非本质因素,抽取现实系统的实质,抽象抽取现实系统的实质,抽象抽取现实系统的实质,抽象抽取现实系统的实质,抽象出当前系统的逻辑模型。出当前系统的逻辑模型。出当前系统的逻辑模型。出当前系统的逻辑模型。学生购买教材的逻辑模型学生购买教材的逻辑模型学

5、学生生学学生生购购书书申申请请购购书书单单发发票票领领书书单单书书审查审查有效性有效性开发票开发票开领开领书单书单发书发书(3)(3)分析当前系统与目标系统的差别分析当前系统与目标系统的差别分析当前系统与目标系统的差别分析当前系统与目标系统的差别,建立目标系统的逻辑模型建立目标系统的逻辑模型建立目标系统的逻辑模型建立目标系统的逻辑模型 。软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析计算机教材管理系统的逻辑模型计算机教材管理系统的逻辑模型计算机教材管理系统的逻辑模型计算机教材管理系统的逻辑模型学学生生购书单购书单发票发票领书单领书单审

6、查并审查并开发票开发票开领开领书单书单无效书单无效书单学学生生(4)(4)对目标系统的逻辑模型进行完善与补充。对目标系统的逻辑模型进行完善与补充。对目标系统的逻辑模型进行完善与补充。对目标系统的逻辑模型进行完善与补充。(5)(5)需求分析的验证需求分析的验证需求分析的验证需求分析的验证。软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析qq 逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型(本质模型、概念模型)(本质模型、概念模型)逻辑模型逻辑模型描述重要的业务功能,无描述重要的业务功能,无论系统是如何实施的。论系

7、统是如何实施的。描述现实系统是如何在描述现实系统是如何在物理上实现的。物理上实现的。描述新系统的主要业务功描述新系统的主要业务功能和用户新的需求,无论能和用户新的需求,无论系统应如何实施。系统应如何实施。描述新系统是如何实施描述新系统是如何实施的(包括技术)。的(包括技术)。(实施模型、技术模型)(实施模型、技术模型)物理模型物理模型当前当前系统系统目标目标系统系统3.1.2 需求分析的过程 需求分析阶段的工作可以分为四个方面:需求分析阶段的工作可以分为四个方面:需求分析阶段的工作可以分为四个方面:需求分析阶段的工作可以分为四个方面:问题识别问题识别问题识别问题识别、分析和分析和分析和分析和综

8、合综合综合综合、制定规格说明制定规格说明制定规格说明制定规格说明和和和和评审评审评审评审。(1)(1)问题识别。问题识别。问题识别。问题识别。明确用户目标系统的要求,包括明确用户目标系统的要求,包括功能、性能、环境、可功能、性能、环境、可靠性、安全保密,用户界面、资源使用、软件成本消耗与开发靠性、安全保密,用户界面、资源使用、软件成本消耗与开发进度、预先估计终极系统可能达到的目标进度、预先估计终极系统可能达到的目标。同时还要注意其他同时还要注意其他非功能性非功能性要求:要求:质量控制标准、评审质量控制标准、评审质量控制标准、评审质量控制标准、评审验收标准,各种质量要求的优先级,以及维护方面的要

9、求验收标准,各种质量要求的优先级,以及维护方面的要求验收标准,各种质量要求的优先级,以及维护方面的要求验收标准,各种质量要求的优先级,以及维护方面的要求等。等。功能性需求功能性需求功能性需求功能性需求:定义了系统做什么:定义了系统做什么:定义了系统做什么:定义了系统做什么(描述系统必须支持的功能和过程描述系统必须支持的功能和过程描述系统必须支持的功能和过程描述系统必须支持的功能和过程)非功能性需求(技术需求)非功能性需求(技术需求)非功能性需求(技术需求)非功能性需求(技术需求):定义了系统定义了系统定义了系统定义了系统工作时的特性(描述操作环境和性能目标)工作时的特性(描述操作环境和性能目标

10、)工作时的特性(描述操作环境和性能目标)工作时的特性(描述操作环境和性能目标)功能性需求功能性需求功能性需求功能性需求vv 功能需求功能需求功能需求功能需求:列出所开发软件在职能上应做什么。如:列出所开发软件在职能上应做什么。如:列出所开发软件在职能上应做什么。如:列出所开发软件在职能上应做什么。如:系统做什么?系统做什么?系统做什么?系统做什么?系统何时做什么?系统何时做什么?系统何时做什么?系统何时做什么?系统何时及如何修改或升级?系统何时及如何修改或升级?系统何时及如何修改或升级?系统何时及如何修改或升级?软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需

11、求求求求分分分分析析析析vv性能需求性能需求性能需求性能需求:软件开发的技术性指标。如:软件开发的技术性指标。如:软件开发的技术性指标。如:软件开发的技术性指标。如:存储容量限制。存储容量限制。存储容量限制。存储容量限制。执行速度、相应时间。执行速度、相应时间。执行速度、相应时间。执行速度、相应时间。安全保密性等。安全保密性等。安全保密性等。安全保密性等。vv环境需求环境需求环境需求环境需求:对软件系统运行时所处环境的要求。如:对软件系统运行时所处环境的要求。如:对软件系统运行时所处环境的要求。如:对软件系统运行时所处环境的要求。如:硬件方面:机型、外设、接口、地点、分布、温度、湿度、硬件方面

12、:机型、外设、接口、地点、分布、温度、湿度、硬件方面:机型、外设、接口、地点、分布、温度、湿度、硬件方面:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等。磁场干扰等。磁场干扰等。磁场干扰等。软件方面:采用什么支持系统运行的系统软件(操作系统、软件方面:采用什么支持系统运行的系统软件(操作系统、软件方面:采用什么支持系统运行的系统软件(操作系统、软件方面:采用什么支持系统运行的系统软件(操作系统、网络、数据库管理系统等)。网络、数据库管理系统等)。网络、数据库管理系统等)。网络、数据库管理系统等)。vv可靠性需求可靠性需求可靠性需求可靠性需求:对所开发软件在投入运行后不发生故障的概率,:对

13、所开发软件在投入运行后不发生故障的概率,:对所开发软件在投入运行后不发生故障的概率,:对所开发软件在投入运行后不发生故障的概率,按实际的运行环境提出要求。如:按实际的运行环境提出要求。如:按实际的运行环境提出要求。如:按实际的运行环境提出要求。如:高可靠性:重要的软件或运行失效造成严重后果的软件。高可靠性:重要的软件或运行失效造成严重后果的软件。高可靠性:重要的软件或运行失效造成严重后果的软件。高可靠性:重要的软件或运行失效造成严重后果的软件。一般可靠性:出现失效没有多大的影响的软件。一般可靠性:出现失效没有多大的影响的软件。一般可靠性:出现失效没有多大的影响的软件。一般可靠性:出现失效没有多

14、大的影响的软件。软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析vv安全保密要求安全保密要求安全保密要求安全保密要求:软件运行时,根据不同工作的环境,使其在:软件运行时,根据不同工作的环境,使其在:软件运行时,根据不同工作的环境,使其在:软件运行时,根据不同工作的环境,使其在安全保密方面的性能得到必要的保证。安全保密方面的性能得到必要的保证。安全保密方面的性能得到必要的保证。安全保密方面的性能得到必要的保证。需对访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控

15、制吗?如何隔离用户之间的数据?如何隔离用户之间的数据?如何隔离用户之间的数据?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?用户程序如何与其它程序和操作系统隔离?用户程序如何与其它程序和操作系统隔离?用户程序如何与其它程序和操作系统隔离?系统备份要求?等系统备份要求?等系统备份要求?等系统备份要求?等vv用户界面需求用户界面需求用户界面需求用户界面需求:软件与用户界面的友好性是用户能够方便使用:软件与用户界面的友好性是用户能够方便使用:软件与用户界面的友好性是用户能够方便使用:软件与用户界面的友好性是用户能够方便使用该软件关键之一。具有友好的用户界面的软件有很强的竞争力。该软件

16、关键之一。具有友好的用户界面的软件有很强的竞争力。该软件关键之一。具有友好的用户界面的软件有很强的竞争力。该软件关键之一。具有友好的用户界面的软件有很强的竞争力。在软件需求分析时,为用户界面细致规定达到的要求。在软件需求分析时,为用户界面细致规定达到的要求。在软件需求分析时,为用户界面细致规定达到的要求。在软件需求分析时,为用户界面细致规定达到的要求。有来自其它系统的输入吗?有来自其它系统的输入吗?有来自其它系统的输入吗?有来自其它系统的输入吗?到自其它系统的输出吗?到自其它系统的输出吗?到自其它系统的输出吗?到自其它系统的输出吗?对数据格式有规定吗?对数据格式有规定吗?对数据格式有规定吗?对

17、数据格式有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析vv资源使用需求资源使用需求资源使用需求资源使用需求:指在软件开发运行时所需的数据、软件、内:指在软件开发运行时所需的数据、软件、内:指在软件开发运行时所需的数据、软件、内:指在软件开发运行时所需的数据、软件、内存空间等各项资源。还包括软件开发维护所需的人力、支撑存空间等各项资源。还包括软件开发维护所需的人力、支撑存空间等各项资源。还包括软件开发维护所需的人力、支撑存空间等各项

18、资源。还包括软件开发维护所需的人力、支撑软件、开发设备等。软件、开发设备等。软件、开发设备等。软件、开发设备等。vv软件成本消耗与开发进度需求软件成本消耗与开发进度需求软件成本消耗与开发进度需求软件成本消耗与开发进度需求:在软件项目立项后,根据合:在软件项目立项后,根据合:在软件项目立项后,根据合:在软件项目立项后,根据合同规定,对软件开发的进度和各步骤的费用提出要求,作为同规定,对软件开发的进度和各步骤的费用提出要求,作为同规定,对软件开发的进度和各步骤的费用提出要求,作为同规定,对软件开发的进度和各步骤的费用提出要求,作为开发管理的依据。开发管理的依据。开发管理的依据。开发管理的依据。开发

19、有规定的时间表吗?开发有规定的时间表吗?开发有规定的时间表吗?开发有规定的时间表吗?软硬件投资有无限制软硬件投资有无限制软硬件投资有无限制软硬件投资有无限制?vv预先估计以后系统可能达到的目标预先估计以后系统可能达到的目标预先估计以后系统可能达到的目标预先估计以后系统可能达到的目标:在开发过程中,对系统:在开发过程中,对系统:在开发过程中,对系统:在开发过程中,对系统将来可能扩充与修改做准备。将来可能扩充与修改做准备。将来可能扩充与修改做准备。将来可能扩充与修改做准备。另外,还应该考虑:vv文档需求:文档需求:文档需求:文档需求:需哪些文档?需哪些文档?需哪些文档?需哪些文档?文档针对哪些读者

20、?文档针对哪些读者?文档针对哪些读者?文档针对哪些读者?vv用户或人的因素:用户或人的因素:用户或人的因素:用户或人的因素:用户类型?用户类型?用户类型?用户类型?各种用户熟练程度?各种用户熟练程度?各种用户熟练程度?各种用户熟练程度?需受何种训练?需受何种训练?需受何种训练?需受何种训练?用户理解、使用系统的难度?用户理解、使用系统的难度?用户理解、使用系统的难度?用户理解、使用系统的难度?用户错误操作系统的可能性?用户错误操作系统的可能性?用户错误操作系统的可能性?用户错误操作系统的可能性?软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析

21、析析析vv数据需求:数据需求:数据需求:数据需求:输入、输出数据的格式?输入、输出数据的格式?输入、输出数据的格式?输入、输出数据的格式?接收、发送数据的频率?接收、发送数据的频率?接收、发送数据的频率?接收、发送数据的频率?数据的准确性和精度?数据的准确性和精度?数据的准确性和精度?数据的准确性和精度?数据流量?数据流量?数据流量?数据流量?数据需保持的时间?数据需保持的时间?数据需保持的时间?数据需保持的时间?vv质量保证:质量保证:质量保证:质量保证:系统的可靠性要求?系统的可靠性要求?系统的可靠性要求?系统的可靠性要求?系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?系统必须监测和

22、隔离错误吗?系统必须监测和隔离错误吗?规定系统平均出错时间?规定系统平均出错时间?规定系统平均出错时间?规定系统平均出错时间?出错后,重启系统允许的时间?出错后,重启系统允许的时间?出错后,重启系统允许的时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?系统变化如何反映到设计中?系统变化如何反映到设计中?系统变化如何反映到设计中?维护是否包括对系统的改进?维护是否包括对系统的改进?维护是否包括对系统的改进?维护是否包括对系统的改进?系统的可移植性?系统的可移植性?系统的可移植性?系统的可移植性?软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求

23、分分分分析析析析非功能性需求非功能性需求非功能性需求非功能性需求 非功能性要求非功能性要求包括:包括:质量控制标准、评审验收标准,各质量控制标准、评审验收标准,各质量控制标准、评审验收标准,各质量控制标准、评审验收标准,各种质量要求的优先级,以及维护方面的要求种质量要求的优先级,以及维护方面的要求种质量要求的优先级,以及维护方面的要求种质量要求的优先级,以及维护方面的要求等。等。对于任何一对于任何一个软件都要根据其类型和工作环境来确定。个软件都要根据其类型和工作环境来确定。(2)(2)分析和综合。分析和综合。分析和综合。分析和综合。从数据流和数据结构出发,逐步细化软件所有功能,找从数据流和数据

24、结构出发,逐步细化软件所有功能,找出系统各元素之间的联系、接口特性和对设计的限制,判断是出系统各元素之间的联系、接口特性和对设计的限制,判断是否存在因片面或短期行为而导致的不合理要求,是否用户尚未否存在因片面或短期行为而导致的不合理要求,是否用户尚未提出有价值的潜在要求,剔除需求中不合理部分,增加真正需提出有价值的潜在要求,剔除需求中不合理部分,增加真正需要的部分。最终综合成系统解决方案,提交目标系统的详细逻要的部分。最终综合成系统解决方案,提交目标系统的详细逻辑模型。辑模型。常用的分析方法有面向常用的分析方法有面向数据流的结构化分析方法(数据流的结构化分析方法(SA)、面向数据结构的面向数据

25、结构的Jackson方法(简称方法(简称JSD)、面向对象的分析方面向对象的分析方法(法(OOA)等,以及用于建立动态模型的等,以及用于建立动态模型的状态迁移图或状态迁移图或Petri网网等。特点:采用图文结合的方式,可以直观描述软件的逻辑模等。特点:采用图文结合的方式,可以直观描述软件的逻辑模型。型。(3)(3)编制需求分析的文档。编制需求分析的文档。编制需求分析的文档。编制需求分析的文档。(4)(4)需求分析评审。需求分析评审。需求分析评审。需求分析评审。通常把描述需求的文档称做软件需求说明书,清晰、明确通常把描述需求的文档称做软件需求说明书,清晰、明确描述已经确定的需求,同时,为了确切表

26、达用户对软件的输入、描述已经确定的需求,同时,为了确切表达用户对软件的输入、输出数据要求,还要制定数据要求说明书并编写初步的用户手册。输出数据要求,还要制定数据要求说明书并编写初步的用户手册。对需求分析阶段的工作进行复查,对软件功能正确性、需对需求分析阶段的工作进行复查,对软件功能正确性、需求说明书一致性、完备性、准确性和清晰性、合理性进行评价。求说明书一致性、完备性、准确性和清晰性、合理性进行评价。评审应有专人负责,按规程严格进行,评审结束时有负责人的结评审应有专人负责,按规程严格进行,评审结束时有负责人的结论意见签字。除分析员外,用户、开发部门的管理者、软件设计论意见签字。除分析员外,用户

27、、开发部门的管理者、软件设计人员、实现人员、测试人员都应参加评审工作。人员、实现人员、测试人员都应参加评审工作。某出版社系统调查表某出版社系统调查表编号编号提提 出出 问问 题题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题工作中手工处理什么问题解决不了?影响效率的问题有哪些?有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度您认为提高工作效率,节省工作时间,减轻工

28、作强度可采取哪些办法?可采取哪些办法?软软软软件件件件工工工工程程程程 第第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析编号编号提提 出出 问问 题题7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?出版社计算机管理信息系统需要解决什么问题?软软软软件件件件工工工工程程程程 第

29、第第第三三三三章章章章软软软软件件件件需需需需求求求求分分分分析析析析某出版社系统调查表某出版社系统调查表3.1.3 软件需求分析的原则(1)(1)必须能够表达和理解问题的数据域和功能域。必须能够表达和理解问题的数据域和功能域。必须能够表达和理解问题的数据域和功能域。必须能够表达和理解问题的数据域和功能域。所有软件的定义与开发工作最终都是为了解决数据处理所有软件的定义与开发工作最终都是为了解决数据处理问题,就是将一种形式的数据转换成另一种形式的数据。转换问题,就是将一种形式的数据转换成另一种形式的数据。转换过程必定经历过程必定经历输入、加工数据和产生结果数据输入、加工数据和产生结果数据等步骤。

30、等步骤。计算机程序处理的数据,其计算机程序处理的数据,其数据域数据域包括包括数据流、数据内数据流、数据内容和数据结构容和数据结构。数据流数据流是数据通过一个系统时的变化方式。是数据通过一个系统时的变化方式。转换转换1 1转换转换2数据存储数据存储附加数据附加数据输入数据输入数据中间数据中间数据结果数据结果数据 对数据的对数据的转换是程序中转换是程序中应有的功能。应有的功能。两个转换功能两个转换功能之间的数据传之间的数据传递就确定了功递就确定了功能间的接口。能间的接口。数据内容数据内容就是数据项。如:学生名册包含班级、人数、就是数据项。如:学生名册包含班级、人数、每个学生的学号、姓名等,所以学生

31、名册的内容由它所包含每个学生的学号、姓名等,所以学生名册的内容由它所包含的数据项来定义。的数据项来定义。数据结构数据结构即各种数据项的逻辑组织。考虑:即各种数据项的逻辑组织。考虑:q数据是组织成表格,还是组织成有层次的树型结构?数据是组织成表格,还是组织成有层次的树型结构?q在结构中数据项与其他哪些数据项相关?在结构中数据项与其他哪些数据项相关?q所有数据是在一个数据结构中,还是在几个数据结构中?所有数据是在一个数据结构中,还是在几个数据结构中?q一个结构中的数据与其他结构中的数据如何联系?等。一个结构中的数据与其他结构中的数据如何联系?等。(2)(2)必须按自顶向下、逐层分解的方式对问题进行

32、分解和不断细必须按自顶向下、逐层分解的方式对问题进行分解和不断细必须按自顶向下、逐层分解的方式对问题进行分解和不断细必须按自顶向下、逐层分解的方式对问题进行分解和不断细化。化。化。化。方法:方法:把问题以某种方式分解为几个较容易理解的部分,把问题以某种方式分解为几个较容易理解的部分,并确定各部分间的接口,从而实现整体功能并确定各部分间的接口,从而实现整体功能。在需求分析阶段,软件在需求分析阶段,软件功能域功能域和和信息域信息域都能做进一步分都能做进一步分解。这种分解可以是解。这种分解可以是同一层次同一层次上的(上的(横向分解横向分解),也可以是),也可以是多多层次层次的(的(纵向分解纵向分解)

33、。如图:)。如图:横向分解横向分解纵纵向向分分解解问题的分解(3)(3)要给出系统的逻辑视图(逻辑模型)和物理视图(物理模要给出系统的逻辑视图(逻辑模型)和物理视图(物理模要给出系统的逻辑视图(逻辑模型)和物理视图(物理模要给出系统的逻辑视图(逻辑模型)和物理视图(物理模型)。型)。型)。型)。给出系统逻辑视图和物理视图,对系统满足处理需求所给出系统逻辑视图和物理视图,对系统满足处理需求所提出的逻辑限制条件和系统中其他成分提出的物理限制条件是提出的逻辑限制条件和系统中其他成分提出的物理限制条件是必不可少的。必不可少的。软件需求的逻辑视图软件需求的逻辑视图给出软件要达到的功能和要处理数给出软件要

34、达到的功能和要处理数据之间的关系,而不是实现的细节。据之间的关系,而不是实现的细节。软件需求的物理视图软件需求的物理视图给出处理功能和数据结构的实际表给出处理功能和数据结构的实际表示形式,由设备决定。示形式,由设备决定。3.2.1 原型化方法(Prototyping)1 软件原型化方法概述概念v探索型探索型:弄清对目标系统的要求,确定所希望的特性,并:弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。主要针对开发目标模糊,用户和探讨多种方案的可行性。主要针对开发目标模糊,用户和开发者对项目缺乏经验等情况。开发者对项目缺乏经验等情况。v实验型实验型:用于大规模开发和实现之前,考核方

35、案是否合适:用于大规模开发和实现之前,考核方案是否合适规格说明是否可靠。规格说明是否可靠。v 原型原型:是指模拟某种产品的原始模型。在软件开发过程:是指模拟某种产品的原始模型。在软件开发过程中原型是软件的一个早期运行的版本,它能够反映最终系中原型是软件的一个早期运行的版本,它能够反映最终系统的部分重要特性。统的部分重要特性。v 软件原型化方法软件原型化方法:是在研究分析阶段的方法和技术中产:是在研究分析阶段的方法和技术中产生的,也可面向软件开发的其他阶段。生的,也可面向软件开发的其他阶段。原型的作用类型3.2 软件需求分析方法v进化型进化型:将系统建造的易于变化,在改进原型的过程中,逐步:将系

36、统建造的易于变化,在改进原型的过程中,逐步将原型进化成最终系统。将原型进化成最终系统。特点:特点:将原型方法的思想扩展到软件将原型方法的思想扩展到软件开发的全过程,适合于满足需求的变动。开发的全过程,适合于满足需求的变动。使用原型采取的策略v 废弃策略废弃策略:先构造一个功能简单而且质量要求不高的模型系:先构造一个功能简单而且质量要求不高的模型系统,针对这个模型系统反复进行分析和修改,形成比较好的设统,针对这个模型系统反复进行分析和修改,形成比较好的设计思想,据此设计出较完整、准确、一致、可靠的最终系统。计思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成,原来的模型系统被废弃。

37、系统构造完成,原来的模型系统被废弃。探索和实验型探索和实验型属于。属于。v追加策略追加策略:先构造一个功能简单而且质量要求不高的模型系:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断的扩充和修改,逐步统,作为最终系统的核心,然后通过不断的扩充和修改,逐步追加新要求,最后发展成为最终系统。追加新要求,最后发展成为最终系统。进化型进化型属于。属于。说明v原型系统不同于最终系统,它需要快速实现,投入使用。原型系统不同于最终系统,它需要快速实现,投入使用。v必须注意功能和性能上的取舍,可以忽略一切暂时不必关心的必须注意功能和性能上的取舍,可以忽略一切暂时不必关心的部分,

38、力求原型的快速实现。部分,力求原型的快速实现。v原型系统能充分体现原型作用,满足评价原型需求。原型系统能充分体现原型作用,满足评价原型需求。建立快速原型进行系统分析和构造优点v 增进软件人员和用户对系统服务需求的理解,使比较含糊的增进软件人员和用户对系统服务需求的理解,使比较含糊的不确定性的软件需求明确化。不确定性的软件需求明确化。v 提供了一种有力的学习手段。提供了一种有力的学习手段。v 可以容易确定系统的性能,确认各项主要系统服务的可应用可以容易确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。性,确认系统设计的可行性,确认系统作为产品的结果。v

39、 有利于建成最终系统。软件原型的最终版本,有的可以原封有利于建成最终系统。软件原型的最终版本,有的可以原封不动的成为了产品。不动的成为了产品。2 快速原型开发模型(原型生存期)原型生存期及其模型v 原型生存期:原型生存期:原型开发和使用的过程。原型开发和使用的过程。v 原型生存期模型:原型生存期模型:快速分析或修改快速分析或修改评价评价原型原型构造构造运行运行原型开发模型快速分析,确定初步规格说明快速分析,确定初步规格说明整理原型提供的文档整理原型提供的文档运行运行/评价原型评价原型 构造原型构造原型 严格说明细部严格说明细部指导指导要细部说明否要细部说明否 原型完成否原型完成否 效果满意否效

40、果满意否修修正正与与改改进进原原型型YNYNNY模型的细化过程q原型生存期快速分析,确定初步规格说明快速分析,确定初步规格说明整理原型提供的文档整理原型提供的文档运行运行/评价原型评价原型 构造原型构造原型 严格说明细部严格说明细部要细部说明否要细部说明否 原型完成否原型完成否 效果满意否效果满意否修修正正与与改改进进原原型型YNYNNY构造新原型构造新原型YN开发要求开发要求需求说明需求说明软件产品软件产品程序系统程序系统设计说明设计说明运行维护运行维护 分析分析 设计设计 编码编码 测试测试模型的细化3 软件复用(Software Reuse)复用范围:复用范围:复用数据、复用模块、复用结

41、构、复用设计、复用数据、复用模块、复用结构、复用设计、复用规格说明。复用规格说明。复用技术概述 软件复用技术软件复用技术分为两大类:合成技术和生成技术。分为两大类:合成技术和生成技术。软件复用技术3.2.2 结构化分析方法(SA)结构化分析结构化分析是面向数据流进行需求分析的方法。是面向数据流进行需求分析的方法。结构化结构化分析方法分析方法适合于数据处理类型软件的需求分析。适合于数据处理类型软件的需求分析。结构化分析方法概念:用抽象模型的概念,按照软件内用抽象模型的概念,按照软件内部数据传递、变换的关系、自顶向下逐层分解,直到找到满部数据传递、变换的关系、自顶向下逐层分解,直到找到满足功能要求

42、的所有可实现的软件为止。足功能要求的所有可实现的软件为止。结构化分析方法使用工具:数据流图、数据词典、结构数据流图、数据词典、结构化英语、判定表和判定树。化英语、判定表和判定树。1 数据流图(DFD,Data Flow Diagram)q特点:是描述数据处理过程的工具。从数据传递和加工是描述数据处理过程的工具。从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。过程。数据流图中主要图形元素v 数据流图的基本图形元素有数据流图的基本图形元素有4 种:种:加工。输入数据在此进行变换产生输出数据。加工。输入数据在此进行变换产生

43、输出数据。数据输入的源点数据输入的源点(Source)或数据输出的汇点或数据输出的汇点(Sink)。数据流。被加工的数据与流向。数据流。被加工的数据与流向。数据存储文件。数据存储文件。加工:加工:以数据结构或数据内容作为加工对象的。注明加工以数据结构或数据内容作为加工对象的。注明加工的名字(通常是一个动词短语,简明扼要地表明完成的是的名字(通常是一个动词短语,简明扼要地表明完成的是什么加工)。什么加工)。数据源点或汇点:数据源点或汇点:表示图中要处理数据的输入来源或处理表示图中要处理数据的输入来源或处理结果要送往何处(也称外部实体)。注明源点或汇点的名结果要送往何处(也称外部实体)。注明源点或

44、汇点的名字。字。数据流:数据流:沿箭头方向传递数据的通道。同一数据流图上不沿箭头方向传递数据的通道。同一数据流图上不能有同名的数据流。多个数据流可以指向同一个加工,也能有同名的数据流。多个数据流可以指向同一个加工,也可以从一个加工散发出多个数据流。可以从一个加工散发出多个数据流。数据存储文件:数据存储文件:在数据流中起保存数据的作用,它可以数在数据流中起保存数据的作用,它可以数据库文件或任何形式的数据组织。指向文件的数据流可理据库文件或任何形式的数据组织。指向文件的数据流可理解为写入文件或查询文件,从文件中引出数据流可理解为解为写入文件或查询文件,从文件中引出数据流可理解为从文件读取数据或得到

45、查询结果。从文件读取数据或得到查询结果。v 举例:银行取款数据流程。银行取款数据流程。检验检验登录登录付款付款储户储户日历日历帐卡帐卡存折存折验验检检出的出的问题问题取取款款单单存存折折取款取款信息信息付款付款信息信息现现款款年年月月日日办理取款手续的数据流图 数据流与加工之间的关系 在数据流图中,如果有两个以上数据流指向一个加工,在数据流图中,如果有两个以上数据流指向一个加工,或从一个加工中引出两个以上的数据流,这些数据流之间存在或从一个加工中引出两个以上的数据流,这些数据流之间存在一定的关系。一定的关系。ABCABC ABC*CAB*CAB有有A则有则有B或或C,或两者都有或两者都有。有有

46、A则有则有B与与C,或两者同时有或两者同时有。有有A则有则有B或或C,但不会同时有但不会同时有B与与C。当当A或或B有一个存在,就有有一个存在,就有C。当当A与与B都存在都存在,才有才有C。v 多个数据流与加工之间关系*表示相邻的数据流同时存在。表示相邻的数据流同时存在。表示相邻的两数据流只取其一。表示相邻的两数据流只取其一。分层的数据流图v 分层数据流图:先把整个数据处理过程看成一个加工,它先把整个数据处理过程看成一个加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口的输入数据和输出数据实际上反映了系统与外界环境的接口(分层数据流图顶层)。根据需要,进一步细化,直到完全(分层数据流

47、图顶层)。根据需要,进一步细化,直到完全表明了数据的加工要求为止。表明了数据的加工要求为止。如图:SFF231FF2.22.32.13.13.33.43.2FF分层数据流图顶顶层层1 层层2 层层DFD/L1DFD/L2.2DFD/L2.3DFD/L2DFD/L0v 说明:对任何一个多层数据流图来说,称它上层图为父图,在对任何一个多层数据流图来说,称它上层图为父图,在父图的下一层的图称为其子图。父图的下一层的图称为其子图。在多层数据流图中,可以把顶层流图、底层流图和中间在多层数据流图中,可以把顶层流图、底层流图和中间层流图区分开来。层流图区分开来。顶层流图仅包含一个加工,它代表被开发系统。它的

48、输顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统的输出数据。入流是该系统的输入数据,输出流是系统的输出数据。作用:作用:表明被开发系统的范围,以及它和周围环境的数据表明被开发系统的范围,以及它和周围环境的数据交换关系。交换关系。底层流图是指加工不须再做分解的数据流图,其加工称底层流图是指加工不须再做分解的数据流图,其加工称为为“原子加工原子加工”。中间层流图表示对其上层父图的细化。中间层流图表示对其上层父图的细化。(1)对考生送来的报名单进行检查。对考生送来的报名单进行检查。(2)对合格的报名单编好准考证号后将准考证送给考生,并对合格的报名单编好准考证号后

49、将准考证送给考生,并将汇总后的考生名单送给阅卷站。将汇总后的考生名单送给阅卷站。(3)对阅卷站送来的成绩单进行检查,并根据考试中心制定对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者。的合格标准审定合格者。(4)制作考生通知单制作考生通知单(含成绩及合格含成绩及合格/不合格标志不合格标志)送给考生。送给考生。(5)按地区进行成绩分类统计和试题难度分析,产生统计分按地区进行成绩分类统计和试题难度分析,产生统计分析表。析表。一个简单的考务处理系统功能描述一个简单的考务处理系统功能描述q 分层DFD实例顶层数据流图(DFD/L0)考考生生考务考务处理系统处理系统考考试试中中心心

50、阅阅 卷卷 站站不合格报名单不合格报名单报名单报名单准考证准考证考生通知单考生通知单成成绩绩清清单单合格标准合格标准错误错误成绩成绩清单清单考考生生名名单单统计分析表统计分析表1层层数据流数据流图图(DFD/L1)清清绩绩误误单单错错绩绩成成单单考生通知单考生通知单统计分析统计分析表表清清合合格格标标准准成成2统计统计成绩成绩报名单报名单准考证准考证登记登记报名单报名单1不合格不合格报名单报名单考考生生名名单单考生名册考生名册2 2层数据流图层数据流图 (DFD/2.1)报名单报名单准考证准考证检查检查报名单报名单1.1不合格不合格报名单报名单考生名单考生名单合格合格报名单报名单1.3登记登记

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

当前位置:首页 > 旅游攻略 > 广东广西

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报