软件工程总体设计.pptx





《软件工程总体设计.pptx》由会员分享,可在线阅读,更多相关《软件工程总体设计.pptx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 案例分析一 招聘考试成绩管理系统数据库结构设计系统结构设计设计测试方案第1页/共56页4.1 案例分析一 招聘考试成绩管理系统5.1.1 数据库结构设计管理员数据表帐号密码考场号地点最多人数准考证号、姓名、性别、地区、出生年月、地址、专业、政治、英语、专业课、总分、名次、是否录用、录用单位。准考证号、姓名、性别、专业、录用单位、总分考场数据表考生数据表录用考生第2页/共56页4.1 案例分析一 招聘考试成绩管理系统5.1.2 系统结构设计一二三确定出各个模块及其关系。数据流图需进一步细化。用层次图或结构图来表示。第3页/共56页招聘考试成绩管理系统HIPO图第4页/共56页4.1 案例
2、分析一 招聘考试成绩管理系统5.1.3 设计测试方案录用模块主要测试考生准考证号的生成是否正确。进行各种测试条件的测试。分考生成绩输入、成绩查询、打印成绩单三个模块。主要测试考生成绩输入界面设计是否合理、输入后成绩总分的计算及排序是否正确。Text考前处理模块成绩信息模块测试输入界面是否正确、合理;录用结果的输出与输入是否一致。第5页/共56页4.2 案例分析二 高校工资管理系统从完整的工资管理系统数据流图出发事务数据和人事数据沿两条输入通路进入系统输出数据沿着一条输出通路离开系统,数据流图中没有明显的事务中心。第6页/共56页4.2 案例分析二 高校工资管理系统1、分析确定输入流和输出流的边
3、界,以孤立出变换中心。第7页/共56页4.2 案例分析二 高校工资管理系统2、完成“第一级分解”。就是确定系统的总体控制结构。通常变换分析得到的系统高层结构是一个“三叉”的控制结构。工资管理系统的第一层分解第8页/共56页4.2 案例分析二 高校工资管理系统3、完成“第二级分解”。就是把数据流图中的每个处理映射成软件结构中的一个适当模块。从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中“输入信息处理控制模块”控制下的一个低层模块。然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接接受“输出信息处理控制模块”控制的一个低层模块。最后把变换中心内的每个处理映
4、射成受“变换中心控制模块”控制的一个低层模块。变换分析的映射原则第9页/共56页4.2 案例分析二 高校工资管理系统第二级分解第10页/共56页4.2 案例分析二 高校工资管理系统4、对工资管理系统的初步设计结果进行优化。优化后的工资管理系统软件结构分解第11页/共56页4.3 设计原理模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。5.3.1 模块化第12页/共56页4.3 设计原理模块化和软件成本第13页/共56页4.3 设计原理抽象就是抽出事物的本质特性而暂时不考虑它们的细节。软件工程过程的每一步
5、都是对软件解法的抽象层次的一次精化。5.3.2 抽象第14页/共56页4.3 设计原理达到了抽象的最低层可行性研究需求分析总体设计到详细设计写出源程序软件工程过程的每一步软件工程过程的每一步软件解法是使用在问题环境内熟悉的方式描述的抽象的程度也就随之减少了软件作为系统的一个完整部件第15页/共56页4.3 设计原理模块化的概念,与抽象是紧密相关的。随着软件开发工程的进展,在软件结构每一层中的模块,表示了对软件抽象层次的一次精化。软件结构顶层的模块,控制了系统的主要功能并且影响全局;在软件结构底层的模块,完成对数据的一个具体处理。第16页/共56页4.3 设计原理把逐步求精定义为:“为了能集中精
6、力解决主要问题而尽量推迟对问题细节的考虑。”抽象与求精是一对互补的概念。5.3.3 逐步求精抽象使得设计者能够说明过程和数据,同时却忽略低层细节。求精则帮助设计者在设计过程中逐步揭示出低层细节。第17页/共56页4.3 设计原理5.3.4 信息隐藏和局部化局部化的概念和信息隐藏概念是密切相关的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。第18页/共56页4.3 设计原理模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。开发具有独立功能而且和其他
7、模块之间没有过多的相互作用的模块,就可以做到模块独立。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。5.3.5 模块独立第19页/共56页4.3 设计原理内聚:模块各元素执行相同的任务内聚级别:偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚最差最好1.内聚第20页/共56页4.3 设计原理偶然内聚:为方便把不相干的元素组合在一起严重的缺点:产品的可维护性退化;模块是不可复用的,增加软件成本。解决途径:将模块分成更小的模块,每个小模块执行一个操作。低内聚第21页/共56页4.3 设计原理逻辑内聚:某段时间执行的若干功能任务
8、 放在同一模块中例如:系统的初始化问题:不同的功能混在一个模块中,有时共用部分编码,使局部功能的修改牵动全局。低内聚第22页/共56页4.3 设计原理过程内聚:模块中的各功能元素相关,并且按特定次序执行例如:读写并更新数据记录中内聚enter datacheck datamanipulate data第23页/共56页4.3 设计原理通信内聚:?例如:1.某模块的各成分都利用一符号表进行操作;2.从同一磁带上读取不相干的数据。问题:可能破坏独立性。中内聚第24页/共56页4.3 设计原理顺序内聚:模块的输出是下一模块的输入。模块的各成分利用相同的输入或产生相同的输出。功能内聚:为完成一个任务把
9、所需的全部功能 组合在一起。原则:力争高内聚和识别低内聚,可以使得设计的软件具有较高的功能独立性。高内聚第25页/共56页4.3 设计原理计算多个地点的每日平均温度功能内聚初始化,“求和”并打开文件偶然内聚关闭文件并打印平均温度偶然内聚创建新的温度记录功能内聚存储温度记录功能内聚读取地点、时间和温度功能内聚编辑地点、时间和温度字段逻辑内聚存储特定地点的温度功能内聚?内聚示例第26页/共56页4.3 设计原理耦合是度量系统中模块之间的交互程度。耦合从低到高依次为:非直接耦合(最好),数据耦合,标记耦合,控制耦合,外部耦合,公共耦合和内容耦合(最差)。2.耦合Great deal of depen
10、denceIndependent Highly coupledLoosely coupledUncoupled 第27页/共56页4.3 设计原理内容耦合 content coupling如果两个模块中的一个直接引用了另一个模块的内容,则它们之间是内容耦合。2.耦合例1:A访问C的内部数据或不通过正常入口而转入C的内部。ABCDA:goto C1C:C1:第28页/共56页4.3 设计原理2.耦合例2:部分代码重叠(常出现在汇编程序中)例3:一个模块有多个入口(功能)B AA:entry 1:entry 2:The least desirable must be avoided第29页/共56
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 总体设计 总体 设计

限制150内