架构基础背题模式

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共有的结构和( 语义),强调对架构( 设计)的重用。

软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性交互作用,并通过多种视图全面描述特定系统的架构。

基于软件架构的开发(Architecture BasedS oftwareD evelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。

在基于体系结构的软件设计方法中,采用( 视角和视图)来描述软件架构,采用(用例 )但来描述功能需求,采用(质量场景 )来描述质量需求。

1、OLTP的概述:On-Line Transaction Processing 联机事务处理过程(OLTP),也称为面向交易的处理过程。

2、OLAP的概述:联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。

二、两者的特点不同:

1、OLTP的特点:结构复杂、实时性要求高。

2、OLAP的特点:联机分析处理的主要特点,是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型,维指的是用户的分析角度。

三、两者的用户不同:

1、OLTP的用户:操作人员,低层管理人员

2、OLAP的用户:决策人员,高级管理人员

按照云计算服务提供的资源层次,可以分为IaaS、PaaS和SaaS等三种服务类型。

1.Iaas(基础设施即服务),向用户提供计算机能力、存储空间等基础设施方面的服务。这种服务模式需要较大的基础设施投入和长期运营管理经验,但Iaas服务单纯出租资源,盈利能力有限。

2.Paas(平台即服务),向用户提供虚拟的操作系统、.数据库管理系统、Web应用等平台化的服务。Paas服务的重点不在于直接的经济效益,而更注重构建和形成紧密的产业生态。

3.SaaS(软件即服务),向用户提供应用软件(如cRM、办公软件等)、组件。工作流等虚拟化软件的服务,saas一般采用web技术和soA架构,通过Internet向用户提供多租户、可定制的应用能力,大大缩短了软件产业的渠道链条,减少了软件升级

IT服务生命周期模型中,IT服务生命周期由规划设计(Pianning&Design)、部署实施(Implementing)、服务运营(Operation)、持续改进(Improvemenit)和监督管理(Supervision)5个阶段组成,简称PIOIS。

其中:

规划设计:从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务;

部署实施:在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案

服务运营:根据服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营融合;

持续改进:根据服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量;

监督管理:本阶段主要依据ITSS对IT服务服务质量进行评价,并列服务供方的服务过程、交付结果实施监督和绩效评估。

软件维护的分类

1.更正性维护----更正交付后发现的错误

2.适应性维护---使软件产品能够在变化后或变化中的环境中继续使用

3.完善性维护---改进交付后产品的性能和可维护性

4.预防性维护---在软件产品中的潜在错误成为实际错误前,检测并更正他们

信息系统设计---方案设计:

系统总体设计:系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等系。统详细设计:代码设计、数据库设计、人/机界面设计、处理过程设计等

软件开发工具:软件配置管理工具包括追踪工具、版本管理工具和发布工具

顺序图强调的是对象交互的时间次序。通信图强调的是对象之间的组织结构

开放系统的直连式存储(Direct-Attached Storage. DAS)在服务器增加硬盘。

网络接入存储(Network Attached Storage, NAS)是将存储设备连接到网络上

存储区域网络(Storage Area Network,SAN)是一种连接存储设备和存储管理子系统的专用网络。

企业应用集成通过采用多种集成模式,构建统一标准的基础平台,将具有不同功能和目的而又独立运行的企业信息系统联合起来。目前市场上主流的集成模式有三种,分别是面向信息的集成、面向过程的集成和面向服务的集成。其中面向过程的集成模式强调处理不同应用系统之间的交互逻辑,与核心业务逻辑相分离,并通过不同应用系统之间的协作共同完成某项业务功能。

  • 面向服务在基于SOA架构的系统中,具体应用程序的功能是由一些松耦合并且具有统一接口定义方式的组件(也就是Service)组合构建起来的。
  • 面向信息集成采用主要技术有数据复制、数据聚合和接口集成,接口集成通过集成代理的方式实现集成,即为应用系统创建适配器作为自己的代理。
  • 面向服务集成,是一个个web服务或者封装web服务的业务处理,支持服务接口描述和服务处理的分离

用户文档至少应该包括下述5方面的内容。

①功能描述:说明系统能做什么。

安装文档:说明怎样安装这个系统以及怎样使系统适应特定的硬件配置。

③使用手册:简要说明如何着手使用这个系统(通过丰富的例子说明.怎样使用常用的系统功能,并说明用户操作错误是怎样恢复和重新启动的)。

④参考手册:详尽描述用户可以使用的所有系统设施以及它们的使用方法,并解释系统可能产生的各种出错信息的含义(对参考手册最主要的要求是完整,因此通常使用形式化的描述技术)。

⑤操作员指南(如果需要有系统操作员的话):说明操作员应如何处理使用中出现的各种情况。

系统文档是从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是非常重要的。

抽象命令(Command)角色:一般定义为接口,用来定义执行命令的接口。

具体命令(ConcreteCommand)角色:通常会持有接收者对象,并调用接收者对象的相应功能来完成命令要执行的操作。

接收者(Receiver)角色:真正执行命令的对象。任何类都可能成为接收者,只要它能够实现命令要求实现的相应功能。

调用者(Invoker)角色:要求命令对象执行请求,通常会持有命令对象,可以持有很多的命令对象。这个是客户端真正触发命令并要求命令执行相应操作的地方,也就是说相当于使用命令对象的入口。

客户端(Client)角色:创建具体的命令对象,并且设置命令对象的接收者。

面向对象设计模式 包图:软件体系结构图         交互图:用例实现图。在面向对象设计中,类可以分为三种类型:实体类、边界类和控制类。

①实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型转化中,一个参与者一般对应于实体类。

②控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象通常控制其他对象因此它们的行为具有协调性。

③边界类用于封装在用例内、外流动的信息或数据流边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。边界对象将系统与其外部环境的变更隔离开,使这些变更不会对系统其他部分造成影响

结构化分析-数据流图。

结构化设计-程序结构图

基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析定义、体系结构设计、构件库建立、应用软件构建以及测试和发布5个阶段组成。

J2EE应用:

系统界面:JSP构件

Servlet构件:分发客户请求、有效组织其他构件为客户端提供服务的控制器

数据库:Entity Bean构件

系统核心业务逻辑:Session Bean构件

路径测试(path testing)是指根据路径设计测试用例的一种技术,经常用于状态转换测试中。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 路径测试是用例设计的方法。

架构复审需要有外部人员(用户代表或者领域专家)

架构模式是软件设计中的高层决策例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策;

设计模式主要关注软件系统的设计,与具体的实现语言无关;

惯用法,最低层模式,则是实现时通过某种特定的程序设计语言来描述构件与构件之间的关系,例如引用-计数就是C++语言中的一种惯用法。

网络安全体系设计是逻辑设计工作的重要内容之一,数据库容灾属于网络安全和应用安全考虑范畴。必选应用安全。数据库挂了,应用也就不安全了。

技术,思想,原理,算法等设计元素不进行著作权保护。

任何人都可以利用反向编译技术、净室技术和反向工程技术等获得他人软件所使用的思路、原理、结构、算法、处理过程和运行方法等设计要素,直接用于自己的软件产品中,这在著作权法上并不构成侵权。

在初步项目范围说明书中己文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容:

①项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。

②项目范围管理计划。

③组织过程资产。

④需求文件。

所以项目文档管理方案,项目合同不属于范围定义的输入。

项目时间管理包括使项目按时完成所必需的管理过程。项目时间管理中的过程包括:活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划以及进度控制。

为了得到工作分解结构(Work Breakdown Structure,WBS)中最底层的交付物,必须执行一系列的活动。对这些活动的识别以及归档的过程就是活动定义。

鱼骨图(也称为Ishikawa图)是一种发现问题“根本原因”的方法,通常用来进行因果分析。

需求管理的目标是为软件需求建立一个基线,提供给软件工程和管理使用:软件计划、产品和活动与软件需求保持一致。

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

以一个特定问题领域为对象,形成由领域参考模型,参考需求,( 参考架构)等组成的开发基础架构,支持一个特定领域中多个应用的生成。

特定领域软件架构(Domain Specific Software Architecture,DSSA)是在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构。DSSA通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境,其中应用工程师主要在领域特定应用开发环境中工作。

软件需求工程是包括创建和维护软件需求文档所必须的一切活动的过程,可以分为需求开发和需求管理两大工作。需求开发包括需求获取、需求分析、编写需求规格说明书(需求定义)和需求验证4个阶段在需求开发阶段需要确定软件所期望的用户类型, 获取各种用户类型的需求,了解实际的用户任务和目标,以及这些任务所支持的业务 需求。

需求管理是一个对系统需求变更、了解和控制的过程,逋常包括定义需求基线、处理需求变更和需求跟踪方面的工作。需求管理强调:控制对需求基线的变动;保持项目计划与需求的一致;控制单个需求和需求文档的版本情况;管理需求和联系链,或者管理单个需求和其他项目可交付产品之间的依赖关系;跟踪基线中的需求状态。

需求开发与需求管理是相辅相成的,需求开发是主线、目标;需求管理是支持、保障。

可以把结构化方法和面向对象方法结合起来进行系统开发。首先使用结构化方法进行自顶向下的整体划分; 然后再自底向上地采用面向对象方法开发系统。

抛弃式原型开发利用原型验证和澄清系统的需求描述,重新构造系统:

演化式原型开发逐步改进和细化原型,将原型进化直至产生出目标系统;

增量式原型开发在建立软件总体设计的基础上,采用增量开发方法,使原型成为最终系统

静态分析通过程序文本从而识别出程序语句的各个部分,审查可能的缺陷和异常之处,静态分析包括五个阶段:

  • 控制流分析阶段找出并突出显示那些带有多重出口或入口的循环以及不可达到的代码段;
  • 数据使用分析阶段突出程序中变量的使用情况;
  • 接口分析阶段检查子程序和过程声明及它们使用的一致性
  • 信息流分析阶段找出输入变量和输出变量之间的依赖关系:
  • 路径分析阶段找出程序中所有可能的路径并画出在此路径中执行的语句。

确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据用户的参与程度,通常包括以下4种类型。

内部确认测试。内部确认测试主要由软件开发组织内部按照软件需求规格说明书进行测试。

α测试和β测试。对于通用产品型的软件开发而言,α测试是指由用户在开发环境下进行测试,通过α测试以后的产品通常称为α版;β测试是指由用户在实际使用环境下进行测试,通过β测试的产品通常称为β版。一般在通过β测试后,才能把产品发布或交付给用户。

验收测试。验收测试是指针对软件需求规格说明书,在交付前以用户为主进行的测试。其测试对象为完整的、集成的计算机系统。验收测试的目的是,在真实的用户工作环境下,检验软件系统是否满足开发技术合同或软件需求规格说明书。验收测试的结论是用户确定是否接收该软件的主要依据。

系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。其中性能测试包括负载测试、压力测试、可靠性测试和并发测试。

“4+1” 视图,用来描述软件系统的架构。在“4+1”视图中,逻辑视图用来描述设计的对象模型和对象之间的关系

开发视图描述了软件模块的组织与管理

过程视图描述设计的并发和同步特征。

用例和场景。

ABSD以架构风格和质量属性为中心,强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、选择架构风格实现质量及商业需求和软件模板的使用。

基于架构的软件设计(Architecture-Based Software Design,ABSD)方法有三个基础,分别是对系统进行功能分解、采用架构风格实现质量属性与商业需求、采用软件模板设计软件结构。ABSD方法主要包括架构需求等6个主要活动,其中架构复审活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;架构演化活动针对用户的需求变化,修改应用架构,满足新的需求。

软件架构文档应该从使用者的角度进行书写,针对不同背景的人员采用不同的书写方式,并将文档分发给相关人员。架构文档要保持较新,但不要随时保证文档最新,要保持文档的稳定性。架构文档化的主要输出结果是架构规格说明书和架构质量说明书。

有两种威胁是安全体系结构不必防护的,因为它们不是很重要,或者这种防护没有多大作用:

①拒绝服务(Denial of Service):因为在很多情况下拒绝服务和网络失效是无法区别的,所以可以由网络管理协议来处理,安全子系统不必采取措施。

②通信分析(Traffic Analysis):即由第三者分析管理实体之间的通信规律,从而获取需要的信息。由于通常都是由少数管理站来管理整个网络的,所以管理系统的通信模式是可预见的,防护通信分析就没有多大作用了。

L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。

PGP电子邮件加密协议

MIME(Multipurpose Internet Mail Extensions)中文名为:多用途互联网邮件扩展类型。

数据库设计主要分为用户需求分析、概念结构、逻辑结构和物理结构设计个阶段。

其中,在用户需求分析阶段中,数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析,并形成需求说明文档、数据字典和数据流程图。

用户需求分析阶段形成的相关文档用以作为概念结构设计的设计依据。

ERP中的企业资源包括企业的“三流”资源,即物流资源、资金流资源和信息流资源

CRM是一套先进的管理思想及技术手段,它通过将人力资源、业务流程与专业技术进行有效的整合,CRM系统的主要模块包括销售自动化、营销自动化、客户服务与支持、商业智能。

软件开发环境(Software Development Environment, SDE)是指支持软件的工程化开发和维护而使用的一组软件,由软件工具集和环境集成机制构成。

软件开发环境应支持多种集成机制,根据功能的不同,集成机制可以划分为环境信息库、过程控制与消息服务器、环境用户界面三个部分。

环境信息库。环境信息库是软件开发环境的核心,用以存储与系统开发有关的信息,并支持信息的交流与共享。环境信息库中主要存储两类信息,一类是开发过程中产生的有关被开发系统的信息,例如分析文档、设计文档和测试报告等;另一类是环境 提供的支持信息,如文档模板、系统配置、过程模型和可复用构件等。

过程控制与消息服务器。过程控制与消息服务器是实现过程集成和控制集成的基础。过程集成时按照具体软件开发过程的要求进行工具的选择与组合,控制集成使各工具之间进行并行通信和协同工作。

环境用户界面。环境用户界面包括环境总界面和由它实行统一控制的各环境部件及工具的界面。统一的、具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。

测试用例测试方法,等价类划分设计覆盖有效等价类和无效等价类的测试用例。无效等价类是用来测试非正常的输入 数据的,所以要为每个无效等价类设计一个测试用例。

架构描述语言(Architecture Description Language, ADL),ADL主要包括以下组成部分:组件、组件接口、连接件和架构配置。

(视图 )这一概念主要用于描述软件架构模型_。在此基础上,通常采用( 视角)描述某个利益相关人(Stakeholder)所关注架构模型的某一方面。(架构 )则是对所有利益相关人关注点的响应和回答。

基于场景的架构分析方法(Scenarios-based Architecture Analysis Method,SAAM)。

SAAM•的主要输入是问题描述、需求说明和架构描述其分析过程主要包括场景开发、架构描述、单个场景评估、场景交互和总体评估。

在PKI系统体系中,证书机构CA负责生成和签署数字证书,注册机构RA负责验证申请数字证书用户的身份。

创建型模式主要用于创建对象,为设计类实例化新对象提供指南。

结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。 .

行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。

创建型模式:构造器模式、原型模式。(工抽单原构)

abstract factory、builder、factory method、prototype、singleton等。

结构型模式:适配器模式、外观模式、代理模式。(适桥组装外享代)

adaptor、bridge、composite、decorator、facade、flyweight和proxy。

行为型模式:命令模式、中介模式、状态模式和策略模式(责观命策状,解迭中访备)

行为型模型主要包括chain of responsibility、command、interpreter、iterator、mediator、memento、observer、state、strategy、template method、visitor等。

在不指定具体类的情况下,Abstract Factory模式为创建一系列相关或相互依赖的对象提供了一个接口。根据给定的相关抽象类,Abstract Factory模式提供了从一个相匹配的具体子类集创建这些抽象类的实例的方法。

Abstract Factory模式提供了一个可以确定合适的具体类的抽象类,这个抽象类可以用来创建实现标准接口的具体产品的集合。客户端只与产品接口和Abstract Factory类进行交互。使用这种模式,客户端不用知道具体的构造类。Abstract Factory模式类似于Factory Method模式,但是Abstract Factory模式可以创建一系列的相关对象。

Builder模式将复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象。通过只指定对象的类型和内容,Builder模式允许客户端对象构建一个复杂对象客户端可以不受该对象构造的细节的影响。这样通过定义一个能够构建其他类实例旳类,就可以简化复杂对象的创建过程。Builder模式生产一个主要产品,而该产品中可能有多个类,但是通常只有一个主类。

Prototype模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。使用Prototype实例,便指定了要创建的对象类型,而通过复匍这个Prototype,就可以创建新的对象。Prototyp

企业信息集成:

按集成内容,企业内部的信息集成一般可分为以下四个方面:技术平台集成,数据集成,应用系统集成和业务过程集成。

应用系统集成实现不同系统之间的互操作,使得不同应用系统之间能够实现数据和方法的共享;

业务过程集成使得在不同应用系统中的流程能够无缝连接,实现流程的协调运作和流程信息的充分共享。

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

企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。

ESB的主要功能有:

(1) 服务位置透明性;

(2) 传输协议转换;

(3) 消息格式转换;

(4) 消息路由;

(5) 消息增强;

(6) 安全性;

(7) 监控与管理。

IETF集成服务(IntServ)工作组根据服务质量的不同,把Internet服务分成了三种类型:

①保证质量的服务(Guranteed Services):对带宽、时延、抖动和丢包率提供定量的保证;

②负载受控的服务(Comrolled-load Services):提供一种类似于网络欠载情况下的服务,这是一种定性的指标;

③尽力而为的服务(Best-Effort):这是Internet提供的一般服务,基本上无任何质量保证。

对于真实程序、核心程序、小型基准程序和合成基准程序来说,其评测程度依次递减。把应用程序中用的最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序(Benchmark)。事务处理性能委员会(Transaction Processing Performance Council,TPC)是制定商务应用基准程序(Benchmark)标准规范、性能和价格度量,并管理测试结果发布的非营利组织,其发布的TPC-C是在线事务处理的基准程序,TPC-D是决策支持的基准程序。

结构化布线系统分为6个子系统:工作区子系统、水平子系统、管理子系统、干线(或垂直)子系统、设备间子系统和建筑群7系统。其中水平子系统是指各个楼层接线间的配线架到工作区信息插座之间所安装的线缆系统,其作用是将干线子系统与用户工作区连接起来。

ERP是对企业物流、资金流和信息流资源进行全面集成管理的管理信息系统。在ERP五个层次的计划中,

生产预测计划是对市场需求进行比较准确的预测,是经营计划、生产计划大纲和主生产计划编制的基础;

销售管理计划是针对企业的销售部门的相关业务进行管理,属于最高层计划的范畴,是企业最重要的决策层计划之一;

生产计划大纲根据经营计划的生产目标制定,是对企业经营计划的细化

主生产计划说明了在一定时期内生产什么,生产多少和什么时候交货,它的编制是ERP的主要工作内容;

物料需求计划是对主生产计划的各个项0所需的全部制造件和全部采购件的网络支持计划和时间进度计划;

能力需求计划是对物料需求计划所需能力进行核算的一种计划管理方法,能够帮助企业尽早发现企业生产能力的瓶颈,为实现企业的生产任务提供能力帮面的保障。

企业集成平台是一个支持复杂信息环境下信息系统开发、集成、协同运行的软件支撑环境,包括硬件、软件、软件工具和系统。基本功能包括:

①通信服务:提供分布环境下透明的同步/异步通信服务功能;

②信息集成服务:为应用提供透明的信息访问服务,实现异种数据库系统之间数据的交换、互操作、分布数据管理和共享信息模型定义:

③应用集成服务:通过高层应用编程接口来实现对相应应用程序的访问,能够为应用提供数据交换和访问操作,使各种不同的系统能够相互协作;

④二次开发工具:是集成平台提供的一组帮助用户开发特定应用程序的支持工具;

⑤平台运行管理工具:是企业集成平台的运行管理和控制模块。

商业智能一般由数据仓库、联机分析处理、数据挖掘、数据备份和恢复等部分组成。

单元测试中自顶向下不必另外编写驱动模块。

自底向上不必须编写桩模块。

桩模块用來模拟被测模块所调用的子模块,它接受被测模块的调用,检验调用参数。

MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点是为了实现某种特定质量属性,一个或多个系统组件所具有的特性。

权衡点是影响多个质量属性,并对多个质景属性来说都是敏感点的系统属性。

分布式数据库基本概念的理解。

分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的

复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的.。

位置透明是指用户无须知道数据存放的物理位置

逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型

板级支持包BSP硬件有关性,操作系统有关性。

IPv6地址增加到128位并且能够支持多级地址层次;

地址自动配置功能简化了网络地址的管理;

IPv6地址有三种类型(1) 单播(Unicast)地址 (2) 任意播(AnyCast)地址 (3) 组播(Multicast)地址

在组播地址中增加了范围字段,改进了组播路由的可伸缩性;

增加的任意播地址比IPv4中的广播地址更加实用。

与IPv4相比,IPv6首部有下列改进:

分组头格式得到简化:IPv4头中的很多字段被丢弃,IPv6头中字段的数量从12个降到了8个,中间路由器必须处理的字段从6个降到了4个,这样就简化了路由器的处理过程,提高了路由选择的效率。

改进了对分组头部选项的支持:与IPv4不同,路由选项不再集成在分组头中,而是把扩展头作为任选项处理,仅在需要时才插入到IPv6头与负载之间。这种方式使得分组头的处理更灵活,也更流畅。以后如果需要,还可以很方便地定义新的扩展功能。

提供了流标记能力:IPv6增加了流标记,可以按照发送端的要求对某些分组进行特别的处理,从而提供了特别的服务质量支持,简化了对多媒体信息的处理,可以更好地传送具有实时需求的应用数据。

当需求信息(如客户订单、生产计划和采购合同)从需方向供方流动时,便引发物流。

同时,供应信息(如入库单、完工报告单、库存记录、可供销售量和提货发运单等)又同物料一起沿着供应链从供方向需方流动。

电子商务分五个方面,即电子商情广告、电子选购与交易、电子交易凭证.的交换、电子支付与结算,以及网上售后服务等。参与电子商务的实体有4类客户(个人消费者或集团购买)、商户(包括销售商、制造商和储运商)、银行(包括发行和收单行)及认证中心。

商业智能系统的处理过程包括数据预处理、建立数据仓库、数据分析及数据展现4个主要阶段。

数据预处理是整合企业原始数据的第一步,包括数据的抽取、转换和装载三个过程。建立数据仓库则是处理海量数据的基础。数据分析是体现系统智能的关键,一般采用OLAP和数据挖掘技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题。在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。

项目范围是为了达到项目目标,为了交付具有某种特制的产品和服务,项目所规定要做的。

在信息系统项目中,

产品范围是指信息系统产品或者服务所应该包含的功能,项目范围是指为了能够交付信息系统项目所必须做的工作。

产品范围是项目范围的基础,产品的范围定义是信息系统要求的度量,而项目范围的定义是生产项目计划的基础。产品范围描述是项目范围说明书的重要组成部分。

在配置管理中,所有的配置项都应列入版本控制的范畴。配置项的状态通常有3种,分别是草稿、正式发布和正在修改。

需求变更管理过程:

会员注册时可以采用电话和邮件两种方式。用例“会员注册”和“电话注册”、“邮件注册”之间是(泛化 )关系

单一原则:类完成单一功能

里氏替换:不要破坏父类结构

依赖倒置:面向接口编程

接口隔离:接口分类要精简

最少知道原则 迪米特法则:降低耦合

开闭选择:遵循前5大原则

单元测试依据详细设计文档 集成测试依据概要设计文档。

每个盘块读入缓冲区的时间T为10μs,缓冲区送用户区的时间M为6μs,系统对每个磁盘块数据的处理时间C为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区。

双: 10*10 +2+6

单: 16 *10 +2

输入T,传入M,处理C.

双:

流水线周期Max(C,T)=max(2,10)

18+(10-1)*max(2,10)=108

在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T) 流水线周期。如果CT,则可使系统不必等待设备输入。本题每一块数据的处理时间为10,采用双缓冲需要花费的时间为10×10+6+2=108。

单:流水线周期Max(C,T)+M= 10+6

单缓存区,系统对每一块数据的处理时间为:Max(C,T)+M。因为,当T>C时,处理时间为M+T;当T

区分服务要求每个IP分组都要根据IPv4协议头中的服务类型(在IPv6中是通信类型)字段加上一个DS码点,然后内部路由器根据DS码点的值对分组进行调度和转发。

在IPv6无状态自动配置过程中,主机将其MAC地址附加在地址前缀1111 1110 10之后,产生一个链路本地地址

ERP是建立在信息技术的基础上,利用现代企业的先进管理思想,对企业的物流资源、资金流资源和信息流资源进行全面集成管理的管理信息系统,为企业提供决策、计划、控制与经营业绩评估的全方位和系统化的管理平台

在项目的成本管理中,成本预算将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。

版本控制工具属于软件维护工具软件评价工具属于软件管理与软件支持工具。

面向对象设计的基本任务,把面向对象分析模型转换为面向对象设计模型。面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成。设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和描述流程化处理过程的活动图

软件元素包括: 1.程序代码 2.测试用例 3.设计文档 4.设计过程 5.需求分析文档 6.领域知识

面向构件的编程(Component-Oriented Programming,COP)关注于如何支持建立面向构件的解决方案。基于一般OOP风格,面向构件的编程需要下列基本的支持:多态性(可替代性)、模块封装性(高层次信息的隐藏)、后期的绑定和装载(部署独立性)和安全性(类型和模块安全性)。

CORBA构件模型中,对象适配器的主要作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,,目前采用的对象适配器规范是POA(可移植对象适配器),它替代了传统的BOA(基本对象适配器)。

Servant(伺服对象)是最终完成客户请求的服务对象实现。

伺服对象管理器(伺服对象激活器和伺服对象定位器)用来提供CORBA服务端的对象查找服务

活动对象映射表用来保存已注册的CORBA对象标识和伺服对象之间的映射关系。

伺服对象(Servant):CORBA对象的真正实现,负责完成客户端请求。

对象适配器(Object Adapter):用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能

对象请求代理(Object Request Broker):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制。

软件构件是部署、版本控制和替换的基本单位。

构件是一组通常需要同时部署的原子构件。

原子构件通常成组地部署,但是它也能够被单独部署。

构件与原子构件的区别在于,大多数原子构件永远都不会被单独部署,尽管它们可以被单独部署。

大多数原子构件都属于一个构件家族,一次部署往往涉及整个家族。一个模块是不带单独资源的原子构件。

原子构件不在构件家族中共享。

基于Web Services实现的面向服务系统中,服务提供者、服务使用者和服务注册器之间的远程交互通过SOAP(简单对象访问协议)消息实现

服务内容描述通过WSDL(Web服务描述语言)标准实现,

服务注册信息通过UDDI(服务统一描述、发现和集成)框架实现,

通过BPEL/BPEL4WS(业务过程执行语言)将分散的、功能单一的Web服务组织成一个复杂的有机应用。

在构建应用系统时,需要与不同时期采用不同技术开发的既有系统进行集成。

JavaEE(J2EE)平台提供了对于不同类型遗产系统的集成支持。对于关系型数据库系统可以采用JDBC(Java数据库连接)进行连接,对于非Java应用系统可以采用JCA(Java连接器架构)连接,对于基于COFJBA的应用系统可以采用Java lDL(Java接口定义语言)实现集成。

软件集成测试也称为组装测试、联合测试(对于子系统而言,则称为部件测试)。它将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。从组装策略而言,可以分为一次性组装测试和增量式组装(包括自顶向下、自底向上及混合式)两种。集成测试计划通常是在软件概要设计阶段完成的,集成测试一般采用黑盒测试方法。

DSSA是在一个特定应用领域中为一组应用提供组织结构参考的软件体系结构,参与DSSA的人员可以划分为4种角色,包括领域专家、领域设计人员、领域实现人员和领域分析师,其基本活动包括领域分析、领域设计和领域实现。

其中领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息,并对基础软件架构进行实现。

可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。包括可维护性、可扩展性、结构重组、可移植性4个方面。

不包含可变性,可变性是把原架构变成新架构的能力。

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组约束。架构风格反映领域中众多系统所共有的结构和语义特征

DES加密算法的密钥长度为56位,三重DES的密钥长度为(112 )位

三重DES 是加密-解密-加密,所以有效的密钥长度是112位.

候选码计算:

方法一:去掉右边出现的属性,剩余的就是候选码。

方法二:画出依赖图,入度为0的为候选码。

分布式数据库两阶段提交协议中的两个阶段是指(表决阶段、执行阶段 )。

表决阶段/准备阶段:协调者通知参与者,参与者要么直接返回失败,要么写入到日志不提交。

执行阶段/提交阶段:根据协调者收到的信息,进行执行或者回滚。

利用需求分析和现有网络体系分析的结果来设计逻辑网络结构,最后得到一份逻辑网络设计文档,输出内容包括以下几点:

1、逻辑网络设计图

2、IP地址方案

3、安全方案

4、招聘和培训网络员工的具体说明

5、对软硬件、服务、员工和培训的费用初步估计

物理网络设计是对逻辑网络设计的物理实现,通过对设备的具体物理分布、运行环境等确定,确保网络的物理连接符合逻辑连接的要求。输出如下内容:

1、网络物理结构图和布线方案

2、设备和部件的详细列表清单

3、软硬件和安装费用的估算

4、安装日程表,详细说明服务的时间以及期限

5、安装后的测试计划

6、用户的培训计划

由此可以看出D选项的工作是物理网络设计阶段的任务。

构件的特性是:

(1)独立部署单元;

(2)作为第三方的组装单元;

(3)没有(外部的)可见状态。

一个构件可以包含多个类元素,但是一个类元素只能属于一个构件。将一个类拆分进行部署通常没什么意义。

对象的特性是:

(1)一个实例单元,具有唯一的标志。

(2)可能具有状态,此状态外部可见。

(3)封装了自己的状态和行为。

所谓软件的逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。

与之相关的概念是:

重构(restructuring),指在同一抽象级别上转换系统描述形式;

设计恢复(design recovery),指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计的信息(不一定是原设计);

再工程(re-engineering),也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。

对于政务网的安全需求是在公网和外网之间实行逻辑隔离,在内网和外网之间实行物理隔离, 采用网闸

网闸其实就是模拟人工数据倒换,利用中间数据倒换区,分时地与内外网连接,但一个时刻只与一个网络连接,保持“物理的分离”,实现数据的倒换。

网闸:一个物理离隔离装置,与IDS与防火墙不同,网闸连接的两个网络是不相通的。网闸与内网相联时,会断开与外网的连接,与外网相联时,会断开与内网的连接。

数据仓库4大特点:

面向主题:数据按主题组织。

集成的:消除了源数据中的不一致性,提供整个企业的一致性全局信息。

相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)。

反映历史变化(随着时间变化):记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。

哈弗结构:数据程序分开

冯若伊曼:数据程序在一块

GPU:冯升级版

DSP芯片的结构包括:哈佛结构流水线,独立的硬件乘法器,特殊的DSP指令,独立的DMA总线和控制器,多处理器接口,JTAG标准测试接口,快速的指令周期。

关于串行总线的特点,总结如下:

1、串行总线有半双工、全双工之分,全双工是一条线发一条线收。

2、串行总线适宜长距离传输数据

3、串行总线按位(bit)发送和接收尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

4、串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配。

5、串行总线的数据发送和接收可以使用多种方式,中断方式与DMA都较为常见。

冗余校验码

①:信息码字段:111000110

②:生成多项式:x5+x3+x+1 = 101011

③:拿①乘以②中最高的幂(即x5 也就是在后面加5个0) 等于111000110 00000

④:拿③得到的结果和②做摸2除法 类似除法 只是不用减法 用异或 具体可以百度 得到的余数就是答案:11001

⑤:补充一点 校验码的位数比生成多项式的位数少1,

校验码位数为5位,多项式位数6位。

在客户机上运行nslookup查询某服务器名称时能解析出IP地址,查询IP地址时却不能解析出服务器名称,解决这一问题的方法是( 为该服务器创建PTR记录)。

PTR记录是反向记录,通过IP查询域名。

反向解析是指从ip地址到域名的映射,通过添加PTR记录可以将ip地址指向域名。

DHCPDecline:DHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的IP地址不可用。

对于数据库系统,主要包括CPU/内存使用状况、查询语句性能、进程/线程使用状态、日志文件大小等。注:数据处理速率不是。

对于应用系统,主要包括应用系统的可用性、响应时间、并发用户数、特定应用资源占用等。

系统工程利用计算机作为工具,对系统的结构、元素、(信息 )和反馈等进行分析,以达到最优(规划 )、最优设计、最优管理和最优控制的目的。霍尔(A.D. Hall)于1969年提出了系统方法的三维结构体系,通常称为霍尔三维结构,这是系统工程方法论的基础。霍尔三维结构以时间维、( 逻辑)维、知识维组成的立体结构概括性地表示出系统工程的各阶段、各步骤以及所涉及的知识范围。其中时间维是系统的工作进程,对于一个具体的工程项目,可以分为7个阶段,在(研制 )阶段会做出研制方案及生产计划。

1、逻辑维

运用系统工程方法解决某一大型工程项目时,一般可分为七个步骤:

(1)明确问题

(2)建立价值体系或评价体系

(3)系统分析

(3)系统综合

(5)系统方案的优化选择

(6)决策"决策就是管理","决策就是决定",人类的决策管理活动面临着被决策系统的日益庞大和日益复杂。

(7)制定计划有了决策就要付诸实施,实施就要依靠严格的有效的计划。

2、时间维(工作进程)

对于一个具体的工作项目,从制定规划起一直到更新为止,全部过程可分为七个阶段:

(1)规划阶段。即调研、程序设计阶段,目的在于谋求活动的规划与战略;

(2)拟定方案。提出具体的计划方案。

(3)研制阶段。作出研制方案及生产计划。

(3)生产阶段。生产出系统的零部件及整个系统,并提出安装计划。

(5)安装阶段。将系统安装完毕,并完成系统的运行计划。

(6)运行阶段。系统按照预期的用途开展服务。

(7)更新阶段。即为了提高系统功能,取消旧系统而代之以新系统,或改进原有系统,使之更加有效地工作。

3、知识维(专业科学知识)

系统工程除了要求为完成上述各步骤、各阶段所需的某些共性知识外,还需要其他学科的知识和各种专业技术,霍尔把这些知识分为工程、医药、建筑、商业、法律、管理、社会科学和艺术等。各类系统工程,如军事系统工程、经济系统工程、信息系统工程等。都需要使用其它相应的专业基础知识。

时间管理的过程包括:

1、活动定义

2、活动排序

3、活动的资源估算

4、活动历时估算

5、制定计划

6、进度控制

需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,

变更控制委员会可以由一个小组担任,也可以由多个不同的组担任。

软件开发过程模型中,(原型模型 )主要由原型开发阶段和目标软件开发阶段构成。

原型模型关键使用原型快速开发,瀑布模型主要下一阶段与前一个阶段关联,螺旋模型关键在快速模型基础上加上风险分析

集成机制根据功能的不同,可划分为环境信息库、过程控制与消息服务器、环境用户界面三个部分。

(1)环境信息库。环境信息库是软件开发环境的核心,用以存储与系统开发有关的信息,并支持信息的交流与共享。环境信息库中主要存储两类信息,一类是开发过程中产生的有关被开发系统的信息,例如,分析文档、设计文档和测试报告等;另一类是环境提供的支持信息,例如,文档模板、系统配置、过程模型和可复用构件等。

(2)过程控制与消息服务器。过程控制与消息服务器是实现过程集成和控制集成的基础。过程集成是按照具体软件开发过程的要求进行工具的选择与组合,控制集成使各工具之间进行并行通信和协同工作。

(3)环境用户界面。环境用户界面包括环境总界面和由它实行统一控制的各环境部件及工具的界面。统一的、具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。

目选项所列举的图与开发阶段的对应关系为:

1、需求分析阶段:数据流图。

2、概要设计阶段:模块结构图、层次图和HIPO图。

3、详细设计阶段:程序流程图、伪代码、盒图。

软件设计包括体系结构设计、接口设计、数据设计和过程设计。

结构设计:定义软件系统各主要部件之间的关系,表示出模块间的控制关系。

数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。

接口设计(人机界面设计):软件内部,软件和操作系统间以及软件和人之间如何通信

过程设计:系统结构部件转换成软件的过程描述

软件重用分垂直式重用与水平式重用,垂直式重用是指局限于某一垂直领域的重用,如只在电力系统中用到的构件;

水平式重用是指通用领域的重用,如标准函数库,任何软件都能用,所以是水平式重用。

EJB分为会话Bean、实体Bean和消息驱动Bean。

( 会话)负责完成服务端与客户端的交互;( 实体)用于数据持久化来简化数据库开发工作;(消息驱动 )主要用来处理并发和异步访问操作。

1、会话Bean:用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个会话Bean来为客户端服务。会话Bean可以直接访问数据库,但更多时候,它会通过实体Bean实现数据访问。

2、实体Bean:用于实现O/R映射,负责将数据库中的表记录映射为内存中的实体对象,事实上,创建一个实体Bean对象相当于新建一条记录,删除一个实体Bean会同时从数据库中删除对应记录,修改一个实体Bean时,容器会自动将实体Bean的状态和数据库同步。

3、消息驱动Bean是EJB3.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB实际上是一个异步的无状态会话Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等待一个方法调用直到返回结果。

构件组装成软件系统的过程可以分为三个不同的层次定制、集成和扩展。

J2EE 核心组成:

容器:Applet Container、Application Container、Web Container、EJB Container 。

组件:Applet、Application、JSP/Servlet、EJB 。

服务:

HTTP(Hypertext Transfer Protocol)超文本传输协议RMI-IIOP(Remote Method Invocation ober the Internet Inter-ORB Protocol):远程方法调用,融合了Java RMI 和CORBA(Common Object Rrquest Broker Architecture 公共对象请求代理体系结构) 在使用Application 或Web 端访问EJB 端组件是使用

Java IDL(Java Interface Definition Language):Java 接口定义语言,主要用于访问外部的CORBA 服务。

JTA(Java Transaction API):用于进行事务处理操作的 API JDBC(Java Database Connectivity):为数据库操作提供的一组API

JMS(Java Massage Service):用于发送点对点消息的服务

JavaMail: 用于发送邮件

JAF(Java Activation Framework):用于封装传递的邮件数据

JNDI(Java Naming and Directory Interface )

JAXP(Java API for XML Parsing ):专门用于XML操作的API

JCA(J2EE Connector Architecture ):Java 连接器构架 JAAS (Java Authenticati on and Authorization Service) JSF (Java Server Faces)

JSTL (JSP Standard Tag Library)

SAAJ (SOAP with Attachments API for JAVA)

JAXR (Java ApI for XML Registries)

在仓库风格中,有两种不同的构件:

中央数据结构说明当前状态,

独立构件在中央数据存贮上执行。

可用性:通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性。   

性能:增加计算资源、减少计算开销、引入并发机制、采用资源调度等。   

安全:可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。

消息摘要是用来保证数据完整性的。传输的数据一旦被修改那么计算出的摘要就不同,只要对比两次摘要就可确定数据是否被修改过。因此其目的是为了防止发送的消息被篡改。   

对摘要进行加密的目的是防止抵赖

 在我国,自专利申请日起计算,发明专利的保护期为20年,

实用新型专利权和外观设计专利权的期限为10年;

商标权的保护期限为自核准注册之日起10年,但可以根据其所有人的需要无限续展权利期限;

软件著作权受法律保护的期限是作者终生及其死亡后50年。一旦保护期满,权利将自行终止,成为社会公众可以自由使用的知识。

嵌入式实时系统是为某个特定功能设计的一种专用系统,其任务的调度算法与系统功能密切相关。通常,实时系统存在多种调度算法,

优先级调度算法是指系统为每个任务分配一个相对固定的优先顺序,调度程序根据任务优先级的髙低程度,按时间顺序进行高优先级任务优先被调度;

抢占式优先级调度算法是在优先级调度算法的基础上,允许高优先级任务抢占低优先级任务而运行;

最晚截止期调度算法是指调度程序按每个任务的最接近其截止期末端的时间进行调度,系统根据当前任务截止期的情况,选取最接近截止期的任务运行;

最早截止期调度算法是指调度程序按每个任务的截止期时间,选取最早到截止期的头端时间的任务进行调度。

最晚截止期:截止期剩得最少 最早截止期:最先完成

混成系统定义:混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制。

TCP端口号的作用是进程寻址依据,即依据端口号将报文交付给上层的某一进程。

用户打开浏览器输入目标地址,访问一个Web页面的过程如下:

( )浏览器首先会查询本机的系统,获取主机名对应的IP地址; 

( )若本机查询不到相应的IP地址,则会发起DNS请求,获取主机名对应的IP地址;

( )使用查询到的IP地址向目标服务器发起TCP连接;

( )浏览器发送HTTP请求,HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文;

( )服务器从请求信息中获得客户机想要访问的主机名、Web应用、Web资源;

( )服务器用读取到的Web资源数据,创建并回送一个HTTP响应;

( )客户机浏览器回送的资源,并显示结果。

根据上述Web页面访问过程,在浏览器发出HTTP请求报文之前不可能获取将要访问的Web应用。

在一个园区网中可以存在多台DHCP服务器,客户机申请后每台服务器都会给予响应,客户机通常选择最先到达的报文提供的IP地址;

对客户端而言,在申请时不知道DHCP服务器地址,因此元法指定;

DHCP服务器提供的地址不必和服务器在同一网段

地址池中可以有多块地址,它们分属不同网段。

关键成功因素法通过对关键成功因素的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的优先次序。关键成功因素来源于组织的目标,通过组织的目标分解和关键成功因素识别、性能指标识别,一直到产生数据字典。

系统应用集成构建统一标准的基础平台,在各个应用系统的接口之间共享数据和功能,基本原则是保证应用程序的独立性系统应用集成提供了4个不同层次的服务,最上层服务是流程控制服务

在传统的软件工程方法中,软件的生存周期分为定义时期、幵发时期、运行和维护时期这几个阶段。

可行性研宄属于软件定义阶段的主要任务。

软件开发工具是指用干辅助软件开发过程活动的各种软件。其中,软件建模工具是辅助建立软件系统的抽象模型的。常见的软件建模工具包括Rational Rose、Together、WinA&D、QuickUML、EclipseUML

工程管理角度来看,软件设计可分为概要设计和详细设计两个阶段。概要设计也称为高层设计或总体设计即将软件需求转化为数据结构和软件的系统结构;详细设计也称为低层设计,即对结构图进行细化,得到详细的数据结构与算法。

软件结构化设计包括架构设计、接口设计、数据设计和过程设计等任务。它是一种面向数据流的设计方法,是以结构化分析阶段所产生的成果为基础,进一步自顶而下、逐步求精和模块化的过程。

模块化设计是将一个待开发的软件分解成为若干小的简单部分——模块。具本来说,模块是指执行某一特定任务的数据结构和程序代码。通常将模块的结构和功能定义为其外部特性,将模块的局部数据和实现该模块的程序代码称为内部特性。模块独立是指每个模块完成相对独立的特定子功能,与其他模块之间的关系最简单。通常用内聚和耦合两个标准来衡量模块的独立性,其设计原则是“高内聚、低耦合”。

基于构件的软件开发中,已有的构建分类方法可以归纳为三大类:

( )关键字分类法。根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构。

( )刻面分类法。利用Facet(刻面)描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征。

( )超文本方法。基于全文检索技术,使得检索者在阅读文档过程中可以按照人类的联想思维方式任意跳转到包含相关概念或构件的文档。

构件组装技术大致可分为基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。没有基于实现的玩意。

逆向工程过程能够导出过程的设计模型(实现级)程序和数据结构信息(结构级)、对象模型、数据和控制流模型(功能级)以及UML状态图和部署图(领域级)。其中,结构级包括反映程序各部分之间相关依赖关系的信息;功能级包括反映程序段功能及程序段之间关系的信息。

本题考査软件逆向工程的基础知识。

重组是指在同一抽象级别上转换系统描述形式;设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息;重构工程是指在逆向工程所获得信息的基础上,修改或重构己有的系统,产生系统的一个新版本。

基于架构的软件开发模型(Architecture-Based Software Design Model, ABSDM)把整个基于架构的软件过程划分为架构需求、设计、文档化、复审、实现、演化等6个子过程。

构文档化过程的主要输出结果是架构需求规格说明和测试架构需求的质量设计说明书这两个文档。

Optimization最佳模式 Replication复制 Partitioning分区

normalization正常化规范化

data redundancy数据冗余

data integrity 数据完整性

在同一进程中的各个线程都可以共享该进程所拥有的资源,如访问进程地址空间中的每一个虚地址;访问进程所拥有的已打开文件、定时器、信号量等。

但是不能共享进程中某线程的栈指针。

微内核

优点 1.结构清晰,代码量少 2.可靠性高,安全性强 3.可移植性强,可伸缩性,可扩展性高

缺点难以进行良好的整体优化, 进程之间通信开销大,内核功能代码不能被直接调用带来的服务效率低。

Linux中,DNS的配置文件保存在/etc/resolv.conf。

软件过程是指软件整个生命周期,包括需求获取、需求分析、设计、实现、测试、发布和维护的一个过程模型。

软件过程中的活动主要由软件人员来完成,软件活动主要包括软件描述、软件开发、软件有效性验证和软件演化。其中,软件描述定义了软件功能以及使用的限制。

软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。其中,对应软件开发过程的各种活动,软件开发工具有需求分析工具、设计工具、编码与排错工具、测试工具等。

按描述需求定义的方法可将需求分析分为基于自然语言或图形描述的工具和基于形式化需求定义语言的工具。

软件设计包括四个既独立又相互联系的活动,即数据设计、软件结构设计、人机界面设计(接口设计)和过程设计,这叫个活动完成以后就得到了全面的软件设计模型。

通过信息隐蔽可以提高软件的可修改性、可测试性和可移植性,它也是现代软件设计的一个关键性原则。

如果把软件系统看成是构件的集合,那么从构件的外部形态来看,构成一个系统的构件可分为五类:

  • 独立而成熟的构件得到了实际运行环境的多次检验;
  • 有限制的构件提供了接口,指出了使用的条件和前提;
  • 适应性构件进行了包装或使用了接口技术,把不兼容性、资源冲突等进行了处理,可以直接使用;
  • 装配的构件在安装时,已经装配在操作系统、数据库管理系统或信息系统不同层次上,可以连续使用;
  • 可修改的构件可以进行版本替换,如果对原构件修改错误、增加新功能,可以利用重新“包装”或写接口来实现构件的替换。

中间件提供平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。

中间件的基本功能包括:

为客户端和服务器之间提供连接和通信

提供交易管理机制保证交易的一致性

提供应用的负载均衡和高可用性等。

自动化测试工具主要使用脚本技术来生成测试用例,脚本是一组测试工具执行的指令集合。

脚本的基本结构主要有五种:

  • 线性脚本录制手工测试的测试用例时得到的脚本;
  • 结构化脚本具有各种逻辑结构和函数调用功能;
  • 共享脚本是指一个脚本可以被多个测试用例使用
  • 数据驱动脚本是指将测试输入存储在独立的数据文件中,而不是脚本中;
  • 关键字驱动脚本是数据驱动脚本的逻辑扩展,用测试文件描述测试用例。

在软件架构中,从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的软件架构模型。因此,在考虑体系结构时,可以从不同的视角来检查,这促使软件设计师考虑体系结构的不同属性。

例如,展示功能组织的静态视角能判断质量特性,展示并发行为的动态视角能判断系统行为特性。

选择的特定视角或视图也就是逻辑视图、进程视图、实现视图和配置视图。使用逻辑视图来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能、性能等。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪异的bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值