软件工程第四章(习题课)ppt课件.ppt
《软件工程第四章(习题课)ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程第四章(习题课)ppt课件.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 例子例子1我们已经开始进入我们已经开始进入“智能智能”产品时代。产品时代。在这类产品中把软件做在只读存储器中在这类产品中把软件做在只读存储器中,成为设备的一部分,从而使设备具有,成为设备的一部分,从而使设备具有某些某些“智能智能”。因此,这类产品的设计。因此,这类产品的设计都包含软件开发的任务。作为面向数据都包含软件开发的任务。作为面向数据流的设计方法中变换分析的例子,考虑流的设计方法中变换分析的例子,考虑汽车数字仪表板的设计。汽车数字仪表板的设计。我吓了一
2、跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物假设的仪表板将完成下述功能:假设的仪表板将完成下述功能:(1) 通过模数转换实现传感器和微处理机接口通过模数转换实现传感器和微处理机接口;(2) 在发光二极管面板上显示数据;在发光二极管面板上显示数据;(3) 指示每小时英里数指示每小时英里数(mph),行驶的里程,每,行驶的里程,每加仑油行驶的英里数加仑油行驶的英里数(mpg)等等;等等;(4) 指示加速或减速;指示加速或减速;(5) 超速警告:如果车速超过超速警告:如果车速超过55英里英里/小时,则小时,则发出超速
3、警告铃声。发出超速警告铃声。在软件需求分析阶段应该对上述每条要求以及在软件需求分析阶段应该对上述每条要求以及系统的其他特点进行全面的分析评价,建立起系统的其他特点进行全面的分析评价,建立起必要的文档资料,特别是数据流图。必要的文档资料,特别是数据流图。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2. 设计步骤设计步骤第第1步步 复查基本系统模型。复查基本系统模型。复查的目的是确保系统的输入数据和输出数复查的目的是确保系统的输入数据和输出数据符合实际。据符合实际。第第2步步 复查并精化数据流图。复查并精化
4、数据流图。应该对需求分析阶段得出的数据流图认真复应该对需求分析阶段得出的数据流图认真复查,并且在必要时进行精化。不仅要确保数查,并且在必要时进行精化。不仅要确保数据流图给出了目标系统的正确的逻辑模型,据流图给出了目标系统的正确的逻辑模型,而且应该使数据流图中每个处理都代表一个而且应该使数据流图中每个处理都代表一个规模适中相对独立的子功能。规模适中相对独立的子功能。假设在需求分析阶段产生的数字仪表板系统假设在需求分析阶段产生的数字仪表板系统的数据流图如图的数据流图如图5.11(见书(见书97页)所示。页)所示。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也
5、感到愉快,证实我的猜测没有错:表里边有一个活的生物d我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物这个数据流图对于软件结构设计的这个数据流图对于软件结构设计的“第一次分割第一次分割”而言已经足够详细了,因此不需要精化就可以而言已经足够详细了,因此不需要精化就可以进行下一个设计步骤。进行下一个设计步骤。第第3步步 确定数据流图具有变换特性还是事务特性确定数据流图具有变换特性还是事务特性一般地说,一个系统中的所有信息流都可以认为一般地说,一个系统中的所有信息流都可以认为是变换流,但是,当遇到有明显事务特性的信
6、息是变换流,但是,当遇到有明显事务特性的信息流时,建议采用事务分析方法进行设计。流时,建议采用事务分析方法进行设计。在这一在这一步,设计人员应该根据数据流图中占优势的属性步,设计人员应该根据数据流图中占优势的属性,确定数据流的全局特性。此外还应该把具有和,确定数据流的全局特性。此外还应该把具有和全局特性不同的特点的局部区域孤立出来,以后全局特性不同的特点的局部区域孤立出来,以后可以按照这些子数据流的特点精化根据全局特性可以按照这些子数据流的特点精化根据全局特性得出的软件结构。得出的软件结构。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的
7、猜测没有错:表里边有一个活的生物从图从图5.11看出,数据沿着两条输入通路进入系统,然看出,数据沿着两条输入通路进入系统,然后沿着后沿着5条通路离开,没有明显的事务中心。因此可以条通路离开,没有明显的事务中心。因此可以认为这个信息流具有变换流的总特征。认为这个信息流具有变换流的总特征。第第4步步 确定输入流和输出流的边界,从而孤立出变换确定输入流和输出流的边界,从而孤立出变换中心。中心。输入流和输出流的边界和对它们的解释有关,也就是输入流和输出流的边界和对它们的解释有关,也就是说,不同设计人员可能会在流内选取稍微不同的点作说,不同设计人员可能会在流内选取稍微不同的点作为边界的位置。当然在确定边
8、界时应该仔细认真,但为边界的位置。当然在确定边界时应该仔细认真,但是把边界沿着数据流通路移动一个处理框的距离,通是把边界沿着数据流通路移动一个处理框的距离,通常对最后的软件结构只有很小的影响。常对最后的软件结构只有很小的影响。对于汽车数字仪表板的例子,设计人员确定的流的边对于汽车数字仪表板的例子,设计人员确定的流的边界如图界如图5.12(见书(见书98页)所示。页)所示。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到
9、愉快,证实我的猜测没有错:表里边有一个活的生物第第5步步 完成完成“第一级分解第一级分解”。软件结构代表对控制的自顶向下的分配,所软件结构代表对控制的自顶向下的分配,所谓分解就是分配控制的过程。谓分解就是分配控制的过程。对于变换流的情况,数据流图被映射成一个对于变换流的情况,数据流图被映射成一个特殊的软件结构,这个结构控制输入、变换特殊的软件结构,这个结构控制输入、变换和输出等信息处理过程。图和输出等信息处理过程。图5.13说明了第一说明了第一级分解的方法。位于软件结构最顶层的控制级分解的方法。位于软件结构最顶层的控制模块模块Cm协调下述从属的控制功能:协调下述从属的控制功能:输入信息处理控制
10、模块输入信息处理控制模块Ca,协调对所有输入协调对所有输入数据的接收;数据的接收;变换中心控制模块变换中心控制模块Ct,管理对内部形式的数据管理对内部形式的数据的所有操作;的所有操作;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.13 第一级分解的方法第一级分解的方法我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物输出信息处理控制模块输出信息处理控制模块Ce,协调输出信息的,协调输出信息的产生过程。产生过程。虽
11、然图虽然图5.13意味着一个三叉的控制结构,但意味着一个三叉的控制结构,但是,是,对一个大型系统中的复杂数据流可以用对一个大型系统中的复杂数据流可以用两个或多个模块完成上述一个模块的控制功两个或多个模块完成上述一个模块的控制功能。能。应该在能够完成控制功能并且保持好的应该在能够完成控制功能并且保持好的耦合和内聚特性的前提下,尽量使第一级控耦合和内聚特性的前提下,尽量使第一级控制中的模块数目取最小值。制中的模块数目取最小值。对于数字仪表板的例子,第一级分解得出的对于数字仪表板的例子,第一级分解得出的结构如图结构如图5.14所示。每个控制模块的名字表所示。每个控制模块的名字表明了为它所控制的那些模
12、块的功能。明了为它所控制的那些模块的功能。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.14 数字仪表板系统的第一级分解数字仪表板系统的第一级分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第第6步步 完成完成“第二级分解第二级分解”。所谓第二级分解就是把数据流图中的每个处所谓第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。理映射成软件结构中一个适当的模块。完成完成第二级分解的方法是,从
13、变换中心的边界开第二级分解的方法是,从变换中心的边界开始沿着输入通路向外移动,把输入通路中每始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中个处理映射成软件结构中Ca控制下的一个低控制下的一个低层模块;然后沿输出通路向外移动,把输出层模块;然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块;最后把变换中心内的控制的一个低层模块;最后把变换中心内的每个处理映射成受每个处理映射成受Ct控制的一个模块。控制的一个模块。图图5.15表示进行第二级分解的普遍途径。表示进行第二级分解的普遍途径。我吓了一跳,蝎子是多么丑恶
14、和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.15 第二级分解的方法第二级分解的方法我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物虽然图虽然图5.15描绘了在数据流图中的处理和软描绘了在数据流图中的处理和软件结构中的模块之间的一对一的映射关系,件结构中的模块之间的一对一的映射关系,但是,不同的映射经常出现。应该根据实际但是,不同的映射经常出现。应该根据实际情况以及情况以及“好好”设计的标准,进行实际的第设计的标准,进行实际的第二级分解
15、。二级分解。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物对于数字仪表板系统的例子,第二级分解的对于数字仪表板系统的例子,第二级分解的结果分别用图结果分别用图5.16,5.17和和5.18描绘。这描绘。这3张张图表示对软件结构的初步设计结果。图表示对软件结构的初步设计结果。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.16 未经精化的输入结构未经精化的输入结构我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它
16、放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.17 未经精化的变换结构未经精化的变换结构我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物图图5.18 未经精化的输出结构未经精化的输出结构我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物虽然图中每个模块的名字表明了它的基本功虽然图中每个模块的名字表明了它的基本功能,但是仍然应该为每个模块写一个简要说能,但是仍然应该为每个模块写
17、一个简要说明,描述:明,描述:进出该模块的信息进出该模块的信息(接口描述接口描述);模块内部的信息;模块内部的信息;过程陈述,包括主要判定点及任务等;过程陈述,包括主要判定点及任务等;对约束和特殊特点的简短讨论。对约束和特殊特点的简短讨论。这些描述是第一代的设计规格说明,在这个这些描述是第一代的设计规格说明,在这个设计时期进一步的精化和补充是经常发生的设计时期进一步的精化和补充是经常发生的。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第第7步步 使用设计度量和启发式规则对第一次分割得到的使用设计度量和启
18、发式规则对第一次分割得到的软件结构进一步精化。软件结构进一步精化。对第一次分割得到的软件结构,总可以根据模块独立原对第一次分割得到的软件结构,总可以根据模块独立原理进行精化。为了产生合理的分解,得到尽可能高的内理进行精化。为了产生合理的分解,得到尽可能高的内聚、尽可能松散的耦合,最重要的是,为了得到一个易聚、尽可能松散的耦合,最重要的是,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对初步于实现、易于测试和易于维护的软件结构,应该对初步分割得到的模块进行再分解或合并。分割得到的模块进行再分解或合并。具体到数字仪表板的例子,对于从前面的设计步骤得到具体到数字仪表板的例子,对于从前面的设
19、计步骤得到的软件结构,还可以做许多修改。下面是某些可能的修的软件结构,还可以做许多修改。下面是某些可能的修改:改:输入结构中的模块输入结构中的模块“转换成转换成rpm”和和“收集收集sps”可以合并可以合并;模块模块“确定加速确定加速/减速减速”可以放在模块可以放在模块“计算计算mph”下面下面,以减少耦合;,以减少耦合;我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物模块模块“加速加速/减速显示减速显示”可以相应地放在模块可以相应地放在模块“显示显示mph”的下面。的下面。经过上述修改后的软件结构画在图经
20、过上述修改后的软件结构画在图5.19中。中。上述上述7个设计步骤的目的是,开发出软件的个设计步骤的目的是,开发出软件的整体表示。也就是说,一旦确定了软件结构整体表示。也就是说,一旦确定了软件结构就可以把它作为一个整体来复查,从而能够就可以把它作为一个整体来复查,从而能够评价和精化软件结构。在这个时期进行修改评价和精化软件结构。在这个时期进行修改只需要很少的附加工作,但是却能够对软件只需要很少的附加工作,但是却能够对软件的质量特别是软件的可维护性产生深远的影的质量特别是软件的可维护性产生深远的影响。响。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快
21、,证实我的猜测没有错:表里边有一个活的生物图图5.19 精化后的数字仪表板系统的软件结构精化后的数字仪表板系统的软件结构财务科长请你研究用财务系统代目前手工会计财务科长请你研究用财务系统代目前手工会计系统系统 对于上述要求,应该提出以下几个问题:对于上述要求,应该提出以下几个问题:(1)这样做值得吗)这样做值得吗?(2)用户面临的问题究竟是什么?)用户面临的问题究竟是什么?(3)用户目标是什么?)用户目标是什么?(4)可以花多少钱呢?)可以花多少钱呢? 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 (1
22、)项目值得吗?)项目值得吗?这样做预期将获得的经济效益能超过开发这个系统的成本这样做预期将获得的经济效益能超过开发这个系统的成本吗吗?换句话说,这样做值得吗换句话说,这样做值得吗? (2)用户面临的问题究竟是什么?)用户面临的问题究竟是什么?该校一直由会计人工计算工资并编制财务报表,随着学校该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大规模扩大,人工计算工资的成本还会进一步提高。人工计算工资的成本还会进一步提高。 (3)用户目标)用户目标目标是寻找一种比较便宜的生成工资明细表和各种财务报目标是寻找一种比较便宜的生成工资明细表和各种财务报表的办法,并不一定必须在学校自己的计算机上实现
23、工资支付表的办法,并不一定必须在学校自己的计算机上实现工资支付系统。系统。 (4)花多少钱呢)花多少钱呢? 应该考虑下述应该考虑下述3个基本数字:个基本数字: 目前计算工资所花费的成本目前计算工资所花费的成本 新系统的开发成本新系统的开发成本 运行费用运行费用我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 在双方达成共识的基础上开发出确实能满足用户实际需在双方达成共识的基础上开发出确实能满足用户实际需要的新系统,典型地,分析员用一份简短的书面备忘录表达要的新系统,典型地,分析员用一份简短的书面备忘录表达他
24、对问题的认识,这份文档称为他对问题的认识,这份文档称为“关于系统规模和目标的报关于系统规模和目标的报告书告书”(见表见表21)。校长和财务科经过研究同意了上述报告。校长和财务科经过研究同意了上述报告书,可以对工资支付项目进行更仔细的研究了。书,可以对工资支付项目进行更仔细的研究了。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 可行性研究是抽象和简化了的系统分析和设计的全过程可行性研究是抽象和简化了的系统分析和设计的全过程。本项目的可行性研究过程由下述步骤组成:。本项目的可行性研究过程由下述步骤组成:
25、澄清系统规模和目标澄清系统规模和目标 研究现有的系统研究现有的系统导出高层逻辑模型导出高层逻辑模型进一步确定系统规模和目标进一步确定系统规模和目标导出供选择的解法导出供选择的解法推荐最佳方案推荐最佳方案草拟开发计划草拟开发计划写出文档提交审查写出文档提交审查我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物F澄清系统规模和目标澄清系统规模和目标为了确保从一个正确的出发点着手进行可行性研究,为了确保从一个正确的出发点着手进行可行性研究,首先通过访问财务科长和校长进一步验证上一阶段写出的首先通过访问财务科长和校长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第四 习题 ppt 课件
限制150内