当前位置:文档之家› 2016年系统架构设计师考试考点

2016年系统架构设计师考试考点

软件产品线体系机构什么是软件产品线?软件产品线在软件开发过程中有什么作用?定义:软件产品线是一个产品的集合,这些产品共享一个公共的、可管理的特征集,这些特征集能够满足选定市场或任务领域的特定需求。

这些系统遵循一个预描述的方式,是在公共的核心资源上开发的。

作用:软件产品线是一个是非适合专业软件开发组织的软件开发方法,能有效提高软件生产率和质量、缩短软件开发时间、降低总开发成本;主要组成部分:核心资源和产品集合。

核心资源:包括产品线中所有产品共享的产品线体系结构,新设计开发的或通过现有系统再工程得到的、需要在整个产品线中系统化重用的软件构件。

产品线开发的4 个技术特点:过程驱动、特定领域、技术支持及体系结构为中心。

软件产品线包括哪些过程?如何实现软件产品线创建与演化?软件产品线演化是指什么?如何实现演化?过程模型:双生命周期模型(领域工程+应用工程);SEI 模型(核心资源开发+产品开发+管理)和三生命周期(企业工程+ 领域工程+应用工程)模型;4 种建立方式:用演化方式还是革命方式+基于现有产品还是开发全新产品线(1 )将现有产品演化为产品线(2 )用软件产品线替代现有产品集(3)全新软件产品线演化(4)全新软件产品线开发演化:指的是由于各种原因引起产品线所进行的改动而变成新的产品线;产品线的演化包括:核心资源的演化、产品的演化和产品的版本升级;框架的定义及特征定义:框架是由开发人员定制的应用系统的骨架,是整个系统或子系统的可重用设计,由一组抽象构件和构建实例间的交互方式组成;特征:反向控制;可重用性;扩展性;模块化或构件化;软件产品线体系结构定义、特点及个性实现机制定义:软件产品线体系结构是只一个软件开发组织为一组相关应用或产品建立的公共体系结构。

特点:同领域模型一样,软件产品线体系结构中也可分为共性部分和个性部分;共性部分是产品线中所有产品在体系结构上的共享部分,是不可改变的。

个性部分是指产品线体系结构可以变化的部分;产品线体系结构设计的目的尽量扩展产品线中所有产品共享的部分,同时提供一个尽量灵活的体系结构变化机制;个性实现机制:继承;扩展和扩展点;参数化;配置和模块互连语言;自动生成;编译时不同实现的选择;页15 共页 1 第例题:希赛公司各种网络安全防火墙系统,引入产品线开发方法,问题如下:1. 公司是否适合使用软件产品线方法,并说明理由适合软件产品线开发方法;公司的产品特点为:各种防火墙系统属于一种产品集合,具有很多共性,同时,每种不同的防火墙又具有自己本身的个性特点;2. 在原有产品的基础上建立软件产品线的方式,并简要评价(1)将现有产品演化为产品线:在基于现有产品体系结构设计产品线体系结构的基础上,将特定产品的构件逐步地、越来越多地转化为产品线的公用构件,从基于产品的方法“慢慢地”转化为基于产品线的软件开发。

主要优点是通过对投资回收期的分解,对现有系统演化的维持使产品线方法的实施风险降到了最低,单完成产品线核心资源的总周期和总投资都比使用革命方式要大;(2)用软件产品线替代现有产品集:基本停止现有产品的开发,所有努力直接针对软件产品线核心资源开发。

需求变化会导致初始投资报废的风险加大3. 成功实施软件产品线的主要因素(1)对该领域的产品开发已具备长期积累的经验;(2)一个用于构建产品的好的核心资源库;(3)好的产品线体系结构;(4)好的管理(软件资源、人员组织、过程)支持基于体系结构软件开发MVC 模式:对于界面可变性设计的要求,MVC 把交互式系统的组成分解成模型、视图和控制器三种构件。

模型构件:独立于外在显示内容和形式,是软件所处理问题逻辑的内在抽象,它封装了问题的核心数据、逻辑和功能计算关系,独立于具体的界面表达和输入/输出操作;视图构件:把模型数据及逻辑关系和状态信息以特定的形式展示给用户,它从模型获得显示信息,对于相同的信息可以有多个不同的显示视图;控制器构件:处理用户与软件的交互操作,决定软件的控制流程,确保用户界面和模型间的对应联系,它接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,它是模型和视图协调工作的部件。

设计模式的分类5 种创建型模式:工厂方法,抽象工厂,建造者,原型及单件;7 种结构型模式:适配器,桥,组合,外观,装饰,代理,享元模式;11 种行为型模式:职责链,中介者,对象状态,策略,命令,备忘录,访问者,迭代器,解释器,观察者,模板方法;MVC 与MVP 的比较MVC 模式是创建软件很好的途径,它所提倡的一些原则,如,内容和显示分离、隔离模型、视图和控制器的构件等,会使应用程序的体系结构更健壮,更具有扩展性,也会是软件在代码重用和体系结构方面上一页15 共页 2 第个新的台阶;MPV : Presenter (呈现器)负责逻辑的处理,模型提供数据,视图负责显示;MVP与MVC的一个重大区别就是:MVP 不直接使用模型,他们之间的通行时通过呈现器来进行的,所有的交互都发生在呈现器内部,而在MVC 中视图会直接读取模型数据而不是通过控制器。

中间件技术中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于操作系统之上,管理计算机资源和网络通信,实现应用之间的互操作。

主要有下面6 个基本功能:(1)负责客服机和服务器之间的连接和通信(2)提供应用层不同服务之间的互操作机制(3)提供一个多层体系结构的应用开发和运行平台(4)屏蔽硬件、操作系统、网络和数据库的差异(5)提供应用的负载均衡、高可用、安全机制和管理功能,保证交易的一致性(6)提供一组通用的服务去执行不同的功能中间件的类别远程过程调用(RPC):客服进程和服务进程通过网络进行通信,相应的存根(Stub )过程和运行支持提供数据转换和通行服务,从而屏蔽不同的操作系统和网络协议;存根过程用来解码请求消息中的参数,调用相应的服务过程和编码应答消息的返回值。

对象请求代理(ORB):ORB是CORBA模型的核心组件,它的作用在于提供一个通信框架,透明地在异构的分布式计算环境中传递对象请求;CORBA对象之间不直接进行通信,对象通过远程存根对运行在本地计算机上的ORB发岀请求,本地ORB使用IIOP将该请求传递给其他计算机上的ORB。

RMI : Java的远程方法调用。

面向消息的中间件:MOM利用高效可靠的消息传递机制进行平台无关数据交换,并基于数据通信来进行分布式系统的集成,具有3个特点:(1)通信程序可以在不同的时间运行(2)对应用程序的结构没有约束(3)程序与网络复杂性相隔离事务处理监控器:交易中间件什么是基于体系机构的设计方法?简要说明基于体系结构的设计方法的生命周期模型及设计步骤?ABSD方法为产生软件系统的概念体系结构提供基础,概念体系结构代表了在开发过程中做岀的第一个选择,相应地,它是达到系统质量和业务目标的关键,为达到预定功能提供了一个基础。

由业务、质量和功能需求的组合驱动ABSD,ABSD设计活动在体系结构驱动已决定就可开始,这意味着需求获取和分析活动还没有完成,就开始了软件设计,分析与设计活动并行;页15共页3第ABSD的三个基础:功能的分解;通过体系结构风格来实现质量和业务需求;软件模板的使用;在ABSD方法中,必须记录所有做岀的决策以及这些决策的原理,这有利于决策的跟踪和决策评审;ABSD方法与生命周期:功能需求业务用例抽象、用例抽象构件架构师的经验软件模板质量需求遗留系统ABSD约束质量抽象、实际构件需求需求体系因素、设计分析方法结构选项体系结构设计过程:)(1标识构件;(生成类图、对类进行分组、把类打包成构件)(4)分析构件之间的相互作用提岀软件体系结构模型(3)把构件映射到体系结构中(2)软件体系结构正交化(5)产生软件体系结构(6)体系结构演化过程:(1需求变动归类))体系结构演化计划(2修改、增加或删除构件)(3(4)更新构件的相互作用构件组装与测试)(5 )(6技术评审演化后的体系结构)(7基于体系结构的软件开发模型:体系结构演化体系结构复审??体系结构实现?体系结构文档化体系结构设计体系结构需求??JavaJavaB/S例题:结构选用.Net平台还是企业版平台,最终选用企业版平台。

问题如下:给出两个平台各自具备的优势及两个平台的共有特点(从下面选项中选择)1. (1)良好跨平台可移植性支持)易于部署与配置(2 ()多程序设计语言支持3 多层应用开发支持Web4()良好的()丰富的多厂商外部支持 5 /(对象关系)映射支持O/R )良好的6(7()针对特定平台的优化支持8()良好的源代码以外的可定制性支持)良好的9(Web 服务支持页15 共页 4 第.Net 平台特点:(2)(3)(7)Java 企业版平台特点:(1)(5)(8)共有特点:(4)(6)(9)2. 分别针对基于EJB 的重量级框架和基于Struts 等轻量级框架,说明MVC 模式中的各组件应采用何种构件实现在基于EJB 的重量级框架中,实现的构件分别为:模型(Model ):由EJB构件实现视图(View ):由JSP构件实现控制器(Controller ):由Servlet实现在基于Struts 等的轻量级框架中,实现的构件分别为:模型(Model):由Java Bea n构件实现视图(View ):由JSP构件实现控制器(Controller )由Servlet 构件实现3. 从组件耦合度、组件分工及开发工程化支持等3 个方面说明MVP 与MVC 模式的主要区别(1)在组件耦合度方面在MVP 模式中,视图并不直接使用模型,它们之间的通信通过Presenter 进行,从而实现了视图与模型的分离,而在MVC 模式中,视图直接与模型交互。

(2)在组件分工方面在MVP 模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC 模式中这通常是由控制器完成的工作;在MVP 模式中,系统核心业务逻辑组织集中在Presenter 中,而在MVC 模式中,相应的控制器通常只完成事件的分发。

(3)在开发工程化支持方面MVP 模式可更好地支持单元测试,而在MVC 模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。

4. 说明事务的基本特征,并简单描述EJB 规范中提供的两种事务控制的方法;事务的基本特征包括原子性一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。

事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。

相关主题