- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构第3讲
温故知新 构件定义及特点 常见构件 构件的特征信息 构件的分类 构件的开发 构件的组织和检索 构件的组装 软件体系结构 第 3 讲: 软件体系结构的4+1模型 江贺 内容摘要 4+1模型概述 逻辑视图 进程视图 开发视图 物理视图 场景视图 4+1模型的文档 小结 4+1模型概述 Kruchten 1995年提出。 Krutchten. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software,1995 基本思想:单个视图难以全面描述,“横看成岭竖成峰,远近高低各不同”。 解决方案:多个视图来刻画同一个体系结构, 4+1模型概述 逻辑视图 强调系统的功能性需求 使用类、对象来表示。从问题域出发,采取面向对象分析方法,按照抽象、封装、继承的原则,获得代表问题抽象的对象和类。 逻辑视图 符号标记方法 逻辑视图 例1 逻辑视图 例2 进程视图 关注系统的非功能性需求,如性能,可用性。强调系统的并发性、分布性、容错,以及逻辑视图的类如何对应到进程。 进程是由一系列的任务构成的执行单元。软件被分解成为众多的任务,这些任务分成两种:主任务和辅任务。主任务针对软件的主要功能,辅任务是为了完成主任务而引入的,如缓存、延时等。 进程视图 主任务之间的通信方式包括基于消息的同步/异步、远程过程调用、事件广播等。 辅任务之间通信主要通过共享内存等方式。 进程视图 符号标记方法 进程视图 例 开发视图 强调在开发环境下,如何将软件划分成为不同的模块或者子系统,以便分配给程序员或团队开发。 通常这样的子系统都是以层次方式组织,每一层通过接口给上一层提供服务。 开发视图遵循的三大原则:分割、编组、可视化。 设计开发视图的时候主要考虑到以下因素:开发的难易程度、软件管理、重用和通用性、工具及开发语言的限制。 开发视图 符号标记方法 开发视图 例子 物理视图 主要考虑如何将软件映射到不同的物理硬件上去。 物理视图 符号标记方法 物理视图 例子 物理视图 例子 物理视图 例子 场景视图 场景(用例)是把前4个视图串联在一起的纽带,而且不仅仅如此! 实际上, 场景是发现软件体系结构元素的驱动者。 场景是体系结构设计结束后验证和演示的最好角色,不管是书面形式还是作为测试体系结构原型的起始点。 场景视图 符号标记方法 利用逻辑视图表示构件的方法来表示场景视图的构件(所不同的是使用实线) 使用进程视图中的连接件方式表示场景视图中的连接件 场景视图 例 4+1模型的文档 软件体系结构文档 软件设计指南 4+1模型的文档 软件体系结构文档 标题页 修改历史 插图列表 1.目录 2.范围 3.参考书目 4.体系结构目标和约束 5.逻辑体系结构 6.进程体系结构 7.开发体系结构 8.物理体系结构 9.场景 10.规模和性能 11.质量 附录 a.首字母缩略词和缩写 b.定义 c.设计原则 4+1模型的文档 软件设计指南 在软件体系结构设计过程中得到的一些约束,要求软件设计过程中必须遵守,以维护体系结构的一致性。 小结——5种视图比较 谢谢! 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 文档是对软件体系结构的记录,是软件开发和验证的基础。软件体系结构文档格式与面向对象的需求分析比较类似。标准的由来都是有原因的。美国火车的钢轨宽度标准的例子,p151 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 1、软件开发过程的划分。 2、不同阶段的人员构成 2.1 各种人员在软件开发阶段的作用 2.2 人员划分在中小软件企业中不清晰,往往一人身兼数职,这也就限制了软件企业的发展。 1、软件开发过程的划分
文档评论(0)