- 1、本文档共125页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章概要设计(ok)概要
第4章 概要设计;“设计”随处可见;瑞典的瓦萨战舰;合理切合实际的系统结构是保证系统成功运行的首要因素。虽然Vasa战舰制造工艺精良,但船体比例严重失调,体系结构存在致命缺陷;
设计师在无前人设计经验的基础上,既要执行国王的“功能性”需求,又要考虑“性能”要求(如安全性、可靠性、造价等)。面对诸多相互冲突的约束条件,做出了错误的权衡,对一些不可能实现的要求作了妥协。;从建筑设计看软件设计;“设计”的本质;软件设计在SE中所处的位置;良好的设计的三个特征;工程管理:
概要设计
详细设计
技术:
体系结构设计
模块设计
人机界面设计
数据与算法设计;提纲;4.1 设计过程;(1)设想供选择的方案;仓库
管理员;对应的物理实现硬件方案;仓库
管理员;对应的物理实现硬件方案;(2)选取合理的方案;(3)推荐最佳方案;(4)功能分解;(5)设计软件结构;(6)设计数据库;(8)书写文档;提纲; ;杨叔子院士曾这样指点其弟子:文学中有科学,音乐中有数学,漫画中有现代数学的拓扑学。
漫画家可以“几笔”就把一个人画出来,不管怎么美化或丑化,就是活像。为什么?
因为那“几笔”不是别的,而是拓扑学中的特征不变量,这是事物最本质的东西。
;◎ Dewayne Perry和Alexander Wolf
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。
;◎ Mary Shaw和David Garlan
软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。
体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。
软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。;◎ Kruchten
软件体系结构有四个角度,它们从不同方面对系统进行描述:
概念角度描述系统的主要构件及它们之间的关系;
模块角度包含功能分解与层次结构;
运行角度描述了一个系统的动态结构;
代码角度描述了各种代码和库函数在开发环境中的组织。 ;◎ Hayes Roth
软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 ;◎ Barry Boehm
软件体系结构包括一个软件和系统构件,互联及约束的集合;一个系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。 ; 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。;4.2.2 典型软件体系结构;4.2.3 分层体系结构;4.2.4 客户机/服务器结构;4.2.4 客户机/服务器结构;4.2.4 客户机/服务器结构;请从概念、优势、不足、案例等方面对比分析Client/Server、Browse/Server、Three-tier、P2P、Distributed 5种常见的软件体系结构。;提纲;5.3 设计原理;5.3.1 模块化;5.3.1 模块化;5.3.1 模块化;5.3.1 模块化;5.3.1 模块化;5.3.2 抽象;5.3.3 逐步求精;5.3.3 逐步求精;5.3.3 逐步求精;5.3.4 信息隐藏和局部化;5.3.5 模块独立;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.1 模块的内聚性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;5.3.5.2 模块的耦合性;提纲;5.4 启发规则;5.4.1 模块功能的完善化 ;5.4.2 改进软件结构提高模块独立性;5.4.3 模块规模应该适中;5.4.4 深度、宽度、扇出和扇入都应适当;M;模块的控制范围包括它本身及其所有的从属模块;
文档评论(0)