第4章、软件设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章、软件设计

第4章、软件设计 软件设计概述(教材4-1) 软件设计的基本概念(教材4-1-1) 依据——软件需求规格说明 方法——结构化方法、面向对象方法 任务——本章所讲述的内容。 成果——软件设计文档 用途——作为程序员编写程序的依据 软件设计的内容与任务(教材4-1-4) 2个阶段:概要设计/详细设计 5(或者6)项内容:见下表 阶段 内容 任务 概要设计 架构设计 确定软件的基本架构 数据设计 设计系统的总体数据结构 模块设计 划分模块 接口设计 软件内部各模块之间的接口 所开发软件与外部系统的接口 详细设计 过程设计 明确每个模块内部的实现过程。 界面设计 上述内容与教材略有区别,将教材的“体系结构设计”细分为“架构设计”与“模块设计”等2项内容 软件设计过程(教材4-1-4) 完成上述各项设计,再加上“编写设计文档”与“设计评审”等2个步骤。 软件设计原则(教材4-1-2,自行阅读) 教材所列举一些普遍适用的原则,大致了解即可,关键是理解并且运用下面所讲述的基本概念。 软件设计的评价标准(补充) 实现需求 体系结构与模块划分合理 容易编程、测试与维护 设计意图能够理解 某些重要概念(教材4-1-3、4-2-6与1-1-4-1) 如下概念是软件设计应遵循的、最重要的技术原则。 抽象(教材4-1-3-2) 定义:忽略细节,提取本质 包含:数据抽象,过程抽象 对上述概念的举例 逐步求精(教材4-1-3-3) 对大的问题进行分解,直到最终解决。 模块化(教材4-1-3-1) 原理 将软件划分成若干个较小、相互独立但又相互关联的部件。 模块的基本要素 外部要素:名称、功能、接口 内部要素:数据结构、程序代码 如何理解 使用者只关心模块的外部特征,并不关心其内部如何实现。 模块化对软件开发的意义 方便软件的编程、测试、组装、修改与维护。 方便项目管理。 模块化与软件开发复杂度的关系 C(P1+P2)C(P1)+C(P2) E(P1+P2)E(P1)+E(P2) 划分模块的原则——模块独立性 稍后讲述 小结 模块化是软件结构设计的核心。 模块设计必须遵循相关的技术原则 信息隐藏(教材4-1-3-4) 原理 共3条,见教材。 本质 隐藏模块内部的细节,开放模块的接口。 意义 有利于编程、测试与重用。 将来修改软件时,避免错误的扩散。 思考 面向对象与信息隐藏的关系 模块独立性(教材4-2-6) 作用 判断模块划分是否合理的衡量标准 内容 藕合 / 内聚 关于藕合 有7种等级,理想的标准应该是“低藕合”。 关于内聚 同样也有7种等级,理想的标准应该是“高内聚”。 小结——理想的模块划分 功能单一,彼此通过接口交换数据。 上述知识的核心用途 如何合理地划分模块 关于软件体系结构设计(教材4-2) 需要澄清的基本问题 什么是软件体系结构?(2个不同的理解角度) 软件体系结构设计到底做什么? 关于软件架构(教材4-2-3/4-2-4) 软件架构的演变趋势: 单主机结构 客户机/服务器结构(C/S结构,client/server) 浏览器/服务器结构(B/S结构,browser/server) 当前主流的软件架构 分层:客户层、应用层、[中间层]、数据层 优势:方便部署、跨平台、负荷平衡、数据安全 分布式对象体系结构 具体知识由专门的课程讲述。 软件体系结构设计的内容 确定软件的层次架构 划分模块 模块划分的方法 结构化设计方法 面向对象设计方法 具体过程见教材第7/9章,结合案例讲述。 基本知识参考4-1关于模块化的有关原理。 关于数据设计(教材4-3) 基本意图说明 只要求大致了解教材内容,具体内容由《数据库》、《面向对象分析与设计》等课程讲述。 数据设计的层次(教材4-3-1) 层次 内容 知识 模块级 模块内部的数据结构 数据结构 系统级 数据库结构 数据库 后续应用 数据仓库 数据仓库/数据挖掘 注意 结构化/面向对象等2种方法对“数据设计”的差异 对于软件开发,需要掌握哪些数据库的知识(提示) 关系模型与关系数据库的基本原理 SQL 概念设计、逻辑设计、物理设计的概念 逻辑独立性与物理独立性的概念 E-R方法与E-R图 关系范式 数据库的索引 数据库的查询优化技术 关系数据库与面向对象数据库之间的关系 存储过程与触发器 ……… 用户界面设计(教材4-4) 意图说明 界面设计并非软件工程所研究的主要内容,也并非软件项目成败的关键因素,但影响用户对软件的评价乃至软件的实用性。 计算机系统工程包含“人机工程”,相关知识有专门的课程讲述。 本课程不要求深入掌握此方面的内容,只要求大致了解软件界面设计的一些基本原则。 “界面设计”的任务 最高境界:给出软件每个界面的具体要求。 一般情况:约定界面风格,给出典型界

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档