发布时间:2025-12-09 16:19:09 浏览次数:4
考试题型:
10*3单选
5*3简答题
5*3设计图(含画图)
10*2 论述题
10*2综合题
复习以课件为主,书为辅
第一章
(软件危机)
?
?
构造模型与实现
掌握软件结构体系核心模型
第二章
软件体系结构建模种类
最重要是4+1视图模型(进程视图与处理视图是一个东西,翻译问题)(对应不同风险承担者)(哪些视图动态静态)(运行期质量))刻画哪些方面)(会考多个选择题)(主要看每个视图支持什么)
软件体系结构生命周期
至少会最基础的逻辑视图
会画出视图模型
第三章
经典软件体系结构风格
第一种不考
数据抽象与面对对象通读一遍,不怎么考
隐式调用,通读一遍
分层的优缺点(选择题)
仓库系统掌握,选择题
cs风格,考试重点,可能在论述里面,尤其知道每种风格特点优缺点
三层cs风格解决方案以及优缺点
bs优缺点,区别
技术规范看一下,可能有选择题
正交软件体系,掌握,模型要画图,特征优点
hmb可能有选择题
领域限定可能有选择题,简答题不一定
第四章
形式化不用看
描述方法的分类,掌握
模块内链接语言,定义,优缺点
软构建,可能有选择题
软件体系结构语言,非常多考点
adl与其他语言比较:掌握
其他无要求
第六章
组织架构形式那几种(重点
其他不做要求
第七章(重点)
动态性有哪几个(选择,简答
软件结构体系风格,至少说出五种
动态静态例子,图示,描述 怎么配置进行
动态形式化描述的方法(选择+简答
基于构建的动态体系结构,综合题,考很多,论述,涉及
局部/全局更新的请求、步骤,全部更新等(必考,案例是设计题)
软件构建,设计体系模型(设计题)
形态体系结构特征有哪些(选择简答
第十三章
产品线定义,优点,产品线的过程模型
1 3 7 13是重点
《软件体系结构》 练习题
软件体系结构重点总结
《软件体系结构》知识点整理
【软件体系结构】考点整理(习题无答案
《软件体系结构》期末复习总结
软件体系结构张友生第三版期末复习
软件危机
答案:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
软件重用
答案:是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
软件成本日益增长。开发进度难以控制。软件质量差。软件维护困难
用户需求不明确。缺乏正确的理论指导。软件规模越来越大。软件复杂度越来越高
软件工程的三要素: 方法,工具,过程
软件体系结构的生命周期模型主要分为需求分析阶段、建立软件体系结构阶段、设计阶段和实现阶段
软件体系结构设计的主要目的是满足对软件的质量需求
构造模型与实现
软件体系结构应建立于传统的.软件开发过程的需求分析和软件设计阶段之间
构件概念: 构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体
5. 常见的构件模型: OMG的CORBA。Sun的EJB。Microsoft的DCOM(分布式构件对象模型)
6. 构件分类方法: 关键字分类法。刻面分类法。超文本组织方法。
7. 软件体系结构的定义: 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。 (软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理)
8. 软件体系结构的意义: 1体系结构是风险承担者进行交流的手段 2 体系结构是早期设计决策的体现 3软件体系结构是可传递和可重用的模型
可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
软件体系结构
答案:软件体系结构是一个设计,它包括所建立系统中的各元素(构件和连接件)的描述、元素之间的交互、指导装配的范例和对范例的约束。
软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型、功能模型
结构模型:以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。
框架模型:侧重于整体的结构。主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
动态模型:是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。
过程模型:过程模型研究构造系统的步骤和过程。
功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。可以看作是一种特殊的框架模型
最终用户-系统功能-逻辑视图
系统工程师-系统的安装+发布+拓扑结构-部署/物理视图
系统集成人员-系统性能+可伸缩性+吞吐性-进程视图
逻辑视图、开发视图、进程视图、物理视图、场景视图。不包括:连接视图
答: 1、该组织是用演化方式还是革命方式引入产品线开发过程的。
产品线的过程模型
双生命周期模型
两个重叠的生命周期:领域工程和应用工程。两个周期内部都分为分析、设计和实现三个阶段,
领域工程阶段的主要任务如下:
领域分析:利用现有系统的设计、体系结构和需求建立领域模型。
领域设计:用领域模型确定领域的共性和可变性,为产品线设计体系结构。
领域实现:基于领域体系结构开发领域可重用资源。
画图
选择一个熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点。(为什么要采用这种风格?采用这种风格带来哪些优势?具有哪些不足?)
对社交软件QQ的分析:采用C/S风格,在一定程度上算三层C/S风格。
表示层:社交信息的展示,并提供了更新和搜索等操作。
功能层:具有搜索、在线聊天、离线留言、文件传输等功能。
数据层:有数据库服务器提供留言、相册、好友信息等数据。
优点:使逻辑结构更为清晰、分类明确、给用户更好的体验。
缺点:需要数据通信的支持,对网络的依赖很高,没有网络,许多功能将没有意义。
1、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段?
答案:(1)“无体系结构”设计阶段。以汇编语言进行小规模应用程序开发为特征
(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征
(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表
(4)高级阶段。以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志。
2、试述下可重用技术对构件库组织方法的几点要求:
答案:(1)支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构。
(2)不仅要支持精确匹配,还要支持相似构件的查找。
(3)不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件。
(4)对应用领域具有较强的描述能力和较好的描述精度。
(5)库管理员和用户容易使用
简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。
软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?
答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
(2)体系结构是风险承担者进行交流的手段。它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。
6、体系结构的生命周期模型分为哪几个阶段?
答案:1、需求分析阶段 2、建立软件体系结构阶段 3、设计阶段 4、实现阶段
11、试阐述与C/S体系结构相比,B/S体系结构的不足之处。
答案:
1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;
2、B/S体系结构的系统扩展能力差,安全性难以控制;
3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的低于C/S体系结构;
4、B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
14、请简述三层C/S结构的优点
答案:1、允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性。
2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性
3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比
4、允许利用功能层有效的隔离开表示层 和数据层,未授权的用户难以通过如黑客手段访问数据层,具有可控性
18、在C2中,连接件和构件是如何工作的?
答案:连接件负责构件之间消息的传递,而构件维持状态,执行操作并通过top和bottom端口和其他的构件交换信息。每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息。构件之间的消息交换不能直接进行,而只能通过连接件来完成。
42、简述双生命周期中的领域工程阶段的主要任务及内容。
(1)领域分析。利用现有的系统设计、体系结构和需求建立领域模型。
(2)领域设计。用领域模型确定领域/产品线的共性和可变性,为产品线设计体系结构。
(3)领域实现。基于领域体系结构开发领域可重用资源(构件、文档、代码生成器)。
软件产品线的划分依据有?
答案:1、该组织是用演化方式还是革命方式引入产品线开发过程的。
2、是基于现有产品还是开发全新的产品线。
Java程序可以做到“一次编写,到处运行”,从架构风格上看符合( )风格的特点。
答题解析:虚拟机。
在网络通信中,进行包的解析,一般先进行包头的分离,然后进行报文解析及后续处理,根据这一特点,选用( )风格最合适。
答题解析:数据流风格。数据流风格就是把上一个环节的输出作为下一个环节的输入。
某公司欲开发一个基于图形用户界面的集成调试器。该调试器的编辑器和变量监视器可以设置调试断点。当调试器在断点处暂停运行时,编辑程序可以自动卷屏到断点,变量监视器刷新变量数值,针对这样的功能描述,采用( )的架构风格最为合适。
答题解析:隐式调用。该题强调的是某个功能暂停运行时,需要调用其他的事件。
某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系,针对该目标,公司应该采用()架构风格最为合适。(四选一:管道-过滤器、隐式调用、主程序/子程序 、解释器)。
答案解析:解释器。自定义地图,并且能够运行,故选解释器。
某公司承接了一个开发家用空调自动调温器的任务,调温器测量外部空气温度,根据设定的期望温度控制空调的开关,根据该需求,公司应采用( )架构风格最为合适。(四选一:解析器、过程控制、分层、管道-过滤器)。
答案解析:过程控制。
某公司欲开发一个语言识别系统,语言识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等。每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用( )架构风格最为合适。(四选一:解释器、面向对象 、黑板、隐式调用)。
答案解析:黑板系统。只要看到是信息处理、音频处理等相关的都是黑板系统架构风格。
某公司欲开发一个漫步者机器人,用来完成火星探测任务。机器人的控制者首先定义探测任务和任务之间的时序依赖性,机器人接受任务后,需要根据自身状态和外界环境进行动态调整,最终自动完成任务。针对这些需求,该机器人应该采用()架构风格最为合适。(四选一:解释器、主程序/子程序、隐式调用、管道-过滤器)
答案解析:书上的标准答案是隐式调用,但是该题出的不严谨,从题意上来看采用进程控制的架构风格更加的合理。
Windows操作系统在图形用户界面处理方面采用的核心结构风格是() 风格。
答题解析:隐式调用。图形处理界面是典型的事件驱动,其就是点击什么按钮需要执行什么事件。
“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用(1)架构风格比较合适。随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境( IDE )随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求, IDE采用(2)架构风格比较合适, IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、 语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用(3)架构风格比较合适。某公司已经开发了一款针对某种嵌入式操作系统专用编程语言的IDE ,随着一种新的嵌入式操作系统上市并迅速占领市场,公司决定对IDE进行行适应性改造,支持采用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,采用基于(4)的架构设计策略比较合适;为了模拟新操作系统的运行环境,通常采用(5)架构风格比较合适。
(1)A. 管道-过滤器 B. 顺序批处理 C. 过程控制 D. 独立进程
(2)A. 规则引擎 B. 解释器 C. 数据共享 D. 黑板
(3)A. 隐式调用 B. 显示调用 C. 主程序-子程序 D. 层次结构
(4)A. 代理 B. 适配 C. 包装 D. 模拟
(5)A. 隐式调用 B. 仓库结构 C. 基于规则 D. 虚拟机
答题解析:
(1)B。传统的编译器采用的是数据流的结构风格,上文中又强调了作为一个整体,故选择B。
(2)C。数据共享又叫仓库风格,但是黑板也是属于仓库风格中的一种,故选D也是可行的
(3)A。上文中强调的是修改程序代码后,需要调用其他的事件,故选A。
(4)B。上文中强调的是要在老系统中模拟出新系统的运行环境,典型的适配器架构模式
(5)D。虚拟机架构风格能够解决不同环境的相互兼容。