Skip to content
鼓励作者:欢迎打赏犒劳

软考系统架构设计师概念题知识点整理

001.门户网站

按照实际应用领域,企业门户可以划分为以下四类:

企业网站——功能简单,注重信息的单向传送,忽视用户与企业间、用户相互之间的信息互动。面向特定的使用人群,为企业服务,可以被看作是EP发展的雏形。

企业信息门户——在Internet环境下,把各种应用系统、数据资源和互联网资源统一集成到EP之下,根据每个用户使用特点和角色的不同,形成个性化的应用界面,并通过对事件和消息的处理传输把用户有机地联系在一起。

企业知识门户——是企业员工日常工作所涉及相关主题内容的“总店”。企业员工可以通过EKP方便地了解当天的最新消息、工作内容、完成这些工作所需的知识等。可以实时地与工作团队中的其他成员取得联系,寻找到能够提供帮助的专家或者快速地连接到相关的门户。

企业应用门户——是对企业业务流程的集成。它以业务流程和企业应用为核心,把业务流程中功能不同的应用模块通过门户技术集成在一起。可以把EAP看成是企业信息系统的集成界面。企业员工和合作伙伴可以通过EAP访问相应的应用系统,实现移动办公、进行网上交易等。

002.螺旋模型四个阶段

(1)制定计划:目标设定,确定软件目标,选定实施方案,弄清项目开发的限制条件;

(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;

(3)实施工程:实施软件开发和验证

(4)客户评估:评审,评价开发工作,提出修正建议,制定下一步计划。

螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

003.企业信息化

企业信息化程度是国家信息化建设的基础和关键,企业信息化就是企业利用现代信息技术,通过信息资源的深入开发和广泛利用, 实现企业生产过程的自动化、管理方式的网络化、决策支持的智能化和商务运营的电子化,不断提高生产、经营、管理、决策的效率和水平, 进而提高企业经济效益和企业竞争力的过程。企业信息化方法主要包括业务流程重构、核心业务应用、信息系统建设、主题数据库、资源管理、人力资本投资方法。 企业战略规划是指依据企业外部环境和自身条件的状况及其变化来制定和实施战略,并根据对实施过程与结果的评价和反馈来调整,制定新战略的过程。

004.中间件分类

中间件的分类有很多种方式。我们这里按由底向上从中间层的层次上来划分。

(1) 底层中间件的主流技术有JVM、CLR、ACE、JDBC、 ODBC等,代表产品有SUN JVM 和Microsoft CLR等。 (2) 通用型中间件的主流技术有CORBA、 J2EE 、MOM、 COM等,代表产品有 IONA Orbix、 BEA WebLogic 和 IBM MQSeries等。 (3) 集成型中间件的主流技术有WorkFlow 、EAI等,代表产品有BEA WebLogic和 IBM WebSphere等。

005.计算机系统性能

计算机系统的性能一般包括两个大的方面。一个方面是它的可靠性或可用性,也就是计算机系统能正常工作的时间, 其指标可以是能够持续工作的时间长度(例如,平均无故障时间),也可以是在一段时间内能正常工作的时间所占的百分比。 另一个方面是它的处理能力或效率,这又可分为三类指标,第一类指标是吞吐率(例如,系统在单位时间内能处理正常作业的个数), 第二类指标是响应时间(从系统得到输入到给出输出之间的时间),第三类指标是资源利用率,即在给定的时间区间中, 各种部件(包括硬设备和软件系统)被使用的时间与整个时间之比。当然,不同的系统对性能指标的描述有所不同。 例如,计算机网络系统常用的性能评估指标为信道传输速率、信道吞吐量和容量、信道利用率、传输延迟、响应时间和负载能力等

006.计算机性能指标

性能指标,是软、硬件的性能指标的集成。在硬件中,包括计算机、各种通信交换设备、各类网络设备等;在软件中,包括:操作系统、协议以及应用程序等。对计算机评价的主要性能指标有:时钟频率(主频);运算速度;运算精度;内存的存储容量;存储器的存取周期;数据处理速率PDR(processing data rate);吞吐率;各种响应时间;各种利用率;RASIS特性(即:可靠性Reliability、可用性Availability、可维护性、完整性和安全性;平均故障响应时间;兼容性;可扩充性;性能价格比。

007.组织信息化需求

一般说来,信息化需求包含3个层次,即战略需求、运作需求和技术需求。(1)战略需求,组织信息化的目标是提升组织的竞争能力、为组织的可持续发展提供一个支持环境。 (2)运作需求,组织信息化的运作需求是组织信息化需求非常重要且关键的一环,它包含三方面的内容:一是实现信息化战略目标的需要;二是运作策略的需要。三是人才培养的需要。(3)技术需求,由于系统开发时间过长等问题在信息技术层面上对系统的完善、升级、集成和整合提出了需求。

008.XML语法具体规则

(1)必须有声明语句 (2)注意大小写在XML文档中,大小写是有区别的 (3)必须有一个根元素 (4)所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号)(5)所有标记必须成对出现 (6)所有的空标记也必须被关闭

009.管理信息系统规划

用于管理信息系统规划的方法很多,主要是关键成功因素法(Critical Success Factors,CSF)、战略目标集转化法(Strategy Set Transformation, SST)和企业系统规划法(Business System Planning, BSP)。其它还有企业信息分析与集成技术(BIAIT)、产出/方法分析(E/MA)、投资回收法(ROI)、征费法、零线预算法、阶石法等。用得最多的是前面三种。1. 关键成功因素法(CSF)在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的和主要的(即关键成功因素)。通过对关键成功因素的识别,找出实现目标所需的关键信息集合,从而确定系统开发的优先次序。关键成功因素来自于组织的目标,通过组织的目标分解和关键成功因素识别、性能指标识别,一直到产生数据字典。识别关键成功因素,就是要识别联系于组织目标的主要数据类型及其关系。不同的组织的关键成功因素不同,不同时期关键成功因素也不相同。当在一个时期内的关键成功因素解决后,新的识别关键成功因素又开始。关键成功因素法能抓住主要矛盾,使目标的识别突出重点。由于经理们比较熟悉这种方法,使用这种方法所确定的目标,因而经理们乐于努力去实现。该方法最有利于确定企业的管理目标。2.战略目标集转化法(SST)把整个战略目标看成是一个“信息集合”,由使命、目标、战略等组成,管理信息系统的规划过程即是把组织的战略目标转变成为管理信息系统的战略目标的过程。战略目标集转化法从另一个角度识别管理目标,它反映了各种人的要求,而且给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。它能保证目标比较全面,疏漏较少,但它在突出重点方面不如关键成功因素法。3. 企业系统规划法(BSP)信息支持企业运行。通过自上而下地识别系统目标、企业过程和数据,然后对数据进行分析,自下而上地设计信息系统。该管理信息系统支持企业目标的实现,表达所有管理层次的要求,向企业提供一致性信息,对组织机构的变动具有适应性。企业系统规划法虽然也首先强调目标,但它没有明显的目标导引过程。它通过识别企业“过程”引出了系统目标,企业目标到系统目标的转化是通过企业过程/数据类等矩阵的分析得到的。

010.项目配置管理项

配置项是构成产品配置的主要元素,配置项主要有以下两大类:(1)属于产品组成部分的工作成果:如需求文档、设计文档、源代码和测试用例等;(2)属于项目管理和机构支撑过程域产生的文档:如工作计划、项目质量报告和项目跟踪报告等。这些文档虽然不是产品的组成部分,但是值得保存。所以设备清单不属于配置项。工作计划虽可充当配置项,但不属于产品组成部分工作成果的配置项。

011.软件过程活动中软件工具

通常按软件过程活动将软件工具分为软件开发工具软件维护工具软件管理和软件支持工具。 软件开发工具:需求分析工具、设计工具、编码与排错工具。 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

012.项目成本管理

成本管理过程包括:成本估算、成本预算与成本控制。其中成本预算的含义是将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。而成本估算是对完成项目活动所需资金进行近似的估算。

013.计算机体系结构的Flynn分类法

1>.单指令流单数据流(Single Instruction stream and Single Data stream,SISD)。SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。流水线方式的单处理机有时也被当作SISD.早期的计算机都是SISD机器,如冯诺.依曼架构,如IBM PC机,早期的巨型机和许多8位的家用机等。

2>.单指令流多数据流(Single Instruction stream and Multiple Data stream,SIMD)。SIMD以并行处理机(阵列处理机)为代表,并行处理机包括多个重复的处理单元,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。相联处理机也属于这一类。

3>.多指令流单数据流(Multiple Instruction stream and Single Data stream,MISD)。MISD具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。这类系统实际上很少见到。有文献把流水线看作多个指令部件,称流水线计算机是MISD。只有理论意义而无实例。

4>.多指令流多数据流(Multiple Instruction stream and Multiple Data stream,MIMD)。MIMD是指能实现作业、任务、指令等各级全面并行的多机系统。多处理机属于MIMD.当前的高性能服务器与超级计算机大多具有多个处理机,能进行多任务处理,称为多处理机系统,不论是大规模并行处理机还是对称多处理机,都属于MIMD。

014.面向对象类之间的关系

类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等。(1)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。(2)依赖关系。两个类A和B,如果B的变化可能会引起A的变化,则称类A依赖于类B。(3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。(4)共享聚集。共享聚集关系通常简称为聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体”,“部分”与“整体”的生命周期可以不相同。例如,汽车和车轮就是聚合关系,车子坏了,车轮还可以用;车轮坏了,可以再换一个。(5)组合聚集。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的“部分”只能属于一个“整体”,“部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。例如,一个公司包含多个部门,它们之间的关系就是组合关系。公司一旦倒闭,也就无所谓部门了。(6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。

015.用例之间的关系

用例之间的关系主要有包含、扩展和泛化三类。(1)包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。“课程学习”与“检查权限”是包含关系。(2)扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。“课程学习”与“缴纳学费”是扩展关系。(3)泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。“课程注册”与“网络注册”是泛化关系。

016.常用设计模式

责任链模式:通过给多个对象处理请求的机会,减少请求的发送者与接受者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求。

迭代器模式:提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示命令模式:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作解释器模式:给定一种语言,定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子责任链模式和迭代器模式都是行为型对象模式。

017.程序设计模块扇入和扇出

一个模块的扇出是指该模块直接调用的下级模块的个数,扇出大表示模块的复杂度高,需要控制和协调过多的下级模块。扇出过大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块:扇出过小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。一个模块的扇入是指直接调用该模块的上级模块的个数;扇入大表示模块的复用程度高。设计良好的软件结构通常顶层扇出比较大,中间扇出比较小,底层模块则有大扇入。

018.系统中间件

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

019.开发模型的特点

对于开发模型来说,喷泉模型复用好、开发过程无间隙、节省时间。螺旋模型是瀑布与原型(演化)模型结合体,适用于复杂项目。 RAD模型需要用户参与,模块化要求高,不适用新技术。RUP模型是用例驱动、架构为中心、迭代、增量

类型特征
瀑布模型结构化开发方法。开发阶段性、需求明确、文档齐全、风险控制弱。
原型模型迭代方法。分为原先开发与目标软件开发。需求不明确。
螺旋模型迭代方法。瀑布与原型(演化)模型结合体。适用于大型、复杂、风险项目。
喷泉模型面向对象方法。复用好、开发过程无间隙、节省时间。
V模型开发与测试结合。
变换模型适用于形式化开发。
智能模型适用于基于规则的专家系统。
快速应用开发RAD基于构件的开发方法。用户参与、开发或复用构件、模块化要求高、不适用新技术。
RUP / UP用例驱动、架构为中心、迭代、增量。
可重用构建模型基于构件的开发方法。开发或复用构件。

020.面向对象分析

在面向对象分析中,利用用例与用例图表示需求,从用例模型中提炼形成领域模型,用例的实现可以用交互图表示。从领域模型和用例图形成类图, 用包图和类图形成体系结构图。之后再进行后续的开发工作。

021.UML事务类型

UML中有4种事物:

1、结构事物是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素;

2、行为事物是UML模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为;

3、分组事物是UML模型的分组部分。它们是—些由模型分解成的盒子;

4、注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。

022.UML关系类型

依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义;

关联是一种结构关系,描述了一组链,链式对象之间的连接,聚集是一种特殊类型的关联,描述整体与部分间的结构关系;

泛化是一种特殊一般关系,特殊元素的对象可替代一般元素的对象;

实现是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。

023.统一软件开发过程(UP)

统一软件开发过程(UP)是一种基于面向对象技术的软件开发过程。其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件过程定义了5种通用的框架活动,它们按照过程顺序分别是:起始阶段、细化阶段、构建阶段、交付阶段和生产价段.其中在构阶段主要产生的文档包括设计模型。

024.遗产系统的四个演化策略

淘汰策略:低水平低价值 | 继承策略:低水平高价值 | 改造策略:高水平高价值 | 集成策略:高水平低价值

  1. 淘汰策略第三象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上更合算。对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。

  2. 继承策略第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

  3. 改造策略第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有极大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。

  4. 集成策略第四象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。

025.面向服务的架构相关技术

UDDI(Universal Description Discovery and Integration,统一描述、发现和集成)提供了一种服务发布、查找和定位的方法,是服务的信息注册规范,以便被需要该服务的用户发现和使用它。WSDL(Web Service Description Language,Web服务描述语言)是对服务进行描述的语言,它有一套基于XML的语法定义。WSDL描述的重点是服务,它包含服务实现定义和服务接口定义。SOAP(Simple Object Access Protocol,简单对象访问协议)定义了服务请求者和服务提供者之间的消息传输规范。SOAP用XML来格式化消息,用HTTP来承载消息。通过SOAP,应用程序可以在网络中进行数据交换和远程过程调用(Remote Procedure Call,RPC)简单来说,WSDL用来描述服务,UDDI用来注册和查找服务,而SOAP作为传输层,用来在消费这和服务者之间传送消息, REST(Representational State Transfer,表述性状态转移)是一种只使用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

026.企业服务总线ESB

ESB是SOA的一种实现方式, ESB在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合,在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式、异步模式等。

027.系统设计的主要内容

系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等

028.特定领域软件架构

特定领件架构(DSSA)是在一个特定应用领域为—组应用提供组织结构参考的标佳软件架构。实施DSSA的过程中包括—系列基本的活动其中领城设计活动的主要目的是为了获得DSSA。该活动参加人员中,领城专家的主要任务是提供关于领城中系统的需求规约和实现的知识。

029.软件架构设计

软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程,在建立软件架构的初期,一般需要选择一个合适的架构风格,并将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系,一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审。—般来说软件架构设计活动将已标识构件集成到软件架构中,设计这些构件,但不予以实现。

030.企业信息集成

界面集成:把各应用系统的界面集成起来,统一入口,使用户能够对集成系统产生一个整体的感觉。

过程集成:也称为业务流程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度业务流程集成不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部的应用之间,本企业和其他合作伙伴之间的满到端的业务流程的管理。它包括应用集成、 B2B集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。

031.软件可靠性

软件可靠性是指在特定环境和特定时间内,计算机程序无故障运行的概率。在软件可靠性的讨论中,故障指软件行为与需求的不符,故障有等级之分。纠正一个故障可能会引入其他的错误,而这些错误会导致其他的故障,需要注意的是,与其他属性不同,软件可靠性能够通过历史数据和开发数据直接测量和估算出来。

032.面向服务的开发方法

SO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented,SO)的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。SO方法有三个主要的抽象级别,分别是操作、服务和业务流程。位于最低层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应;位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件。

033.四种质量属性设计策略实现

质量属性设计策略
可用性心跳、Ping / Echo、冗余、进程监视器
可修改性抽象、信息隐藏、限制通信路径、运行时注册
性能优先级队列、增加计算资源、减少计算开销、引入并发机制、采用调度策略等。
安全性用户认证、用户授权、追踪审计、限制访问

034.四种软件系统维护

类型目标主要内容
纠错性维护纠正在开发阶段产生而在测试和验收过程中没发现的错误1.设计错误;2.程序错误;3.数据错误;4.文档错误
适应性维护为适应软件运行环境改变而做的修改1.影响系统的规则或规律的变化;2.硬件配置的变化,如机型、终端和外部设备的改变等;3.数据格式或文件结构的改变;4.软件支持环境的改变,如操作系统、编译器或实用程序的变化等
完善性维护为扩充功能或者改善性能而进行的修改。修改方式有插入、删除、扩充和增强等1.为扩充和增强功能而做的改变,如扩充解题范围和算法优化等;2.为改善性能而做的修改,如提高运行速度、节省存储空间等;3.为便于维护而做的修改,如为了改进易读性而增加一些注释等
预防性维护为了明天的需要,把今天的方法应用到昨天的系统中,一使旧的系统焕发新活力这种维护所占的比例很小,因为它耗资巨大

035.敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。通过任何一个敏捷过程都可以由其所强调的3个关键假设而识别出来,即:①难以提前预测哪些需求是稳定的和哪些需求会变化,同样,预测项目进行中客户优先级的变化也是困难的;②对于软件项目开发来说,设计和实现是交错进行的;③从制定计划的角度来看,分析、设计、实现和测试并不容易预测。如何建立能解决不可预测性的过程?这就要求敏捷过程必须具有自适应性。但原地踏步式的连续适应性变化收效甚微。因而,敏捷软件过程还必须增量地适应。为了达到这一目的,敏捷团队需要客户的反馈以做出正确的适应性改变。可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介。

036.螺旋模型

螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的瀑布模型的系统性和可控性特点。它有两个显著 特点,一是采用循环的方式逐步加深系统定义和实现的深度,同时降低风险;二是确定一系列里程碑,确保项目开发过 程中的相关利益者都支持可行的和令人满意的系统解决方案。

037.软件可靠性

软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是软件无故障运行的概率。这里的故障是软件行为与需求的不符,故障有等级之分。软件可靠性可以通过历史数据和开发数据直接测量和估算出来。在软件开发中,排除一个故障可能会引入其他的错误,而这些错误会导致其他的故障,因此,在修改错误以后,还需要进行回归测试。

038.逆向工程恢复信息的方法

方法导出信息
用户指导下的搜索与变换实现级、结构级
变换方法实现级、结构级、功能级
基于领域知识的方法功能级、领域级
铅版恢复法实现级、结构级

039.用户界面设计的黄金规则

用户界面设计的黄金规则:①置用户于控制之下;②减少用户的记忆负担;③保持界面一致性。这些黄金规则实际上形成了用于指导人机界面设计活动的一组设计原则的基础

040.在RUP中采用“4+1”视图模型

在RUP中采用“4+1”视图模型来描述软件系统的体系结构。“4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。分析人员和测试人员关心的是系统的行为,因此会侧重于用例视图;最终用户关心的是系统的功能,因此会侧重于逻辑视图;程序员关心的是系统的配置、装配等问题,因此会侧重于实现视图;系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重于进程视图;系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署视图。

041.云计算

云计算是互联网时代信息基础设施与应用服务模式的重要形态,是新一代信息技术集约化发展的必然趋势。它以资源聚合和虚拟化、应用服务和专业化、按需供给和灵便使用的服务模式,提供高效能、低成本、低功耗的计算与数据服务,支撑各类信息化的应用。云计算具有重要特征:资源、平台和应用专业服务,使用户摆脱对具体设备的依赖,专注于创造和体验业务价值;资源聚集与集中管理,实现规模效应与可控质量保障;按需扩展与弹性租赁,降低信息化成本等特征。

042.分布性问题

分布性问题强调系统或系统中构件在一个分布的环境中相互通信的方式。分布性问题有两个元素:①实体间连接方式;②实体间通信的特性。解决分布性问题最普通的体系结构模式是代理(Proxy)模式。CORBA是代理模式的一个范例。

043.“4+1”视图模型

视图功能
逻辑视图描述了设计的对象模型,支持系统的功能需求。
进程视图描述了设计的并发和同步特征,支持系统的运行特性。
物理视图描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求。
开发视图描述了在开发环境中软件的静态组织结构,支持软件开发的内部需求。
场景用来说明重要的系统活动,是其它四个视图在用例驱动下的综合

044.软件架构文档

软件架构文档是架构师与相关开发人员的通信媒介,是为验证体系结构设计和提炼(或修改)这些设计(必要时)所执行预先分析的基础。软件架构文档化过程的主要输出结果是架构规格说明书和测试架构需求的质量设计说明书这两份文档。软件架构文档的写作应该遵循以下一些基本原则:①要从使用者的角度编写文档;②必须分发给所有与系统有关的开发人员(而不是只分发给系统分析师和系统架构设计师);③应该保持架构文档的即时更新,但更新不要过于频繁;④架构文档中的描述应该尽量避免不必要的重复;⑤每次架构文档的修改都应该记录修改的原则等。

045.特定领域软件架构(DSSA)

特定领域软件架构(DSSA)是一个特定的问题领域中由领域模型、参考需求和参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。通常情况下,DSSA应该具备以下4个方面的特征:①一个严格定义的问题域或解决域;②具有普遍性,使其可以用于领域中某个特定应用的开发;③对整个领域能有合适程度的抽象;④具备该领域固定的典型的在开发过程中的可重用元素。特定领域软件架构在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。DSSA通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境,其中应用工程师主要在领域特定应用开发环境中工作。

046.软件架构需求

软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。软件架构需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细地分为生成类图、对类图进行分组和将类打包成构件3个步骤。

047.系统概要设计

系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。

048.三层软件架构

一般来说,架构可以分为表现层、中间层和持久层三个层次。(1)表现层。表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用MVC结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求调用中间层进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。(2)中间层。中间层主要包括业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框架四个方面。业务逻辑层组件分为接口和实现类两个部分,接口用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。通常按模块来设计业务逻辑组件,每个模块设计为一个业务逻辑组件,并且每个业务逻辑组件以多个DAO组件作为基础,从而实现对外提供系统的业务逻辑服务。业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分I/O参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的开发、代码重用和管理。(3)持久层。持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。

049.软件架构的设计

根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。

软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程,在建立软件架构的初期,一般需要选择一个合适的架构风格,将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系,一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审。一般来说,软件架构设计活动将已标识构件集成到软件架构中,设计这些构件,但不予以实现。

050.软件架构风格

软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的结构和语义两个方面的特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,通常会采用黑板架构风格,以知识为中心进行分析与推理。

051.包装器外观(Wrapper Facade)架构模式

包装器外观(Wrapper Facade)架构模式解决操作系统的差异问题。具体来说,服务端程序应该在包装器外观的实例上调用需要的方法,然后将请求和请求的参数发送给操作系统API函数,调用成功后将结果返回。使用该模式提高了底层代码访问的一致性,但降低了服务端程序的调用性能。

052.结构化开发方法

结构化开发方法也称结构化系统开发方法( Structured System Development Methodology),是目前应用最普遍的一种开发方法。其基本思想是用系统的思想和系统工程的方法,按照用户至上的原则结构化、模块化,自顶向下对系统进行分析与设计。它不限于数据处理领域项目。

053.体系结构文档化

体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这两个文档。软件体系结构的文档要求与软件开发项目中的其他文档是类似的。文档的完整性和质量是软件体系结构成功的关键因素。文档要从使用者的角度进行编写,必须分发给所有与系统有关的开发人员,且必须保证开发者手上的文档是最新的。

054.流程设计工具

程序流程图(Program Flow Diagram,PFD)用一些图框表示各种操作,它独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。流程图中只能包括5种基本控制结构:顺序型、选择型、WHILE循环型(当型循环)、UNTIL循环型(直到型循环)和多分支选择型。IPO图是由IBM公司发起并逐步完善的一种流程描述工具,其主体是处理过程说明,可以采用流程图、判定树、判定表、盒图、问题分析图或过程设计语言来进行描述。IPO图中的输入、输出与功能模块、文件及系统外部项都需要通过数据字典来描述,同时需要为其中的某些元素添加注释。N-S图与PFD类似,也包括5种控制结构,分别是顺序型、选择型、WHILE循环型(当型循环)、UNTIL循环型(直到型循环)和多分支选择型,任何一个N-S图都是这5种基本控制结构相互组合与嵌套的结果。在N-S图中,过程的作用域明确;它没有箭头,不能随意转移控制;而且容易表示嵌套关系和层次关系;并具有强烈的结构化特征。但是当问题很复杂时,N-S图可能很大。问题分析图(Problem Analysis Diagram,PAD)是继PFD和N-S图之后,又一种描述详细设计的工具。PAD也包含5种基本控制结构,并允许递归使用。过程设计语言(Process Design Language,PDL)也称为结构化语言或伪代码(pseudo code),它是一种混合语言,采用自然语言的词汇和结构化程序设计语言的语法,用于描述处理过程怎么做,类似于编程语言。过程设计语言用于描述模块中算法和加工逻辑的具体细节,以便在开发人员之间比较精确地进行交流。对于具有多个互相联系的条件和可能产生多种结果的问题,用结构化语言描述则显得不够直观和紧凑,这时可以用以清楚、简明为特征的判定表(Decision Table)来描述。判定表采用表格形式来表达逻辑判断问题,表格分成4个部分,左上部分为条件说明,左下部分为行动说明,右上部分为各种条件的组合说明,右下部分为各条件组合下相应的行动。判定树(Decision Tree)也是用来表示逻辑判断问题的一种常用的图形工具,它用树来表达不同条件下的不同处理流程,比语言、表格的方式更为直观。判定树的左侧(称为树根)为加工名,中间是各种条件,所有的行动都列于最右侧。

055.RUP模型

RUP将项目管理、业务建模、分析与设计等统一起来,贯穿整个开发过程。RUP中的软件过程在时间上被分解为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一个阶段。可以看出,基于RUP的软件过程是一个迭代和增量的过程。通过初始、细化、构建和移交4个阶段就是一个开发周期,每次经过这4个阶段就会产生一代软件。除非产品退役,否则通过重复同样的4个阶段,产品将演化为下一代产品,但每一次的侧重点都将放在不同的阶段上。这样做的好处是在软件开发的早期就可以对关键的、影响大的风险进行处理。

056.遗留系统的评价结果

把对遗留系统的评价结果分列在坐标的4个象限内。对处在不同象限的遗留系统采取不同的演化策。

①淘汰策略。第四象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上考虑更合算。

②继承策略。第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。称这种遗留系统的演化策为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

③改造策略。第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,称这种遗留系统的演化策为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。

④集成策。第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门  (   或子公司   )   的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策为集成。

057.面向对象设计模型

面向对象的设计模型包含以包图表示的软件体系结构图,以交互图表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。

058.基于构件的开发模型

基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段髙效率、髙质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析定义、体系结构设计、构件库建立、应用软件构建以及测试和发布5个阶段组成。

059.软件构件

软件构件是软件系统中具有一定意义的、相对独立的可重用单元。与对象相比,构件可以基于对象实现,也可以不作为对象实现。构件需要在容器中管理并获取容器提供的服务;客户程序可以在运行状态下利用接口动态确定构件所支持的功能并调用。

060.软件体系结构中的评估方法

ATAM是软件体系结构评估中的一种方法,主要对软件体系结构的设计结果进行评估。评估是软件系统详细设计、实现和测试之前的阶段工作,因此评估不涉及系统的实现代码和测试,因为评估是考査软件体系结构是否能够合适地解决软件系统的需求,并不对软件需求自身是否准确进行核实,而软件需求是否准确是需求评审阶段的工作。ATAM并不是一种精确的评估方法,该方法表现的主要形式是评审会议。

061.大型局域网的层次

大型局域网通常划分为核心层、汇聚层和接入层,其中核心层在逻辑上只有一个,它连接多个分布层交换机,通常是一个园区中连接多个建筑物的总交换机的核心网络设备;汇聚层定义网络的访问策略;接入层提供局域网络接入功能,可以使用集线器代替交换机。

062.系统性能评估方法

对运行系统进行评估的主要目的是评价信息系统在性能方面的表现,找出系统可能存在的性能瓶颈。其中,常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试等,评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量等。当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈。

063.对象管理组织

对象管理组织(OMG)基于CORBA基础设施定义了4种构件标准。实体(Entity) 构件需要长期持久化并主要用于事务性行为,由容器管理其持久化。加工(Process)构件同样需要容器管理其持久化,但没有客户端可访问的主键。会话(Session)构件不需要容器管理其持久化,其状态信息必须由构件自己管理。服务(Service)构件是无状态的。

064.分布式开发逻辑层

分布式系统开发分为5个逻辑计算层:表示层实现用户界面;表示逻辑层包括为了生成数据表示而必须进行的处理任务,如输入数据编辑等;应用逻辑层包括为支持实际业务应用和规则所需的应用逻辑和处理过程,如信用检查、数据计算和分析等;数据处理层包括存储和访问数据库中的数据所需的应用逻辑和命令,如查询语句和存储过程等;数据层是数据库中实际存储的业务数据。

065.C/S分布式计算架构

客户机/服务器系统开发时可以采用不同的分布式计算架构:分布式表示架构是将表示层和表示逻辑层迁移到客户机,应用逻辑层、数据处理层和数据层仍保留在服务器上;分布式数据架构是将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机;分布式数据和应用架构是将数据层和数据处理层放置在数据服务器上,应用逻辑层放置在应用服务器上,表示逻辑层和表示层放置在客户机上。

066.特定领域软件架构

特定领域软件架构(DSSA)是在一个特定应用领域为一组应用提供组织结构参考的标准软件架构。实施DSSA的过程中包括一系列基本的活动,其中领域设计活动的主要目的是为了获得DSSA。该活动参加人员中,领域专家的主要任务是提供关于领域中系统的需求规约和实现的知识。

067.架构风格和系统性能

对于采用层次化架构风格的系统,划分的层次越多,系统完成某项功能需要的中间调用操作越多,其性能越差。对于采用管道-过滤器架构风格的系统,可以通过引入过滤器的数据并发处理可以有效提高系统性能。对于采用面向对象架构风格的系统,可以通过减少功能调用层次提高系统性能。对于采用过程调用架构风格的系统,将显式调用策略替换为隐式调用策略能够提高系统的灵活性,但会降低系统的性能。

068.层次化网络设计

层次化网络设计应该遵循一些简单的原则,这些原则可以保证设计出来的网络更加具有层次的特性:①在设计时,设计者应该尽量控制层次化的程度,一般情况下,由核心层、汇聚层、接入层三个层次就足够了,过多的层次会导致整体网络性能的下降,并且会提高网络的延迟,但是方便网络故障排查和文档编写。②在接入层应当保持对网络结构的严格控制,接入层的用户总是为了获得更大的外部网络访问带宽,而随意申请其他的渠道访问外部网络是不允许的。③为了保证网络的层次性,不能在设计中随意加入额外连接,额外连接是指打破层次性,在不相邻层次间的连接,这些连接会导致网络中的各种问题,例如缺乏汇聚层的访问控制和数据报过滤等。④在进行设计时,应当首先设计接入层,根据流量负载、流量和行为的分析,对上层进行更精细的容量规划,再依次完成各上层的设计。⑤除去接入层的其他层次,应尽量采用模块化方式,每个层次由多个模块或者设备集合构成,每个模块间的边界应非常清晰。

069.域名解析查询过程

DNS查询过程分为两种查询方式:递归查询和迭代查询。递归查询的查询方式为:当用户发出查询请求时,本地服务器要进行递归查询。这种查询方式要求服务器彻底地进行名字解析,并返回最后的结果——IP地址或错误信息。如果查询请求在本地服务器中不能完成,那么服务器就根据它的配置向域名树中的上级服务器进行查询,在最坏的情况下可能要查询到根服务器。每次查询返回的结果如果是其他名字服务器的IP地址,则本地服务器要把查询请求发送给这些服务器做进一步的查询。迭代查询的查询方式为:服务器与服务器之间的查询采用迭代的方式进行,发出查询请求的服务器得到的响应可能不是目标的IP地址,而是其他服务器的引用(名字和地址),那么本地服务器就要访问被引用的服务器,做进一步的查询。如此反复多次,每次都更接近目标的授权服务器,直至得到最后的结果——目标的IP地址或错误信息。根域名服务器为众多请求提供域名解析,若采用递归方式会大大影响性能。

070.企业信息化

企业信息化涉及对企业管理理念的创新,管理流程的优化,管理团队的重组和管理手段的革新。管理创新是按照市场发展的要求,对企业现有的管理流程重新整合,从作为管理核心的财务、物料管理,转向技术、物资、人力资源的管理,并延伸到企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而还要扩展到客户关系管理、供应链管理乃至发展到电子商务。

071.企业信息集成

企业信息集成按照组织范围分为企业内部的信息集成外部的信息集成。在企业内部的信息集成中,( 应用系统集成 )实现了 不同系统之间的互操作, 使得不同系统之间能够实现数据和方法的共享;( 业务过程集成 )实现了不同应用系统之间的连接、协调运作和信息共享;企业内部的信息集成一般可分为以下四个方面:技术平台集成,数据集成,应用系统集成和业务过程集成。

072.项目范围定义

在初始项目范围说明书中已文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容:①项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书 ,②项目范围管理计划 ③组织过程资产 ④批准的变更申请

073.可行性分析

可行性分析是所有项目投资、工程建设或重大改革在开始阶段必须进行的一项工作。项目的可行性分析是对多因素、多目标系统进行的分析、评价和决策的过程。可行性分析通常从经济可行性、技术可行性、法律可行性和用户使用可行性4个方面来进行分析。经济可行性也称为投资收益分析或成本效益分析,主要评价项目的建设成本、运行成本和项目建成后可能的经济收益。经济收益可以分为直接收益、间接收益、有形收益和无形收益等。技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。

074.逆向工程

逆向工程与重构工程是目前预防性维护采用的主要技术。所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。逆向工程导出的信息可以分为如下4个抽象层次。①实现级:包括程序的抽象语法树、符号表等信息。②结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图等。③功能级:包括反映程序段功能及程序段之间关系的信息。④领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息。显然,上述信息的抽象级别越高,它与代码的距离就越远,通过逆向工程恢复的难度亦越大,而自动工具支持的可能性相对变小,要求人参与判断和推理的工作增多。

075.面向对象类信息

类封装了信息和行为,是面向对象的重要组成部分。在面向对象设计中,类可以分为三种类型:实体类、边界类和控制类。①实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型转化中,一个参与者一般对应于实体类。②控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象通常控制其他对象,因此它们的行为具有协调性。③边界类用于封装在用例内、外流动的信息或数据流。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。边界对象将系统与其外部环境的变更隔离开,使这些变更不会对系统其他部分造成影响。

076.RUP中的软件过程阶段

RUP中的软件过程在时间上被分解为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。细化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素。在构建阶段要开发所有剩余的构件和应用程序功能,把这些构件集成为产品。移交阶段的重点是确保软件对最终用户是可用的。基于RUP的软件过程是一个迭代过程,通过初始、细化、构建和移交4个阶段就是一个开发周期,每次经过这4个阶段就会产生一代产品,在每一轮迭代中都要进行测试与集成。

077.系统白盒测试

白盒测试也称为结构测试,主要用于软件单元测试阶段,测试人员按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试方法主要有控制流测试、数据流测试和程序变异测试等。控制流测试根据程序的内部逻辑结构设计测试用例,常用的技术是逻辑覆盖。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件/判定覆盖同时满足判定覆盖和条件覆盖。它的含义是选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。修正的条件/判定覆盖。需要足够的测试用例来确定各个条件能够影响到包含的判定结果。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。

078.面向对象测试

面向对象系统的测试目标与传统信息系统的测试目标是一致的,但面向对象系统的测试策略与传统结构化系统的测试策略有很大的不同,这主要体现在两个方面,分别是测试的焦点从模块移向了类,以及测试的视角扩大到了分析和设计模型。与传统的结构化系统相比,面向对象系统具有三个明显特征,即封装性、继承性与多态性。封装性决定了面向对象系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列,因此在测试一个类时,仅对该类的每个方法进行测试是不够的;继承性决定了面向对象系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的错误;多态性决定了面向对象系统的测试必须考虑到动态绑定对测试充分性的影响、抽象类的测试以及误用对测试的影响。

079.软件系统架构

软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。

080.软件机构的主要作用

1.软件架构能够在设计变更相对容易的阶段,考虑系统结构的可选方案,2.便于技术人员与非技术人员就软件设计进行交互,3.能够展现软件的结构、属性与内部交互关系。但是软件架构与用户对系统的功能性需求没有直接的对应关系。

081.编译器与架构风格

“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用( 顺序批处理 )架构风格比较合适。随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE.随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用( 数据共享 )架构风格比较合适。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用( 隐式调用 )架构风格比较合适。某公司已经开发了一款针对某种嵌入式操作系统专用编程语言的IDE,随着一种新的嵌入式操作系统上市并迅速占领市场,公司决定对IDE进行适应性改造,支持采用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,采用基于( 适配 )的架构设计策略比较合适;为了模拟新操作系统的运行环境,通常采用( 虚拟机 )架构风格比较合适。

082.基于架构的软件设计的基础知识与应用

基于架构的软件设计(Achitecture-Based Software Design,ABSD)方法有三个基础,分别是对系统进行功能分解、采用架构风格实现质量属性与商业需求、采用软件模板设计软件结构。ABSD方法主要包括架构需求等6个主要活动,其中架构复审活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;架构演化活动针对用户的需求变化,修改应用架构,满足新的需求。软件架构文档应该从使用者的角度进行书写,针对不同背景的人员采用不同的书写方式,并将文档分发给相关人员。架构文档要保持较新,但不要随时保证文档最新,要保持文档的稳定性。架构文档化的主要输出结果是架构规格说明书和架构质量说明书。

083.架构权衡分析方法的基础知识与应用

架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。题干描述中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致”,讨论的是针对使用系统的用户的习惯问题,这与易用性相关。“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”这个描述与系统的可测试性相关。在识别出质量属性描述后,通常采用效用树对质量属性的描述进行刻画与排序。在评估过程中,权衡点是一个会影响多个质量属性的架构设计决策。

084.第三方认证服务

Kerberos可以防止偷听和重放攻击,保护数据的完整性。Kerberos的安全机制如下。AS(Authentication Servet):认证服务器,是为用户发放TGT的服务器。TGS(Ticket Granting Server):票证授予服务器,负责发放访问应用服务器时需要的票证。认证服务器和票据授予服务器组成密钥分发中心(Key DistributionCenter,KDC)。V:用户请求访问的应用服务器。TGT(Ticket Granting Ticket):用户向TGS证明自己身份的初始票据,即KTGS(A,KS)。公钥基础结构(Public Key Infrastructure,PKI)是运用公钥的概念和技术来提供安全服务的、普遍适用的网络安全基础设施,包括由PKI策略、软硬件系统、认证中心、注册机构(Registration Authority,RA)、证书签发系统和PKI应用等构成的安全体系。

085.撰写学术论文引用他人资料

作品实际上是在吸纳和借鉴前人的多种智力成果的基础上而逐渐创作出来的。为了让作品能被更多的人所传播、利用与掌握,以有利于技术和文化的进步、发展,著作权法一方面向著作人授予精神、经济专有权利并保护这些权利所带来的利益,同时又对权利人行使其专有权利给予了一定的限制,便于公众接触、使用作品,为进一步提高技术和文化提供条件。著作权的限制主要体现在合理使用、法定许可使用两个方面。合理使用是指在特定的条件下,法律允许他人自由使用享有著作权的作品而不必征得著作权人的同意,也不必向著作权人支付报酬的行为,但应当指明作者姓名、作品名称,并且不得侵犯著作权人依照本法享有的其他权利。法定许可使用是指除著作权人声明不得使用外,使用人在未经著作权人许可的情况下,在向著作权人支付报酬时,指明著作权人姓名、作品名称,并且不侵犯著作权人依法享有的合法权利的情况下进行使用的行为。法定许可使用与合理使用的相同处在于:以促进社会公共利益、限制著作权人权利为目的;使用的作品限于已发表作品;无须征得著作权人的同意,但必须注明作者姓名、作品名称。我国著作权法第二十二条具体规定了合理使用的12种情形,一种情形是“为介绍、评论某一作品或者说明某一问题,在作品中适当引用他人已经发表的作品。引用目的仅限于介绍、评论某一作品或者说明某一问题,所引用部分不能构成引用人作品的主要部分或者实质部分。

086.不适用或不受著作权法保护的作品

著作权客体的排除领域分为不受著作权法保护的作品和不适用著作权法的作品。不受著作权法保护的作品是指违禁作品,即因内容违反法律而被禁止出版、传播的作品;我国著作权法第五条列举了三类不适用著作权法的作品,即时事新闻;历法、通用数表、通用表格和公式;法律、法规、国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文。我国著作权法第三条、第六条规定了各类受著作权法保护的作品类型,包括文字作品(如小说、论文、剧本)、口述作品(如即兴演说、法庭辩论)、艺术作品(如音乐、戏剧、曲艺、舞蹈)、美术作品(如绘画、书法、雕塑),以及摄影作品、电影作品、图形作品、模型作品、计算机软件、民间艺术作品等。

087.著作权权利

我国著作权法在第十条对权利内容作了较为详尽而具体的规定,指明著作权的内容包括人身权利和财产权利。 著作人身权是指作者享有的与其作品有关的以人格利益为内容的权利,也称为精神权利,包括发表权署名权修改权保护作品完整权。 著作人身权与作者的身份紧密联系,永远属于作者本人,即使作者死亡,其他任何人不能再拥有它。所以, 我国著作权法第二十条规定“作者的署名权、修改权、保护作品完整权的保护期不受限制”。 发表权是属于人身权利,但发表权是一次性权利,即发表权行使一次后,不再享有发表权。 发表权是指决定作品是否公之于众的权利,作品一经发表,就处于公知状态,对处于公知状态的作品,作者不再享有发表权,以后再次使用作品与发表权无关,而是行使作品的使用权。

088.软件设计的知识内容

软件设计包括体系结构设计接口设计数据设计过程设计。 架构设计:(体系结构设计)定义软件系统各主要部件之间的关系。 数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。 接口设计:(人机界面设计)软件内部,软件和操作系统间以及软件和人之间如何通信。 过程设计:系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。

如有转载或 CV 的请标注本站原文地址