软件体系结构期末考试

时间:2019-05-15 12:50:15下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件体系结构期末考试》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件体系结构期末考试》。

第一篇:软件体系结构期末考试

软件体系结构期末考试

一、题目(论述题):

结合参与开发的软件工程项目,①论述采用的软件体系结构风格或应用框架,②论述采 用的软件设计基本原则和策略。

二、题目要求:

(1)简要说明软件体系结构的性质、研究意义和目标是什么?

(2)简要说明软件设计风格、软件应用框架和软件设计模式的特征和区别?

(3)简要说明系统中采用的中间件的作用和目标,(如果没有,请选择一种与系统契合的中间件进行描述)。

(4)假设系统没有采用SOA的架构,请简述SOA软件体系结构的基本概念,Web Service的主要协议。

三、内容要求

作业格式要求:

1、给出的标题。

2、报告内容组织结构清晰,语句流畅,无错别字。

3、图、表描述恰当、与内容契合、清晰。图、表序号标注准确。

4、A4纸,宋体小4号字,标准页边距,行间距固定值18磅,页码右下。

交打印稿。不多于20页,可正反面打印。

四、评分细则

1、题目整体结构、语言表达、整体格式(20分)

2、软件体系结构的性质、研究意义和目标(5分)

3、软件设计风格、软件应用框架和软件设计模式的特征和区别(5分)

4、系统中间件表述(5分)

5、SOA、WebService简述(5分)

6、论述部分,既要描述,也要有论证(包括适当的评估)(60分)

五、总评成绩

期末成绩*70%+平时成绩

第二篇:软件体系结构解读

创建型模式

1、工厂方法模式

工厂方法模式包含如下角色: i.Product:抽象产品 ii.ConcreteProduct:具体产品 iii.Factory:抽象工厂 iv.ConcreteFactory:具体工厂 结构图:

ProductFactory+factoryMethod(): Product...ConcreteProduct<>ConcreteFactory+factoryMethod(): Product...return new ConcreteProduct();时序图:

2、抽象工厂模式

抽象工厂模式包含如下角色: i.AbstractFactory:抽象工厂 ii.ConcreteFactory:具体工厂 iii.AbstractProduct:抽象产品 iv.Product:具体产品 结构图:

时序图:

3、单例模式

单例模式包含如下角色: i.Singleton:单例 结构图:

Singleton-instance: Singleton-Singleton()+getInstance(): Singleton...if(instance==null)instance=new Singleton();return instance;instance 时序图:

结构型模式

4、组合模式

组合模式包含如下角色: i.Component: 抽象构件 ii.Leaf: 叶子构件 iii.Composite: 容器构件 iv.Client: 客户类

结构图:

ComponentClient++++operation()add(Component c)remove(Component c)getChild(int i)...Leaf+operation()...for(Component child:children){ child.operation();}++++Compositeoperation()add(Component c)remove(Component c)getChild(int i)...children 时序图:

5、外观模式 外观模式包含如下角色: i.Facade: 外观角色 ii.SubSystem:子系统角色 结构图:

ClientFacadeSubSystemASubSystemBSubSystemC

时序图:

6、适配器模式

适配器模式包含如下角色: i.Target:目标抽象类 ii.Adapter:适配器类 iii.Adaptee:适配者类 iv.Client:客户类

结构图:类适配器

ClientTarget+request()...Adaptee+specificRequest()...Adapter+request()...specificRequest();对象适配器: ClientTarget+request()...Adaptee+specificRequest()...Adapter+request()...adapteeadaptee.specificRequest();时序图:

7、代理模式

代理模式包含如下角色: i.Subject: 抽象主题角色 ii.Proxy: 代理主题角色 iii.RealSubject: 真实主题角色

结构图:

Subject+request()...ClientProxy-realSubject: RealSubject+preRequest()+request()+postRequest()...preRequest();realSubject.request();postRequest();RealSubjectrealSubject+request()...时序图:

行为型模式

8、迭代器模式

迭代器模式包含如下角色: i.Iterator: 抽象迭代器 ii.ConcreteIterator: 具体迭代器 iii.Aggregate: 抽象聚合类 iv.ConcreteAggregate: 具体聚合类 结构图:

IteratorAggregate+createIterator()++++first()next()hasNext()currentItem()ConcreteIteratorConcreteAggregate+createIterator()...++++first()next()hasNext()currentItem()时序图:

9、观察者模式

观察者模式包含如下角色: i.Subject: 目标 ii.ConcreteSubject: 具体目标 iii.Observer: 观察者 iv.ConcreteObserver: 具体观察者 结构图:

时序图:

10、命令模式 命令模式包含如下角色: i.Command: 抽象命令类 ii.ConcreteCommand: 具体命令类 iii.Invoker: 调用者 iv.Receiver: 接收者 v.Client:客户类

结构图:

InvokerCommand+execute()...ClientReceiver+action()...ConcreteCommandreceiver-state: +execute()...receiver.action();时序图:

11、策略模式

策略模式包含如下角色: i.Context: 环境类 ii.Strategy: 抽象策略类 iii.ConcreteStrategy: 具体策略类

结构图:

Context-strategy: Strategy+algorithm().........strategy.algorithm();......strategyStrategy{abstract} +algorithm()...ConcreteStrategyA+algorithm()...ConcreteStrategyB+algorithm()...时序图:

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。——高尔基

14、书到用时方恨少、事非经过不知难。——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。——笛卡儿

17、学习永远不晚。——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向

19、学而不思则惘,思而不学则殆。——孔子

20、读书给人以快乐、给人以光彩、给人以才干。——培根

第三篇:软件体系结构实验指导书

《软件体系结构》实验指导书

实验一

系统的用例模型

实验名称:系统的用例模型

实验类型: 设计性实验 学

时:2课时

一、实验目的

1.熟悉用例图的基本功能和使用方法。

2.锻炼结合给定题目,进行有效需求分析的能力。3.掌握如何使用建模工具绘制用例图的方法。

二、实验器材

1.计算机一台。

2.UML建模工具,比如软件ArgoUML,Rational Rose 或StarUML。

三、实验内容

在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。用Rational Rose或StarUML工具软件绘制系统的用例图。下文以Rational Rose为例讲解基本步骤。

四、实验步骤

1.结合实际给定题目,完成系统的需求建模。

2.针对每个用例进行业务分析。以图书管理系统中“删除读者信息”用例为例来说明实验具体步骤。

(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。

(2)根据分析结果,书写业务流程,一般包含以下信息:

①管理员在录入界面,输入待删除的读者名;

②“业务逻辑”组件在数据库中,查找待删除的读者名; ③如果不存在,则显示出错信息,返回步骤①,如果存在则继续; ④“业务逻辑”组件判断“待删除的读者”是否可以删除; ⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续; ⑥在数据库中,删除相关信息; ⑦显示删除成功信息; ⑧结束。

3.根据分析结果,绘制用例图。以图书管理系统中“删除读者信息”用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1.1所示,为绘制用例图做好准备。

图1.1(2)在图中的工具栏选取Actor图标,在右边的图中添加一个Actor,并输入名称:administrator,如图1.2所示。

(3)在左边的工具栏中,选取用例的图标,在右边的图中画出一个用例,并输入用例的名称:login。

图1.2(4)按照步骤(3),绘制出如图1.4和图1.5的两个用例。

图1.3

图1.4

图1.5(5)在绘出了用例后,接下来的是绘制参与者与用例实现,如图1.6所示。

图1.6

(6)根据步骤(5),同时完成如图1.7和图1.8。此时,删除读者用例图就到此完成。其系统查询读者信息等其他的功能会在时序图和活动图中描绘。

(7)根据分析情况,进一步添加或细化用例图。

图1.7

图1.8

五、实验报告要求

1. 说明系统的需求建模结果,对主要用例整理用例图。2. 小结实验心得体会。

实验二 系统的类模型

实验名称:系统的类模型

实验类型: 设计性实验 学

时:2课时

一、实验目的

1.理解类的基本概念。

2.掌握如何从需求分析中抽象出类的方法。

3.掌握在ArgoUML,Rational Rose或StarUML中绘制类的操作方法。

二、实验器材

1.计算机一台。

2.ArgoUML,Rational Rose 或StarUML工具软件。

三、实验内容

完成实验一后,对给定题目的系统的需求的初步分析,得出系统的用例图,通过对用例的业务流程的分析,我们可以初步了解系统的业务处理流程。本实验需要对系统进行静态建模,这就需要从系统的用例图去寻找和发现类。用Rational Rose或StarUML工具软件绘制系统的类图。下文以Rational Rose为例讲解基本步骤。

四、实验步骤

1.分析:由前面试验对需求的分析抽象出类。2.绘制类图的步骤:

(1)打开前面初步构建的UML模型文件;(2)打开Rose中的逻辑视图(Logical View),选择分析模型(analysis model)目录。并在其下创建一个子目录并命名为:“图书馆业务功能”。

(3)用鼠标右击“图书馆业务功能”在弹出来的菜单中选择“New→Class diagram”项,创建类图,如图2.1所示。

(4)双击新建的类图,并点右边控件集中选中的类的图标,并用鼠标在图中分别拖出一个类图,并命名为Book,如图2.2所示。

图2.1

图2.2(5)接下来的一步为设置类的属性,在新的类中双击该类,在打开属性面板中,可以看到在此可以设置类的属性和方法等其他的信息,图2.3所示;后撞击Attributes这个栏目,此栏目为设置类的属性的选项,在图中间的单击右键,可以看到有一个“Insert”的选项,选中这个选项,图2.4所示,后在出现的对话框中输入相关信息如图2.5所示;如书本的ISBN号,在Type这个方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般这些属性都设置Private这个权限,如图2.6所示。这个类的其他属性也可以按照以上的做法设置,最后得到的结果是图2.7所示。

图2.3 图2.4

图2.5 图2.6(6)设置好类的属性,现在来设置类的方法(也是操作),双击类后在弹出的菜单上选operations这个选项,可以看到图2.8所示,在图中的空白地方,单击右键,在弹出的菜单中选insert这个选项,也就只有这个选项可用,见图2.9,接着输入方法名,同时可以设置该方法的返回类型,也可以在Documentations的方框内填写一些相关的方法说明,如图2.12所示,设置好该方法的访问权限,见图2.13。类的其他方法也可以按上面来设置好,最后,得到该类的其他方法见类2.14。

图2.7 图2.8

图2.9

图2.11

图2.10

图2.12

图2.13 图2.14(7)至此,类的方法和属性都设置好了,如图2.15所示。

图2.15(8)按照上面的步骤设置好所有类的属性和方法。

(9)为各个类添加关系,由关联、泛化、依赖等关系来静态描述业务。

五、实验报告要求

1.整理实验结果。2.小结实验心得体会。实验三 系统的状态建模

实验名称:系统的状态建模

实验类型: 设计性实验 学

时:2课时

一、实验目的

1.熟悉状态图的基本功能和使用方法。2.掌握如何使用建模工具绘制状态图方法。

二、实验器材

1.计算机一台。

2.ArgoUML,Rational Rose或StarUML 工具软件。

三、实验内容

完成实验一后,对给定题目的系统的需求的初步分析,得出系统的用例图,通过对用例的业务流程的分析,我们可以初步了解系统的业务处理流程,但对业务处理过程的处理状态间转换了解仍不够,这不利于设计人员对系统业务的进一步理解,而状态图能从对象的动态行为的角度去描述系统的业务活动。因此,在本实验主要完成用例的状态图。

四、实验步骤

1.业务分析:由前面实验对用例的描述和分析得到业务动态行为的状态分析。以用例“还书”为例,还书业务的动态行为是由:空闲(idle)、图书查找(finding)、还书(reversion)、失败(Failure)、归还成功(Success)5种状态及激活相互转换的事件。

2.绘制状态图。

还书的状态图,还书的主要业务都是由管理员来完成,首先管理员必须先登录系统,并通过验证后,便可以进行下一步的操作,查找该书的相关信息,如存在,则进行还书操作,如不存在该信息,则给出提示信息;

绘图步骤:

(1)在用例图中的还书(revesion)用例,单击右键,如图3.1所示,新建一个状态图,命名为revesion状态图,图3.2所示。

图3.1

图3.2(2)双击“receivesion”状态图,展开后,在左边的工具栏上选取一个实心圆点,此结点为开始结点,图3.3所示;当还书的时候,操作者先要询问系统的状态,如果系统忙,操作者则必需等待,因此,得到系统的两种状态,如图3.5所示。

图3.3

图3.4

图3.5(3)操作者在询问系统和状态后,得到的图3.6所示两种状态,如果系统忙,操作者必需要等待、结束,如图3.7和图3.8所示,重返步骤(1)。

图3.6

图3.7

图3.8(4)如系统空闲,则进行对还书的信息进行查询操作,图3.9所示;查询也有两种结果,一是查询得到该书的相关信息,二查询不到该书的相关信息;则此时有两种状态,需要建立两种状态,如图3.10所示。

图3.9

图3.10(5)最后,操作者进行了操作后,系统会给出操作的结果给操作者;操作成功或失败,都会有提示信息给出。整个的还书的过程便完成;图3.11所示。

(7)根据分析设计情况,进一步添加或细化状态图。

图3.11

五、实验报告要求

1.整理实验结果。2.小结实验心得体会。

第四篇:软件体系结构实验一

南京信息工程大学实验(实习)报告实验(实习)名称(实习)日期系专业年级班次姓名

一、实验目的1)了解智能模型的概念

2)查阅有关SVM算法,并作理解

二、实验要求

1)简介 智能模型基于知识的软件开发模型,它与专家系统结合在一起。该模型应用基于规则的系统,采用归纳和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。

2)详细说明 智能模型也称为“基于知识的软件开发模型”,它把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件开发人员的工作。该模型应用基于规则的系统,采用归纳和推理机制,使维护在系统规格说明一级进行。这种模型在实施过程中以软件工程知识为基础的生成规则构成的知识系统与包含应用领域知识规则的专家系统相结合,构成这一应用领域软件的开发系统。

智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。这种方法需要四代语言(4GL)的支持。4GL不同于三代语言,其主要特征是用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、完备的数据库和应用程序生成器。目前市场上流行的4GL(如Foxpro等)都不同程度地具有上述特征。但4GL目前主要限于事务信息系统的中、小型应用程序的开发。

3)必要性

智能模型所要解决的问题是特定领域的复杂问题,涉及大量的专业知识,而开发人员一般不是该领域的专家,他们对特定领域的熟悉需要一个过程,所以软件需求在初始阶段很难定义得很完整。因此,采用原型实现模型需要通过多次迭代来精化软件需求。

智能模型以知识作为处理对象,这些知识既有理论知识,也有特定领域的经验。在开发过程中需要将这些知识从书本中和特定领域的知识库中抽取出来(即知识获取),选择适当的方法进行编码(即知识表示)建立知识库。将模型、软件工程知识与特定领域的知识分别存入数据库,在这个过程中需要系统开发人员与领域专家的密切合作。

智能模型开发的软件系统强调数据的含义,并试图使用现实世界的语言表达数据的含义。该模型可以勘探现有的数据,从中发现新的事实方法指导用户以专家的水平解决复杂的问题。它以瀑布模型为基本框架,在不同开发阶段引入了原型实现方法和面向对象技术以克服瀑布模型的缺点,适应于特定领域软件和专家决策系统的开发。

三、实验结果

通过本次实验,我对智能模型有了一定的了解和认识,同时也查阅了有关SVM算法的有关知识,并作了一定的理解,对该算法有了一定的认识。

第五篇:2.1-2.2软件件体系结构作业答案

2.1 工厂方法与抽象工厂模式

一、在简单工厂方法模式、工厂方法模式与抽象工厂模式中,哪个模式符合开闭原则?为什么?哪个模式一般不符合开闭原则?或者说明在哪种情况下,开闭原则成立,哪种情况下,开闭原则不成立。

答:

简单工厂模式一般不符合开闭原则。在简单工厂模式中,如果要增加一个新产品类,相应地在工厂类中也要增加一个条件语句,用于创建新的产品类的对象。也就是说,必须修改工厂类的源代码。

工厂方法模式和抽象工厂模式符合开闭原则。因为在工厂方法模式和抽象工厂模式中,无需修改或者重新编译已经存在的代码,就可以添加新的产品类。

开闭模式是指对扩展开放,对修改关闭,说的更通俗点,就是说开发了一个软件,应该可以对它进行功能扩展(开放),而在进行这些扩展的时候,不需要对原来的程序进行修改(关闭)。

二、图2.17所示设计类图是关于游戏软件的设计。

在该设计中,SlowGameFactory类负责创建SlowFighter对象与SlowMonster对象,并且将创建完的对象以其超类类型返回给ClientGUI对象。然后,ClientGUI对象将操纵SlowFighter对象与SlowMonster对象,使得它们互相打斗。

问题与任务:

1、上述设计使用了什么设计模式?

2、请在以上设计类图中添加4个新的类MedFighter、SuperFighter、MedMonster和SuperMonster,以便使得MedFighter对象能够对应于MedMonster对象;SuperFighter对象能够对应于SuperMonster对象,绘制新设计类图;

3、除了以上添加的4个类以外,在以上类图中还应该添加什么类?

4、描述新的设计类图;

5、明确说明新设计的优点。

答:

1、上述设计使用抽象工厂设计模式。

23、SuperGameFactory

MedGameFactory

4、多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。

一个抽象工厂类,可以派生出多个具体工厂类。

每个具体工厂类可以创建多个具体产品类的实例,也就是创建的是一个产品线下的多个产品。

5、工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。

工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

2.2 生成器模式

一、在例2.5的设计中,添加一个经济型房屋生成器类,命名为EconHouseBuilder。请绘制新设计的类图。

下载软件体系结构期末考试word格式文档
下载软件体系结构期末考试.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    华南理工大学2012年软件体系结构复习大纲标准版

    选择题 All of the following roles are stakeholder except: All of the following are important system attributes except: attractivity Which of the following are......

    软件体系结构第9-10两章教案

    本节教案 授课课题:软件体系结构评估、软件设计的进化 授课时间:10月9日 第7周 周一 第1,2节 授课班级:15140A(03、04、05) 授课类型:理论课 【教学目标、要求】: 了解软件体系结......

    实验一-软件体系结构风格应用(最终5篇)

    《软件体系结构风格应用》设计性实验大纲一、实验目的 巩固和加强《软件体系结构》课程中关于软件体系结构风格部分内容的理解。通过该实验,一方面学生能够根据有关软件需求,......

    体系结构(大全)

    一、管道与过滤器 在管道与过滤器风格的软件体系结构中,每个构件,都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这种风格的连接件就像是数据流传输......

    金融体系结构[最终版]

    第十一章金融体系结构 第一节 金融体系与金融功能 第二节 金融体系的两种结构 第三节 对存款货币银行的再论证 第四节 金融体系结构的演进趋势 第一节 金融体系与金融功能再......

    制造业薪酬体系结构

    服装制造业-薪酬设计体系构成一、我公司目前的薪酬体系状态行政管理岗位与技术人员岗位未纳入统一的薪酬模式,即产品开发人员(含首席设计师、设计师、设计助理、师傅等岗位)与......

    体系结构实验报告5篇

    中南大学软件学院 学生姓名:所在学院:学生学号:学生班级:指导老师:完成日期:软件体系结构 设计模式实验报告 宋昂软件学院 3901080115 软件0801 刘伟 2010-12-7 一、实验目的......

    企业软件架构期末考试重点教案

    1.将系统按照层次分解的好处与缺陷? 答:好处:1>在无需过多了解其它层次的基础上,可以将某一层作为一个有机整体来理解。 2>可以替换某层的具体实现,只要前后提供的服务相同即可......