- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第三章 软件设计;3.1 软件设计的概念;体系结构设计定义软件系统各主要成份之间的关系。
接口设计根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。
过程设计则是把结构成份转换成软件的过程性描述。;将分析模型转换为设计;从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。
概要设计
将软件需求转化为软件体系结构
确定系统级接口
全局数据结构或数据库模式。
详细设计
确立每个模块的实现算法和局部数据结构
用适当方法表示算法和数据结构的细节;软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构。;软件设计既是过程又是模型。
设计过程是一系列的迭代步骤,使设计人员能够描述目标系统的各个侧面。
设计模型首先描述目标系统的整体架构,然后逐步细化架构得到构造每个细节的指导原则,从而得到系统的一系列不同的视图。
良好的设计原则可为设计过程导航。
衡量设计过程的技术原则:
设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求。;对于开发者和未来的维护者而言,设计必须是可读的、可理解的,使得将来易于编程、易于测试、易于维护。
设计应该给出软件的全貌,包括从实现角度可看到的数据、功能、行为。
衡量设计模型的技术原则
设计模型应该是一个分层结构。该结构:
使用可识别的设计模式搭建系统结构。
用显示良好设计特征的构件构成。
可以用演化的方式实现。
设计应当模块化。;设计应当包含数据、体系结构、接口和构件(模块)的清晰的视图。
设计应当根据将要实现的对象和数据模式导出合适的数据结构。
设计应当建立具有独立功能特征的构件。
设计应当建立能够降低模块与外部环境之间复杂连接的接口。
设计模型应当通过使用软件需求信息所驱动的可重复的方法导出。
Davis的软件设计原则
设计应具有可跟踪性,能回溯到软件需求;;设计不必每次都从头做起,可以复用已有的设计模式和数据模式。
设计应当缩小软件与现实世界中问题的“智力距离”,尽量???近问题领域的结构;
设计应具有一致性和集成性。整个系统应具有统一的风格和格式,具有良好的接口。
设计结果应能适应未来可能的变更;
设计不是编码,编码也不是设计。设计模型的抽象级别比源代码高。在编码级别上唯一的设计决策是补充一些实现细节。;设计应具有容错性和异常处理能力。对于异常数据、事件、操作条件等能够平滑处理。
在建立设计方案时就应能评估设计质量,而不是在系统编码之后。
应坚持设计评审,减少概念性(语义性)的错误。
1) 设计应遵循抽象化的原则,包含数据抽象和过程抽象。
;过程抽象 是指在软件设计中将处理过程的实现细节隐藏在数据抽象中,可以直接通过模块接口使用这些处理操作。
数据抽象 是指采用抽象数据类型表示数据,实现数据封装,使得使用者可通过接口使用数据而不必关心数据结构的实现。
设计应遵循自顶向下、逐步细化的原则,建立一个层次的结构。
将软件体系结构自顶向下,对过程细节和数据细节从抽象到具体,逐层细化,直到用编程语言的语句能够实现为止。;设计应当遵循模块化的原则。
每个模块可独立地开发、测试,最后组装成完整的程序。
其出发点是本着将一种复杂问题“分而治之”的原则。其目的是使程序的结构清晰,容易阅读、理解、测试、修改。
Meyer的良好模块设计方法的标准
模块可分解性 可将系统按问题/子问题分解的原则分解成系统的模块层次结构;
模块可组装性 可利用已有的设计构件组装成新系统,不必一切从头开始。;模块可理解性 一个模块可不参考其他模块而被理解;
模块连续性 对软件需求的一些微小变更只导致对某个模块的修改而整个系统不用大动;
模块保护 将模块内出现异常情况的影响范围限制在模块内部;
设计应遵循信息隐蔽的原则。
Patnas主张在开发时,将每个程序的成分隐藏在模块内,定义每一个模块时尽可能少地显露其内部的处理。;每个模块的实现细节对于其它模块是隐蔽的,将来修改软件时偶然引入错误所造成的影响就可以局限在一个或几个模块内部,不致波及到软件的其它部分。
在可预见将来可能修改的场合,信息隐蔽可以提高软件的可修改性、可测试性和可移植性。;3.2 功能独立性;;非直接耦合(Nondirect Coupling);数据耦合 (Data Coupling);标记耦合 (Stamp Coupling);控制耦合 (Control Coupling);外部耦合(External Coupling)
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
公共耦合(Common Coupling)
若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环
您可能关注的文档
- 深圳市东方港湾投资管理有限责任公司_深圳市东方.pptx
- 深圳市丽蒂雅化妆品有限公司礼仪培训.pptx
- 深圳市房屋征收与补偿实施办法.pptx
- 深圳市清洁能源汽车市场化研究.pptx
- 深圳市社区儿童保健服务包.pptx
- 深圳市某区域改造规划方案.pptx
- 深圳市第五大道项目整合推广策略全案.pptx
- 深圳某住宅项目整合推广策略提案.pptx
- 深圳文化地产市场调研报告.pptx
- 深圳某公司销售技巧培训资料.pptx
- 2024年云南省昆明动物研究所肿瘤信号转导学科组招聘1人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年云南省中国移动春季校园招聘188人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年云南省昆明市水产科学研究所招聘2人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年2024-2024学年一年级下学期班主任工作计划.docx
- 2024年学期计划篇.docx
- 2024年如何做好转化后进生工作.docx
- 2024年履行党风廉政建设一岗双责情况汇报2024.docx
- 2024年教师辞职申请书集锦13篇.docx
- 2024年大学学习部干事的工作报告七篇精选.docx
- 2024年营销方案营销方案六篇.docx
最近下载
- 救护队预防性检查.ppt
- 新型轻钢装配式复合墙板.pdf VIP
- 2023-2024学年陕西省西安市雁塔区数学三年级第一学期期末考试试题含答案.doc
- 酚醛树脂1.ppt
- 2022-2023年度武汉规划展示馆与两型社会展示馆定稿.pdf VIP
- 煤矿地质学培训教材.pdf
- BS ISO 4864-2023 Ships and marine technology. Jacking system appliances on self-elevating 船舶和船舶技术. 自升式顶升系统设备.pdf
- 【提分专项】闽教版英语小升初总复习-语法部分(B卷有答案).docx VIP
- 空压机工作原理及技术方案.docx
- 人教版(2023版)初中历史八年级上册全册同步练习+单元及期中期末测试合集(含答案)【可编辑可打印】.docx
文档评论(0)