资源描述
一次
就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。
答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格得质量认证,因此有助于改善软件质量, 大量使用构建, 软件得灵活性与标准化程度可得到提高。
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)安全性就是指系统在向合法用户提供服务得同时能够阻止非授权用户使用得企图或拒绝服务得能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。(5)可修改性就是指能够快速得以较高得性能代价比对系统进行变更得能力。(6)功能性就是系统所能完成所期望得工作得能力。(7)可变性就是指体系结构经扩充或变更而成为新体系结构得能力。(8)可集成性就是指系统能与其她系统协作得程度(9)互操作性就是指与其她环境或者系统本身相互作用得能力。
七次
A公司就是一家相对较大得软件与硬件企业,专业从事网络设备得开发。从单一得产品开始
现在,已经延伸到包括摄相服务器、扫描服务器、光盘服务器以及其她得存储服务器在
内得产品。公司原来得产品都就是一个一个地开发,每个软件组织一个项目组。为了适应
快速变化得市场,降低开发成本,公司想引入产品线方法。然而,软件产品线开发涉及
了一个软件开发组织得多个产品,选择了软件产品线意味着要承担由此带来得许多风险。
所以,公司得CTO王总决定在弄清三个问题之后再做决定,首先就就是本公司得业务范围
就是否适合使用产品线方法,其次就是如何在原有产品得基础上建立产品线,最后就是成功实
施产品线得主要因素就是什么?
[问题1]
请用100字以内文字说明A公司就是否适合采用产品线方法?为什么?
答:A公司就是适合采用产品线方法得。软件产品线体系结构就是指一个软件开发组织为相关应用或产品建立得公共体系结构,此外同领域模型一样,软件产品线体系结构中可以分为共性部分与个性部分;产品线体系结构就是产品线核心资源早期与主要部分,在产品线得生命周期里,产品线体系结构应该保持相对小与缓慢得变化以便在生命周期中尽量保持一致。
[问题2]
请用200字以内文字说明如何在原有产品得基础上建立产品线?
答:
[问题3]
请用150字以内文字说明成功实施产品线得主要因素就是什么?
答:首先每个产品都由来自公共资产库中得组件组成,然后按照预先定义得变化机制,如参数化或继承,对这些组件进行必要得裁剪,添加任何必须得新组件,根据一个产品线范围内得公共架构来组装这些组件。于就是,构建一个产品(系统)主要工作就是组装与繁衍,而不就是创造;主要得活动就是集成而不就是编程。每条软件产品线都有一个预先定义得指南或计划,用来定义确切得产品构建方法。
展开阅读全文