




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件结构设计1.层次图(H图)
表示软件的层次结构。正文加工系统输入输出编辑加标题存储检索编目录添加删除插入修改合并列表带编号的层次图(H图)
正文加工系统输入1.0输出2.0编辑3.0加标题
4.0存储5.0检索6.0编目录
7.0添加3.1删除3.2插入3.3修改3.4合并3.5列表3.6“图书管理系统”软件层次图例子:酒店管理信息系统功能层次图HMIS收银管理子系统客房管理子系统餐饮管理子系统客人登记预定登记客房处理历史记录客房查询预定查询餐桌安排菜单作业营业结帐汇总打印各类查询初始设置客帐处理退房处理夜审处理客帐查询报表打印大型零售商场管理信息系统功能层次图TMMIS系统维护POS系统零售实时系统商品进货管理商品批发管理商品库存管理商品及商品帐管理顾客管理连锁店管理财务管理人事工资管理计划统计管理经理查询2.HIPO图IBM公司发明的HIPO图:层次图
+
输入/处理/输出图
(H图)(IPO图)(HierachyInputProcessOutput)H图中每一方框(模块)均有一张IPO图对应。
航线调度系统HIPO图举例
H图:命令监控器1.0取得输入1.1输入确认
1.2请求确认1.3更新处理
1.4传统的IPO图举例输入处理输出读口令请求口令文件1取得输入2口令确认3请求确认请求记录权限文件4更新处理权限记录状态报告响应命令监控器(1.0)的IPO图改进的IPO图格式IPO图系统:模块:编号:作者:日期:被调用:调用:输出:输入:输入:局部数据元素:注释:3.结构图(SCStructureChart)
是SD方法在概要设计中的主要表达工具。约定:编辑学生记录读学生记录学生数据无此学生学号不加区分的数据数据信息控制信息SC中的四种模块传入模块(a)(b)AA传出模块BB变换模块(c)CD协调模块E(d)EFFSC中的调用
(1)选择调用ACBDA根据内部判断决定是否调用BA按另一判定结果选择调用C或D(2)循环调用ABCA根据内在的循环重复调用B、C等模块结构图(SC)举例
医院管理系统门诊管理药房管理药库管理病房管理财务管理处方挂号处理挂号费总计挂号单挂号费总计出库处理进药管理病历管理处方管理常规处理6.5.2面向数据流的设计方法
(结构化设计方法SD)
面向数据流设计方法的基本概念
SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法。映射DFD(问题结构)软件系统的结构(程序结构)系统结构特征的两种典型形式:变换型结构事务型结构对应于数据流图可分为两种类型:
变换型数据流事务型数据流变换中心输入输出变换型结构事务中心接受路径动作路径基本类型特征事务型结构由输入、变换中心和输出三部分组成具有在多种事务中选择执行某类事物的能力
大型系统DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出变换型数据流结构事务型数据流结构传入变换传出变换中心传入部分传出部分事务分析事务中心动作
1动作
2动作
3接受接受部分变换型数据流举例输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心逻辑输入逻辑输出传入部分传出部分特点:具有明确的传入、变换(或称主加工)和传出界面的DFD变换流示意图信息时间信息流输入流输出流交换流外部表示内部表示事务型数据流图举例IMLNOABCDFEGH要求类型处理有效图书管理要求当前日期2.1新书入库2.2借入库单罚款单事务型数据流图举例借书2.3注销图书2.5借书2.4目录文件借书单书单注销单设计步骤(1)精化DFD(2)确定DFD类型(3)把DFD映射到系统模块结构设计出模块结构的上层(4)基于DFD逐步分解高层模块设计出下层模块(5)根据模块独立性原理,精化模块结构(6)模块接口描述设计过程精化数据流图区分事务中心和数据接收路径映射成变换结构流类型区分输入和输出分支映射成事务结构用启发式设计规则精化软件结构导出接口描述和全程数据结构复查详细设计“事务”“变换”事务分析变换分析两种映射过渡方法变换型DFD事务型DFD初始SC初始SC变换分析事务分析变换型数据流结构传入变换传出变换中心传入部分传出部分初始的SC由变换分析产生主模块输入模块主加工模块输出模块事务型数据流结构事务分析事务中心动作
1动作
2动作
3接受接受部分事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由事务分析产生1.变换分析设计方法步骤:(1)区分传入、变换中心、传出部分,在DFD
上标明分界线;步骤(续)(2)第一级分解(建立初始SC框架)
设计顶层和第一层模块;例子图上部步骤(续)(3)第二级分解(分解SC各分支)
自顶向下分解,设计出每个分支的中、下层模块。例子图下部BCADEQPRWUVabcedrpuwv变换中心传入部分传出部分第一级分解的方法MCMTMAME第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,wu,w传入模块传出模块中心变换模块传入分支的分解
(1)MACBAbacEDdec,e传入分支的分解
(2)MAGetCbacRead
Ddec,eB
to
CbcdeabGetEGetBD
to
EAtoBReadA传出分支的分解
MEWriteVuuw,uvvPutUUtoVWriteWwWvMEUwuw,uV(1)(2)中心加工分支的分解MTPQRec,pru,wpr第一级分解后的SC(另一种画法)MCMA1ceu,wc,pQPReprrw,uw传入分支模块中心加工分支模块传出分支模块MA2ME1ME2
任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。2.事务分析设计方法步骤:(1)在DFD上确定事务中心、接收部分和发送部分;(2)画出SC框架,把DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块;(3)分解细化接收分支和发送分支,完成初始SC。事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由事务分析产生事务分析的映射方法总控调度C路径B路径A路径A路径B路径C路径接收路径事务流设计举例IMLNABCDFEG事务中心事务流设计举例(另一种画法)
取A
总控ALMNGDBCFE动作1动作n….细节模块1细节模块2….(操作模块)(细节模块)动作分支的典型结构PT
2T
1T
iA
2D2A
1D
1A
3A
jD
k事务层操作层细节层处理层主模块事务加工模块操作模块细节模块3.混合流设计
举例T事务中心传入变换传出接收部分发送部分ABT1变换中心传入传出T2T3abb1b2b3c1c2c3degfjLm事务流子系统BCCDDEEHHKFJKLLMh混合流设计举例k混合流设计举例输入DXX系统变换控制输出K输入Cdc输出LCDDEFJEHHKKLcddkkkLL输出MLMmmL事务子系统4.结构设计优化
将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,以及易于实现、易于测试和易于维护的软件结构,产生设计文档的最终SC。改进软件结构设计的指导原则
(软件结构设计的启发式规则)(1)模块功能的完善化(2)消除重复功能(3)将模块的影响限制在模块的控制范围内(4)深度、宽度、扇出和扇入适中(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测(8)避免模块的病态连接(9)根据设计约束和可移植性要对软件打包(1)模块功能的完善化完整的模块应包括三部分:1)执行规定功能部分2)出错处理部分3)需返回给调用者数据时,返回是否正确结束标志。(2)消除重复功能Q1CQ2CQ1Q2C改进前Q1、Q2功能相似XYQ’XYXY重复部分改进方法1:将Q1、Q2合并为Q’不可取改进方法2:将Q1、Q2的公共部分分离出来CHDEGXF(3)将模块的影响限制在模块的控制范围内AILJKB模块C的控制范围:C、D、E、F、G、H如果模块C作出的决策影响了模块L,L超出了C的控制范围(4)减少模块高扇出,争取模块高扇入高扇出的模块结构举例:编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资避免平铺结构增加中间层降低扇出编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资计时工人实发工资计薪工人实发工资编外人员实发工资(5)模块大小适中
模块过大:可理解程度下降。模块过小:开销大于有效操作系统接口复杂。(6)降低模块接口的复杂性
接口传递信息应简单且和模块功能一致。(7)模块功能可预测
模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。模块带有内部状态其功能可能是不可预测的。难理解、难测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45199-2025家禽遗传资源濒危等级评定
- 包车旅游有合同范本
- 出售店铺合同范本
- 农村护栏转让合同范本
- 买卖协议车子合同范本
- 冰品购销合同范本
- 区块链认证合同范本
- 修建电站合同范本
- 企业合同范本清单
- 单位保密合同范本
- 桥梁钢筋制作安装施工方案
- 2025年语言文字工作计划
- 金融类竞聘主管
- 2024年3月天津第一次高考英语试卷真题答案解析(精校打印)
- 《国防动员准备》课件
- 2024年688个高考英语高频词汇
- 商标合资经营合同
- 第六讲当前就业形势与实施就业优先战略-2024年形势与政策
- 2024-2030年中国家政服务行业经营策略及投资规划分析报告
- 2025年护士资格证考核题库及答案
- 湖北省黄冈市2023-2024学年五年级上学期数学期中试卷(含答案)
评论
0/150
提交评论