- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构概念提取
软件体系结构是系统的一个或多个结构,它包括:软件的组成元素(构件),这些(构件)元素的外部可见特性,以及这些元素(构件)之间的相互关系。
体系结构是一种高层设计,是一种前期的设计活动,是软件系统的本质属性。
结构是系统元素本身的集合
视图是结构的表示
构件-连接器视图,是最重要的视图,反映运行时模型
分解视图,反应静态的结构信息。
分配视图,投影到外部环境,又从软件/硬件方面分为实现视图(制品视图)和部署视图。
行为视图,考虑时间因素,追踪和控制系统,又分为基于消息、概要活动、单元素行为视图,以及转化为用例视图。
构件是软件系统的结构块单元,是软件功能设计和实现的承载体,每个构件都承担着一定的功能并发挥着一定的作用。构件可以看做是模块、类、对象等一个相关功能的集合。
连接是构件间建立和维护行为关联及信息传递的途径。
连接需要两方面的支持:1、连接发生和维持的机制,这是实现连接的物质基础;2、连接能够正确地、无二义、无冲突地进行信息交换的保证(规则,协议)。
连接的本质是实现连接机制和信息交换协议,简称机制和协议。
连接器:当构件间联系关系复杂时,需要建立专门的连接构件以调度和协调构件间的关联关系,实现构件间联系的特殊构件称为连接器。
构件间的联系:消息和信号的传递,功能和方法的请求或调用,数据的传送和转换,构件间特定关系的协调和维持等,所有涉及构件间信息、行为、特性的联系和依赖。
动态的,运行时的结构有:进程结构、并发结构、共享数据或存贮库、客户机-服务器。
进程结构由软件中的一组进程构成,该结构包含的关系是:并发、同步、互斥。
进程结构包含“调度机制”,调度工作中包含死锁避免机制。
软件元素一般是从“构件-连接器”的元素导出。
为什么软件体系结构是必要的?
1、表述系统的初始概要信息,为开发早期进行质量分析和评估提供帮助。
2、为系统实现提供约束条件。
3、支撑重用和软件生产线的实现。
4、为涉众之间的交流奠定基础。
5、决定如何组织团队和分配任务。
模式是某一相关问题的设计结论,是一个解决方案,是过程和实体。
风格是解决问题的一些方法特征,是解决方案的框架。其核心内容是:控制原则、质量属性。
风格与模式通常从两个方面分类: 数据和控制
风格与模式具体划分为:数据流系统、调用返回系统、独立构件系统、虚拟机系统、中央存储系统。
数据流系统:批处理、管道-过滤器风格
调用返回系统:面向对象、分层风格
独立构件系统:通信过程、事件驱动风格
虚拟机系统:翻译、基于系统规则风格
中央存储系统(仓库):数据库、超文本、黑板等风格
过程控制风格:开环,闭环
其它系统:C/S、B/S、WEB、P2P、BT等风格
模式确定了解决一个特定问题的基本结构,但是它还是没有给出完整详细的方案。
体系结构模式用在大粒度设计的开始,也就是解决方案的选择。
设计模式用在整个设计阶段。
编码级模式用在实现阶段。
体系结构风格定义了一个系统家族(一个词汇表和一组约束)。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
过滤器风格例子:Unix Shell
过滤器组件:是处理单元。处理单元通过计算和增加信息来丰富数据,通过浓缩或摘录信息来提炼数据,通过以别的表示形式交付数据来转换数据。
是什么力量推动数据在管道中流动?
答:过滤器以循环的方式,从流水线中拉出其输入数据,并将其输出数据压入后续单元。
过滤器状态:1、停止状态;2、处理状态;3、等待状态。
管道-过滤器风格的特点:
1、过滤器组件是独立的;
2、除输入和输出外,每个过滤器不受任何其它过滤器运行的影响;
3、过滤器之间不共享任何信息;
4、每个过滤器不知道其上游或下游过滤器的ID号。
管道过滤器风格的优点:
1、系统易于升级:过滤器组件的重用、通过重组增加了灵活性;
2、支持并发:每个过滤器作为一个单独的执行任务,可以与其它过滤器并发执行。
管道过滤器风格的缺点:
1、共享状态信息昂贵、不灵活(处理阶段需要共享大量的全局数据,则应用该模式就低效)
2、不适于交互处理。(往往导致批处理的方式)
3、数据转换的额外开销。(考虑进行数值计算并使用unix管道的系统,必须在每个过滤器中把ASCII字符转换成实数或者将实现转换成ASCII字符。一个简单的过滤器,如两个数相加,它的绝大部分处理时间消耗在格式转换上)
面向对象风格:数据及其操作被封装成抽象数据类型(类、对象)。
面向对象风格特点:1、封装;2、继承;3、多态。
面向对象的封装性:
1、对象抽象使得组件和组件之间的操作以黑箱的方式进行。2、封装性使得细节内容对外部得以良好的隐藏。对象之间的访问是通过方法调用来实现的。3、考虑操作和属性的关联性,封装完成了相关功能和属性的包装,由对象对它们进行管理。4、
您可能关注的文档
- 必修(一) 特殊函数.doc
- 下半年食堂员工培训计划.doc
- 海淀学区探索携手互助发展共同体.doc
- 四川某轻钢结构厂房施工总结(原创 系统专业).doc
- 弦长、切线、数形结合的问题.ppt
- ARM_Linux嵌入式远程监控系统的设计.pdf
- 条码防伪防窜系统.pdf
- ch06Excel 2003表格制作.ppt
- 泰州银杏果卖不上价 但花木“钱”途光明.docx
- 电视文化的社会价值取向.pdf
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 基于Android开发的购物商城App的设计与实现-毕业设计.pdf VIP
- 测绘中级工程师职称答辩题库.pdf
- 办公大楼供电设备管理维护方案.docx VIP
- 学习小组组织与管理小组组织与管理实施计划.docx
- 2024年中考物理二轮题型(全国通用)压轴题:含压强、浮力、杠杆、滑轮的机械效率的综合计算(解析版).pdf VIP
- 高校学生工作案例分析的方法与技巧.pdf VIP
- 基于Android的网上商店商城购物系统app的设计与实现毕业论文.docx
- 地理学概论地理科学研究的基本方法.ppt
- 八年级上册英语完形填空、阅读理解专题100题(含参考答案).pdf VIP
- 2023年肺癌脑转移中国治疗指南.docx
文档评论(0)