第11章 系统结构与包模型模型.

Slides:



Advertisements
Similar presentations
[ Java 程序设计 教程 ] 阎菲 陈利 向郑涛 陈宇峰 中国水利水电出版社.  Java 语言是对软件开发技术有深 远影响、应用前景广泛、具有丰富 的类库、继承了 C++ 传统(摈弃了 某些不足)广泛使用的网络编程语 言。 Java 语言的特性使它可以最大 限度地利用网络。  本章介绍面向对象的基本概念:对.
Advertisements

面向对象与设计模式 RD 常见编程范式介绍  并行编程 - Process-orientedProcess-oriented  组件编程 - Component-basedComponent-based  事件驱动 - Service-oriented,Time-drivenService-orientedTime-driven.
开始 周海 2012 级中软定制专业方向说明. 三个方向 Java 与移动互联.NET 软件开发 嵌入式开发.
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
诺德投标办公管理系统 功能介绍 投标之利器 中标之工具 获胜之法宝 成功之保障 总 经 销:四川奇诺德科技有限公司 二○一三年八月
武汉库得克 软件有限公司 公司简介 发展机遇 特点 一家专注于质量管理平台和整体 解决方案的提供商
壹 展会营销方式 在休闲娱乐产业中的分析. 壹 展会营销方式 在休闲娱乐产业中的分析 对于行业、企业、产品的作用 会展营销 的作用 会展营销 集行业资源要素、灵活多变的活动手段、面对面的展览展示等优点,已经发展成为所有行业开展营销工作的首选手段。 1、市场调研功能 5、注意力经济效应 2、产品创新功能.
行政执法人员 综合法律知识培训 二OO六年八月.
HE Fixed Assets Manage System
第2框 文化创新的途径 考点:理解文化创新的重要途径.
第二章 三代的興衰與文化 第一節 三代興衰與封建制度 學習目標: 夏商周三代的興衰與大事 封建制度的本質、內容及重要性 宗法制度的特徵及與封建制度的關係 禮樂制度的實施範疇與內涵 封建制度下的社會階級制度.
21世纪全国高职高专 计算机系列实用规划教材 计算机网络技术基础 主 编: 杨瑞良 李 平 副主编: 邱 涛 李明龙.
安全自护我能行 ——八年(1)班主题班会.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
麵包的秘密 作者:奧亨利.
臺南市104學年度 國民中小學新進教師研習課程 廉政宣導與案例研習 臺南市政府教育局政風室 科員 黃彥雄.
技職教育之人才培育 -以育達商業技術學院為例 王育文 戴美華 育達商業技術學院 吉林大學企業管理系 副校長 博士生
每周物流资讯 苏州得尔达国际物流有限公司 第四十三期.
龙海公寓· 多城一家O2O项目 商业计划书 2015年7月.
临沂市华泰工艺美术有限公司 人事管理制度培训.
僑務委員會法規委員會 專門委員兼執行秘書徐佑伶
速收简历 速收简历移动APP项目 速收简历团队.
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
法務部行政執行署彰化分署 行政執行官李垂章
扬州大学建筑科学与工程学院 青年共产主义学校 第十期暨主要学生干部培训班 二OO八年十二月.
大道至简:自主学习拿高分 丽水市教育教学研究院 朱德飞.
大家都来关注国家安全 南京市江宁中学 傅德柱.
班主任素质提升要走自主发展之路 广 东 技 术 师 范 学 院 外国语学院 英语(翻译)12级1班 李秀云.
第八章 网络课程的设计与开发.
引领民族复兴的战略布局 —— 关于“四个全面”若干问题之解读 福建省委党校 福建行政学院 曹敏华教授.
第十一章:思路与谋篇 教学内容: 1、思路及有关概念; 2、谋篇(结构)的原则; 3、谋篇的方法(层次段落安排, 过度与照应,开头与结尾).
法務部行政執行署彰化分署 行政執行官李垂章
郴州新网商城电子商务托管 ---- 专业的第三方电子商务服务商 ---- 整体托盘服务商资质.
锡域社会化分销系统 (第二版).
农作物病虫害图解 阜宁县农业干部学校 二OO九年四月.
转正述职报告 乐恩公司 史航
克拉玛依职业技术学院klmyzyjsxy
互联网时代班主任的挑战 万玮 2014年9月20日.
為升中子女作最好的裝備: 家長錦囊 香港教育學院中文學系 文英玲.
報告人: 財政部採購稽核小組稽核委員 台灣菸酒股份有限公司王自來
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
大拇指游戏的类似经历 1、作息时间? 2、 考试成绩? 板书,表情典型性 3、心情?.
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
外观模式.
鄉村尋根-農具篇.
CH09 套件 物件導向程式設計(II).
指導老師:王文彥 老師 學生:王冠樺、鄭培宇、許智惟、黃柏翎 崑山科技大學資訊工程系 2012/01/16
软件建模与UML.
第7章 SQL Server代理服务 7.1 SQL Server代理服务配置 7.2 定义操作员 7.3 作业管理 7.4 警报管理
《网上报告厅》使用说明 北京爱迪科森教育科技股份有限公司.
数据库技术与应用 (开学篇) 同济大学.
第14章 外观模式 Deng Song
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
第五章 类图和对象图.
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
从“聚焦课堂”到  “关注教育教学全过程” 浙江省教育厅教研室 张 丰 二OO八年十二月.
臺北市私立大同高中105年 地震疏散演練 上午9時21分, 實施防災演練, 9月13日0730實施預演.
Access数据库基础与应用 主编 黄秀娟.
明湖國小 文書講習 時間: 地點:總務處.
方格紙上畫正方形.
案例分析: THE NEXTGEN POS SYSTEM
FrontPage 2000.
JAVA 程式設計與資料結構 第三章 物件的設計.
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
PureMVC 孙晓申.
Presentation transcript:

第11章 系统结构与包模型模型

OO 分析模型到 OO 设计模型的映射

包图 概述 包 包之间的关系 包图建模技术

概述 包图是维护和控制系统总体结构的重要建模工具 包图方便理解和处理整个模型

包 包是将多个元素组织为语义相关组的通用机制 包的内容 拥有或引用的模型元素 作为模型组织结构的一种分组机制,包的实例没有任何语义。因此,包仅在建模时有意义,而不必转换到可执行的系统中

包模型 包(package)是一种分组机制,也可以认为是一种集合元素或者容器元素,其中可以包含不同类型的产品。 类似于文件管理中的文件夹

包 包的名称 每个包必须有一个与其他包相区别的名称 两种形式:简单名和路径名

包 包拥有的元素 包拥有的元素:类、接口、组件、节点、协作、用例、图以及其他包 一个模型元素不能被一个以上的包所拥有 如果包被撤销,其中的元素也要被撤销 一个包形成了一个命名空间

包 包内元素的可见性 公有的(public) “+” 受保护的(protected) “#” 私有的(private)“-”

包的类型 虚包(facade) 一个包只是其他包的视图。 定义虚包,仅仅是引入而不是拥有 框架(framework ) 描述一个主要由模式组成的包 桩(stub) 作为另一个包的公共内容代理的包 子系统(subsystem) 整个系统独立部分的包 系统(system) 整个系统的包

Façade 子系统中的一组接口提供一个一致的界面,facade 定义了一个高层接口,这个接口使得这一子系统更加容易使用。 应用场合: 当需要构建一个层次结构的子系统时,使用Facade 定义子系统中每层的入口点。如果子系统之间是相互依赖的,可以让它们仅通过Facade 进行通讯,从而简化了它们之间的依赖关系。

Façade 为子系统中的一组接口提供一个一致的界面 。

Façade 为子系统中的一组接口提供一个一致的界面 。

框架 MVC模式 View层 Control层 Model层

逻辑框架 UI ActiveX组件 Microsofte基类 应用窗口 业务对象 控制业务对象 《Facade》服务接口 外部业务对象 实体业务对象 数据库 SQL产生器 《Facade》 对象到关系转换包 设计的逻辑架构

包之间的关系(依赖) 引入(import) 输出(export) 引入和访问依赖不是可传递的 允许一个包中的元素可以单向访问另一包中的元素 包的公共部分 引入和访问依赖不是可传递的

包、元素、接口之间关系 1、包与包: 依赖关系 2、元素与包: 依赖关系 3.包与接口: 实现关系

包图建模技术 对成组的元素建模 浏览特定体系结构视图中的建模元素,找出由在概念和语义上相互接近的元素所定义的组块,把每一个这样的组块放到一个包中 对每一个包找出可以在包外访问的元素,将这些元素标记为公有的,把其他的元素标记为受保护的或私有的。如果不确定时,就隐藏该元素 确定包与包之间的依赖关系,特别是引入依赖

系统的包图

包图建模技术 对体系结构视图建模 找出问题语境中一组有意义的体系结构视图 找出对于可视化、详述、构造和文档化每个视图的语义来说充分必要的元素(和图),并将它们放到合适的包中 如有必要,将这些元素进一步地组合到它们自己的包中 不同视图中的元素之间通常存在依赖关系

包模型表示系统体系结构

系统的包图 体系结构包图

软件体系结构的层次模型

软件体系结构的层次模型

软件体系结构的层次模型

软件体系结构的层次模型

软件体系结构的层次模型

软件体系结构的层次模型

以服务对象分层 以服务对象分层把持久对象作为界面对象的服务类。 这个结构有两层:界面层和持久层。在构造对象时,系统先构造或提取持久对象,然后在构造界面层的对象。 具体又分为全显露法和单显露法。

全显露法

单显露法

三层系统 用户界面层、商业逻辑层以及数据管理层

多层系统 n级系统中,有n-1对客户机/服务器。 在上述三级系统中增加一个网络服务器(Web server)和轻便客户机,就得到四级系统。

应用程序的分层体系结构 软件层的特征 1.每个层由一组相关的类或组件构成,共同完 成特定功能。 2. 层与层之间存在自上而下的依赖关系。不存在 跨层访问。 3.每个层对上层公开API,但具体的实现细节 不对外透明。

应用程序的分层体系结构 软件分层的优点 1.伸缩性:能否支持更多用户。 2.可维护性:需求变化时,影响一部分,不影 响其它部分的代码。 3.可扩展性:增加薪功能的难以程度。 4.可重用性:代码没冗余,满足多种需求。 5.可管理性:管理系统的难易程度。

应用程序的分层体系结构 软件分层缺点 1.设计人员要求高 2.体细结构合理划分,耗时大 3.调试困难 4.对于规模较小的应用,软件分层会降低开发 效率。

应用程序的分层体系结构 Java应用的持久化层 表述层 表述层 业务逻辑层 业务逻辑层 持久化层 数据库层 数据库层

包设计原则 包保持高内聚、低耦合的特点

包设计原则 1、重用等价原则 包的粒度接近包的重用程度。 核心:接口和实现类分离。

包设计原则 2、共同闭包原则 需要修改的类放在一个包内。即两个类耦合强时,放在一个包中,提高包的内聚性。 划分包的原则:概念或语义的相似性。

包设计原则 3、共同重用原则 包中的所有类应该是共同重用的。

包设计原则 4、非循环依赖原则 包之间不形成循环依赖关系

包设计原则 5、稳定依赖原则SDP 包的设计应该朝着稳定的方向进行依赖,即不稳定的包总是依赖稳定的包。应该把封装系统高层设计的软件模块(比如抽象类)放进稳定的包中,不稳定的包中应该只包含那些很可能会改变的软件(比如具体类)。 例如:业务规则和业务对象相比较界面来说,是稳定的,因此界面依赖于业务规则和业务实体包。

包设计原则 6、稳定抽象原则 包的抽象程度应该和其稳定程度一致。抽象的元素相对于具体的元素更为稳定。 从本质上来说,系统开发中的所有元素包括模型元素和程序元素都是对现实世界的抽象,只不过抽象的程度的是不一样的,抽象的层次越高,则其适用面越广,稳定性也就越强。