2016年系统架构设计师考试 考点,重点,难点汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件产品线体系机构
什么是软件产品线?软件产品线在软件开发过程中有什么作用?
定义:软件产品线是一个产品的集合,这些产品共享一个公共的、可管理的特征集,这些特征集能够满足选定市场或任务领域的特定需求。这些系统遵循一个预描述的方式,是在公共的核心资源上开发的。
作用:软件产品线是一个是非适合专业软件开发组织的软件开发方法,能有效提高软件生产率和质量、缩短软件开发时间、降低总开发成本;
主要组成部分:核心资源和产品集合。
核心资源:包括产品线中所有产品共享的产品线体系结构,新设计开发的或通过现有系统再工程得到的、需要在整个产品线中系统化重用的软件构件。
产品线开发的4个技术特点:过程驱动、特定领域、技术支持及体系结构为中心。
软件产品线包括哪些过程?如何实现软件产品线创建与演化?软件产品线演化是指什么?如何实现演化?过程模型:双生命周期模型(领域工程+应用工程);SEI模型(核心资源开发+产品开发+管理)和三生命周期(企业工程+领域工程+应用工程)模型;
4种建立方式:用演化方式还是革命方式+基于现有产品还是开发全新产品线
(1)将现有产品演化为产品线
(2)用软件产品线替代现有产品集
(3)全新软件产品线演化
(4)全新软件产品线开发
演化:指的是由于各种原因引起产品线所进行的改动而变成新的产品线;
产品线的演化包括:核心资源的演化、产品的演化和产品的版本升级;
框架的定义及特征
定义:框架是由开发人员定制的应用系统的骨架,是整个系统或子系统的可重用设计,由一组抽象构件和构建实例间的交互方式组成;
特征:反向控制;可重用性;扩展性;模块化或构件化;
软件产品线体系结构定义、特点及个性实现机制
定义:软件产品线体系结构是只一个软件开发组织为一组相关应用或产品建立的公共体系结构。
特点:同领域模型一样,软件产品线体系结构中也可分为共性部分和个性部分;共性部分是产品线中所有产品在体系结构上的共享部分,是不可改变的。个性部分是指产品线体系结构可以变化的部分;产品线体系结构设计的目的尽量扩展产品线中所有产品共享的部分,同时提供一个尽量灵活的体系结构变化机制;个性实现机制:继承;扩展和扩展点;参数化;配置和模块互连语言;自动生成;编译时不同实现的选择;
例题:希赛公司各种网络安全防火墙系统,引入产品线开发方法,问题如下:
1.公司是否适合使用软件产品线方法,并说明理由
适合软件产品线开发方法;公司的产品特点为:各种防火墙系统属于一种产品集合,具有很多共性,同时,每种不同的防火墙又具有自己本身的个性特点;
2.在原有产品的基础上建立软件产品线的方式,并简要评价
(1) 将现有产品演化为产品线:在基于现有产品体系结构设计产品线体系结构的基础上,将特定产品的
构件逐步地、越来越多地转化为产品线的公用构件,从基于产品的方法“慢慢地”转化为基于产品线的软件开发。
主要优点是通过对投资回收期的分解,对现有系统演化的维持使产品线方法的实施风险降到了最低,单完成产品线核心资源的总周期和总投资都比使用革命方式要大;
(2)用软件产品线替代现有产品集:基本停止现有产品的开发,所有努力直接针对软件产品线核心资源开发。需求变化会导致初始投资报废的风险加大
3.成功实施软件产品线的主要因素
(1)对该领域的产品开发已具备长期积累的经验;
(2)一个用于构建产品的好的核心资源库;
(3)好的产品线体系结构;
(4)好的管理(软件资源、人员组织、过程)支持
基于体系结构软件开发
MVC模式:对于界面可变性设计的要求,MVC把交互式系统的组成分解成模型、视图和控制器三种构件。模型构件:独立于外在显示内容和形式,是软件所处理问题逻辑的内在抽象,它封装了问题的核心数据、逻辑和功能计算关系,独立于具体的界面表达和输入/输出操作;
视图构件:把模型数据及逻辑关系和状态信息以特定的形式展示给用户,它从模型获得显示信息,对于相同的信息可以有多个不同的显示视图;
控制器构件:处理用户与软件的交互操作,决定软件的控制流程,确保用户界面和模型间的对应联系,它接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,它是模型和视图协调工作的部件。
设计模式的分类
5种创建型模式:工厂方法,抽象工厂,建造者,原型及单件;
7种结构型模式:适配器,桥,组合,外观,装饰,代理,享元模式;
11种行为型模式:职责链,中介者,对象状态,策略,命令,备忘录,访问者,迭代器,解释器,观察者,模板方法;
MVC与MVP的比较
MVC模式是创建软件很好的途径,它所提倡的一些原则,如,内容和显示分离、隔离模型、视图和控制器的构件等,会使应用程序的体系结构更健壮,更具有扩展性,也会是软件在代码重用和体系结构方面上一
个新的台阶;
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设计活动在体系结构驱动已决定就可开始,这意味着需求获取和分析活动还没有完成,就开始了软件设计,分析与设计活动并行;