软件体系结构课后作业及参考答案
- 格式:doc
- 大小:52.50 KB
- 文档页数:4
【题型】1.选择20道2.填空10道3.简答5或6道4.编程题2道【重点】1.软件危机的表现软件开发进度难以预测软件开发成本难以控制用户对产品功能难以满足软件产品质量无法保证软件产品难以维护2.引发软件危机的原因用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高3.体系结构概念构件、构件之间的关系、集成构件的模式及约束条件4.构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
5.引入体系结构使得开发过程发生什么变化?好处是什么?软件再工程、逆工程的概念?软件设计质量的量度【变化】在引入了体系结构的软件开发之后,应用系统的构造过程变为“问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现”,可以认为软件体系结构架起了软件需求及软件设计之间的一座桥梁。
【好处】克服软件危机【再工程】是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。
最大限度的复用既存系统的各种资源是再工程的最重点特征之一。
如何开发可复用软件和如何构造采用可复用软件的系统体系结构是两个关键问题。
【逆工程】是指分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。
【量度】面向对象软件质量的度量重点在于对类的分析上。
应从类的以下方面考虑:耦合内聚度继承性复杂度6.5个设计原则概念【单一职责原则】就一个类而言,应该仅有一个引起它变化的原因。
【开闭原则】软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。
(也就是老婆常说的对扩展开放,对修改关闭)【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。
要针对接口编程,不要对实现编程。
【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。
简单地说,子类型必须能够替换掉它们的父类型。
【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。
软件体系结构第四章作业题1.请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等。
基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础。
然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程。
该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。
优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。
构件组装模型导致了软件的复用,提高了软件开发的效率。
软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。
并且软件复用从代码级的复用提升到构件和体系结构级的复用。
缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。
可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。
客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。
二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。
特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。
缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。
并且如果在开发过程存在阻塞问题,则影响开发效率。
三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。
特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。
通过迭代过程实现软件的逐步演化,最终得到软件产品。
1.面向对象办法优势体当前(ABD )A.简化软件开发过程B.支持软件复用C.提高软件运营效率D.改进软件构造2.顾客界面设计中三条“黄金规则”是(ABC )A.使系统处在顾客控制之中B.减少顾客记忆承担C.保持界面一致性D.保证顾客易学性E.顾客界面分析和设计过程是迭代, 其中涉及活动是(ABCD )F.顾客、任务以及环境分析和建模G.界面设计H.界面实现I.界面确认3.界面确认需要注意三个方面(ABC )A.界面对的完毕了顾客任务, 适应顾客任务变化B.易学性和易用限度C.顾客接受限度D.顾客习惯4.顾客界面分析时普通采用信息获取方式涉及(ABCD )A.顾客会谈B.销售人员信息采集C.市场分析D.顾客支持人员信息收集5.(C )把完毕一种特定功能动作序列抽象为一种过程名和参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象6.(A)把一种数据对象定义抽象为一种数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.软件体系构造设计需要考虑如下(ABCD )A.合用性B.构造稳定性C.可扩展性D.可复用性8.模块设计时应当考虑(AB )A.模块功能独立B.模块信息隐藏C.模块接口简朴D.模块实现简朴9.一种完整软件设计重要活动涉及有(ABCD )A.体系构造设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等E.模块化是指把一种复杂问题分割成若干个可管理小问题后, 更易于理解, 模块化正是以此为根据, 在划分模块过程中应当考虑到(ABC )F.模块可分解性、可组装型G.模块可理解性、持续性、H.模块保护1.尽量低分割模块, 使得问题难度降到最2.什么是软件工程?构成软件工程要素是什么?3.软件工程是将系统化、规范、可度量办法应用于软件开发、运营和维护过程, 即将工程化应用于软件开发和管理之中, 对所选办法研究。
软件工程要素由办法、工具和过程构成。
办法支撑过程和工具, 而过程和工具增进办法学研究。
1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。
2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。
3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。
2.软件体系结构代表了早期的设计决策成果。
3.软件体系结构可以作为一种可变换的模型。
4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。
如过程调用、管道、远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。
5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。
(2)ADL繁多,缺乏同意的ADL的支持。
(3)软件体系结构研究缺乏统一的理论模型支持。
(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。
(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。
(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。
一、选择题CDABC DABCC ACDCC BADCA DDCBC ADBDA二、判断题√√X√√√√X X√X√√√X X X X X√√X√ X X X三、简答题1、简述实体类的概念及其作用。
实体类实现所谓的对象关系映射(Object Relational Mapping,简称ORM),是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。
本质上就是将数据从一种形式转换到另外一种形式。
简单地说,就是描述一个业务实体的类。
实体类对象是现实世界中实体对象在计算机中的表示,在层与层之间以及层内模块间进行数据传输。
2、敏捷开发宣言。
我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法,通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也有其价值,但我们认为左项更加重要。
3、简述XP的短交付周期的概念。
迭代计划: XP项目每两周交付一次可以工作的软件。
每两周的迭代都实现了利益相关者的一些需求,在每次迭代结束时,会给利益相关者演示迭代生成的系统,以得到他们的反馈。
迭代是一次较小的交付,可能会被加入到产品中,也可能不会。
每个周期(Iteration)开发的需求都是用户最需要的东西。
发布计划:XP团队通常会创建一个计划来规划随后大约6次迭代的内容。
一次发布通常需要2-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应用开发。
软件设计与体系结构课后练习部分答案第一篇:软件设计与体系结构课后练习部分答案第一章作业6、简要叙述软件设计在软件工程中所处的位置和重要性。
答:所处的位置:软件需求分析◊需求规格说明◊软件设计◊设计文档◊软件编码。
重要性:(1)是对软件需求的直接体现;(2)为软件实现提供直接依据;(3)将综合考虑软件系统的各种约束条件并给出相应方案;(4)软件设计的质量将决定最终软件系统的质量;(5)及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。
7、软件设计应该包含哪些要素?答:软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。
8、软件体系结构与软件设计有何关系?软件体系结构的出现有何必然性和重要意义?答:软件体系结构与软件设计的关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。
软件体系结构的意义:软件体系结构将构件以及构件之间的连接作为软件体系结构的基本组成部分。
软件体系结构使软件复用从代码复用发展到设计复用和过程复用,为不同的人提供了共同的语言,体现了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享与复用,基于体系结构的软件开发提供了有力的支持。
第二章作业1、简述UML的特点和用途。
答:UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和实现模型。
(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。
(3)独立于实现语言和方法学,但支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。
(4)独立于任何开发过程,但支持软件开发全过程。
软件体系结构课后作业及答案整理表姓名:职业工种:申请级别:受理机构:填报日期:A4打印/ 修订/ 内容可编辑文件编号:3B-E4-81-1F-1B本科实验大纲(计算机科学与技术学院2016版-信息安全专业课程)教务处制第II页共97目录03402022课程名称:计算机组成原理203402025课程名称:数据库系统原理703402026课程名称:网络安全1003402027课程名称:网络编程技术1303402509课程名称:算法与数据结构1903402512课程名称:计算机网络(Ⅱ)2103402517课程名称:程序设计基础2403402521课程名称:操作系统2703404001课程名称:微机操作实习3103404010课程名称:程序设计实践3403404016课程名称:计算机网络课程设计37 03406001课程名称:企业实习4303406002课程名称:Linux操作系统实践4503424002课程名称:密码学课程设计4803404020课程名称:网络安全课程设计5203424001课程名称:信息安全综合设计与实践55 03401521课程名称:汇编语言程序设计6003402029课程名称:网络管理6303422001课程名称:计算机病毒6803422005课程名称:计算机系统安全技术71 03402023课程名称:嵌入式系统设计与开发74 03402024课程名称:嵌入式系统体系结构实验大纲77 03406003课程名称:互联网应用服务开发与安全80 03406004课程名称:民航信息系统8403412007课程名称:移动终端程序开发与应用87 03422003课程名称:信息隐藏技术9003422006课程名称:网络攻击与防御93第1页共9703402022课程名称:计算机组成原理英文名称:Principle of Computer Organization课程编号:03402022一、实验(上机)学时/课程总学时: 12学时 /64学时二、先修课程:计算机导论、电子线路分析(I)、数字逻辑三、本实验课程在专业人才培养中的地位作用计算机组成原理课程是我院的学科专业基础必修课之一,也是本学院培养本科生形成专业思想的重要专业课程之一,是本学院得主干必修课之一。
1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。
同时,由于软构建大多经过严格得质量认证,因此有助于改善软件质量, 大量使用构建, 软件得灵活性与标准化程度可得到提高。
2、实际参与/组织一个软件重用项目得开发,然后总结您就是如何组织该项目得开发得答:参加了一个网页管理系统得开发,该项目重复使用已有得软件产品用于开发新得软件系统,以达到提高软件系统得开发质量与效率,降低开发成本得目得。
在过程中使用了代码得复用、设计结果得复用、分析结果得复用、测试信息得复用等。
3、为什么要研究软件体系结构?答:1、软件体系结构就是系统开发中不同参与者进行交流与信息传播得媒介。
2.软件体系结构代表了早期得设计决策成果。
3.软件体系结构可以作为一种可变换得模型。
4、根据软件体系结构得定义,您认为软件体系结构得模型应该由哪些部分组成?答:构件(ponent)可以就是一组代码,如程序得模块;也可以就是一个独立得程序(如数据库得SQL服务器);连接件(connector)就是关系得抽象,用以表示构件之间得相互作用。
如过程调用、管道、远程过程调用等;限制(constrain):用于对构件与连接件得语义说明。
5、在软件体系结构得研究与应用中,您认为还有哪些不足之处?答:(1)缺乏同意得软件体系结构得概念,导致体系结构得研究范畴模糊。
(2)ADL繁多,缺乏同意得ADL得支持。
(3)软件体系结构研究缺乏统一得理论模型支持。
(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。
(5)有关软件体系结构性质得研究尚不充分,不能明确给出一个良体系结构得属性或判定标准,没有给出良体系结构得设计指导原则,因而对于软件开发实践缺乏有力得促进作用。
(6)缺乏有效得支持环境软件体系结构理论研究与环境支持不同步,缺乏有效得体系结构分析、设计、方针与验证工具支持,导致体系结构应用上得困难。
(7)缺乏有效得体系结构复用方案。
(8)体系结构发现方法研究相对欠缺。
1、选择一个规模合适得系统,为其建立“4+1”模型。
逻辑视图(Logical View),设计得对象模型(使用面向对象得设计方法时)。
过程视图(Process View),捕捉设计得并发与同步特征。
物理视图(Physical View),描述了软件到硬件得映射,反映了分布式特性。
开发视图(Development View),描述了在开发环境中软件得静态组织结构。
架构得描述,即所做得各种决定,可以围绕着这四个视图来组织,然后由一些用例 (use cases)或场景(scenarios)来说明,从而形成了第五个视图。
2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?答:软件体系结构得引入使软件设计开发更加具体与形象,它得模型更使得软件过程更加方便与多样化。
其好处在于:包括程序员在内得绝大多数系统得利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通得基础,软件体系机构得模型可以应用到具有相似质量属性与功能需求得系统中,并能够促进大规模软件得系统级复用,在很多方面使得软件开发更加人性化。
3、软件体系结构得生命周期模型与软件生命周期模型有什么关系?答:软件体系结构就是贯穿于软件研发得整个生命周期得系统开发、运行、维护所实施得全部工作与任务得结构框架,给出了软件开发活动各阶段之间得关系,软件体系结构得生命周期模型为软件生命周期模型提供了很好得结构依据与参考,也为其构建了很好得开发方式。
1、层次系统结构与基于消息得层次系统结构有什么区别?答:层次结构将系统进行分级组织,其组织思想就是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。
分层系统得优点:支持基于抽象程度递增得系统设计;支持功能增强;支持重用。
分层系统得缺点:并不就是每个系统都可以很容易得划分为分层得模式,甚至即使就是层次化得,出于性能得考虑,也不得不吧一些低及或高级得功能综合起来;很难找到一个合适得、正确得层次抽象方法。
消息总线就是系统得连接件、负责消息得分派、传递与过滤以及处理结果得返回。
消息就是构件之间通信得唯一方式。
由于构件通过总线进行连接,并不要求各个构件具有相同得地址空间或局限在一台机器上,因此该风格可以很好得刻画分布式开发系统,以及CORBA、D与EJB规范得系统。
2、试分析与比较B/S,二层C/S与三层C/S,指出各自得优点与缺点。
答:二层C/S体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户得交互任务。
优点(1)C/S体系结构具有强大得数据操作得事务处理能力,模型思想简单,易于人们理解与接受。
(2)对软硬件得变化有极大得适应性与灵活性,易于对系统进行扩充与缩小。
(3)系统中得功能构建充分隔离,节约大量费用。
缺点:(1)开发成本较高。
(2)客户端程序设计复杂(3)信息内容与形式单一(4)用户界面风格不一,使用繁杂不易推广。
(5)软件移植困难(6)软件维护与升级困难(7)新技术不能轻易应用。
三层CS在上面得基础上进行了改造,并增加了一个服务器,其优点:(1)允许合理得划分三层结构得功能,能提高系统与软件得可维护性与可扩展性。
(2)具有良好得可升级性与开放性。
(3)应用得各层可以并行开发,可以选择各自最适合得开发语言。
(4)为严格得安全管理奠定了坚实得基础。
B/S风格就就是上述三层应用结构得一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。
优点(1)基于B/S体系结构得软件,系统安装,修改与维护全在服务器端解决。
(2)提供了异种机,异种网,异种应用服务得联机,联网,同意服务得最现实得开放性基础。
缺点(1)缺乏对动态页面得支持能力,没有集成有效得数据库处理能力。
(2)在数据查询等响应速度上,要远远低于C/S体系结构。
(3)数据提交一般以页面为单位,数据得动态交互性不强,不利于在线事务处理应用。
3、SIS与DSSA分别用在哪些场合?答:1、DSSA只对某一个领域进行设计专家知识得提取,存储与组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识得组织时,可以将提取得公共结构与设计方法扩展到多个领域。
2、DSSA得特定领域参考体系结构通常选用一个或多个适合所研究领域得体系结构风格,并设计一个该领域专用得体系结构分析设计工具。
3.体系结构风格得定义与该风格应用得领域就是直交得,提取得设计知识比用DSSA提取得设计专家知识得应用范围要广。
4.DSSA与体系结构风格就是互为互补得两项技术。
4、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?答:1、结构有不同得处理能力得强项与弱点,一个系统得体系结构应该根据实际需要进行选择,以解决实际问题。
2、软件包,框架,通信以及其她一些体系机构上得问题,目前存在者多中标准。
即使再某一段时间内某一标准占据着统治地位,但变动最终就是绝对得。
3、工作中,我们总会遇到一些遗留下得代码,它们仍有效用,但就是却与新系统有某种程度上得不协调。
然而在很多场合,将技术与经济综合进行考虑时,总就是决定不重写它们。
4、在某一单位中,规定了共享共同得软件包或相互关系得一些标准,仍会存在解释或表示习惯上得不同。
负面影响:大多数应用程序只使用10%得代码实现系统得公开功能,剩下90%得代码完成系统管理功能:输入与输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认与旁听追踪,特定领域得基本定义等。
1什么就是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?答:动态软件体系结构得动态性包括:交互性动态性,结构化动态性,体系结构动态性。
由于系统需求,技术,环境,分布等因素得变化而最终造成软件体系结构得变动,称之为软件体系结构演化。
软件系统在运行时刻得体系结构变化称之为软件体系结构得动态性,动态软件体系结构得动态性包括:交互性动态性,结构化动态性,体系结构动态性。
2基于构件得动态软件体系结构模型得层次结构就是什么?答:基于构件得动态系统结构模型支持运行系统得动态更新,该模型分为三类,分别就是应用层,中间层与体系结构层。
(1)应用层:处于最底层,包括构件链接,构件接口与执行(2)中间层:包括连接件配置,构件配置,构件描述及执行(3)体系结构层:位于最上层,控制与管理整个体系结构,包括体系结构配置,体系结构描述与执行。
1、请把基于体系结构得软件开发模型与其她软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。
传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。
在多个大中型软件项目得实践基础上,提出了基于体系结构得软件开发模(ABSD)。
ABSD模型把整个基于体系结构得软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等6个子过程,讨论了各个子过程所要完成得工作,给出了ABSD模型在劳动与社会保险领域得一个应用实例。
实践表明,采用ABSD模型进行软件项目开发,具有结构清晰、易于理解、可移植性强、重用粒度大等优点。
2、如何才能提高软件系统得可演化性。
答:构造性与演化性就是软件得两个基本特性。
软件进行渐变并达到所希望得形态就就是软件演化,软件演化就是由一系列复杂得变化活动组成。
对软件变化得控制就是软件开发者历来追求得目标。
引起软件变化得原因就是多方面得,如基本设施得改变,功能需求得增加,高性能算法得发现,技术环境因素得变化等。
所以对软件变化甚至演化进行理解与控制显得比较复杂与困难1 为什么要评估软件体系结构?答:所谓软件体系结构得分析评估,就就是事先通过代价低廉得评估活动来识别软件结构中存在得潜在风险,找出软件体系结构中影响系统质量得主要因素及改进措施,并在此基础上检验软件得质量需求就是否在具体设计中得到实现,并预见未来软件质量。
软件体系结构在软件开发与管理中扮演者越来越重要得角色,软件体系结构设计对软件质量有着至关重要得影响,对此最终确保系统得质量有重要得意义。
软件体系结构评估,就是对系统得某些值得关心得属性进行评估与判断。
评估得结果可用于确认潜在得风险,并检查设计阶段系统需求得质量,在系统被实际构造之前,预测其属性质量。
2、从哪些方面评估软件体系结构?答:(1)性能就是指系统得影响能力,即要经过多长时间才能对某个事件作出响应,或者在某段事件内系统所能处理得事件得个数。
(2)可靠性就是软件系统在应用或系统错误面前,在意外或错误使用得情况下维持软件系统得功能特性得基本能力。
(3)可用性就是系统能够正常运行得时间比例。
经常用两次故障间得时间长度或在出现故障时系统能够恢复正常得速度来表示。
(4)安全性就是指系统在向合法用户提供服务得同时能够阻止非授权用户使用得企图或拒绝服务得能力。