姓名:蒋妮学号:s1124 w174
第1章软件体系结构概论。
一、基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件、如何管理以及重用构件?
1)构件获取有多种不同的途径:
1. 从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;
2. 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;
3. 从市场上购买现成的商业构件,即cots(commercial off-the-shell)构件;
4. 开发新的符合要求的构件。
2)构件的管理:
它包括四个部分:
1.构件描述:构件模型是对构件本质的抽象描述,主要是为构件的制作与构件的重用提供依据;从管理角度出发,也需要对构件进行描述,例如:
实现方式、实现体、注释、生产者、生产日期、大小、**、版本和关联构件等信息,它们与构件模型共同组成了对构件的完整描述。
2.构件分类与构件库组织:
构件分类方法包括三类:关键字分类法:基本思想是根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构,每个概念用一个描述性的关键字表示,不可分解的原子级关键字包含隶属于它的某些构件。
刻面分类法:主要思想**于图书馆学。定义若干用于刻画构件特征的‘面’,每个面又通过若干概念表述构件在面上的特征。
如描述构件执行的功能、被操作的数据、应用的语境或任意其它特征。超文本组织法:基本思想是所有构件必须辅以详尽的功能或行为说明文档;说明**现的重要概念或构件以网状链接方式相互链接;
3. 商业化构件分类。如果把软件系统看成是构件的集合,从构件的外部形态看,构成一个系统的构件可分为:独立而成熟的构件;有限制的构件;适应性构件;装配的构件;可修改的构件;
4.人员及权限管理。构件库系统是一个开放的公共构件共享机制,任何使用者都可以通过网络访问构件库。一般来讲,构件库系统可包括五类用户,即注册用户、公共用户、构件提交者、一般系统管理员和超级系统管理员。
3)重用软件。
构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:检索与提取构件、理解与评价构件、修改构件、构件组装。
二、软件体系结构定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?
1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
2)软件体系结构在软件系统中的作用:
1.体系结构是风险承担者进行交流的手段。软件体系结构代表了系统的公共的高层次的抽象。这样,系统的大部分有关人员(即使不是全部)能把它作为建立一个互相理解的基础,形成统一认识,互相交流。
2.体系结构是早期设计决策的体现。 软件体系结构明确了对系统实现的约束条件;软件体系结构决定了开发和维护组织的组织结构;软件体系结构制约着系统的质量属性;通过研究软件体系结构可能**软件的质量;软件体系结构使推理和控制更改更简单;软件体系结构有助于循序渐进的原型设计;软件体系结构可以作为培训的基础。
3.软件体系结构是可传递和可重用的模型。软件体系结构级的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响,这比**级的重用要有更大的好处。
第3章软件体系结构风格。
一、试分析和比较b/s,二层c/s和三层c/s,指出各自的优点和缺点。
1.浏览器/服务器(b/s)风格就是c/s三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。
b/s体系结构主要是利用不断成熟的www浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,b/s结构是一种全新的软件体系结构。
其优点包括:
1)基于b/s体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
2)b/s体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
其缺点包括:
1)b/s体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;b/s体系结构的系统扩展能力差,安全性难以控制;
2)采用b/s体系结构的应用系统,在数据查询等响应速度上,要远远地低于c/s体系结构;
3)b/s体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于**事务处理(oltp)应用。
软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,c/s体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。 c/s体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。
其优点包括:
1)c/s 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受;
2)系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小;
3)在c/s体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个dbms进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
其缺点包括:开发成本较高;客户端程序设计复杂;信息内容和形式单一;用户界面风格不一,使用繁杂,不利于推广使用;软件移植困难;软件维护和升级困难;新技术不能轻易应用。
3.三层c/s体系结构可以将整个应用逻辑驻留在增加的应用服务器上,客户机上只有表示层,从而被称为‘瘦客户机’结构。将应用功能分为表示层、功能层和数据层。
表示层是应用的用户接口部分,担负着用户与应用间的对话功能;功能层相当于应用的本体,它用于将具体的业务处理逻辑编入程序;数据层就是数据库管理系统,负责管理对数据库数据的读写。
其优点包括:
1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性;
2)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性;
3)应用的各层可以并行开发,可以选择各自最适合的开发语言;
4)利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。
其缺点包括:
1)三层c/s结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
2)设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层c/s结构的关键问题。
第4章软件体系结构描述。
一、体系结构描述有哪些方法?有哪些标准和规范?
1.体系结构的描述有以下几种方法:
1)图形表达工具。
这是一种最简单易懂且使用广泛的方法是采用矩形框和有向线段组合而成的图形表达工具。矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通信、控制或关联的连接件。目前这种图形表达工具在软件设计中占据主导地位。
尽管由于在术语和表达意义上存在着一些不规范和不精确。
2)模块内连接语言
采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(module interconnection language mil)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。例如,ada语言采用use实现包的重用,pascal语言采用过程(函数)模块的交互等。
3)基于软构件的系统描述语言
例如,一种多变配置语言(proteus configuration language,pcl)就可以用来在一个较高的抽象层次上对系统的体系结构建模,darwin最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体系结构。这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。
4)软件体系结构描述语言
软件体系结构的第四种描述和表达方法是参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言(architecture description language adl)。由于adl是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,adl是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法,目前,已经有几十种常见的adl。
2.体系结构有这些标准和规范:
1)ieee p1471
ieee p1471于2023年9月21日通过ieee-sa标准委员会评审。ieee p1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。
ieee p1471详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。
ieee p1471还讨论了体系结构描述实践,在应用体系结构描述的推荐标准时,应遵循如下几个具体的要求:体系结构的存档要求;能识别人员及其关系;体系结构视点的选择(视点的具体规格说明);体系结构视点;体系结构视点之间的一致性;体系结构原理。
2)rational
rational起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。该建议草案已经提交omg。基于rup(rational united process)、采用uml模型描述软件的体系结构,认为体系结构描述的关键是定义视点、视图以及建模元素之间的映射关系。
与ieee p1471相比,该建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于uml和rup,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果。
软件体系结构作业
课程名称 软件体系结构。课程类别 实践必修课。开课学期 2014秋季学期。1.静态模型。1.1.需求描述。1 业务需求。随着因特网的快速发展,网络已经改变和正在改变我们的生活,通过网络交易的方式已经成了一种时尚,也越来越为大多数的人们所接受和使用,各个行业也将网络营销当成一种重要的营销手段。互联网和...
软件体系结构作业
第一章 软件体系结构概论。1 基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件 如何管理以及重用构件?答 构件是指语义完整 语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统 结构上,它是语义描述 通讯接口和实现 的复合体。在实际项目中获取构件的方式...
软件体系结构作业
1.层次系统体系结构和基于消息的层次体系结构有什么区别?层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。每一层最多影响两层。在一些层次系统中,除了一些精心挑选的输出函数外,内部层次只对相邻层可见,...