软件体系结构作业(完整版) 联系客服

发布时间 : 星期四 文章软件体系结构作业(完整版)更新完毕开始阅读5da9d123a55177232f60ddccda38376baf1fe09c

Acme:支持ADL 之间的映射及工具集成的体系结构互交换语言.其目标是作为体系结构设计的一个共同的互交换格式,以便将现有的各种ADL 在这个框架下统一起来;而它本身也可以看作是一种ADL.

xArch:一种基于XML 的ADL.它使用XML 定义了描述体系结构的核心元素,可以用来简单的描述软件体系结构,也可以作为设计其它ADL的基础,或者用作体系结构描述描述语言的互交换机制。

xADL2.0:以xArch 为基础的基于XML 的ADL。除了xArch 的核心元素,xADL2.0 还提供了对系统运行时刻和设计时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,以及对产品家族的体系结构的建模支持.此外,xADL2.0还利用XML 的可扩展性简化了新的ADL的设计及其相应工具的开发过程。

4、对一个你熟悉的软件系统,如果要使用ADL对其体系结构进行描述,你会选择哪一种?为什么?这样选择的优点和缺点各有哪些?

我会选择Acme。下面介绍原因:

Acme是CMU的Acme项目的产物.该项目始于1995年,目的是为了研究一个公共的语言,使之能在不同的体系结构设计工具之间作为体系结构描述信息互换的桥梁.目前Acme及其开发工具包AcmeLib提供了一个通用的,可扩展的基础框架用于描述,表示,生成以及分析系统的软件体系结构.而作为桥梁作用的Acme,由于必须具备大多数ADL共有的概念,因此它本身也是一个ADL,并且是一个相对而言比较简单的通用的ADL. Acme的建模元素和特点 Acme的主要特点表现为:

采用七个基本的体系结构设计元素作为体系结构的本体(architectural ontology),

采用灵活的标注机制支持使用外部语言定义的非结构化信息 ,使用类型机制对常见的可复用的软件体系结构俗语和风格进行抽象描述 使用开放的语义框架对体系结构描述进行推理 Acme的设计元素 Acme的设计元素 ,以下对Acme所采用的设计元素进行简要介绍.这七个设计元素是:

构件(components):系统中的计算元素和数据存储.直观的说,就是线框图中的框.典型的构件有:客户端,服务器,数据库,黑板,过滤器等.

连接子(connectors):构件之间的交互.直观的说,就是线框图中的线.典型的连接子有:过程调用,事件广播,客户和服务器之间的协议等. 系统(systems):构件和连接子的配置.

端口(ports):构件通过端口与外界发生交互.一个构件可以有多个不同类型的端口,每个端口都是一个接口的集合,例如一系列需要以特定顺序调用的过程.

角色(roles):连接子通过角色与外界发生交互.角色定义了构件之间交互的参与者.

表示(representations):构件或者连接子内部结构的描述.通过\表示\这个概念,系统的体系结构就具有了层次结构.同时,\表示\这个概念可以用于描述体系结构实体的多个视图(但是Acme本身并不处理视图之间的对应关系)。

映射(rep-maps):将构件或者连接子的内部\表示\与外部接口进行映射. 简单的客户端-服务器系统

以下是一个简单的客户端-服务器系统的Acme描述:

Acme本质上是一些ADL的建模元素的\最大公约数\因此它能作为不同ADL及其支撑工具之间用于信息交换的语言.这是Acme的最大作用,当然这也使得它只能成为一个建模能力一般的ADL,例如Acme中就没有相应的机制用于对构件或者系统行为进行描述或者规约.相关研究者正在考虑在Acme中引入类似于Wright中使用的CSP的形式化语言来解决这个问题.当然,作为一个通用的交换语言,Acme的能力及其可扩展性也不是无限的.例如Acme的扩展仅限于在七个基本设计元素的基础上进行,并且Acme中缺乏用于描述属性及其数据格式的元语言.无论如何,Acme是第一个ADL之间的互交换语言,它的出现使得不同的ADL支持工具之间有可能进行体系结构描述信息的交流.

5、选择一个规模适中的系统,使用UML为其建模。

为一个网上购物系统利用UML为其建模,如下:

统一开发过程RUP把整个软件开发过程分为初始、细化、构造、交付四个阶段,具有用例驱动、以架构为中心、迭代和增量的特点。同其它软件开发方法相比较,RUP具有自身独特的优势,为软件开发提供了重要的方法论指导根据对网上购物系统的体系结构及建模分析,采用UML作为建模语言,结合RUP的基本开发过程,提出适合网上购物系统开发的建模过程。该过程遵循了RUP四个阶段的理论,主要是对初始和细化两个阶段进行了详细的分析。整个过程包括业务建模、需求建模、对象建模、数据库建模和物理建模等五个步骤,每个步骤都会生成一定的系统模型,并用相应的UML图来描述这些模型。在建模过程中,论文采用了RUP中迭代增量式的开发思想,把系统的建模进一步分解为迭代,一个迭代是一个从系统的业务建模到物理建模的完整过程,每一个迭代都会产生一个模型版本,是最终模型的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程,直到成为系统的最终模型。 1 业务建模

业务建模用于对网上购物系统环境的业务过程进行建模。系统分析人员通过网上购物系统的业务建模能够了解系统所处的环境和业务过程,业务建模能够将这些信息进行体现,并表现环境中存在或可以觉察到的过程,从而详细说明网上购物系统所要支持的业务过程。业务建模既确定了业务过程涉及到的业务对象和领域对象,又确定了每个业务过程所需要的资源和能力,包括人员、每个人员的职责和执行的操作、过程的执行方式和协作等。这些信息对于下一步的需求建模是非常重要和有用的。

业务建模一般通过业务过程图来进行描述。业务过程图是对事件逻辑的归类,这些事件被认为是业务的基本元素。其目的是将整个业务领域作为一个过程集进行描述,而不关心过程的次序或单个过程之间的交互作用。业务过程图不必严格精密,它应该全面而不是精确。重要的是,通过查看业务过程图,系统分析人员、设计人员、开发人员和用户能够迅速获得关于业务范围和活动的总体印象。 2 需求建模

需求建模的主要工作是获得系统的需求,建立待开发系统的模型。而用例则有助于更好地了解系统需求并以规范化的格式进行描述。需求建模就是要以用例的方式来描述系统的功能,其主要工作成果是用例模型。采用用例模型来描述进行需求建模的主要过程如下:(1)确定所要开发系统的参与者,参与者可以是人,也可以是与系统交互的外

部系统。网上购物系统的参与者主要有管理员、工作人员、顾客、支付系统等。(2)从执行者的角度出发,分析他和系统需要进行的交互作用,并从这些交互过程中抽象出用例。从顾客的角度出发,网上购物系统一般有以下用例:用户登录、用户注册、浏览商品、搜索商品、购买商品、下订单、支付等;从系统管理员的角度出发,网上购物系统一般有以下用例:用户登录、用户管理、商品管理、订单管理等。(3)对每一用例确定其主要的业务过程。例如“用户登录”用例的业务过程为顾客、系统管理员、工作人员等通过用户登录可以获得相应的服务;“支付”用例的业务过程为顾客为所够买物品选择付款方式进行付款。(4)以信息流为中心逐步形成完整的用例模型。网上购物系统的完整用例模型包括很多的用例图,其中既包括系统的顶层用例图,也包括各种细化的用例图。 3 对象建模

确定了系统的需求分析、得出系统的用例模型以后,需要进行的主要任务就是对系统进行对象建模。对象建模的主要工作是把需求建模阶段产生的用例模型转化为系统的静态结构模型和动态行为模型,使建立的系统在特定的环境下完成需求分析中的任务和功能,有利于系统的实现和迭代。这其中主要包括静态结构建模和动态对象建模两部分。 4 数据库建模

数据库建模是从计算机系统的角度对系统所要处理的数据进行建模。数据库系统是整个网上购物系统的基础,数据库建模的好坏直接影响到整个系统的结构、实现的复杂程度、性能、安全性和可维护性等。传统的逻辑数据库建模工具“实体一联系(E.R)\图只针对数据建模,不能对行为建模。而UML的类图能够更好的用于数据库建模。UML的类图不但对数据建模,而且能对行为建模,这些行为在物理数据库中被设计成触发器和存储过程。即使是关系数据库,也可以在类图设计落实后,再采取标准方法把类图映射到具体的关系模型。从类图到关系模型的转换,按照一个类映射为一个关系的原则进行,而类的属性即为关系的属性,标识的标识符即为关系的主键。 5 物理建模

物理建模用于网上购物系统建模过程的最后阶段,是对网上购物系统的物理方面进行建模。它使用UML中的组件图描述网上购物系统中代码组件的物理结构及各个组件之间的依赖关系,使用配置图定义网上购物系统的软硬件结构及通信机制,表示软硬件系统之间的协作关系。

以上五个步骤是根据RUP的四个阶段细化的结果,分别对应了RUP中相应的核心工作流。其中业务建模对应RUP的业务建模工作流,需求建模对应RUP的需求建模工作流,对象建模和数据库建模对应RUP的分析和设计工作流,物理建模对应RUP的实施工作流,对开发完成的系统进行测试、部署和管理分别对应RUP的测试工作流、部署工作流等。

6、尝试使用XADL 2.0描述一个基于B/S体系结构的软件系统。

XADL2.0是以xArch 为基础的基于XML 的ADL。除了xArch 的核心元素,xADL2.0 还提供了对系统运行时刻和设计时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,以及对产品家族的体系结构的建模支持.此外,xADL2.0还利用XML 的可扩展性简化了新的ADL的设计及其相应工具的开发过程。

充分发挥了 B/S 与 C/S 体系结构的优势,弥补了二者不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。(2) 信息发布采用 B/S 结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的 WWW 浏览器。而且由于WWW浏览器和网络综合服务器都是基于工业标准,可以在所有的平台上工作。(3)

数据库端采用 C/S 结构,通过 ODBC/JDBC 连接。这一部分只涉及到系统维护、数据更新等,不存在完全采用 C/S 结构带来的客户端维护工作量大等缺点。并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多 B/S 存在的固有缺点。(4) 对于原有的基于 C/S 体系结构的应用,只需开发用于发布的 WWW 界面,就可非常容易地升级到这种体系结构,并保留原来的某些子系统。这样就充分地利用现有系统的资源。(5) 通过在浏览器中嵌入 ActiveX 控件可以实现在浏览器中不能实现或实现起来比较困难的功能。例如通过浏览器进行报表的应答。(6) 将服务器端划分为WEB服务器和WEB应用程序两部分。WEB 应用程序采用组件技术实现三层体系结构中的逻辑部分,达到封装的目的。 B/S 结构与 C/S 结构各具优缺点,怎样结合 B/S 与 C/S 开发系统是开发 MIS 系统普遍关注的问题。在应用过程中,应结合实际情况,并根据实际情况进行系统的选型与构建,从而开发出高效、安全的应用系统。