软件体系结构作业___一__、二章
软件体系结构作业(完整版)

第一章:1•根据自己的经验,谈谈对软件危机的看法软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。
以下几个原因导致:(1)软件自身特点(2)开发人员的弱点(3)用户需求不明(4)缺乏正确理论指导(5)开发规模越来越大(6)开发复杂度越来越高可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。
软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。
2•什么是软件重用,软件重用的层次可以分为哪几个级别?软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
可以分为三个层次:(1 )代码重用(2)设计结果重用(3)分析结果重用3•什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?可充用构件表示软件重用过程中,可重用的软件构件元素可重用构件的特殊要求:(1)可重用构件应该具有功能上的独立性与完整性;(2)可重用构件应该具有较高的通用性;(3)可重用构件应该具有较高的灵活;(4)可重用构件应该具有严格的质量保证;(5)可重用构件应该具有较高的标准化程。
4•基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战•此外,在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。
软件体系结构作业

软件体系结构作业姓名:蒋妮学号:S1124 W174第1章软件体系结构概论一、基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件、如何管理以及重用构件?1)构件获取有多种不同的途径:1.从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;2.通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;3.从市场上购买现成的商业构件,即COTS(Commercial Off-The-Shell)构件;4.开发新的符合要求的构件。
2)构件的管理:它包括四个部分:1.构件描述:构件模型是对构件本质的抽象描述,主要是为构件的制作与构件的重用提供依据;从管理角度出发,也需要对构件进行描述,例如:实现方式、实现体、注释、生产者、生产日期、大小、价格、版本和关联构件等信息,它们与构件模型共同组成了对构件的完整描述。
2.构件分类与构件库组织:构件分类方法包括三类:关键字分类法:基本思想是根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构,每个概念用一个描述性的关键字表示,不可分解的原子级关键字包含隶属于它的某些构件。
刻面分类法:主要思想来源于图书馆学。
定义若干用于刻画构件特征的‘面’,每个面又通过若干概念表述构件在面上的特征。
如描述构件执行的功能、被操作的数据、应用的语境或任意其它特征。
超文本组织法:基本思想是所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互链接;3. 商业化构件分类。
如果把软件系统看成是构件的集合,从构件的外部形态看,构成一个系统的构件可分为:独立而成熟的构件;有限制的构件;适应性构件;装配的构件;可修改的构件;4.人员及权限管理。
构件库系统是一个开放的公共构件共享机制,任何使用者都可以通过网络访问构件库。
一般来讲,构件库系统可包括五类用户,即注册用户、公共用户、构件提交者、一般系统管理员和超级系统管理员。
软件体系结构习题答案

支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
软件体系结构课后作业及参考答案

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。
2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。
3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。
2.软件体系结构代表了早期的设计决策成果。
3.软件体系结构可以作为一种可变换的模型。
4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。
如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。
5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。
(2)ADL繁多,缺乏同意的ADL的支持。
(3)软件体系结构研究缺乏统一的理论模型支持。
(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。
(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。
(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。
软件体系结构大作业资料

课程名称:软件体系结构姓名:班级:软件132学号:20130040606 指导老师:伍轶明一、电子政务是什么:电子政务是指运用计算机、网络和通信等现代信息技术手段,实现政府组织结构和工作流程的优化重组,超越时间、空间和部门分隔的限制,建成一个精简、高效、廉洁、公平的政府运作模式,以便全方位地向社会提供优质、规范、透明、符合国际水准的管理与服务。
二、电子政务的建设意义:建设电子政务平台,目的是为了提高政府办公效率和效益和改进公共服务水平等,。
主要体现在以下几方面:1.能够降低办公费用,提高工作效率。
如众所周知,政府每年用在文件印刷的费用是巨大的。
如果这些文件在内部网站上可以查到,那么就不必花太多的钱在纸上,这样又可以保护宝贵的森林资源。
随着政府采用数字系统,软件将改造政府的工作方式,从而节约成本。
2.可以更高效地给社会公众提供服务,有利于和谐社会的建设。
电子政务通过推进政府部门办公自动化、网络化、电子化、全面信息共享等工作进程,从而营造运用信息及通信技术打破行政机关的组织界限的电子化虚拟机关,实现广泛范围意义的政府机关间及政府与社会各界之间经由各种电子化渠道进行相互沟通,并依据人们的需求、人们可以使用的形式、人们要求的时间及地点,提供人们各种不同的针对个性的服务选择。
电子政务能够加快政府职能的转变,扩大对外交往的渠道,密切政府和人民群众的联系,提高政府工作效率。
这样就有利于政务公开,人民群众随时可以详细地知晓政府政务,从而有助于减少政府及其官员腐败,化解矛盾,有利于和谐社会的建设。
3.电子政务在实现“以信息化促进工业化、现代化”的发展战略中具有重要的意义。
政府通常是一国内最大的“企业”,如果它带头使用技术,就会自动地提高本国的技术技能,并推动全国转移到信息市场去。
政府靠行政命令或提供诱因能带动所有跟它合作业务的公司。
从而推进全社会的信息化、工业化、现代化。
4.提高政府决策理性和公共政策的品质。
政府信息化可使政府运用所获取和掌握的国家政治、经济、社会发展诸领域的准确可靠的信息,对制定正确的决策,做出理性与科学的判断,采取有针对性和见实效的行为,进而提高政府决策和公共政策的水准和质量。
第1章软件体系结构概论

架构师基础
软件设计师
软件设计师是指能根据软件开发项目管理和软件工程的 要求,按照系统总体设计规格说明书进行软件设计,编 写程序设计规格说明书等相应的文档的实用性人才。还 能够组织和指导程序员编写、调试程序,并对软件进行 优化和集成测试,开发出符合系统总体设计要求的高质 量软件;具有工程师的实际工作能力和业务水平。
作业要求
作业形式:手写完成,要求字迹清晰,组号(如软件1201A组)标注清楚,三个人的学号、姓名按照对作业的贡献度 排序(本人签名)。分数有级差,每次作业排名顺序可调 整,但小组成员必须固定。
提交时间:以课程进度要求为准,不交视为放弃,小组为0 分,晚交扣小组20%分数。
13
第一章 软件体系结构概述
25
◇
软件设计的层次
软件设计可以发生在多个不同的层次,在每一层 我们都会发现相应的组件以及由这些组件组成更 大的组件的组合机制。
二进制执行层 位模式 代码层 编程语言的原语、操作符; 记录、数组、过程; 构架层 模块
26
◇
软件体系结构的研究领域
◎ 通过提供一种新的体系结构描述语言解决
22
◇ 软件体系结构的主要内容 软件体系结构的主要内容包括
对系统组成元素的描述 这些元素相互之间的交互 系统组成的模式 模式的约束
所以在软件体系结构中,系统以组件和组 件之间的交互进行定义。 当前的系统同时可以作为更高层次设计的 一个系统组件。
23
◇
软件体系结构的描述
3
架构师的主要任务不是从事具体的软件程序的编写 ,而是从事更高层次的开发构架工作。他必须对开 发技术非常了解,并且需要有良好的组织管理能力 。 ⒈领导与协调整个项目中的技术活动(分析、设计和 实施等) ⒉推动主要的技术决策,并最终表达为软件构架 ⒊确定和文档化系统的相对构架而言意义重大的方面 ,包括系统的需求、设计、实施和部署等“视图” ⒋确定设计元素的分组以及这些主要分组之间的接口 ⒌为技术决策提供规则,平衡各类涉众的不同关注点 ,化解技术风险,并保证相关决定被有效的传达和 贯彻 ⒍理解、评价并接收系统需求 4 ⒎评价和确认软件架构的实现 专业技能
软件体系结构作业(完整版)

软件体系结构作业(完整版)1. 概述本文档是软件体系结构作业的完整版,涵盖了软件体系结构的相关概念、设计原则、模式及其应用。
主要目的是给软件体系结构的学习者提供一些指导和帮助。
2. 软件体系结构的定义软件体系结构是软件系统的重要组成部分,描述了软件系统的组成、结构、职责及其相互关系。
可以理解为软件系统的“骨架”,是软件架构师为了实现系统需求、满足质量属性、支持系统演化等目标而设计的系统蓝图。
3. 软件体系结构的设计原则1.模块化原则:将复杂系统分解为小而简单的组建,有利于系统的管理和维护。
2.建立完整模型原则:对系统进行整体分析,考虑到系统各个方面,做到系统的稳健性、可维护性等,从全局的角度看待系统问题。
3.选择合适的模式:将一些简单而经过实践检验的模式进行合理组合,对质量属性进行优化和提高。
4.考虑系统演化:考虑到系统的可扩展性,可以轻松的支持新的需求变化,便于现有代码或组建复用。
4. 常见的软件体系结构模式1.分层结构:将系统按照功能划分成若干层,每一层只与相邻层进行交互。
分层是一种非常常见的软件设计模式,它可以增加系统的可维护性,方便解耦。
2.MVC模式:MVC是模型-视图-控制器的缩写,是一种常见的软件体系结构模式,通过将系统分为三层来实现松耦合的功能。
模型层负责数据表示层,控制器层负责处理业务逻辑,视图层负责呈现给用户信息。
3.微服务架构:微服务架构是一种将单体应用切分成若干小粒度的服务,并将其组合成一个应用的架构风格。
这种架构风格有助于实现弹性的、可扩张的分布式系统。
5. 软件体系结构模式的应用1.分层结构在Web开发中的应用:Web开发中大量使用了分层结构模式,启用的负责UI、视图层,数据层负责对数据进行操作,各个层彼此独立、松耦合,方便开发和维护。
2.MVC模式在Web框架中的应用:Web框架如Spring、Django等也都使用了MVC模式,提供了非常多的支持来简化MVC应用开发。
计算机体系结构课后答案和复习

第一章计算机体系结构的基本概念1.1名词解释:2.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序,在执行过程中,N+1级程序不再被访问。
3.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级指令,依此重复执行。
4.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。
5.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
6.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。
7.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行的时间不同。
8.兼容机——不同厂家生产的、具有相同体系结构的计算机。
9.计算机组成——计算机体系结构的逻辑实现。
10.计算机实现——计算机组成的物理实现。
11.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存储器中。
指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。
12.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。
13.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
14.资源重复——在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
15.资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。
16.同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中能并行执行的多个任务的机器。
17.异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中不同任务的机器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
1.根据自己的经验,谈谈对软件危机的看法
答:软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。
它主要由以下几个原因导致:(1)软件自身特点
(2)开发人员的弱点
(3)用户需求不明
(4)缺乏正确理论指导
(5)开发规模越来越大
(6)开发复杂度越来越高
可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和
软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影
响。
软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过
程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了
贡献。
2.什么是软件重用,软件重用的层次可以分为哪几个级别?
答:软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
可以分为三个层次:
(1)代码重用(2)设计结果重用(3)分析结果重用
3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?
答:可充用构件表示软件重用过程中,可重用的软件构件元素。
可重用构件的特殊要求:
(1)可重用构件应该具有功能上的独立性与完整性;
(2)可重用构件应该具有较高的通用性;
(3)可重用构件应该具有较高的灵活;
(4)可重用构件应该具有严格的质量保证;
(5)可重用构件应该具有较高的标准化程。
4.基于构件的软件开发的优势是什么?面临哪些困难和挑战?
答:优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降
低了软件开发的费用
困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求
增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多
个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问
题
5.描述三种应用最为广泛的构件技术规范COM、CORBA和EJB各自的特点
答:COM:COM无需重新编译,对象就可以增添新的功能,还能够透明地向另一个过程或另一台机器上的对发送RPC调用;
CORBA:CORBA用IDL来描述对象接口,可以满足异种语言间的通信问题。
EJB:EJB可以根据您应用的增长而扩展,EJB往往提供了负载均衡和,可以通过在代码外的描述来定义事务处理级别可扩展性
6.就项目管理而言,软件重用项目与非重用项目有哪些不同之处。
答:软件重用项目比非重用项目中重复性工作少,软件生产率较高,开发成本也相对较低。
同时,重用项目开发周期短。
重用项目改善了软件质量。
重用项目软件的灵活性和标准化程度也有所提高
8.软件体系结构的研究范畴有哪些?举例加以说明?
答:研究范畴:非形式化的框图,形式化建模符号、体系结构说明的分析与开发工具,体系结构再工程。
其中典型的例子是美国卡耐基梅隆大学的Robert J.A11en于l997年提出的Wright系统。
9.根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?
答:有三部分:处理构件、数据构件和连接构件
10.在软件体系结构的研究和应用中,你认为还有哪些不足之处?
答:1.从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述在很大程度上来说还停留在非形式化的基础上。
仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。
2. 在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描
述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。
难以被开发人员理解,更不能用来分析其一致性和完整性等特性
第二章
1. 软件体系结构模型是软件体系结构的表现形式,软件体系结构模型可以分为哪几
种,具体是如何划分的?
答:根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。
(1)结构模型
这是一个最直观、最普遍的建模方法。
这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内
容,包括系统的配置、约束、隐含的假设条件、风格、性质。
研究结构模
型的核心是体系结构描述语言。
(2)框架模型
框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。
框架模型主要以一些特殊的问题为目标建立只针对和适应
该问题的结构。
(3)动态模型
动态模型是对结构或框架模型的补充,研究系统的"大颗粒"的行为性质。
例如,描述系统的重新配置或演化。
动态可能指系统总体结构的配置、建
立或拆除通信通道或计算的过程。
这类系统常是激励型的。
(4)过程模型
过程模型研究构造系统的步骤和过程。
因而结构是遵循某些过程脚本的结果。
(5)功能模型
该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
它可以看作是一种特殊的框架模型。
3. 引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好
处?
答:软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。
其好处在于:包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系机构的模型可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用,在很多方面使得软件开发更加人性化。
4. 软件体系结构的生命周期模型与软件生命周期模型有什么关系?
答:软件体系结构是贯穿于软件研发的整个生命周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系,软件体系结构的生命周期模型为软件生命周期模型提供了很好的结构依据和参考,也为其构建了很好的开发方式。