文档视界 最新最全的文档下载
当前位置:文档视界 › 2019年软考系统架构设计师学习笔记

2019年软考系统架构设计师学习笔记

2019年软考系统架构设计师学习笔记
2019年软考系统架构设计师学习笔记

第一章

1.1.1 系统架构师的概念

现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。

架构本质上存在两个层次:概念层,物理层。

1.2.1 系统架构师的定义

负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。

主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。

要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。

1.2.2 系统架构师技术素质

对软件工程标准规范有良好的把握。

1.2.3 系统架构师管理素质

系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力;

必须提供特定的方法和模型作为理想的技术解决方案;

必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。

1.2.4 系统架构师与其他团队角色的协调

系统分析师,需求分析,技术实现

系统架构师,系统设计,基于环境和资源的系统技术实现

项目管理师,资源组织,资源实现来源:https://www.docsj.com/doc/b716031872.html,

由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。

所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。

对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。

1.3 系统架构师知识结构

需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。

1.4 从开发人员到架构师

总结自己的架构模式,深入行业总结规律。

几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养一批忠诚的用户或产品代言人,而不是为中国培养软件架构师。

第二章《计算机网络基础知识》

计算机系统由硬件和软件组成,软件通常分为系统软件和应用软件。

系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。

常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序、数据库等。

应用软件指计算机用户利用软硬件资源为某一专门的应用目的而开发的软件。

2.1 操作系统基础知识

操作系统Operating System,是计算机系统的核心系统软件。

2.1.1 操作系统的原理、类型、结构

1、操作系统定义

硬件资源包括中央处理器、存储器、输入输出设备。

软件资源是以文件形式保存在存储器上的程序和数据。

操作系统既有效组织和管理系统中各种软硬件资源,合理地组织计算机系统的工作流程,又控制程序的执行,为用户使用计算机提供了一个良好的环境和友好的接口。

2、操作系统分类

按功能不同分:单用户操作系统、批处理操作系统;分时操作系统、实时操作系统;网络操作系统、分布式操作系统;嵌入式操作系统。

3、操作系统的特征

并发性、共享性、虚拟性、不确定性。

4、操作系统的功能

进程管理、文件管理、存储管理、设备管理、作业管理。

2.1.2 处理机与进程管理

1、进程的定义及其分类

进程通常由程序、数据、进程控制块PCB 组成。

2、进程的状态转换与控制

就绪、运行、阻塞。

进程控制是通过进程控制原语实现的,进程控制原语主要有:创建原语、撤销原语、挂起原语、激活原语、阻塞原语、唤醒原语。

注:原语不可分割,不允许中断。

3、进程互斥与同步以及P/V 操作

同步是使在异步环境下的各进程按一定的顺序和速度执行。

互斥要保证临界资源一次只能提供一个进程使用,称为临界资源CR。

PV操作是低级通信原语,在执行期间不可分割,P表示申请一个资源,V表示释放一个资源。

P操作定义:S:=S-1,若S>=0,则执行P操作的进程继续执行,否则若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行,否则若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。

4、进程通信与管程

控制信息的交换称为低级通信,数据的交换称为高级通信。

高级通信的类型有共享存储系统、消息传递系统、管道通信。

在任一时刻最多只有一个进程能够真正地进入管程,其他的只能等待。

5、进程调度与死锁

产生死锁的四个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。

预防策略,破坏死锁的四个必要条件之一。

6、线程

线程是进程中的一个实体,是被系统独立分配和调度的基本单位。

线程只拥有一些运行中必不可少的资源。

同一个进程中的多个线程可以并发执行,线程具有:就绪、运行、阻塞,三个基本状态。

2.1.3 存储管理

存储器的发展方向是:高速、大容量、小体积。

存储管理的主要任务是:如何提高主存的利用率、扩充主存以及对主存信息实现有效保护。

2.1.4 设备管理

设备管理的目标是:提高设备的利用率,为用户提供方便统一的界面。

磁盘调度算法:先来先服务 FCFS、最短寻道时间优先 SSTF、扫描算法SCAN。

2.1.5 文件管理

随机访问是指对文件中的信息可以按任意次序随机读写文件中的信息。

文件控制块FCB,描述和控制文件的数据结构。

2.1.6 作业管理

常用的作业调度算法有:先来先服务、短作业优先、相应比高优先、优先级调度算法、均衡调度算法。

2.1.7 网络操作系统 NOS

网络操作系统分为:集中模式、客户机/服务器模式、对等模式。

现代操作系统已经把网络功能包含到操作系统的内核中,作为操作系统核心功能的一个组成部分。

2.2.1 关系数据库基础

数据库的三要素:数据结构、数据操作、数据约束条件。

特别需要指出的是,E-R模型强调的是语义。

关系数据库设计理论的核心是数据间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。

数据依赖包括:函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性、非主属性、外码、值依赖定义、函数依赖的公理系统。

事务是数据库环境中不可分割的逻辑工作单位。

四个特性:原子性、一致性、隔离性、持久性,ACID。

SQL语言中事务定义语句有三条:BEGIN TRANSACTION 事务开始、COMMIT 事务提交、ROLLBAK 事务回滚。

并发操作是指:在多用户共享系统中,用户可能同时对同一数据库进行操作。

带来的问题主要有:丢失更新、不可重复读、读脏数据。

并发控制主要技术是封锁:排他锁(简称 X锁、写锁)、共享锁(简称 S锁、读锁)。

保护数据库的关键技术在于建立冗余数据、即备份数据。

方法是:数据转储、建立日志。

2.2.2 关系数据库设计

需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计、运行维护。

E-R 方法的数据库概念结构设计可分三步:设计局部E-R模型、设计全局E-R模型、全局E-R模型优化。

2.2.3 分布式数据库系统

满足分布性、逻辑相关性、场地透明性、场地自治性的数据库系统被称为完全分布式数据库系统。

分布式数据库系统的特点:数据的集中控制性、数据独立性、数据冗余可控性、场地自治性、存取有效性。

4层模式划分为:全局外层、全局概念层、局部概念、局部内层,各层还有相应的层间映射。

2.2.4 商业智能

一般认为:数据仓库、连机分析处理、数据挖掘技术是商业智能BI 的三大组成部分。

数据仓库的关键特征:面向主题、集成的、非易失的、时变的。

三层结构:数据仓库服务器、OLAP服务器(连机分析处理服务器)、前端工具。

数据仓库的实现步骤:规划、需求研究、问题分析、数据的抽取清洗集成装载、数据仓库设计、数据仓库管理、分析报表查询、数据仓库性能优化、数据仓库部署发布。

切片、切块、下钻、上卷、旋转等多维度分析与跨维度分析。

OLAP 系统架构主要分为:基于关系数据库的ROLAP、基于多维数据库的MOLAP、基于混合数据组织的HOLAP。

数据挖掘是在没有明确架设的前提下去挖掘信息、发现知识。

所得的信息应具有先知、有效、实用,三个特征。

主要功能有5类:自动预测趋势和行为、关联分析、聚类、概念描述、偏差检测。

2.3 计算机网络基础知识

计算机网络

按通信距离分广域网、局域网、城域网;按信息交换方式分电路交换网、分组交换网、综合交换网;按拓扑结构分星型网、树形网、环形网、总线型网;按传输带宽分基带网、宽带网;

按使用范围分公用网、专用网;按通信传播方式分广播式、点到点式……

OSI/RM:把复杂的问题分解开,保持了层次之间的独立性。

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

2.3.2 计算机网络

1、广域网、局域网、城域网

广域网又称远程网,覆盖范围广,传输速率相对低,以数据通信为主要目的的数据通信网。数据传输可靠性随着传输介质不同而不同、拓扑结构复杂。

有公共交换电话网、各种公用数据网。

局域网是指传输距离有限,传输速度较高,以共享网络资源为目的的网络系统,数据传输可靠误码率低,网络控制一般为分布式,总线拓扑、环形拓扑、星型拓扑、混合型。

城域网是一种较大范围的高速网络。

网络拓扑结构:网络中通信线路和节点的几何排序,反映各节点之间的结构关系,影响着整个网络的设计、功能、可靠性、通信费用等重要方面。

局域网和城域网都是IEEE802标准,决定局域网主要技术有:传输介质、拓扑结构、介质访问控制方法。

决定了传数据的类型、网络响应时间、吞吐率、利用率,以及网络应用。

最重要的是介质控制访问方法。(CSMA/CD)

无线局域网具有以下优点:安装便捷、使用灵活、经济解约、易于扩展。IEEE8.2.11

2、网络互联

网络互联目的是使一个网络的用户能访问其他网络的资源,使不同网络上的用户能够互相通信、交换信息。

网络互联设备的作用是连接不同网络。

传输介质是信号传输的媒体,常用的介质分为有限介质和无线介质。局域网中,其基本组成部件为服务器、客户机、网络设备、通信介质、网络软件等。

3、Internet 及应用

世界上规模最大、覆盖面最广且最具影响力的计算机互联网络,它将分布在世界各地的计算机利用开放系统互连协议连接在一起,用来进行数据传输、信息交换、资源共享。

TCP/IP作为Internet的核心协议,已被广泛应用于局域网和广域网中,主要特性为:逻辑编址、路由选择、域名解析、错误检测、流量控制、对应用程序的支持等。

TCP/IP是一个协议族,网际层除了IP协议外,还有ICMP、ARP、RARP等几个重要协议……

Internet的地址主要有两种书写形式:域名格式、IP地址格式。

www也成万维网/全球网,是指在Internet上以超文本为基础形成的信息网。采用统一的资源定位器URL 和图文声并茂的用户界面。

2.3.3 网络管理与网络安全

1、网络管理

网络管理是对计算机网络的配置、运行状态、计费等进行管理。它提供了监控、协调、测试各种网络资源以及网络运行状况的手段,还可以提供安全处理和积分等功能。

OSI网络协议标准中定义了网络管理的5大基本功能:配置管理、性能管理、故障管理、安全管理、计费管理。

实际上还应该包括网络规划、网络操作人员管理等。

2、计算机网络安全

计算机网络安全是指计算机、网络系统的硬件、软件、数据收到保护,不因偶然或恶意的原因而遭到破坏、更改、泄漏,确保系统能连续、可靠地运行,使网络服务不中断。

网络安全从本质上讲就是网络上的信息安全。

信息的传输、存储、访问提供安全保护,以防止信息被窃取、篡改、非法操作。

信息安全的基本要素是保密性、完整性、可用性、真实性、可控性。

完整的信息安全保障体系应包括:保护、检测、响应、恢复。

信息安全术语:密码学、鉴别、Kerberos鉴别、公钥基础设施、数字签名、访问控制。

3、VPN

所谓虚拟专用网,是建立在公用网上,没有专用物理连接,而通过ISP提供的公共网络来实现通信,VPN内部用户可以实现安全通信。

关键技术:隧道技术、加密技术、密钥管理技术、身份认证技术。

解决方案:内联网VPN、外连网VPN、远程接入VPN。

2.3.4 网络工程

网络规划、网络设计阶段、工程组织、实施阶段、维护阶段。

2.3.5 存储及负载均衡技术

RAID磁盘阵列,目的是建立数据冗余、增强容错、提高容量、增进性能。

网络存储体系结构大致分为三种:直接式存储DAS、网络连接存储NAS、存储区域存储SAN。

负载均衡 LoadBalance 从结构上分为:本地负载均衡、全局负载均衡。

一般情况下从传输链路聚合、采用更高层网络交换技术、设置服务器集群策略三个角度实现。

集群 Cluster,大多数模式下,集群中所有的计算机拥有一个共同的名称,各节点服务器通过一个内部局域网相互通讯,集群内任一系统上运行的服务都可被所有的网络客户所使用,当一台

节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管,客户也能很快自动地连接到新的应用服务器上。

2.4 多媒体技术及其应用

媒体有两种含义:信息的载体、存储信息的实体。

根据ITU-T(原CCITT)建议,媒体有5种:感觉媒体、表示媒体、显示媒体、存储媒体、传输媒体。

International Consultative Committe On Telecommunication And Telegraphy,CCITT,国际电报电话咨询委员会。

多媒体技术是指:以数字化为基础,对多种媒体信息进行采集、编码、存储、传输、处理、表现,使之建立有机的逻辑联系,具有良好的交互性的技术。

多媒体的特征:多样性、集成性、交互性、实时性。

2.4.2 多媒体数据压缩编码技术

JPEG,Joint Photographic Experts Group,联合图像专家小组,是一种对静态图像压缩的编码算法。“联合”的含义是:CCITT 和 ISO 联合组成的图像专家小组。

MPEG,Moving Picture Experts Group,运动图像专家小组,是作为一个国际标准来研究制订的,具有很好的兼容性。

其次,比其它算法提供更好的压缩比,最高可达 200:1。更重要的是对数据损失很小。

不存在专利问题,适合大力推广。

数据压缩编码两大类:无损压缩编码法(也称冗余压缩法、熵编码法),有损压缩编码法(也称熵压缩法)。

2.4.4 多媒体技术的研究内容

对数据进行有效压缩将是多媒体发展中必须要解决的最关键的技术之一。

数据量大、种类繁多、关系复杂,是多媒体数据的基本特征。

虚拟现实

首先,“逼真”就是要达到三维视觉、听觉、触觉等效果;其次,通过人的感官与这个环境进行交互;最后,为用户提供一个逼真的操作环境。

虚拟现实是一种多技术多科学相互渗透集成的技术。

只能多媒体技术

将具有推理功能的知识库与多媒体数据库结合起来,形成智能多媒体数据库。

发展趋势:把多媒体和通信功能集成到CPU芯片中。

其一,专用设备、家电及宽带通信设备,可以取代这些设备中的CPU及大量Asic和其他新品。

其二,与现有的计算机系列兼容,同事具有多媒体和通讯功能。

2.5 系统性能

系统性能是一个系统提供给用户的众多性能指标的集合。既包括硬件性能,也包括软件性能;既包括部件性能指标,也包括综合性能指标。

系统性能包含性能指标、性能计算、性能设计、性能评估,四个方面内容。

2.5.3 系统性能设计

是一系列重复的受控的性能试验,循环的调整过程为收集、分析、配置、测试。

阿姆达尔定律 Amdahl:系统中对某一部件采用某种更快的执行方式所获得的系统性能改变程度,取决于这种方式被利用的频率,或所占总执行时间的比例。

被改进并增强的部分在总时间中所占的比例,增强比例,永远小于等于1.

2.5.4 性能评估

对测试结果做出解释,并形成一分文档的技术。

目的是为了性能的优化提供参考。

用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序 Benchmark。

第三章

3.1 信息的特征

1、客观性:反映了事物的运动状态和方式,既事实性。

2、普遍性:信息无所不在。

3、无限性:事物及其变化是无限多样的。

4、动态性:随着时间变化而变化。

5、依附性:不能完全脱离物质而独立存在。

6、变换性:可以用不同的载体以不同的方法来负载。

7、传递性:时间上的传递即存储;空间上的传递即转移或扩散。

8、层次性:信息可以分为战略级、管理级、操作级。

9、系统性:可以形成与现实世界相对应的信息系统。

3.1.1 信息化的定义

信息化 Informationalization,是以信息资源开发利用为核心,以网络技术、通讯技术等高科技技术为依托的一种新技术扩散的过程。

3.2 信息化的内容

1、信息资源的开发利用

2、信息网络的全面覆盖,计算机网络、电信网、电视网等,逐步实现三网合一。

3、信息技术的广泛应用,这是信息化的基础。

4、信息产业的大力发展

5、信息化人才的培养

6、信息化政策和标准规范建设

基于web的架构是松散耦合的,优势在于能够在不同的网络及操作系统中运行;以服务器为中心,客户端瘦小、简单,容易在运行时实现自动升级。

3.3 信息化的典型应用

电子政务的内容

1、政府与政府 G2G

2、政府对企事业 G2B

3、政府对居民 G2C

4、企业对政府 B2G

5、居民对政府 C2G

3.3.1 企业资源规划的结构和功能

物料需求计划 MRP,物料单系统 BOM,制造资源计划 MRPII。

1、ERP 的概念

企业的所有资源包括三大流:物流、资金流、信息流。

ERP是建立在信息技术基础上,全面地集成了企业的所有资源信息,并为企业提供决策、计划、控制、经营业绩评估的全方位和系统化的管理平台。

ERP是一种管理理论和管理思想,不仅仅是信息系统。

1.生产预测

市场需求是企业生存的基础,ERP中首先需要对市场进行较准确的预测,预测主要用于计划。

常用的预测方法有:德尔菲方法、移动平移法、指数平滑法、非线性最小二乘曲线拟合法。

2.销售管理(计划)

销售管理从其计划角度来看,属于最高层计划的范畴,是企业最重要的决策层计划之一。

3.经营计划(生产计划大纲)

4.主生产计划

5.物料需求计划

根据主生产计划对最终产品的需求数量和交货期,推导出构成产品的零部件及材料的需求数量和需求时期,再导出自制零部件的制作订单下达日期和采购件的采购订单发送日期。

6.能力需求计划 CRP

通过分析比较 MRP 的需求和企业现有生产力,及早发现能力瓶颈所在。

7.车间作业计划 PAC

将零部件的生产计划以订单的形式下达给适当的车间,属于 ERP 执行层计划。当前主流的车间作业计划模式是 JIT模式。

8.采购与库存管理

是ERP的基本模块,从采购订单产生至货物受到的全过程进行组织、实施、控制,库存管理IM 对企业物料的进、出、存进行管理。

9.质量与设备管理

全面质量管理 TQM,对企业的全过程进行质量管理,而且明确指出执行质量职能是企业全体人员的责任。

设备管理对设备寿命周期内的所有设备物资运动形态和价值运动形态进行综合管理。

10.财务管理

以货币的形式反映和监督企业的日常经济活动,并对数据进行分类、汇总,为企业管理和决策提供必要的信息支持。

11.ERP 有关扩展应用模块

客户关系管理、分销资源管理、供应链管理、电子商务等。

3、ERP 的功能

ERP 为企业提供的功能是多层面的全方位的。

3.3.2 客户关系管理在企业的应用

1、CRM 的概念

提供的信息要有利于更好地理解客户;

流程管理要为客户提供高效、适当的体验;

提供那些构件强有力关系、提高客户忠诚度的体验。

CRM 的核心思想就是以客户为中心,

从传统的“以产品为中心”的经营理念解放出来,通过富有意义的交流沟通,理解并影响客户行为,最终实现客户保留、客户忠诚、客户创利的目的。

将客户信息转化为积极的客户关系的反复循环过程。

市场竞争,客户资源逐渐减少,市场主动权让给客户,了解市场和客户真实需要的基础上提供令其满意的产品和服务。

客户能根据自己的需求量身定做合适自己需要的产品和服务。

客户信息是客户关系管理的基础。

更低成本、更高效率地满足客户的需求,与客户建立起基于学习性关系基础,最大程度提高客户满意度、忠诚度。

3.3.3 销售自动化 SFA

功能:日历和日程安排、联系和客户管理、佣金管理、商业机会、传递渠道管理、销售管理、建议的生产和管理、定价、区域划分、费用报告等。

产品目录和价格、购买记录、服务记录、存货情况、促销文本资料、信用记录。

SFA 应用往往集成电子邮件、办公软件等其它各种标准应用。

3.3.4营销自动化 MA

集成客户商业智能信息、产品信息、“营销百科全书”等信息资源。

CRM 中,客户服务与支持主要是通过呼叫中心和互联网来实现,在满足客户的个性化要求方面,高速度、准确性、高效率来完成客户服务人员的各种要求。

当把客户服务与支持功能同销售、营销功能比较好地结合起来时,就能为企业提供很多机会。

客户服务与支持的内容应包括:客户关怀;纠纷、订货、订单跟踪;现场服务;问题及解决方法数据库;维修行为安排调度;服务协议合同;服务请求管理等。

商业智能是指利用数据挖掘、知识发现等技术分析和挖掘结构化的、面向特定领域的存储与数据仓库的信息,帮用户认清发展趋势、识别数据模式、获取职能决策支持、得出结论。

智能的范围:客户、产品、服务、竞争者等。

收集和分析市场、销售、服务和整个企业的各类信息,对客户进行全方位的了解,从而理顺企业资源与客户需求之间的关系。

CRM 尚未有成型的理论出现

对市场的设定、跟踪、分析总结。

呼叫中心支持由合作的硬件厂商参与并提供全套设备,而不仅仅是提供支持呼叫中心的应用软件。

对移动设备的支持。

决策者所掌握的信息完全,能更及时地做出决策。

不管客户由何种渠道与企业联系,与客户的互动都应该是无缝的、统一的、高效的。

需要任命一名来自企业的系统管理员,作为内部系统专家。

经特殊调整的系统必须伴随技术培训。

由于数据转换过程工作量极大,因此要精确预测该过程的时间表几乎是不可能的。

“培训者”必须接受由软件供应商进行的培训,称为新系统专家。

对所有用户的正规培训,用户必须认识到使用新系统的即时和明显好处。

对系统的持续支持要求公司配备至少一名全职的内部系统管理员,可保证技术上自给自足的灵活性,CRM 系统的支持是艰巨的工作。

为保证系统带来所希望的益处,在将其推广到所有用户之前一定要加以测试。

间接电子商务,商品是有形货物。

直接电子商务,商品是无形的货物或服务,双方越过地理界限直接进行交易。

3.3.5 供应链管理

供应链是企业赖以生存的商业循环系统,企业供应链可以耗费企业高达 25% 的运营成本。

从供应商开始,经由制造商、分销商、零售商,直到最终客户的全要素、全过程的集成化管理模式。

正向推动式运作模式是以生产为中心;逆向拉动式运作模式是以用户为中心;两种不同的运作模式适用于不同市场环境。

第四章

4.1 软件开发方法

4.1.1 软件开发生命周期

传统的软件生命期是指软件产品从形成概念(构思)开始,经过定义、开发、使用、维护、废弃,的全过程。

可以把软件生命期划分为软件定义、软件开发、软件运行与维护,三个阶段。

1、软件定义时期

1.问题定义,目标系统“是什么”,系统的定位以及范围。

2.可行性研究,技术可行性、经济可行性、操作可行性、社会可行性。

3.需求分析,确定软件系统的功能需求、性能需求、运行环境的约束,写出需求规格说明书、软件系统测试大纲、用户手册概要。

充分理解用户的需求,并以书面形式写出规格说明书,这是以后软件设计和验收的依据;用户也许很难一次性说清楚系统应该做什么。

系统分析员、软件开发人员、用户,共同完成,逐步细化、一致化、完全化等。

软件需求规格说明 SRS,内容可以有系统(或子系统)名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。

2、软件开发时期

软件开发时期就是软件的设计与实现,概要设计、详细设计、编码、测试等。

概要设计是在软件需求规格说明的基础上,建立系统的总体结构(含子系统的划分) 和模块间的关系,定义功能模块及各功能模块之间的关系。

详细设计对概要设计产生的功能模块逐步细化,包括算法与结构、数据分布、数据组织、模块间接口信息、用户界面等,写出详细设计报告。

测试可分成单元测试、集成测试、确认测试、系统测试等。通常把编码和测试称为系统的实现。

3、软件运行和维护

软件维护就是尽可能地延长软件的寿命,没有维护的价值时,宣告退役,软件的生命结束。

4.1.2 软件开发模型

软件生存周期模型又称软件开发模型或软件过程模型,模型的特点是简单化,是软件开发实际过程的抽象与概括。

为软件工程管理提供里程碑和进度表,为软件开发过程提供原则和方法。软件过程有各种各样的模型。

1、瀑布型

瀑布型的特点是因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入,前一个阶段的错漏会隐蔽地带到后一个阶段,每一个阶段工作完成后,都要进行审查和确认,

它的出现有利于人员的组织管理,有利于软件开发方法和工具的研究。

2、原型模型

根据用户提出的软件系统的定义,快速地开发一个原型,包含目标系统的关键问题和反映目标系统的大致面貌。

三种途径:

利用模拟软件系统的人机界面和人机交互方式。

真正开发一个原型。

找来一个或几个正在运行的类似软件进行比较。

实际工作中,由于各种原因,大多数原型都废弃不用,仅仅把建立原型的过程当作帮助定义软件需要的一种手段。

用户对系统模糊不清,无法准确回答目标系统的需求。

经过对原型若干次修改,应该收敛到目标范围内,否则可能会失败。

对大型软件来说,如果没有现成的,就不应该考虑用原型法。

3、螺旋模型

是生命周期模型与原型模型的一个结合,分成多个阶段,每一个阶段都由4部分组成:

1.目标设定,指定对过程和产品的约束,并且制订详细的管理计划。

2.风险分析,制订解决办法。

3.开发和有效性验证,即开发软件产品。

4.评审,确定是否需要进入螺线的下一次回路。

增加一周,软件系统就生成一个新版本,系统应该尽快地收敛到用户允许或可以接受的目标范围内。

该模型支持大型软件开发,适用于面向规格说明、面向过程、面向对象的软件开发方法,也适用于几种开发方法的组合。

4、基于可重用构件的模型

把软件工程项目所创建的构件不断地积累和存储在一个构件库中,系统将依赖构件的健壮性。

5、基于面向对象的模型

构件重用是非常重要的技术之一。一方面进行构件开发,另一方面进行需求开发,快速建立 OOA、OOD 原型,由重用构件组装而成,甚至通过组装可重用的子系统而创建更大的系统。

6、基于四代技术的原型

四代语言完全不用变成方式来构造应用系统,而是利用一些生成器。

与通常的软件工程环境或计算机辅助软件工程不同,只侧重于支持应用软件开发过程中的设计阶段和实现阶段,特别是支持界面以及与界面有关的处理过程。

4.1.3 敏捷方法

1、敏捷方法的特点

敏捷方法是“适应性”而非“预设性”的,重型方法在计划制定完成后拒绝变化,而敏捷方法则欢迎变化。

“面向人的”而非“面向过程的”

传统的软件开发方法的基本思路一般是只要图纸设计得合理并考虑充分,施工队伍可以完全遵照图纸顺利构造。

但是,一些设计错误只能在编码和测试时才能发现。

传统正规开发方法是个体不重要,角色才是重要的,尽量减少人的因素对开发过程的影响,但是敏捷方法正好相反。

管理人员已经脱离实际开发活动相当长的时间了,如此设计出来的开发过程是难以为开发人员所接受的。

只有在第一线的开发人员才能真正掌握和理解开发过程中的技术细节,所以技术方面的决定必须由他们来做出。

敏捷方法特别强调相关人员之间的信息交流。因为项目失败的原因最终都可以追溯到信息没有及时准确地传递到应该接受它的人。

特别提倡直接的面对面交流,交流成本远远低于文档的交流。

按照高内聚、松散耦合的原则将项目划分为若干个小组,以增加沟通。

2、敏捷方法的核心思想

1.适应性型,利用变化来发展。

2.以人为本,在无过程控制和过于严格繁琐的过程控制中取得一种平衡,以保证软件的质量。

3.迭代增量式的开发过程,发行版本小型化,根据客户需求的优先级和开发风险,制订版本发行计划。

3、敏捷方法的含义及其特征

重型方法注重开发文档的完备和充分性;而敏捷方法认为最根本的文档应该是源码。

4、敏捷方法的适用范围

实际上,满足工程设计标准的唯一文档是源代码清单。

敏捷方法比较适合需求变化比较大或者开发前期对需求不是很清晰的项目。

敏捷方法对设计者、开发者、客户之间的有效沟通和及时反馈要求比较高,不易在开发团队比较庞大的项目中实施。

5、敏捷方法的主要内容

四个核心价值观:沟通、简单、反馈、勇气。

简单:只要满足当前功能需求,不做假象设计。

勇气:用于抉择,用于实践,用于重构。

12条实践规则:简单设计、测试驱动、代码重构、结对编程、继续集成、现场客户、开发版本小型化、系统隐喻、代码集体所有制、规划策略、规范代码、40小时工作机制。

6、主要敏捷方法简介

极限编程

水晶系列方法

开放式源码,任何人发现Bug都可以将补丁发给维护者。

SCRUM

Coad的功用驱动开发方法:短时迭代阶段和可见可用的功能,一个迭代周期一般为两周,编程人员分为类程序员、首席程序员。

ASD方法,猜测、合作、学习。

4.1.4 RUP

RUP把软件开发生命周期划分为多个循环(cycle),每个cycle生成产品的一个新版本,每个cycle依次由4

个连续阶段(phase)组成:

初始:定义最终产品视图和业务模型,并确定系统范围。

细化:制定工作计划及资源要求。

构造。

移交。

迭代并不是重复地做相同的事,而是针对不同用例细化和实现,每一个迭代都是一个完整的开发过程。

每个阶段结束前有一个里程碑(milestone)评估该阶段的工作。如果未能通过该里程碑的评估,则决策者应该做出决定,是取消该项目还是继续做该阶段的工作。

RUP中的核心概念

角色(Role),who的问题,某个人或一个小组的行为与职责。

活动(Activity),how的问题,是一个有明确目的的独立工作单元。

制品(Artifact),what的问题,是活动生成、创建、修改第一段信息。

工作流(Workflow),when的问题,每个工作流产生一些有价值的产品,并显示了角色之间的关系。

RUP的特点

RUP是用例驱动的、以体系结构为中心的、迭代和增量的软件开发过程。

用例驱动:需求分析、设计、实现、测试,都是用例驱动的。

以体系结构为中心:刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特征。

不依赖于具体语言,是软件设计过程的一个层次。

体系结构层次的设计问题包括:总体组织和全局控制、通讯协议、同步、数据存取、给设计元素分配特定功能、设计元素的组织、物理分布、系统的伸缩性、性能等。

一个系统不可能在所有特性上都达到最优,对于一个系统,不同人员所关心的内容也是不一样的,对于不同类型的人员,只需提供这类人员关心的视图即可。

分析和测试人员关心用例图,最终用户关心逻辑视图,程序员关心实现视图,系统工程师关心部署视图。

RUB强调采用迭代和增量的方法来开发软件,每次迭代中,之考虑系统的一部分需求,每次增加一些新的功能实现。

好处:

早期就可以对关键的、影响大的风险进行处理。

可以提出一个软件体系结构来指导开发。

处理不可避免的需求变更。

可以较早地得到一个可运行的系统,鼓舞开发团队的士气,增强项目成功的信心。

更有效工作的开发过程。

没有一个项目会使用RUP中所有的东西,用用RUP时要裁剪,裁剪步骤:

1.确定本项目需要哪些工作流。

2.确定每个工作流要产出哪些制品。

3.确定四个阶段之间(初始阶段、细化阶段、构造阶段、移交阶段)如何演进。

4.确定每个阶段内迭代计划。

5.规划工作流内部结构。

4.1.5 软件系统工具

按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。

软件开发工具有:需求分析工具、设计工具、编码与排错工具、测试工具等。

需求分析工具,生成完整的、清晰的、一致的功能规范。功能规范是软件开发者和用户间的契约,也是软件设计者的和实现者的依据。正确、完整表达清晰的、无歧义的。

需求分析工具分为基于自然语言或图形描述的工具,基于形式化需求定义语言的工具。

项目管理工具:项目的计划、调度、通信、成本估算、资源分配、质量控制等。

4.2 需求管理

需求最终文档经过评审批准后,则定义了需求基线 Baseline;构筑了功能需求和非功能需求的一个约

定Agreement。约定是需求开发和需求管理之间的桥梁。

需求管理是一个对系统需求变更、了解和控制的过程,初始需求导出的同时就启动了需求管理规划。

4.2.1 需求管理原则

过程能力成熟度模型 CMM,指导软件过程改进,5个成熟级别,6个关键过程域KPA。

一旦需求文档化了,开发组和有关团队需要评审文档。发现问题应与客户或者其他需求源协商解决。软件开发计划是基于已确认的需求。

绝不要承诺任何无法实现的事。

关键处理领域通过版本控制和变更控制来管理需求文档。确保与新的需求保持一致。

4.2.2 需求规格说明的版本控制

版本控制是管理需求的一个必要方面,必须统一确定需求文档的每一个版本,当需求发生变更时,及时通知所有涉及人员。

为了尽量减少困惑、冲突、误传,应该仅允许指定的人员来更新需求。

清楚地区分草稿和文档定稿版本。

4.2.3 需求变更

迟到的需求变更会对已进行的工作产生非常大的影响。

如果每一个建议的需求变更都采用,该项目将可能永远无法完成。

需求文档应该精确描述要交付的产品。

项目负责人在信息充分的条件下做出决策。

变更成本计算应该包括需求文档的修改、系统修改的设计、实现的成本。

变更控制过程并不是给变更设置障碍,相反,它是一个渠道和过滤器,确保采纳最合适的变更,使变更产生的负面影响降到最低,变更过程应该做成文档。

绝不能删除或者修改变更请求的原始文档。

变更控制委员会只要能决定合适的人做正确的事就足够了,在保证权威性的前提下应尽可能精简人员。

对每个变更权衡利弊做出决定。

“利”包括节省资金或额外收入、客户满意度、竞争优势、减少上市时间;

“弊”是指增加开发费用、推迟交付日期、产品质量下降、减少功能、用户不满意。

变更总是有代价的,即使拒绝的变更也因为决策行为而耗费资源。

接受了重要的需求变更时,为了适应变更情况要与管理部门和客户重新协商约定。推迟交货时间、增加人手、推迟实现尚未实现的较低优先级的需求,或质量上进行折中。

要是不能获得一些约定的调整,应该把面临的风险写进风险计划中。

4.2.4 需求跟踪

需求、体系结构、其他设计部件、源代码模块、测试、帮助文件、文档等。

跟踪能力(联系)链(traceability link)是优秀需求规格说明书的一个特征,确保软件需求规格说明包括所有客户需求。

跟踪能力联系链记录了单个需求之间的父层、互连、依赖的关系。

不必拥有所有种类的跟踪能力联系链,要根据具体情况调整。

4.2.5 需求变更的代价和风险

只有在知道变更成本后才能做出理智的选择,一个表面上很简单的变更也可能转变成很复杂的局面。

影响分析确定对现有系统做出是修改或者抛弃的决定,创建新系统以及评估每个任务的工作量,进行影响分析的能力依赖于跟踪能力、数据的质量、完整性。

4.3 开发管理

1、范围

可交付物、架设、约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。

2、时间

进度安排的准确程度可能比成本估计的准确程度更重要。对于成本估计的偏差,可以靠重新定价或大量的销售来弥补成本的增加,

如果进度计划不能得到实施,则会导致市场机会的丧失或用户不满意,而且会使成本增加。

工作分解结构 Work Breakdown Structure WBS

4.3.1 配置管理文档管理

1、配置管理

配置项 Configuration Item CI,

属于产品组成部分的工作成果,如需求文档、设计文档、源代码、测试用例等。

属于项目管理和机构支撑过程域产生的文档,如工作计划、项目质量报告、项目跟踪报告等。

每个配置项的主要属性有名称、标识符、文件状态、版本、作者、日期等。

2、文档管理

文档是影响软件可维护性的决定因素,使用过程中必然会经受多次修改,所以文档比程序代码更重要。

用户文档:主要描述系统功能和使用方法。

系统文档:描述系统设计、实现、测试等各方面内容。

软件文档应该满足下述要求:

1.如何使用

2.怎样安装和管理

3.需求和设计

4.实现和测试

说明用户操作错误时应该怎样恢复和重新启动。

4.3.2 软件开发的质量与风险

1、软件质量

IOS9000 对项目质量的定义:一组固有特性满足需求的程度。

质量与范围、成本和时间,是项目成功的关键因素,通过范围管理转换隐含需求为项目需求。

质量低说明产品或服务存在问题,而低等级的产品或服务不一定存在问题,二者概念不同。

2、软件开发风险

认识不足或者没有足够的力量加以控制。

了解、掌握风险的来源、性质、发生规律,进而施行有效的管理。

或然性、不确定性、涉及到某种选择时,才成为有风险,以上三个是风险定义的必要条件,不是充分条件,具有不确定性的事件不一定是风险。

4.3.3 结构化分析与设计

结构程序设计较流行的定义为:采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

自顶向下逐步求精的方法是:先整体后局部,先抽象后具体,一般具有较清晰的层次。

仅使用单入口单出口的控制构件,具有良好的结构特征。

采用结构程序设计,可能会多占用一些时间和空间资源,这也是那些反对从高级语言中排除GOTO语句者的主要依据。实际上,硬件飞速发展,这点耗费,不再是重要的因素。

4.3.4 面向对象的分析设计

面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;

设计模型包含:

以包图表示的软件体系结构图、

以交互图表示的用例实现图、

完整精确的类图、

针对复杂对象的状态图、

描述流程化处理过程的活动图等。

4.4 软件的重用

重复使用相同或相似软件元素。

软件元素:需求分析文档、设计过程、设计文档、程序代码、测试用例、领域知识等,通产这些软件元素称为软部件。

不断地进行软部件的积累,并将它们组织成软部件库。

横向重用(horizontal reuse):重用不同应用领域中的软件元素。

标准函数库是一种典型的、原始的横向重用机制。

纵向重用广受瞩目,并称为软件重用技术的真正希望所在,关键点是域分析,根据应用领域的特征以及相似性预测软部件的可重用性。

库的组织结构直接影响软部件的检索效率。

由于软部件大都经过严格的质量认证,并在实际运行环境中得到检验,因此重用软部件有助于改善软件质量。

4.5 逆向工程与重构工程

逆向工程就是分析已有的程序,寻找比源代码更高级的抽象表现形式。

相关概念:

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

设计恢复 design recovery,

重构工程 re-engineering,也称修复和改造工程。

1、恢复信息的级别

逆向工程导出的信息,4个抽象层次

1.实现级

2.结构级

3.功能级

4.领域级

2、恢复信息的方法,4类:

1.用户指导下搜索与变换

2.变换式方法

3.基于领域知识的

4.铅板恢复法

第五章软件架构设计

Software Architecture 简称 SA

5.1.1 软件架构设计与生命周期

1、需求分析阶段

需求和 SA设计面临的是不同的对象:一个是问题空间;另一个是解空间。保持二者的可跟踪性和转换。

2、设计阶段

1.传统的设计概念只包括构件,随着研究的深入,构件间的互联机制逐渐独立出来,成为与构件同等级别的实体,称为连接子。

2.体系结构描述语言(Architecture Description Language ADL)对连接子的重视成为区分 ADL和其他建模语言的重要特征之一。

3.不同的视角得到多个视图,组织起来以描述整体的SA模型;不同侧面的视图反映所关注的系统的特定方面,体现了关注点分离的思想。

3、实现阶段

团队的结构应该和体系结构模型有一定的对应关系,提高软件开发效率和质量。

分析和记录不同版本构件和连接子之间的演化。

填补高层 SA模型和底层实现之间的鸿沟,典型的方法如下:

1.引入实现阶段的概念。

2.SA模型逐步精化。

3.封装底层称为较大粒度构件。

4、构件组装阶段

可复用构件组装可以在较高层次上实现系统,研究内容包括:

1.如何互联。

2.如何检测并消除体系结构失配问题。

中间件跨平台交互。

产品化的中间件更好地保证最终系统的质量,中间件导向的体系结构风格。

失配是指复用过程中,待复用构件对最终系统的体系结构和环境的架设(Assumption)与实际状况下不同而导致的冲突。

5、部署阶段

软件构件的互联性、硬件的拓扑结构、硬件资源占用。

6、后开发阶段

实现中的软件往往具有动态性,一类是软件内部执行所导致的体系结构改变,另一类变化是软件系统外部的请求对软件进行的重配置。

升级或进行其他修改时不能停机。

SA重建是指从已实现的系统中获取体系结构的过程。

5.2 基于架构的软件开发方法

5.2.1 体系结构的设计方法概述

基于体系结构的软件设计(Architecture-Based Software Design ABSD)方法。

体系结构驱动,指构成体系结构的商业、质量、功能需求的组合驱动。

设计活动的开始并不意味着需求抽取和分析活动就可以终止,而应该并行,快速开始设计至关重要。

ABSD 方法有三个基础,功能分解、选择体系结构风格、软件模板的使用。

5.2.2 概念与术语

1、设计元素

ABSD方法是一个自顶向下,递归细化的方法。

2、视角与视图

重要的是从不同的视角(perspective)来检查,考虑体系结构的不同属性。

3、用例和质量场景

在使用用例捕获功能需求时,通过定义特定场景来捕获质量需求,称为质量场景。捕获变更、性能、可靠性、交互性,质量场景必须包括预期的和非预期的。

5.2.3 体系结构需求

可以从需求库中取出,加以利用和修改。

获取需求,体系结构需求一般来自三个方面:系统的质量目标、系统的商业目标、开发人员的商业目标。

5.2.4 体系结构文档化

体系结构规格说明和测试体系结构需求的质量设计说明书。

需求模型构件的精确形式化描述,作为用户和开发者之间的一个协约。

从使用者的角度进行编写,必须保证开发者手上的文档是最新的。

5.2.5 体系结构复审

根据架构设计,搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否存在可识别的技术和协作风险。

复审的目的是标识潜在风险,及早发现缺陷和错误。

5.2.6 体系结构实现

分割成规定的构件,按规定方式互相交互。

5.3 软件架构风格

体系结构设计核心目标是重复的体系结构模式,体系结构级的软件重用。

5.3.1 软件架构风格概述

一个体系结构定义一个词汇表和一组约束。词汇表中包含构件和连接件类型约束指出如何组合起来。

体系结构风格反映了共有的结构和语义特性,并指导如何组织成一个完整的系统。

5.3.2 经典软件体系结构风格

每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。这里的构件称为过滤器。

构件是对象。

分层系统,每一层为上层提供服务,并作为下层的客户。除一些精心挑选的输出函数外,内部的层接口只对相邻层可见。由于一层最多只影响两层,为软件重用提供了强大的支持。

仓库风格中,两种不同的构件:中央数据结构、独立构件。

若构件控制共享数据,则仓库是一传统型数据库;若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。

C2 体系结构通过连接件绑定在一起按照一组规则运作的并行构件网络。构件与构件之间的连接是不允许的。

5.3.3 客户/服务器风格

宿主机应用程序既负责与用户的交互(前端),又负责对数据的管理(后端)。

C/S 体系结构定义了工作站如何与服务器相连,实现部分数据和应用分布到多个处理机上。

C/S三个主要组成部分:服务器、客户机、网络。

易于对系统进行扩充和缩小。

功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,数据库服务器的开发集中于数据的管理,将大应用处理任务分布到许多通过网络连接的低成本计算机上,模型思想简单。

开发成本高,尤其是软件不断升级,客户端变得越来越臃肿。

信息内容和形式单一,用户获得的只是单纯的字符和数字。

软件移植困难,维护升级困难。

5.3.4 三层 C/S 结构风格。

三层 C/S 体系结构中,可以将整个应用逻辑驻留在应用服务器上,只有表示层存在于客户机上,称为“瘦客户机”。表示层、功能层、数据层。

表示层一般要使用图形用户界面 GUI。

功能层之间的数据交互要尽可能简洁,一次性传输。

数据层不同层构件相互独立,层间接口简洁,适合复杂事务处理。

5.3.5 浏览器/服务器风格

浏览器/服务器风格就是三层应用结构的一种实现方式。浏览器/web服务器/数据库服务器。

系统安装、修改、维护全在服务器端解决。仅仅需要一个浏览器就可运行全部模块。

B/S 体系结构还提供了异种机、异种网、异种应用服务的连机、联网等。

扩展能力差。响应速度慢。交互性不强,不利于在线事务处理 OLTP。

5.4.1 特定领域软件体系结构

主要目的在一组相关的应用中共享体系结构。

DSSA的必备特征:

1、一个严格定义的问题域和解域。

2、具有普遍性。

3、对整个领域的构件组织模型其当抽象。

4、具备该领域固定的、典型的可重用元素。

5.4.2 DSSA 的基本活动

1、领域分析

主要目标是获得领域模型,描述领域中系统之间的共同需求,定义领域的边界。从而明确分析的对象,识别信息源,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。

2、领域设计

目标是获得 DSSA,DSSA描述在领域模型中表示的需求的解决方案。不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次设计。

3、领域实现

主要目标是依据领域模型和 DSSA 开发和组织可重用信息。领域模型和 DSSA 定义了这些可重用信息的

重用时机。

以上过程是反复的、逐渐求精的过程。

5.4.3 参与 DSSA 的人员

4种角色:领域专家、领域分析师、领域设计人员、领域实现人员。

1、领域专家可能包括有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。

主要任务提供需求规约和实现的知识,组织规范的、一致的领域字典,选择样本系统,复审领域模型、DSSA。

应该熟悉该领域软件设计和实现、硬件限制、未来的用户需求、技术走向等。

2、领域分析人员应由系统分析员来担任。

知识获取组织到领域模型中,根据现有系统、标准规范等验证模型的准确性和一致性。

应熟悉软件重用和领域分析方法,具有一定的该领域经验,较高的抽象、关联、类比能力,较高的交互合作能力。

3、领域设计人员控制整个软件设计过程,根据领域模型和现有系统开发出DSSA,对DSSA的准确性和一致性进行验证,建立领域模型和DSSA之间的联系。

应熟悉软件重用和领域设计方法,熟悉软件设计方法,有一定的该领域经验。

4、领域实现人员根据领域模型和DSSA,从头开发可重用构件,或利用再工程技术从现有系统中提取可重用构件。

5.4.4 DSSA 的建立过程

一般情况下,需要用开发者习惯使用的工具和方法建立DSSA模型。

DSSA建立过程分为5个阶段,过程是并发的、递归的、反复的,可能每个阶段经历几遍,每次增加更多的细节。

1、定义领域范围,一系列用户的需求。

2、定义领域特定的元素,编译领域字典、领驭属于的同义词词典。

3、定义特定的设计和实现需求约束,不仅要识别出约束,并且要记录约束对设计和实现造成的后果,还要记录对处理这些问题时所产生的所有问题的讨论。

4、定义领域模型和体系结构,产生一般的体系结构,并说明构成它们的模块或构件的语法、语义。

5、搜集可重用的产品单元,为DSSA增加构件。

5.5.1 系统架构的评估

评估可以只针对一个体系结构,也可以针对一对一组体系结构。关注的是质量属性。

1、性能,是指系统的响应能力,多长时间对某个事件做出响应,或者某段时间内系统所能处理的事件的个数。

2、可靠性,是最重要的软件特性,平均失效等待时间 MTTF,平均失效间隔时间 MTBF

1.容错,内部修复。

2.健壮性,不受错误使用和错误输入的影响。

3、可用性,正常运行的时间比例。经常用两次故障之间的时间长度或恢复正常的速度来表示。

4、安全性,阻止非授权用户。分为机密性、完整性、不可否认性、可控性等特性。

5、可修改性,通过考察变更的代价衡量可修改性。

1.可维护性,主要体现在问题修复上,做局部性的修改并能使对其他否见的负面影响最小化。

2.可扩展性,新特性来扩展软件系统,改进版本来替换构件并删除不需要的特性构件,需要松散耦合的构件。

3.结构重组,需要精心设计构件之间的关系。

4.可移植性。

6、功能性,完成所期望的工作的能力。

7、可变性。

8、互操作性,精心设计的软件入口。

5.5.2 评估中重要概念

敏感点权衡点,是关键的体系结构决策。

敏感点是构件(和/或构建之间的关系)的特性。研究敏感点可使人员明确在实现质量目标时应注意什么。

权衡点是多个质量属性的敏感点。

风险承担着或称为收益相关人。

场景,首先要精确地得出具体的质量目标,为得出这些目标采用的机制叫做场景。从风险承担者的角度与系统的交互的简短描述。

刺激、环境、响应,三个方面描述场景。

5.5.3 主要评估方法

1、SAAM 非功能质量属性的体系结构分析方法,是最早形式成文档并得到广泛使用的分析方法。最初它用于比较不同的软件体系结构,以分析SA的可修改性。

1.特定目标,目标是对描述应用程序属性的文档,验证假设和原则,有利于评估固有的风险。

2.评估技术,使用场景技术,描述了各种系统必须支持的活动和将要发生的变化。

3.质量属性,可修改性是 SAAM分析的主要质量属性。

4.风险承担者,SAAM 协调不同参与者所感兴趣的方面,作为后续决策的基础,提供了对系统结构的公共理解。

5.体系结构描述,描述形式应该被所有参与者理解。功能、结构、分配,三个主要方面。

6.方法活动,SAAM 的主要输入问题是描述、需求声明、体系结构描述。

SAAM 分析评估体系结构过程包括 5个步骤:场景开发、体系结构描述、单个场景评估、场景交互、总体评估。

通过各类风险承担者协商讨论,开发一些任务场景,体现系统所支持的各种活动。

通过对场景交互的分析,得出系统中所有场景对系统中构件所产生影响的列表。总体的权衡和评价。

2、ATAM

体系结构权衡分析方法,主要针对性能、实用性、安全性、可修改性。

确定多个质量属性之间这种的必要性。

体系结构空间受到历史遗留系统、互操作性和以前失败的项目约束。

逻辑视图被分为功能结构和代码结构。这些结构加上他们之间适当的映射可以完整地描述一个体系结构。

用一组消息顺序图显示运行时的交互和场景。

从不同的体系结构角度,有三种不同场景,用例、增长场景、探测场景。

ATAM 使用定性的启发式分析方法 QAH,构造精确分析模型时要进行分析。

4个主要的活动领域(或阶段),场景和需求收集、结构视图和场景实现、属性模型构造和分析、分析、折中。

属性分析是互相依赖的。获得属性交互的方法有两种,敏感度分析来发现折中点、通过检查假设。

迭代的改进。除了通常从场景派生而来的需求,还有很多对行为模式和执行环境的假设。

由于属性之间存在折中,每一个架设都要被检查、验证、提问,完成所有操作后,把分析的结果和需求进行对比。

领驭知识库通过基于属性的体系结构风格ABAS 维护,变得更为惯例化、更可预测,得到一个标准问题集合。

第六章

6.1 UML 建模与架构文档化

方法种类的膨胀,极大地妨碍了用户的使用和交流。

UML通过统一的表示法,使不同知识背景的领域专家、系统分析、开发人员、用户可以方便地交流。

6.1.1 UML 体系结构演变

UML 是用元模型描述的,元模型是 4层元模型体系结构模式中的一层,其他层次分别是元-元模型、模型层、用户对象曾。其中元模型层由元-元模型层导出。

元模型的体系结构模式可以用来定义复杂模型所要求的精确定义,这种复杂模型通常需要被可靠地保存、共享、操作以及在工具之间进行交换。它的特点如下:

1、在每一层都递归地定义语义结构。

2、可用来定义重量级和轻量级扩展机制。

3、在体系结构上将其他体系结构的标准统一起来。

UML 元模型又被分解为三个逻辑子包:基础包、行为元素包、模型管理包。

6.2 UML 基础

UML 通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画。

10种视图,四类:

1、用例图

2、静态图,包括类图、对象图、包图。

类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。

对象图描述在某种状态下或某一时间段,系统中活跃的对象及其关系。

包由子包、类组成。

3、行为图,包括交互图、状态图、活动图,他们从不同的侧面刻画系统的动态行为。

交互图分为顺序图、合作图。顺序图强调对象之间消息发送的时序。合作图更强调对象间的动态协作关系。

状态图描述对象的动态行为。

活动图描述操作序列,这些操作序列可以并发、同步,包含控制流、信息流。

4、实现图,包括构件图、部署图。描述组成和分布情况。

部署图节点表示实际的计算机和设备,边表示节点之间的物理连接,也可以显示连接的类型及节点之间的依赖性。

6.2.1 用例和用例图

用例图也翻译为用况、用按等,在 UML 中,用例用一个椭圆表示,往往用动宾结构或主谓结构命名。

可选的动作序列和会出现异常的动作序列。

用例是代表系统中各种相关人员之间就系统的行为所达成的契约。

需求阶段用例是分析人员与客户沟通的工具项目规模估算的依据;

设计阶段用例是系统功能设计的主要输入;

实现阶段用例是检测类型为正确性的文档。

本质上,用力分析是一种功能分解的技术。

1、参与者角色,参与者实际上并不是系统的一部分。

2、用例间的关系,泛化、包含、扩展等。

包含是比较特殊的依赖关系。

扩展,基本用例必须声明若干“扩展点”,而这些扩展用例只能在这些扩展点上增加新的行为和含义。

3、用例图

建模人员可以在途中给某些图符加上填充色,在语义上,使用填充颜色和不使用填充颜色的模型是一样的。

6.2.2 交互图

描述对象之间对象与参与者之间动态协作关系协作过程中行为次序。

通常描述用例的行为,显示该用例中所涉及的对象对象之间的消息传递。

顺序图、协作图之间可以互相转化,一个用例需要多个顺序图或协作图。

交互图可以帮助分析人员对照检查每个用例中所描述的用户需求,提醒分析人员去补充遗漏的类或方法。

水平方向为对象维,一般主要参与者放在最左边,次要参与者放在最右边。

垂直方向为时间维。

6.2.3 类图和对象图

一般而言,类的名字是名词。

类之间的关系有关联、聚集、组合、泛化、依赖等。

1、关联,链是关联的实例,关联表示类与类之间的关系,链表示对象与对象之间的关系。

关联用实线表示,角色还具有多重性。

关联类描述关联的属性、操作、以及其他信息。

关联类通过一条虚线与关联连接。

自返关联又称递归关联,同一个类的两个对象间的关系。两个关联端,每个关联端的角色不同。

2、聚集和组合

聚集是一种特殊形式的关联,类之间整体与部分的关系。

组合整体与部分具有同样的生存期,是一种特殊形式的聚集。

3、泛化关系,一般和特殊元素之间的关系,就是平常所说的继承关系。

6.2.4 状态图和活动图

1、状态图

描述对象生存期间的动态行为,所经历的状态序列,引起状态转移的事件、动作。

是 UML 动态行为建模的 5个图之一,用状态机对一个对象的生命周期建模,状态图用于显示状态机,重点在于状态之间的控制流。

除了初态和终态,还有 Idle 和 Running 两个状态,keyPress、finished、shutDown 是事件。

2、活动图

是 UML 动态行为建模的 5个图之一,描述系统的工作流程和并发行为。状态图的特殊形式,一个活动结束后将立即进入下一个活动。

基本概念:活动、泳道、分支、分叉、汇合、对象流。

1.活动,注意区分动作状态和活动状态,

动作状态是原子的,没有内部转移,没有内部活动,所占用的时间可以忽略,目的是执行进入动作,然后转向另一个状态。

活动状态是可分解的,工作完成需要一定的时间。

2.泳道,是活动图中区域划分,每个泳道代表一个责任区,知道和类并不是一一对应的关系。

3.分支,同一个触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。

4.分叉和汇合,如果要表示系统或对象中的并发行为,使用分叉fork 和汇合join,汇合正好与分叉相反。

5.对象流,活动图中可以出现对象,对象可用作为活动的输入输出。活动图中的对象流表示活动和对象之间的关系。

6.2.5 构件图

构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。

构件图显示一组构件以及它们之间的相互关系,包括编译、连接、执行时构建之间的依赖关系。

构件就是一个实际文件,以下几种类型:

1、部署构建

2、工作产品构件

3、执行构件

构件图可以对以下几个方面建模:

1、对源代码文件之间的相互关系建模。

2、对可执行文件之间的相互关系建模。

6.2.6 部署图

部署图也称配置图、实施图,显示系统中计算节点的拓扑结构、通信路径、节点上运行的软构件等。

一个系统模型只有一个部署图,常用语帮助理解分布式系统。

部署图由体系结构设计师、网络工程师、系统工程师等描述。

6.3 基于 UML 的软件开发过程

6.3.1 开发过程概述

UML 是独立于软件开发过程的,能够在几乎任何一种软件开发过程中使用。迭代的渐进式软件开发过程包含四个阶段:初启、细化、构件、部署。

1、初启

项目的发起人确定项目的主要目标和范围,初步的可行性分析和经济效益分析。

2、细化

细化阶段的开始标志着项目的正式确立。

1.初步的需求分析,比较重要、比较有风险的用例。

软考软件设计师必做练习题附答案

软考软件设计师必做练习题及答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希 赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题 1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最 为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock 中含有锁编号和锁状态这两个属性。又因为题中有:在主机 上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的 安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock 中还有锁的安全级别。 【问题 2】 首先,( 1 )、( 2 )是 FingerReader和LockController之间的交互。所以我们看题 目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,( 2 )应填“读取指纹”。(3 )是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以( 3 )应是从 UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。( 5 )是 MainFrame向自己发送的一条消息,从题目中的“主 机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,

软考系统架构设计师教程考点精讲(四)

软考系统架构设计师教程考点精讲(四)软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛为您准备了几个重要的教程章节考点精讲,希望对您的学习有所帮助。 第四章 4.1软件开发方法 4.1.1软件开发生命周期 传统的软件生命期是指软件产品从形成概念(构思)开始,经过定义、开发、使用、维护、废弃,的全过程。 可以把软件生命期划分为软件定义、软件开发、软件运行与维护,三个阶段。 1、软件定义时期 1.问题定义,目标系统“是什么”,系统的定位以及范围。 2.可行性研究,技术可行性、经济可行性、操作可行性、社会可行性。 3.需求分析,确定软件系统的功能需求、性能需求、运行环境的约束,写出需求规格说明书、软件系统测试大纲、用户手册概要。 充分理解用户的需求,并以书面形式写出规格说明书,这是以后软件设计和验收的依据;用户也许很难一次性说清楚系统应该做什么。 系统分析员、软件开发人员、用户,共同完成,逐步细化、一致化、完全化等。 软件需求规格说明SRS,内容可以有系统(或子系统)名称、功能描述、接口、

基本数据结构、性能、设计需求、开发标准、验收原则等。 2、软件开发时期 软件开发时期就是软件的设计与实现,概要设计、详细设计、编码、测试等。 概要设计是在软件需求规格说明的基础上,建立系统的总体结构(含子系统的划分)和模块间的关系,定义功能模块及各功能模块之间的关系。 详细设计对概要设计产生的功能模块逐步细化,包括算法与结构、数据分布、数据组织、模块间接口信息、用户界面等,写出详细设计报告。 测试可分成单元测试、集成测试、确认测试、系统测试等。通常把编码和测试称为系统的实现。 3、软件运行和维护 软件维护就是尽可能地延长软件的寿命,没有维护的价值时,宣告退役,软件的生命结束。 4.1.2软件开发模型 软件生存周期模型又称软件开发模型或软件过程模型,模型的特点是简单化,是软件开发实际过程的抽象与概括。 为软件工程管理提供里程碑和进度表,为软件开发过程提供原则和方法。软件过程有各种各样的模型。 1、瀑布型 瀑布型的特点是因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入,前一个阶段的错漏会隐蔽地带到后一个阶段,每一个阶段工作完成后,都要进行审查和确认, 它的出现有利于人员的组织管理,有利于软件开发方法和工具的研究。

软考 高项考试 论文 论项目风险管理

论项目风险管理 摘要 2013年1月,我作为项目经理参加了XX集团erp信息化系统建设项目,该项目是由于XX 集团自身业务发展及组织机构改革而立项,其目的是在整个集团范围内搭建统一的信息化平台。通过erp信息系统加大集团公司对下属子公司的管控力度,提高子公司生产制造能力,增强新产品设计开发能力,整体提升企业的综合实力,保证XX集团在物流、烟草行业的领先地位。 该项目作为XX集团重点战略项目,投资860万元,计划工期11个月,实施范围涉及集团本部及下属12家子公司,该项目主要完成财务模块、生产制造控制模块、采购管理模块、库房管理模块、营销管理模块、人力资源管理模块、PDM系统。由于XX集团是国家信息化及工业化两户融合试点单位,并与2014年底进行国家信息化认证工作,所以在对该项目提出了很多严格要求。由于该项目涉及范围较广,未知因素较多。我作为项目经理除了关注项目成本进度质量等相关管理工作外,特别对项目的风险管理投入很大精力。保证各种风险因素对项目的不利影响降到最小。通过我与项目团队的不断努力,该项目最终于2014年11月底顺利完成。并获得了多方认可。 本文将以我在项目实施过程中风险管理为例,讨论项目风险在项目中的重要性,主要从风险计划制定、风险识别、风向定性分析、风险定量分析、风险应对计划、风险监控这几个过程进行讨论。 正文: 2013年1月,我公司中标XX集团ERP信息系统建设项目,由于多年从事项目管理工作,公司委派我作为项目经理负责对该项目进行管理工作。作为XX集团重点战略项目,该项目投资860万元,计划工期为11个月,从2013年1月开始,至2013年11月底验收。项目实施过程涉及集团本部及下属12家子公司。该项目主要是为满足XX集团企业自身业务发展及组织结构变革的需要而立项。其目标是在整个集团内搭建统一的信息化平台,通过ERP信息系统加强集团本队对下属子公司的管控力度、提升新产品研发设计的能力,加强子公司生产制造的能力,提高企业综合能力,保证企业在物流、烟草行业的领先地位。 由于该企业已经具有一定信息化平台及信息系统维护人员,为满足客户后期儿才开发等需要,我们选用了3层C/S架构,服务器为客户自有服务器dellR920,服务器操作系统选用WINDOWS 2008R2,数据库使用甲骨文公司ORACLE11G,软件开发同台使用微软visual studio2008,开发语言为https://www.docsj.com/doc/b716031872.html,,通过这些选择,最大限度满足了客户的需求。该项目功能上完成,财务、营销、PDM、生产制造、采购、库存、人力资源这几个模块。由于XX集团是国家工业化信息化两化融合试点单位,与2014年底要进行国家信息化认证工作,所以对该项目提出多项严格要求。针对客户所提出的要求,公司领导也高度重视,并由公司副总青紫挂水,组件项目管理组织,而我由于多年从事信息系统项目管理工作,公司为委派我担任项目经理,负责该项目各项管路工作。在项目初期,我仔细研究了项目工作说明书,发现该企业业务部门众多,设计人员复杂,外部影响多,所以我认为该项目具有比较高的风险,因此除了对项目进度质量成本等管理进行关注外,我将大量的精力放到了项目风险管理上。希望通过科学的风险管理,将项目中各类风险的影响降到最低,保证项目各项目活动的顺利进行。我认为项目风险管理主要由下面几个过程组成,风险计划制定、风险识别、风向定性分析、风险定量分析、风险应对计划、风险监控。相面我将对这几个过程进行论述。 一、风险管理计划 一个好的结果必定有一个好的计划,只有制定一个科学有效的管理计划才能为后续的管理活动提供依据。在制定项目风险计划之前,我召集了项目中技术专家、功能负责人对项目风险计划的编制、项目特点、进行了讨论。对如何进行项目风险管管理提出了建议,

2020年软考系统分析师练习题及答案(一)

2020年软考系统分析师练习题及答案(一) ●栈结构不适用地下列(1)应用 (1) A.表达式求值 B.树的层次序周游算法的实现 C.二叉树对称序周游算法的实现 D.快速排序算法的实现 ●以下关于数据结构的基本概念的叙述中(2)是错误的。 (2) A.数据元素是数据的基本单位 B.数据项是有独立含义的数据最小的单位 C.数据结构概念包含的主要内容是数据的逻辑结构和数据的存储结构 D.数据的逻辑结构分为线性结构和非线性结构 ●电视系统采用的颜色空间是,其亮度信号和色度信号是相分离的。下列颜色空间中,(3)颜色空间不属于电视系统的颜色空间。 (3) A.YUV B.YIQ C.YCrCb D.HSL

●在关系数据库设计中,定义数据库全局模式是(4)阶段的内容。 (4) A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 ●下列叙述中,准确的是(5) (5) A.用E—R图只能表示实体集之间一对多的联系 B.用E—R图只能表示实体集之间一对一的联系 C.用E—R图表示的概念数据模型只能转换为关系数据模型 D.用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 ●基于“学生-选课-课程”数据库中的三个关系: S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER) 若要求查找选修“数据库技术”这门课程的学生姓名和成绩,将 使用关系(6)。 (6) A.S和SC. B.SC和C C.S和C

D.S,SC和C ●若要求查找姓名中第一个字为‘刘’的学生号和姓名。下面列出的SQL语句中,(7)是准确的。 (7) A.SELECT S#,SNAME,FROM S WHERE SNAME=‘刘%’ B.SELECT S#,SNAME,FROM S WHERE SNAME=‘刘-’ C.SELECT S#,SNAME,FROM S WHERE SNAME LIKE‘刘%’ D.SELECT S#,SNAME,FROM S WHERE SNAME LIKE ‘刘-’ ●主机A运行Unit操作系统,IP地址为202.113.224.35,子网屏蔽码为255.255.255.240。它们分别连接在同一台局域交换机上,但处于不同的VLAN中。主机通过ping命令去ping主机B时,发现接收不到准确的响应。可能的原因是(8) (8) A.主机A主机B的IP地址不同 B.主机A和主机B处于不同的VLAN中 C.主机A和主机B使用了不同操作系统 D.主机A和主机B处于不同的子网中 ●用户A通过计算机网络向用户B发消息,表示自己同意签订某个合同,随后用户A反悔不承认自己发过该条消息。为了防止这种情况发生,应采用(9) (9) A.数字签名技术 B.消息认证技术

软考系统架构设计师(高级)学习笔记汇总

2011年软考系统架构设计师学习笔记第一章 1.1.1 系统架构师的概念 现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。 架构本质上存在两个层次:概念层,物理层。 1.2.1 系统架构师的定义 负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。 主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。 要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。 1.2.2 系统架构师技术素质 对软件工程标准规范有良好的把握。 1.2.3 系统架构师管理素质 系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力; 必须提供特定的方法和模型作为理想的技术解决方案; 必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。 1.2.4 系统架构师与其他团队角色的协调 系统分析师,需求分析,技术实现 系统架构师,系统设计,基于环境和资源的系统技术实现 项目管理师,资源组织,资源实现 由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。 所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。 对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。 1.3 系统架构师知识结构 需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。 1.4 从开发人员到架构师 总结自己的架构模式,深入行业总结规律。 几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养

系统分析师考试真题一(下午试题)

系统分析师考试真题(下午试题)系统分析师考试是软考中一项高级资格考试科目,考试一共分为三门:基础知识、案例分析及论文。下面是小编整理的系统分析师历年考试下午真题,供大家学习参考。 试题一 阅读以下关于工业控制系统方案选型方面的叙述,回答问题1和问题2。 某省拟新建电厂的主管部门召集了一批专业人员和计算机专家,讨论如何为新电厂建立计算机控制系统,在讨论中提出了以下两种方案: (1)方案———传统的DCS(分布式控制系统)。经本省内不少电厂多年推广使用,相对已十分成熟和实用。 在DCS系统中把计算机、通信、自动控制和显示等技术集成在一起形成一个统一的分布式电厂控制系统,其中采用了控制功能分散、监视管理集中和全厂信息共享的原则,具有以下特征: ①在结构上,采用了各类能独立运行的一批工作站(如:操作员站、工程师站、数据采集处理的DAS站、管理站等),这些工作站分别能从事于局部控制,在各个工作站之间则采用局域网实施通信,交换有关的信息。 ②在功能上,采用分层管理控制的原则,比如:整个DCS系统可分解为基本控制级(实现相对固定的平稳调节目标)和协凋管理级(在全厂范围内实现优化计算与协调控制),并且通过网络可与再上一级的主机或系统实现通信。 ③在技术上,尽可能实现标准化,采用通用性强的PC机或小型工作站,有针对性的多类通信介质;在模拟量控制的基础上结合可编程逻辑控制(PLC)技术,大屏幕显示与监控技术等。 ④在软件选用上,可灵活地选用规范化的实时多任务操作系统,配备有效的GUI视窗软件,包含有常用功能软件与算法库的组态软件,先进的控制软件包,绘图软件,相应的数据库软件,

管理调度软件和办公软件等分布在系统内。 (2)方案二——代表国际上发展方向的FCS(现场总线控制系统),即是采用网络通信技术,把分布在现场各处的仪表仪器、测量控制设备有机地连接在一起并实施数字化控制的技术。 现场总线的特点是数字化、串行、双向和多线式。通过现场总线可能有效地实现联网信息传输的数字化,各网络站点仅表的智能化和整个电厂系统的开放化。其主要特征大体上包括有: ①FCS主要由现场总线通信网络、智能变送器、智能执行器(现场仪表)、工业PC(上位机设备)和相应的软件等组成。 ②现场总线上所连接的产品采用统一的通信规程和协议,从根本上保证实现信息的共享、设备的互换或互操作,允许实现现场仪表的远程调整校验。通过网关还可实现不同现场总线的互联。 ③现场总线采用数字信号传送信息,通常可采用一对多结构,即用一对传输线可连接多台现场仪表,实现主控系统与现场仪表之间的双向通信(接线简单,施工方便,维护与扩充容易)。 ④现场总线引入并定义了若干不同的标准功能块,不同厂商的设备都采用相同的组态方法。这样,用户的应用、培训与编程十分方便。 [问题1] 看上去新颖的FCS比传统的DCS有着远为吸引人的许多特点与长处。可是,在讨论中绝大多数专家都认为DCS(分布式控制系统)仍是目前电厂工程中应用选型的主流。请你用100字以内的文字简单说明理由。 [问题2] 在热烈的讨论过程中,不少专家又提出了以下的第三种方案:方案三——基于远程智能I /O 的新型DCS系统。这里的远程智能I/O 装置是一类独立的系统,大体上由三部分所组成。即智能前端、现场通信总线和计算机通信适配器。其中,

2020年软考《软件设计师》练习题及答案

2020年软考《软件设计师》练习题及答案 1.Multiple choices. (1)Software design may . a.be a creative process b.not be learned from a book c.be learned from a book d.require a certain amount of flair (2)Methodologies of software design can be classified into . a.down-top function design b.data-driven design c.top-down function design d.object-oriented design (3)A well-designed system should be . a.easily understood b.reliable c.straightforward to implement d.straightforward to maintain (4)A derivation process for designing a programming system includes stages. a.5 b.4

c.3 d.2 (5)In the early stage of software design we need . a.give a flowchart b.give a set of requirements c.top-down functional design only d.prepare an informal design (6)A good design of software depends on . a.establishing a definitive way b.the application c.the particular project requirements d.efficient code to be produced (7)Software design can be . a.represented in any single notation b.a multi-stage activity c.an iterative activity d.a single-stage activity (8)The tasks being performed by a software engineer are . a.to design communication mechanisms b.to design file structures c.to design data structures d.to derive the design of a programming system

软考系统架构师

目录 第1章操作系统 (3) 1.1考点分析 (3) 1.2试题精解 (3) 试题1 (2009年11月试题1) (3) 试题2 (2009年11月试题2-4) (4) 试题3 (2010年11月试题1) (5) 试题4 (2010年11月试题2) (6) 试题5 (2010年11月试题3-4) (6) 试题6 (2011年11月试题1) (8) 试题7 (2011年11月试题2-4) (9) 试题3 (2010年11月试题1) (10) 第2章数据库系统 (11) 2.1考点分析 (11) 2.2试题精解 (11) 试题3 (2010年11月试题1) (11) 第3章计算机硬件基础及嵌入式系统设计 (12) 3.1考点分析 (12) 3.2试题精解 (12) 试题3 (2010年11月试题1) (12) 第4章数据通信与计算机网络 (13) 4.1考点分析 (13) 4.2试题精解 (13) 试题3 (2010年11月试题1) (13) 第5章系统安全性与保密性设计 (14) 5.1考点分析 (14) 5.2试题精解 (14) 试题3 (2010年11月试题1) (14) 第6章信息化基础 (15) 6.1考点分析 (15) 6.2试题精解 (15) 试题3 (2010年11月试题1) (15) 第7章系统开发基础 (16) 7.1考点分析 (16) 7.2试题精解 (16) 试题3 (2010年11月试题1) (16) 第8章软件架构设计 (17) 8.1考点分析 (17) 8.2试题精解 (17) 试题3 (2010年11月试题1) (17) 第9章应用数学 (18) 9.1考点分析 (18)

软考系统分析师练习题及答案二

软考系统分析师练习题及答案二 ●某软件公司开发的《财务之星》管理软件,在我国受法律保护的依据是(1) (1) A.《中华人民共和国专利法》 B.《中华人民共和国科学技术进步法》 C.《中华人民共和国商标法》 D.《中华人民共和国著作权法》 ●(2)信息传输的安全应保证信息在网络传输的过程中不被泄露和不被攻击。下列哪些属于攻击方法? I.复制信息 II.剪裁信息 III.窃听信息 (2) A.I和II B.II和III C.I和III D.全部 ●局域网常用的拓扑结构有总线、环形、星形3种,以下关于这3种拓扑结构说法错误的是(3) (3)

A.总线网可靠性高、扩充性能好、通信电缆长度短、成本低,但当网上站点较多时会因数据冲突增多而使效率降低 B.环形网控制简单、信道利用率高通信电缆长度短、对节点接口和传输的要求较低但存在数据冲突问题 C.星形网结构简单、实现容易、信息延迟确定,但通信电缆总长度长、传输媒体不能共享 D.选用何种拓扑结构,首先要考虑采用何种媒体访问控制方法,其次要考虑性能、可靠性、成本、扩充性、实现难易以及传输媒体的长度等因素 ●进行系统修改时可能会产生维护的副作用,没有(4) (4) A.修改数据的副作用 B.修改错误后,又引入了新的错误 C.修改代码的副作用 D.文档资料的副作用 ●关于安全电子交易SET要达到的主要目标,下列(5)说法的错误的。 (5) A.利用SSL协议保证数据不被黑客窃取 B.隔离订单信息和个人账号信息 C.持卡人和商家相互认证,确保交易各方的真实身份 D.软件遵循相同协议和消息格式 ●在电子商务环境中,对中介所发生的变化,你认为错误的是(6) (6) A.传统中介的数目将减少

软考系统架构师2013年真题

2013年下半年系统架构设计师考试上午真题 1 某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在(1)号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页8,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(2)。 A.9 B.2 C.4 D.6 A.4、5 B.5、4 C.5、8 D.8、8 2 进程P1、P2、P3和P4的前趋图如下所示:

若用PV操作控制进程P1~P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S4-S5的初值都等于0。下图中a、b和c处应分别填写(1);d、e和f处应分别填写(2)。 A.V(S1)V(S2)、P(S1)V(S3)和V(S4) B.P(S1)V(S2)、P(S1)P(S2)和V(S1) C.V(S1)V(S2)、P(S1)P(S3)和V(S4) D.P(S1)P(S2)、V(S1)P(S3)和V(S2) A.P(S2)、V(S3)V(S5)和P(S4)P(S5) B.V(S2)、P(S3)V(S5)和V(S4)P(S5) C.P(S2)、V(S3)P(S5)和P(S4)V(S5) D.V(S2)、V(S3)P(S5)和P(S4)V(S5) 3 假设关系模式R(U,F),属性集U={A,B,C),函数依赖集F={A→B,B→C)。若将其分解为p={R1(U1,F1),R2(U2,F2)),其中U1={A,B),U2={A,C}。那么,关系模式R、R1、R2分别达到了(1);分解ρ(2)。 A.1NF、2NF、3NF B.1NF、3NF、3NF C.2 NF、2NF、3NF D.2NF、3NF、3NF A.有损连接但保持函数依赖 B.既无损连接又保持函数依赖 C.有损连接且不保持函数依赖 D.无损连接但不保持函数依赖 4 给定员工关系EMP(EmpID,Ename,sex,age,tel,DepID),其属性含义分别为:员工号、姓名、性别、年龄、电话、部门号;部门关系DEP(DepID,Dname,Dtel,DEmpID),其属性含义分别为:部门号、部门名、电话,负责人号。若要求DepID参照部门关系DEP的主码DepID,则可以在定义EMP时用(1)进行约束。若要查询开发部的负责人姓名、年龄,则正确的关系代数表达式为(2)。

软考高级人力资源管理论文

论大型信息系统的人力资源管理 摘要 2014年5月,我作为项目经理参与了某大型石油化工企业移动办公系统项目,主要负责系统规划与组织实施开发。该系统工程量大,涉及到软件开发和网络建设,业务需求多变,网络搭建环境复杂。该项目深受集团公司领导重视,项目目标是为该企业建设一套移动办公系统,并在厂区内搭建专用网络,用于厂区的手持设备巡检及机关办公的公文、邮件、审批、上传下达等多种功能。本文以该项目为例,结合我的项目实践,探讨人力资源管理对于项目成功的重要性。在这个项目中,我们通过编制合理的项目人力计划,获取高质量的项目团队,明确职责与激励机制,加强项目团队建设,定期进行沟通,实现项目团队成员之间团结协作能力,严格监管项目团队绩效从而提高项目绩效,最终使项目按期保质保量的完成,获得了客户和评审专家的一致好评。 正文 笔者参与的项目,建设单位是一家大型石油化工企业,该企业信息化基础设施具备大型业务系统运行的条件。该企业一直有两个痛点:一是车间设备的巡检一直没有做到自动化,还是手工记录的方式;二是办公系统过于陈旧,无法适应移动互联网时代的实时性要求。该企业领导希望我们的项目一次性解决这两个问题。我们给出的方案是开发一套移动办公系统,设置不同的权限,巡检人员和办公人员使用不同的功能,并且巡检人员使用专用终端。由于巡检的厂区环境复杂并且防爆级别很高,我们为厂区内搭建了专用移动网络,并通过PCC 技术保障巡检设备的通信优先级。同时,不在专网内的设备还可以通过VPN接入移动办公系统。移动办公系统采用三层C/S体系架构,将原有的各个分散的办公子系统整合为一体。该系统包括安全生产、公文系统、申报审批、邮件系统、文件检索、通讯录、即时消息、公司新闻、社区论坛等九大模块。该系统上线运行满足了该企业安全生产和移动办公的需求,大大提高了全体员工的办公效率,大大降低了安全事故发生的可能性。该项目建设总工期6个月,2014年11月正式验收通过后投入运行。 我们调研发现,该企业的办公流程非常复杂,涉及到的部门繁多,如果要打破原有的流程形成新的流程,阻力很大。并且我们的项目需要同时解决移动网络建设和软件开发这两个问题,涉及到两个专业领域,不同的团队人员。为了圆满完成项目,笔者充分认识到人是项目成功的关键因素,必须加强项目的人力资源管理,方能确保项目的成功实施。笔者通过加强项目团队建设,严格监控项目进度等方法,控制项目的风险,并结合已有最佳实践,开展项目实施。具体可分为以下几个方面:j 1、着眼于资源估计、环境和组织因素的项目管理计划,科学编制合理的人力资源计划 人力资源计划编制是决定项目的角色、职责以及报告关系的过程。笔者所在的单位有很强的开发队伍和开发能力,但没有移动网络方面的专家,对于搭建专用移动网络很不在行。为解决这个问题,笔者与该企业信息部的高层领导进行了沟通和说明,告知该部分内容对于项目实施的重要性后,公司领导非常重视,将与公司合作多年的网络集成商推荐给我们,我们将这一部分工程分包给这家集成商。双方的两个团队组成一个大团队,共同进行了必要的项目管理培训,明确了各自的工作任务,将双方的分工领域划分清楚并相互了解对方的技术要求。之后我们与甲方的各部门及下属单位相关干系人进行走访和了解,获得该集团组织结

软考初级信息处理技术员上半年上午试题及答案

初级信息处理技术员2017上半年上午试题 单项选择题 1、以下关于数据的叙述中,正确的是()。 A. 原始数据必然都是真实、可靠、合理的 B. 通过数据分析可以了解数据间的相关关系 C. 依靠大数据来决策就一定不会被误导 D. 用过去的大数据可以准确地预测未来 2、以下关于企业信息处理的叙述中,不正确的是()。 A. 数据是企业的重要资源 B. 信息与噪声共存是常态 C. 数据处理是简单重复劳动 D. 信息处理需要透过数据看本质 3、以下关于政府信息化的要求中,不正确的是()。 A. 加快退工政务信息系统互联和公共数据共享 B. 除涉及国家安全、商业秘密、个人隐私外,政务信息应向社会开放 C. 让信息多跑路,群众少跑路 D. 实现政务信息处理全自动化 4、某企业今年1 至 4 月的销售额依次为 a1、a2、a3、a4时,现采用加权平均来预测5月份的销售额。权重的比例为 1:2:3:4,时间越近则权重越大,预测的结果为()。 A. a1 + 2a2 + 3a3 + 4a4 B. https://www.docsj.com/doc/b716031872.html,1 + 0.2a2 + 0.3a3 + 0.4a4 C. 4a1 + 3a2 + 2a3 + a4 D. 0.4a1 + 0.3a2 + 0.2a3 + https://www.docsj.com/doc/b716031872.html,4 5、某公司某种商品每天销售量N(个)价格P(元〉的函数:N=7500-50P,已销售商品的总成本C (元)是销售量N(个)的函数C=25000+40N,销售每个商品需要交税10元。在以下四种价格中,定价P=()元能使公司每天获得更高的总利润(总收入一总成本一总税)。 A. 50 B. 80 C. 100 D. 120 6、某企业外聘了甲、乙、丙三人挖树坑,按定额任务每天支付给每人90元报酬。有一天,甲临时有事,没有挖。结果,乙挖了5个树坑,丙挖了4个树坑,完成了当天三人的总定额。随后,甲将当天的报酬90元交给乙和丙合理分配。为此,乙和丙分别分得()。 A. 50 元和 40 元 B. 60 元和 30 元 C. 70 元和 20 元 D. 80 元和 10 元 7、数据分析的主要目的是()。 A. 删除异常的和无用的数据 B. 挑选出有用和有利的数据 C. 以图表形式直接展现数据 D. 发现问题并提出解决方案 8、数据分析的四个步骤依次是()。 A. 获取数据、处理数据、分析数据、呈现数据 B. 获取数据、呈现数据、处理数据、分析数据 C. 获取数据、处理数据、呈现数据、分析数据 D. 呈现数据、分析数据、获取数据、处理数据 9、以下对企业根据商务问题的要求获取数据的叙述中,不正确的是()。 A. 获取数据的前提是对商务问题的理解,把商务问题转化成数据问题

历年软考软件设计师答案

2004年上半年软件设计师级答案 上午答案 下午答案 试题一 [问题1] A:传感器:B:报警器 [问题2) 监控传感器、显示信息和状态 [问题3] 1、“读传感器”添加输入数据流“传感器状态” 2、“显示格式”添加输出数据流“TV信号” 3、“拨号”添加输出数据流“电话拨号” [问题4] 逻辑数据流图说明应该具有哪些加工,而不关心这些加工是如何实现的:物理数据流图则要说明加工是如何实现的。 试题二 [问题1] (1)l(2)col(3)row(4)2(5)col(6)row(7)k [问题2] 判断条件1:b 判断条件2:e 判断条件3:f 试题三 [问题1] A:浏览客户信息B:修改个人信息C:登录D:删除客户信息

[问题2] (1)1(2)0..*(3)0..1(4)0..1 [问题3] (1)4种关系的含义: 依赖表示类之间的使用关系。 概括表示一般类和特殊类之间的关系。 关联和聚集都表示实例之间的结构关系。 (2)关联和聚集的区别: 关联指明一个类的对象与另一类的对象间的联系:两个类之间的关联表示了两个同等地位类之间的结构关系,这两个类在概念上是同级别的。 聚集是一种特殊的关联,它表示整体/部分关系。 试题四 (1)JMP LAST (2)SUB GRO,WDT,GR1 (3)ST GR2,BTASC,GR1 (4)ADD GR0,C48 (5)ST GR0,BTASC,GR1 试题五 (1)p&&p->data !=e 或p&&(*p).data !=e (2)p->Lchild 或(*p).Lchild (3)s->Rchild 或(*s).Rchild (4)p->Lchild 或(*p).Lchild (5)p==pp->Lchild 或p (*pp).Lchild 试题六 (1)classArray (2)new T[iRsz*iCsz] (3)throw 'e' (4)tBody,iCurrentRow=i (5)tBody(iRsz,iCs2) 2004下半年软件设计师级试题答案

软考系统架构设计师教程考点精讲(二)

软考系统架构设计师教程考点精讲(二)软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛为您准备了几个重要的教程章节考点精讲,希望对您的学习有所帮助。 2.1.3存储管理 存储器的发展方向是:高速、大容量、小体积。 存储管理的主要任务是:如何提高主存的利用率、扩充主存以及对主存信息实现有效保护。 2.1.4设备管理 设备管理的目标是:提高设备的利用率,为用户提供方便统一的界面。 磁盘调度算法:先来先服务FCFS、最短寻道时间优先SSTF、扫描算法SCAN。 2.1.5文件管理 随机访问是指对文件中的信息可以按任意次序随机读写文件中的信息。 文件控制块FCB,描述和控制文件的数据结构。 2.1.6作业管理 常用的作业调度算法有:先来先服务、短作业优先、相应比高优先、优先级调度算法、均衡调度算法。 2.1.7网络操作系统NOS 网络操作系统分为:集中模式、客户机/服务器模式、对等模式。

现代操作系统已经把网络功能包含到操作系统的内核中,作为操作系统核心功能的一个组成部分。 2.2.1关系数据库基础 数据库的三要素:数据结构、数据操作、数据约束条件。 特别需要指出的是,E-R模型强调的是语义。 关系数据库设计理论的核心是数据间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。 数据依赖包括:函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性、非主属性、外码、值依赖定义、函数依赖的公理系统。 事务是数据库环境中不可分割的逻辑工作单位。 四个特性:原子性、一致性、隔离性、持久性,ACID。 SQL语言中事务定义语句有三条:BEGIN TRANSACTION事务开始、COMMIT事务提交、ROLLBAK事务回滚。 并发操作是指:在多用户共享系统中,用户可能同时对同一数据库进行操作。 带来的问题主要有:丢失更新、不可重复读、读脏数据。 并发控制主要技术是封锁:排他锁(简称X锁、写锁)、共享锁(简称S锁、读锁)。 保护数据库的关键技术在于建立冗余数据、即备份数据。 方法是:数据转储、建立日志。 2.2.2关系数据库设计

软考信息系统项目管理师论文范例

信息系统项目管理师论文范例1:论软件项目的进度管理 摘要 本文讨论了《电力行业工作票、操作票系统》的项目管理,在本项目中我作为项目负责人,承担了项目管理工作. 在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。本文从合理的估算项目的工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面讨论了《电力行业工作票、操作票系统》项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质量完成.本系统在电力系统已经运行,状况良好,受到一致好评. 正文 2003年2月,我参加了《电力行业工作票、操作票系统》的开发,担任项目管理工作.电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,《电力行业工作票、操作票系统》就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行.有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识.本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象.工作票、操作票签发系统主要是在系统图的基础上进行点击操作,每饮点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范. 在本系统的开发过程中,我通过合理的估算项目工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质量完成。 1、合理的估算项目工作量及技术难度 我们在项目工作量及技术难度的估算上采用面向对象技术同传统技术相结合的原则. 本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算.将每个功能模块逐步分解,直至基本模块为止.我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统.一种电力设施对应一个类,电力设施的技术参数及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类.系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算. 同时我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的案例供我们参考.对于本系统的第二部分我们就是借鉴以前我们做过的基于C/S 结构的系统,基于C/S结构的系统的框架基本上是一致的,数据库的设计、前台操作如对数据库进行添加、删除、修改、查询等一系列活动大体相同.正是如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改.在工作量的估算上也有很好的借鉴作用.这对工作量的估算也是一个重要的参考,为工作进度安排提供了依据.在技术上,我们重点考虑本系统与其他C/S 结构的系统的不同之处,相同或相似之处我们认为没有技术难

软考系统分析师历年真题案例题考点汇总

2009-2014系统分析师案例分析题考点汇总 题目 年份 试题一试题二试题三试题四试题五 2009上半年软件项目可行 性分析 可行性分析内 容 现值计算 货币时间价值 网络规划 网络规划内 容 嵌入式多核 程序设计 数据库备份与 恢复 数据库安全 备份策略 冷备份、热备 份 Web应用开发 2009下半年软件架构设计 软件质量属性 结构化软件 系统建模 流程图和数 据流图含义、 区别 高质量数据 流图三原则 嵌入式软件 体系架构 软件系统架构 架构风格 信息系统安全性 安全威胁 安全认证 授权侵犯 2010上半年需求分析 鱼骨图 需求定义文档 内容、作用 宏观经济数 据库建设 原型分析 集中数据库 分布式数据 库 嵌入式软件 可信计算 数据库集成 数据仓库 联邦数据库 Web内容提取、 Web数据挖掘 Web应用系统负载均衡 传输层负载均衡 应用层负载均衡 2010下半年软件系统架构 软件架构风格 软件系统数 据架构建模 集中式数据 架构 分布式数据 架构 数据架构扩 展性 基础软件架 构 开放式软件 架构 系统设计与开 发工具集成 ESB基础架构 架构风格 设计模式 信息系统可靠性 可靠度、失效率 动态冗余、N版本程序设 计 常用检错技术 2011上半年数字视频监控 告警系统 分层架构 系统安全性、 实时性、稳定 性、扩展性 分布式存储 系统设计 GFS、HDFS 单点失效问 题解决办法 机载信息处 理系统数据 库管理软件 需求变更管 理 数据完整性 保护机制 数据库架构设 计 关系数据库、 NoSQL数据库 NoSQL数据存 储类型 NoSQL数据库 常见问题 网上交易系统 客户端开发、服务端开 发 Ajax技术 服务端JavaScript优势

软考软件设计师教程试题分析加答案

软考软件设计师教程试题分析加答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock中含有锁编号和锁状态这两个属性。又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock中还有锁的安全级别。 【问题2】 首先,(1)、(2)是FingerReader和LockController之间的交互。所以我们看题目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从

UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。 【问题3】 这是纯理论题,请直接阅读参考答案。 试题一参考答案 【问题1】 锁的编号、安全级别、锁的当前状态。 【问题2】 (1)中断事件(2)读取用户指纹 (3)读取用户开锁权限(4)读取锁的安全级别 (5)判断用户是否有权限开锁,或用户是否可以开锁 【问题3】 组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。 聚集是概念性的,只是区分整体与部分。 组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。 试题二分析 本题考查的是UML类图和顺序图的基本知识。 【问题1】 由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,

相关文档
相关文档 最新文档