




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书管理系统-设计准备知识,2019年5月,2011-11,2,主要内容(Contents),准备知识,3,软件设计 模块化设计,准备知识(PreParation Knowledge),4,任务(Tasks),软件设计解决什么问题?目标? 软件设计分几个阶段?各阶段的主要任务是什么? 什么是模块化设计?模块化设计的指导思想或原则有哪些?,5,软件设计(Software Design),软件设计就像各种设计图,是软件需求和软件实现之间的桥梁,用于将软件需求转化为真正的软件产品。,6,软件设计阶段的基本目标是构造系统“怎么做”的模型描述。 “设计先于编码”,这是软件工程“推迟实现”基本原则 软件系统设计是把软件需求“变换”为用于构造软件的蓝图。 “输入”是需求分析各种模型元素 “输出”是软件设计模型和表示 软件设计的目标是对将要实现的软件系统的体系结构、系统的数据、系统模块间的接口,以及所采用的算法给出详尽的描述。,软件设计概述(Overview),7,总体设计,也称为概要设计,软件结构设计,或高层设计。 分析需求规格说明 模块划分,形成具有预定功能的模块组成结构 表示出模块间的控制关系 给出模块之间的接口 软件详细设计,也称为(模块)过程设计,或低层设计。 设计模块细节 确定模块所需的算法和数据结构等 测试和复审,软件设计的三类活动(Activities),8,设计供选择的方案 选取合理的方案 推荐最佳方案 功能分解和设计软件结构 数据库设计 制定软件设计测试计划 编制设计文档 审查和复审,软件结构设计过程(Software Structure Design Process),9,设计过程不应该受“隧道视野”的限制 设计对于分析模型应该是可跟踪的 设计不应该从头做起 设计应该缩短软件和现实问题的“智力距离” 设计应该表现出一致性和集成性 设计应该能够适应修改 设计不是编码 在创建设计时,就应该考虑能够评估其质量 应该复审每一步设计,以减少语义性错误,软件设计质量原则(Quality of Software Design Principle),10,概要设计说明书模板(Summary Design Document Template),11,详细设计说明书模板(Detailed Design Document Template),12,模块是一个独立命名的,拥有明确定义的输入、输出和特性的程序实体。 把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定子功能,所有的这些模块以某种结构形式组成一个整体,这就是软件的模块化设计(Modular Design)。 软件模块化设计可以简化软件的设计和实现,提高软件的可理解性和可测试性,并使软件更容易得到维护。 分解、抽象、逐步求精、信息隐蔽和模块独立性,是软件模块化设计的指导思想。,软件模块化设计(Software Modular Design),13,采用有效的分解,即“分而治之”,是能够使问题得以很好解决的必不可少的措施。 一个软件系统的各个模块之间是相互关联的,模块划分的数量越多,模块间的联系也越多。 模块本身的复杂性和工作量虽然随着模块变小而减少,模块的接口工作量却随着模块数增加而增大。 软件模块化开发存在一个最小成本区,把模块数控制在一定的范围内,可以得到最小的总开发工作量。,软件模块化(Software Modularity),14,模块数与开发工作量,15,分解必然需要抽象的支持。抽象是抓住主要问题,隐藏细节,这样才能容易分解。 抽象具有不同的级别(数据和过程)。 抽象是人类解决复杂问题的基本方法之一。只有抓住事物的本质,才能准确分析和处理问题,找到合理的解决方案。,抽象(Abstraction),16,软件体系结构是指软件的整体结构和这种结构为系统提供概念上完整性的方式。 体系结构可以是程序构件或模块的结构或组织,这些构件或模块交互的形式以及这些构件所用数据的结构。 体系结构设计可以使用大量的模型来表达。,软件体系结构(Software Architecture),17,信息隐蔽原则建议模块应该具有的特征是:每个模块对其他所有模块都隐蔽自己的设计决策。 信息隐蔽意味着通过一系列独立的模块可以得到有效的模块化。 独立的构件或模块之间的“接口”简单而清晰。,信息隐藏(Information Conceal),18,模块的独立性(Module Independence)是模块化、抽象、信息隐蔽等概念的直接结果,也是判断模块化结构是否合理的标准。 模块独立性是指开发具有独立功能而和其他模块没有过多关联的模块。 模块独立性两大优点: 独立的模块由于分解了功能,简化了接口,使得软件比较容易开发; 独立的模块比较容易测试和维护。,模块的独立性(Module Independence),19,模块独立性的度量标准(Measure Standards),模块独立性由两个定性标准度量: 模块自身的内聚(Cohesion),也称为块内联系或模块强度, 模块之间的耦合(Coupling),也称为块间联系。 模块独立性愈高,则块内联系越强,块间联系越弱。,20,内聚性是从功能的角度对模块内部聚合能力的量度。 高内聚是模块独立性追求的目标。 分类: 偶然性内聚:模块内的各个任务在功能上没有实质性联系,纯属“偶然”因素组合了块内各个互不相关的任务。 逻辑性内聚:模块通常由若干个逻辑功能相似的任务组成,通过模块外引入的一个开关量选择其一执行。这种内聚增大了模块间的耦合。 时间性内聚:模块内的各个任务由相同的执行时间联系在一起。例如,初始化模块。 过程性内聚:模块内的各个任务必须按照某一特定次序执行。,模块的内聚性(Cohesion),21,通信性内聚:模块内部的各个任务靠公用数据联系在一起,即都使用同一个输入数据,或者产生同一个输出数据。 顺序性内聚:模块内的各个任务是顺序执行的。通常,上一个任务的输出是下一个任务的输入。 功能性内聚:模块各个成分结合在一起,完成一个特定的功能。显然,功能性模块具有内聚性最强、与其他模块联系少的特点。,模块的内聚性(Cohesion),22,内聚性分类(Cohesion Classifying),23,耦合性是对一个软件结构内不同模块之间互连程度的度量。 耦合性的强弱取决于模块间接口的复杂程度,以及通过接口的数据类型和数目。 分类: 非直接耦合:同级模块相互之间没有信息传递,属于非直接耦合。 数据耦合:调用下属模块时,如果交换的都是简单变量,便构成数据耦合。 特征耦合:调用下属模块时,如果交换的是数据结构,便构成特征耦合。由于传递的是数据结构,不仅数据量增加,而且会使模块的相关性增加。,模块耦合性(Coupling),24,控制耦合:模块间传递的信息不是一般的数据,而是作为控制信息的开关值或标志量。例如,逻辑性内聚的模块调用就是典型的控制耦合。 外部耦合:若允许一组模块访问同一个全局变量,可称它们为外部耦合。 公共耦合:若允许一组模块访问同一个全局性的数据结构,则称它们为公共耦合。全局性的数据结构可以是共享的通信区、公共的内存区域、任何存储介质文件、物理设备等。 内容耦合:若一个模块可以直接调用另一个模块中的数据,或者直接转移到另一个模块中去,或者一个模块有多个入口,则称为内容耦合。,模块耦合性(Coupling),25,耦合性分类(Coupling Classifying),26,逐步求精,或称逐步细化,是一种自顶向下的设计策略。 逐步求精是人类采用抽象到具体的过程把一个复杂问题趋于简单化控制和管理的有效策略。 抽象和精化是互补的概念。,逐步求精(Stepwise Refinement),27,重构是一种重新组织的技术,可以简化构件或模块的设计或编码而无需改变其功能或行为。 重构是一种改进程序内部结构但不改变代码或设计的外部行为。 “先使它转起来,再使它快起来”。,重构(Refactoring),28,设计的基本原理和概念包括模块化、抽象、体系结构、信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑卸料平台安全施工方案
- 风机操作工中秋节后复工安全考核试卷含答案
- 羽毛球制作工中秋节后复工安全考核试卷含答案
- 贵金属回收提纯工国庆节后复工安全考核试卷含答案
- 重介质分选工国庆节后复工安全考核试卷含答案
- 招标文件编制规范及审核流程详解
- 客户投诉处理流程及管理规范
- 关于小学语文老师工作总结(内容格式7篇)
- 保温材料制品生产工中秋节后复工安全考核试卷含答案
- 牙粉制造工节假日前安全考核试卷含答案
- 八年级上学期轴对称练习题
- 双姿培训课件
- GB/Z 41082.2-2023轮椅车第2部分:按GB/Z 18029.5测得的尺寸、质量和操作空间的典型值和推荐限制值
- 实施项目经理岗位的工作职责描述
- 医院物业服务投标方案
- 中频操作评分标准
- 生活中的理财原理知到章节答案智慧树2023年暨南大学
- GB/T 22588-2008闪光法测量热扩散系数或导热系数
- GB/T 22237-2008表面活性剂表面张力的测定
- GB/T 13298-1991金属显微组织检验方法
- 《绿色建筑概论》整套教学课件
评论
0/150
提交评论