欢迎来到天天文库
浏览记录
ID:36513605
大小:614.50 KB
页数:12页
时间:2019-05-11
《软件工程导论(第五版)素材第五篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、12软件工程导论(第五版)第5章总体设计5.1设计过程1.设想供选择的方案2.选取合理的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档9.审查和复审5.2设计原理5.2.1模块化图5.1模块化和软件成本12软件工程导论(第五版)5.2.2抽象5.2.3逐步求精5.2.4信息隐藏和局部化5.2.5模块独立1.耦合2.内聚5.3启发规则1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇出和扇入都应适当4.模块的作用域应该在控制域之内图5.2模块的作用域和控制域5.力争降低模
2、块接口的复杂程度6.设计单入口单出口的模块7.模块功能应该可以预测12软件工程导论(第五版)5.4描绘软件结构的图形工具5.4.1层次图和HIPO图图5.3正文加工系统的层次图图5.4带编号的层次图(H图)12软件工程导论(第五版)5.4.2结构图图5.5结构图的例子——产生最佳解的一般结构图5.6判定为真时调用A,为假时调用B图5.7模块M循环调用模块A、B、C5.5面向数据流的设计方法5.5.1概念1.变换流2.事务流12软件工程导论(第五版)图5.8变换流图5.9事务流3.设计过程12软件工程导论(第五版)图5.10面向数据
3、流方法的设计过程5.5.2变换分析1.例子2.设计步骤12软件工程导论(第五版)图5.11数字仪表板系统的数据流图12软件工程导论(第五版)图5.12具有边界的数据流图图5.13第一级分解的方法12软件工程导论(第五版)图5.14数字仪表板系统的第一级分解图5.15第二级分解的方法图5.16未经精化的输入结构12软件工程导论(第五版)图5.17未经精化的变换结构图5.18未经精化的输出结构图5.19精化后的数字仪表板系统的软件结构12软件工程导论(第五版)5.5.3事务分析图5.20事务分析的映射方法5.5.4设计优化5.6小结习
4、题51.为每种类型的模块耦合举一个具体例子。2.为每种类型的模块内聚举一个具体例子。3.用面向数据流的方法设计下列系统的软件结构。(1)储蓄系统(参见习题2第2题)。(2)机票预订系统(参见习题2第3题)。(3)患者监护系统(参见习题2第4题)。4.美国某大学共有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000(含$26000)的教师工资将保持不变,年工资少于$26000的教师将增加工资,所增加的工资数按下述方法计算:给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每
5、年再多补助$50,但是,增加后的年工资总额不能多于$26000。12软件工程导论(第五版)教师的工资档案储存在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇用日期等信息。需要写一个程序计算并印出每名教师的原有工资和调整后的新工资。要求:(1)画出此系统的数据流图。(2)写出需求说明。(3)设计上述的工资调整程序(要求用HIPO图描绘设计结果),设计时分别采用下述两种算法,并比较这两种算法的优缺点:(a)搜索工资档案数据,找出年工资少于$26000的人,计算新工资,校核是否超过$26000,储存新工资,印出新旧工资对照表;
6、(b)把工资档案数据按工资从最低到最高的次序排序,当工资数额超过$26000时即停止排序,计算新工资,校核是否超过限额,储存新工资,印出结果。(4)所画出的数据流图适用于哪种算法?5.下面将给出两个人玩的扑克牌游戏的一种玩法,试设计一个模拟程序,它的基本功能是:(1)发两手牌(利用随机数产生器)。(2)确定赢者和赢牌的类型。(3)模拟N次游戏,计算每种类型牌赢或平局的概率。要求用HIPO图描绘设计结果并且画出高层控制流程图。扑克牌游戏规则如下:(1)有两个人玩,分别称为A和B。(2)一副扑克牌有52张牌,4种花色(方块、梅花、红桃
7、和黑桃),每种花色的牌的点数按升序排列有2,3,4,…,10,J,Q,K,A等13种。(3)给每个人发3张牌,牌面向上(即,亮牌),赢者立即可以确定。(4)最高等级的一手牌称为同花,即3张牌均为同一种花色,最大的同花牌是同一种花色的Q、K、A。(5)第二等级的牌称为顺子,即点数连续的3张牌,最大的顺子是花色不同的Q、K、A。(6)第三等级的牌是同点,即点数相同的3张牌,最大的同点是A、A、A。(7)第四等级的牌是对子,即3张牌中有两张点数相同,最大的对子是A、A、K。(8)第五等级的牌是杂牌,即除去上列4等之外的任何一手牌,最大的
8、杂牌是不同花色的A、K、J。(9)若两人的牌类型不同,则等级高者胜;若等级相同,则点数高者胜;若点数也相同,则为平局。
此文档下载收益归作者所有