系统架构设计师
2025-03-26 23:05:21 0 举报
AI智能生成
系统架构设计师
作者其他创作
大纲/内容
知识点汇总
软件架构风格
定义
常见架构风格
1. **面向对象**:将数据和操作封装成对象,通过消息通信。
2. **控制环路**:维护过程输出的特定属性,通过反馈调整。
3. **主程序-子程序**:子程序协作,主程序调用,共享存储区。
4. **管道-过滤器**:构件处理数据流,通过管道连接。
软件质量属性
质量属性策略
1. **性能**:增加资源、优化算法、并发处理。
2. **安全性**:认证、授权、数据加密。
3. **可用性**:冗余、故障转移。
4. **可修改性**:模块化、信息隐藏。
系统架构设计中的非功能性需求
性能需求
安全性需求
架构风险、敏感点和权衡点
**风险**:潜在的架构决策问题。
**敏感点**:影响特定质量属性的构件特性。
**权衡点**:影响多个质量属性的系统属性。
软件可靠性
提高可靠性技术
1. 冗余技术
2. 容错技术
3. 双机容错
4. 集群技术
设计模式
创建型模式
1. 单例:单一实例,全局访问。
2. 原型:复制原型生成新实例。
3. 工厂方法:定义创建产品的接口。
4. 抽象工厂:创建产品族的接口。
5. 建造者:分步构建复杂对象。
结构型模式
1. 代理:控制对象访问。
2. 适配器:转换接口。
3. 桥接:分离抽象与实现。
4. 装饰:动态增加职责。
5. 外观:简化子系统接口。
6. 享元:共享细粒度对象。
7. 组合:树形结构的对象组合。
行为型模式
1. 模板方法:定义算法骨架。
2. 策略:封装可互换的算法。
3. 命令:将请求封装为对象。
4. 职责链:传递请求直至处理。
5. 状态:允许对象改变行为。
6. 观察者:一对多依赖关系。
7. 中介者:简化对象交互。
8. 迭代器:顺序访问聚合元素。
9. 访问者:为对象结构提供多种访问方式。
10. 备忘录:保存对象内部状态。
数据库设计
反规范化技术
数据库分区
缓存技术
Memcached 和 Redis
**Memcached**:简单键值存储,无持久化。
**Redis**:支持多种数据类型,持久化,高可用性。
分布式系统
主从复制
负载均衡
安全架构
认证方式
1. 用户名/密码
2. 令牌
3. 生物识别
安全威胁
项目管理
项目计划
构件管理
性能优化
数据库优化
1. 减少查询复杂度
2. 避免全表扫描
3. 使用索引
缓存策略
响应式设计
考前背诵
一 软件架构风格
定义
架构风格分类
数据流风格
1. **批处理序列**
定义:构建为一序列固定顺序的计算单元,构建之间只通过数据传递进行交付,每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式进行传递。
特点:强调整体性,无交互。
2. **管理过滤器**
定义:每个构建都有一组输入、输出,构建读输入的数据流,经过内部处理,然后产生输出数据流,这个过程通常是通过对输入数据流的变换或计算来完成的。
特点:不适合处理交互式应用。
调用/返回风格
1. **主程序/子程序**
定义:所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
2. **面向对象**
定义:建立在数据抽象和面向对象的基础上,数据的表示和它们的相应操作被封装起来。
3. **层次结构**
定义:每层为上层提供服务,并使用下层提供的服务,一般中间层只对相邻层可见。
独立构件风格
1. **进程通信**
定义:构件通常是命名过程,消息传递可以是点对点、异步或同步方式、以及远程过程调用等。
2. **事件驱动系统**
定义:构件不直接调用一个过程,而是触发或广播一个或多个事件。构件中的过程在一个或多个事件中注册,当某个事件被触发,系统自动调用在这个事件上注册的所有过程。
虚拟机风格
1. **解释器**
定义:包括一个完成解释工作的解释引擎,一个记录解释引擎当前工作状态的数据结构,一个包含将被解释代码的存储区,以及一个记录源代码被解释执行进度的数据结构。
2. **基于规则的系统**
定义:包括规则集、规则解释器、规则/数据选择器和工作内存。
仓库风格
1. **数据库系统**
定义:中央共享数据库,保存当前系统的数据状态、多个独立处理单元,对数据元素进行操作。
2. **黑板系统**
定义:由知识源,黑板数据结构,控制 3 部分组成。黑板数据即共享的中央数据仓库;控制完全由黑板的状态驱动,黑板状态决定使用特定的知识源;知识源通过不断改变黑板数据来解决问题。
3. **超文本系统**
定义:构件以网状链接方式相互连接,用户可以在构件之间进行按照人类联想思维的方式任意跳转到相关构件。
闭环控制
定义:反馈循环机制,是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括输入变量、设定点、操纵变量、过程变量和被控变量等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
二 各种图形
顺序图
定义:是一种交互图,强调对象之间消息发送的顺序,同时显示对象之间的交互。
活动图
定义:将进程或其他计算结构展示为计算内部一步步的控制流和数据流,强调对象间的控制流程。活动图可以用于描述系统的工作流程和并发行为。
状态图
定义:状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
通信图
定义:通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。
流程图
定义:流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
数据流图
定义
数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。数据流图通过外部代理(实体)描述系统与外界之间的数据交互关系,内部的活动通过处理(加工)表示,用数据流描述系统中不同活动之间的数据传输内容和方向,需要持久化存储的数据用数据存储表示。
数据流图和流程图的区别
数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
数据流图展现系统的数据流;流程图展现系统的控制流。
数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。
数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。
数据流图的常见错误
实体->加工->数据存储->加工->实体
实体->实体:X
加工->加工:X
数据存储->数据存储:X
实体->数据存储:X
数据存储->实体:X
只有输入没有输出,产生数据黑洞;
只有输出没有输入,无中生有;
外部实体没有经过加工处理,直接到数据存储;
外部实体之间没有加工处理,存在直接数据流。
数据存储没有输出的数据流。
加工不能只进数据流,同样也不能只出数据流
实体与实体之间有数据流
实体与数据存储之间有数据流,存储和存储之间有数据流
设计原则
复杂性最小化原则。
接口最小化原则。
数据流一致性原则。
类图
类图的关系:依赖、泛化、关联(组合、聚合)、实现
用例图
用例之间的关系:包含、扩展、泛化
三 软件质量属性
常见的几个质量属性定义
风险点、敏感点、权衡点
系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。
敏感点:为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。
权衡点:影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
常见场景对应的质量属性
用户的信用卡支付必须保证 99.999%的安全性,对应安全性属性。
用户信息数据库授权必须保证 99.999%可用,对应安全性属性。
系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能,系统权衡点。
对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计,对应系统敏感点。
现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性,对应系统风险。
系统需要为后端工程师提供远程调试接口,并支持远程调试,对应可测试性属性。
四 安全
安全威胁
信息系统面临的安全威胁来自于管理、应用系统、通信链路、网络系统、物理环境、操作系统等多个方面。
物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。
通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。
网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。
操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱门”等。
应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。
管理系统安全威胁指的是人员管理和各种安全管理制度。
五 ESB
定义
企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与 XML、Web 服务等技术结合的产物,主要支持异构系统集成。ESB 基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。
ESB 的主要功能
1. 服务位置透明性
2. 传输协议转换
3. 消息格式转换
4. 消息路由
5. 消息增强
6. 安全性
7. 监控与管理
六 可靠性
定义
可靠性:是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。
可靠度:系统在规定的条件下、规定的时间内不发生失效的概率。
失效率:又称风险函数,也可以称为条件失效强度,是指运行至此刻系统未出现失效的情况下,单位时间系统出现失效的概率。
检错技术
优点:检错技术实现的代价一般低于容错技术和冗余技术。
缺点:不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。
实现方式:
判断返回结果,如果返回结果超出正常范围,则进行异常处理;
计算运行时间,如果某个模块或函数运行时间超过预期时间,可以判断出现故障;
置状态标志位。
处理方式:大多数都采用“査出故障-停止软件运行-报警”的处理方式。但根据故障的不同情况,也有采用不停止或部分停止软件系统运行的情况,这一般由故障是否需要实时处理来决定。
可靠性的子特性
成熟性:系统避免因错误的发生而导致失效的能力;
容错性:系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力;
易恢复性:系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力;
依从性:系统依附于与可靠性相关的标准、约定或规定的能力。
可靠性模型
时间模型
数据模型
故障植入模型
可靠性设计原则
软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则冲突。
软件可靠性设计在满足提高软件质量的前提下,以提高和保障软件可靠性为最终目标。
软件可靠性设计应确定软件可靠性目标,不能无限扩大化,并且排在功能度、用户需求和开发费用之后考虑。
可靠性设计技术
1. 容错设计
N 版本程序设计
恢复块设计
冗余设计
时间冗余
结构冗余(硬件冗余、软件冗余)
信息冗余(校验码)
2. 检错设计
3. 降低复杂度设计
4. 集群技术
5. 避错设计/防卫式程序设计
6. 双机容错
双机热备:主服务器正常时,备份服务器空闲
双机互备:同时提供不同的服务,心不跳则接管
双机双工:同时提供相同的服务,集群的一种
影响可靠性的因素
运行剖面(环境)
软件规模
软件内部结构
软件的开发方法和开发环境
软件的可靠性投入
可靠性分析技术
1. 故障树分析方法:一种自项向下的软件可靠性分析方法,从顶事件开始逐步追查原因,直至基本事件。
2. 失效模式与效应分析方法:在软件开发早期识别失效模式及其后果,分析原因并采取措施。
七 数据库
反规范化技术
定义:规范化设计后,数据库设计者希望牺牲部分规范化来提髙性能,这种从规范化设计的回退方法叫做反规范化技术。
优点:减少数据查询中表连接的数目或简化计算过程,提高数据访问效率。
缺点:数据的重复存储,浪费了磁盘空间;为了保障数据的一致性,增加了数据维护的复杂性。
常见的反规范化技术:
增加冗余列
增加派生列
表水平分割
表垂直分割
NOSQL
优点:
支持高并发数据访问,性能较高。
存储结构松散,能够灵活支持多种类型的数据格式。
能够支持海量数据的存储,且易于横向扩展。
基于分布式数据存储,不存在单点故障和性能瓶颈,系统可用性高。
缺点:
产品不够成熟,大多数处于初创期。
未形成标准,产品种类繁多,缺乏官方支持。
不提供对 SQL 的支持,学习和应用迁移成本较高。
支持的特性有限
主从复制
引入主从复制机制所带来的好处:
避免数据库单点故障,提升可用性
读写分离,提高査询效率
可扩展性更优
负载均衡
提升数据安全性
八 WEB 架构设计
REST
定义:REST 从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过 URI 获取资源的表现,并通过获得资源表现使得其状态发生改变。
MVC
使用 MVC 设计表现层,具有以下优点:
允许多种用户界面的扩展
易于维护
支持功能强大的用户界面
负载均衡
负载均衡机制是大型 Web 应用解决高负荷访问和大量并发请求时常用的有效解决方法,典型的负载均衡机制包括基于 DNS 的负载均衡、基于反向代理的负载均衡等。
基于 DNS 的负载均衡机制通过 DNS 服务器实现,具有实现简单、容易实施及低成本的特性。
基于反向代理的负载均衡机制通过反向代理服务器动态转发请求,可根据服务器性能和负载情况进行动态负载均衡,提供更好的安全性保障。
九 构件
基于构件的软件开发
获取构件的方法:
从现有构件中获得符合要求的构件,直接使用或做适应性修改
通过遗留工程提取可复用的构件
购买现成的商业构件
开发新的符合要求的构件
开发构件的策略:
分区
抽象
分割
主流构件标准:
CORBA
COM/DCOM
EJB
十 设计模式
创建型模式
1. 单例模式:某个类只能生成一个实例,提供全局访问点。
2. 原型模式:通过复制原型对象生成新实例。
3. 工厂方法模式:定义创建产品的接口,由子类决定生产什么产品。
4. 抽象工厂模式:提供创建产品族的接口。
5. 建造者模式:将复杂对象分解为多个部分后构建。
结构型模式
1. 代理模式:为对象提供代理控制访问。
2. 适配器模式:转换接口使不兼容的类可以合作。
3. 桥接模式:将抽象与实现分离。
4. 装饰模式:动态给对象增加职责。
5. 外观模式:为子系统提供一致的接口。
6. 享元模式:通过共享支持大量细粒度对象。
7. 组合模式:将对象组合成树形结构。
行为型模式
1. 模板方法模式:定义算法骨架,子类实现部分步骤。
2. 策略模式:封装一系列可互换的算法。
3. 命令模式:将请求封装为对象。
4. 职责链模式:请求沿链传递直至被处理。
5. 状态模式:允许对象根据内部状态改变行为。
6. 观察者模式:对象间一对多依赖关系。
7. 中介者模式:通过中介对象简化对象交互。
8. 迭代器模式:顺序访问聚合对象中的元素。
9. 访问者模式:为对象结构中的对象提供多种访问方式。
10. 备忘录模式:保存对象的内部状态以便恢复。
考试笔记
一. 系统规划
1.1 项目的提出与选择
1.2 可行性研究与效益分析
1.3 方案的制订和改进
1.4 新旧系统分析和比较
二. 系统分析与设计
2.1 定义问题与归结模型
2.2 需求
2.2.1 需求工程
2.2.2 需求分析
1. 问题识别:发现需求、描述需求,预先估计以后系统可能达到的目标。
2. 分析与综合:对问题进行分析,然后在此基础上整合出解决方案。
3. 编制需求分析文档:对已经确定的需求进行文档化描述。
4. 需求分析与评审:对功能的正确性、完整性和清晰性,以及其他需求给予评价。
功能需求
非功能需求
设计约束
收集资料
联合需求计划
用户访谈
书面(问卷)调查
情节串联板
现场观摩
参加业务实践
阅读历史文档
抽样调查
2.3 系统设计(软件设计)
2.4 结构化分析与设计
2.4.1 分析步骤
2.4.2 分析工具
2.4.3 结构化设计
2.4.4 数据流图、流程图
1. 父图与子图的平衡:子图的输入输出数据流同父图相应加工的输入输出数据流一致。
2. 数据守恒:加工的输入、输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。
3. 守恒加工:对于同一个加工,其输入与输出的名字必须不同。
4. 加工细节隐蔽:父图内部细节留给子图去画。
5. 简化加工之间的关系:尽量减少加工间输入/输出数据流的数目。
2.5 面向对象分析与设计
2.5.1 基本概念
2.5.2 UML(统一建模语言)
组成
构造块
事物(建模元素):结构事物、行为事物、分组事物、注释事物
关系:关联、依赖、泛化、实现
图:结构图(类图、对象图、包图、构件图、部署图、制品图)、行为图(用例图、顺序图、通信图、定时图、状态图、活动图、交互概览图)
公共机制
规则
软件架构(4+1 视图模型)
逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。
进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力。
实现(开发)视图:对组成基于系统的物理代码的文件和组件进行建模。
部署(物理)视图:把组件物理地部署到一组物理的、可计算的节点上。
用例(场景)视图:最基本的需求分析模型。
类间关系表示
依赖:某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)
关联:将一个类的对象作为另一个类的成员变量来实现关联关系。关联可以是双向的,也可以是单向的。
聚合:关联关系的一种。通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。
组合:关联关系的一种,也表示类之间的整体与部分的关系,部分对象不能脱离整体对象而存在,即共存。
泛化:父类与子类之间的关系
实现:接口与实现类之间的关系
各种图
用例图:描述系统与外部的交互关系,包括参与者、用例和通信关联。
包图:表示软件体系结构图。
类图和对象图:
类图:描述类的内部属性和行为,以及类集合之间的交互关系;
对象图:描述一组对象及它们之间的关系;
类关系:依赖(箭头虚线)、泛化(空心箭头实线)、关联(实线)、聚合(空心菱形实线)
多重性:如下图,1 本书籍包含 0 个或者 1 个借阅记录,即 1 对 0..1
交互图:表示各组对象如何依某种行为进行协作。可以用来表示用例的行为。分类:顺序图/通信图/定时图
状态图:主要用于描述一个对象在其生存周期的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。侧重描述行为的结果。(又:描述一个特定的复杂对象的所有可能状态及其引起状态转移的事件)
活动图:用于描述系统的工作流程和并发行为。活动图可以看作是状态图的特殊形式。侧重描述行为的动作。活动图中一个活动结束后将立即进入下一个活动,而在状态图中状态的转移可能需要事件的触发。
构件图:一组源代码文件、二进制代码文件和可执行文件(构件)之间的关系.
部署图(实施图):在构件图基础上更进一步地描述系统硬件的物理拓扑结构及在此结构上执行的软件。组成:结点和连接 / 构件和接口
2.6 用户界面设计
2.7 工作流设计
2.8 简单分布式计算机应用系统设计
2.8.1 分布式系统开发
表示层实现用户界面;
表示逻辑层为了生成数据表示而必须进行的处理任务,如输入数据编辑等;
应用逻辑层包括为支持实际业务应用和规则所需的应用逻辑和处理过程,如信用检查、数据计算和分析等;
数据处理层包括存储和访问数据库中的数据所需的应用逻辑和命令,如查询语句和存储过程等;
数据层是数据库中实际存储的业务数据。
2.8.2 分布式计算架构
三. 软件架构设计
3.1 概述
a 定义
b 架构的模型
逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。
开发视图:也称为模块(实现)视图,主要侧重于软件模块的组织和管理。
进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装、通信等问题。
场景:可以看作是那些重要系统活动的抽象,它使四个视图有机地联系起来,从某种意义上说,场景是最重要的需求抽象。
3.2 软件质量属性
可用性
可修改性(可维护性、可扩展性、结构重构、可移植性)
性能
安全性
(1) 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
(2) 可用性是系统能够正常运行的时间比例。(通过用两次故障之间的时间长度或出现故障时系统能够恢复的速度来表示)
(3) 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
(4) 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
(5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
(6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
(7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。
(8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
(9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
(10) 功能性是系统所能完成所期望工作的能力。
(11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。
3.2.1 ISO 质量属性
1. 适合性:软件是否提供了相应的功能
2. 准确性:软件提供的功能是否正确(用户需要的)
3. 互操作性:产品与产品之间交互数据的能力,例如 word 对其他文档的支持能力
4. 保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问
5. 功能性的依从性:国际/国家/行业/企业 标准规范一致性
1. 成熟性:软件产品为避免软件内部的错误扩散而导至系统失效的能力(主要是对内错误的隔离),exception 等的处理;
2. 容错性:软件防止外部接口错误扩散而导致系统失效的能力(主要是对外错误的隔离);
3. 易恢复性:系统失效后,重新恢复原有的功能和性能的能力;
4. 可靠性的依从性。
1. 易理解性:软件交互给用户的信息时,要清晰,准确,且要易懂,使用户能够快速理解软件。
2. 易学性:软件使用户能学习其应用的能力。
3. 易操作性:软件产品使用户能易于操作和控制它的能力。
4. 吸引性:
5. 易用性的依从性:
1. 时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数). 软件处理特定的业务请求所需要的响应时间。
2. 资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存. 软件处理特定的业务请求所消耗的系统资源。
3. 效率依从性
1. 易分析性:分析定位问题的难易程度
2. 易改变性:软件产品使指定的修改可以被实现的能力
3. 稳定性:防止意外修改导致程序失效
4. 易测试性:使已修改软件能被确认的能力
5. 维护性的依从性:
1. 适应性:适应不同平台
2. 易安装性:被安装的能力
3. 共存性:软件产品在公共环境中与其它软件分享公共资源共存的软件。
4. 易替换性: 软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
5. 可移植性的依从性:
3.2.2 优化方法
3.3 软件架构风格
a 数据流风格
b 调用/返回风格
c 独立构件风格
d 虚拟机风格
e 仓库风格
3.4 分层 C/S 架构
二层 C/S 架构缺点
1. 二层 C/S 结构为单一服务器且以局域网为中心,所以难以扩展至大型企业广域网或 Internet;(使用范围)
2. 软、硬件的组合及集成能力有限;(扩展性)
3. 服务器的负荷太重,难以管理大量的客户机,系统的性能容易变坏;(性能)
4. 数据安全性不好。因为客户端程序可以直接访问数据库服务器,那么,在客户端计算机上的其他程序也可想办法访问数据库服务器,从而使数据库的安全性受到威胁。(安全)
(1)开发成本较高。C/S 架构对客户端软硬件配置要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本,且客户端变得越来越臃肿。
(2)客户端程序设计复杂。采用 C/S 架构进行软件开发,大部分工作量放在客户端的程序设计上,客户端显得十分庞大。
(3)信息内容和形式单一,因为传统应用一般为事务处理,界面基本遵循数据库的字段解释,开发之初就已确定,用户获得的只是单纯的字符和数字,既枯燥又死板。
(4)用户界面风格不一,使用繁杂,不利于推广使用。
(5)软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其它平台上运行。
(6)软件维护和升级困难。采用 C/S 架构的软件要升级,开发人员必须到现场为客户机升级,每个客户机上的软件都需维护。对软件的一个小小改动,每一个客户端都必须更新。
(7)新技术不能轻易应用。因为一个软件平台及开发工具一旦选定,不可能轻易更改。
三层 C/S 架构
1. 表现层(Web 层)
负责接收客户端请求,向客户端响应结果,通常客户端使用 http 协议请求 web,web 层需要接收 http 请求,完成 http 响应。
表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。
表现层的设计一般都使用 MVC 模型。 MVC 是表现层的设计模型,和其他层没有关系。
2. 业务层 (Service 层)
负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 Web 层。
业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。 (事务应该放到业务层来控制)
3. 持久层 (dao 层)
负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口;业务层需要通过数据访问层将数据持久化到数据库中。
持久层就是和数据库交互,对数据库表进行增删改查的。
B/S 架构
1. 用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。(客户端)
2. 基于 B/S 架构的软件,系统安装、修改和维护全在服务器端解决。(服务端)
3. B/S 架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。(开放性)
3.4 面向服务的架构 SOA
1. 连接服务
连接服务又称连通服务,是面向服务架构的骨干,在完成服务的接入,服务间的通信和交互基础上,还提供安全性、可靠性、高性能的服务能力保障。连接服务的一个典型实现就是企业服务总线(Enterprise Service Bus,ESB)。
2. 协作服务
协作服务通常由通信代理和 Web 服务代理两部分组成。通信代理与连通服务中的通信代理实现内部有效的数据通信,Web 服务代理与外部的公共注册中心交互,注册本平台对外开放的 Web 服务以及查找所需要访问的外部 Web 服务。协作服务既可以实现组织之间(如供应链的合作伙伴之间)的交互通信,也可以实现组织内部(如跨地域的分支机构之间,并有防火墙进行保护的情况)之间的交互通信。
3. 业务服务
业务服务指为新建服务提供的特定运行支持环境。新建服务包括单个服务以及合成服务,不包括流程化的服务。合成服务一般由应用编码实现,它可以调用其他的服务(包括:单个服务、合成服务和流程化的服务)。业务服务与连通服务相联接,其中的新建服务与其他服务的通信和交互通过连通服务来实现。业务服务的运行信息由运行管理服务保存,业务服务也接受并执行运行管理服务的管理和控制命令。
4. 业务流程服务
流程服务是业务流程的运行环境,提供流程驱动、服务调用、事务管理等功能。流程服务是为业务流程的运行提供的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身也可视为服务。
5. 交互服务
交互服务实现人与服务之间的交互功能。人可以是服务的消费者,也可以是服务的提供者。人不能直接消费服务,也不能直接提供服务,需要通过相应的程序实现代理操作(即人通过操作程序实现与服务的交互)。交互服务就是需要提供一组完整的功能,以实现人与服务的交互,并能够方便地进行交互。人员需要请求服务时,向连通服务发送消息请求,由连通服务查找服务,并将请求消息传递给服务提供者。
6. 信息服务
信息服务特指为上层应用系统、同层的其他服务等提供数据访问及资源访问服务。其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中的各种分布、异构的数据资源,为实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。
3.4.1 WEB SERVICE
3.4.2 企业服务总线 ESB
监控与管理
消息路由
消息增强
消息格式转换
传输协议转换
服务位置透明性
安全性
3.4.3 微服务
3.5 架构设计
3.6 软件架构文档化
3.7 软件架构评估
3.7.1 关键步骤
3.7.2 评估方法
3.8 构件复用
3.8.1 商用构件标准规范
3.8.2 应用系统簇与构件系统
3.8.3 基于复用开发的组织结构
3.8.4 建立方式
3.9 产品线及系统演化
3.9.1 特定领域软件架构(DSSA)
概念
活动阶段
参与人员
DSSA 系统模型
3.9.2 过程模型
3.9.2 组织结构
3.9.3 建立方式
四 设计模式
概念
分类
单例模式: 一个类只能生成一个实例, 且该类能自行创建这个实例.
工厂方法: 实现软件对象的生产和使用分离。包括 4 个角色:1 抽象工厂 abstract factory ; 2 具 体 工 厂 concrete factory ; 3 抽 象 产 品 product ; 4 具 体 产 品 concreteProduct.
抽象工厂方法: 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品. (如异构数据库平台,oracle/mysql 等数据库,建立多种数据库的抽象工厂,当指定具体工厂为 oracle 时,创建出来的数据库连接、数据集等一系列对象都符合 oracle 规范)
组合模式 Composite: 将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。往往有多层关系, 树—树枝—树叶,树枝 composite 上可以有树叶, 树枝上也可以有树枝, 树枝和树叶都属于 component
装饰者模式 decorator:动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。
责任链模式: 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用,形成一个链式结构。请求沿着这个链传递,直到有一个对象处理它为止。
状态模式: 将每一个条件分支放入一个独立的类中,这样就可以根据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而独立变化。
外观模式 facade: 要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
模板方法模式:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。固定了流程但没有固定里面的内容.
解释器模式 Interpreter: 描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码。解释器模式主要用在编译器中, 在应用系统开发中很少用到.
中介者模式 mediator: 通过一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
迭代器模式 iterator: 提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象,复杂的聚合可用多种方法来进
计算题解析
第一章:计算机组成与体系结构
流水线吞吐率、加速比
第二章:操作系统
PV 操作、前趋图
分页存储管理
文件系统
第三章:数据库系统
数据库关系模式、函数依赖
1. 也通过绘制函数依赖图可以了解到,找到候选键(码),从每个元素出发,可以遍历全 图(例如 2016 年下半年例题),
2. 重点:其中{AB→C},只能画成右边的,不能画成左边的,因为左边代表 A 能确定 C, B 也能确定 C。
1. 设有关系模式 R(U,V,W,X,Y,Z),其函数依赖集:F={U→V,W→z,Y→U, WY→X},现有下列分解:p={UVY,WXYZ}
**解析**:
判断分解 p 是否为无损连接:若关系模式 R(U,F)中,被分解为 p={R1, R2}是 R 的一个 分解,若 R1∩R2 → R1 - R2 或者 R1∩R2 → R2 - R1,则为无损连接,此方法只适用于分 解后的关系模式只有两个。
根据判断标准,可得 R1∩R2=Y,R1-R2=UV,能否通过 F 推导出 Y →UV? 因为 F 中 Y→U、U→V,可得 Y →UV,即为无损连接。 不需要继续判断 Y→R2 - R1。
元组演算表达式
1. 其中元组表示关系表的行,t[4]表示元组 t 的第 4 个分量 。
2. 选择运算 R S 3 6 表示:选取 R 中行的第 3 个属性等于第 6 个属性元组,
第十二章嵌入式系统
考试
第1章 计算机组成与体系结构
1.1 计算机系统组成
1.1.1 计算机硬件的组成
1. **控制器**:是计算机的指挥中心,负责从内存中读取指令,并对其进行译码,产生一系列控制信号,指挥其他部件自动协调地工作。
2. **运算器**:也称为算术逻辑单元(ALU),是计算机中执行各种算术和逻辑运算操作的部件。
3. **存储器**:用于存储程序和数据,分为内存和外存。内存直接与 CPU 交换信息,速度快但容量小;外存用于长期存储数据,容量大但速度慢。
4. **输入设备**:用于向计算机输入数据和命令,如键盘、鼠标、扫描仪等。
5. **输出设备**:用于将计算机处理的结果输出给用户,如显示器、打印机、绘图仪等。
1.1.2 计算机软件的分类
1. **系统软件**:是管理和控制计算机硬件与软件资源的软件,是计算机系统的核心和基础。主要包括操作系统、程序设计语言处理程序、系统支撑程序等。
2. **应用软件**:是为了解决用户在各个领域中的具体问题而开发的软件,如办公软件、图形图像处理软件、游戏软件等。
1.2 计算机系统结构的发展
1. **冯·诺依曼结构**:是现代计算机的基础结构,其主要特点是将程序和数据存储在同一个存储器中,通过控制器来顺序执行指令。
2. **哈佛结构**:将程序存储器和数据存储器分开,具有独立的程序总线和数据总线,提高了数据传输效率。
3. **RISC(精简指令集计算机)结构**:采用简单且执行时间固定的指令集,通过增加寄存器数量和优化指令流水线来提高计算机的性能。
4. **CISC(复杂指令集计算机)结构**:指令集丰富且复杂,单条指令可以完成复杂的功能,适用于需要高效执行复杂任务的场景。
第2章 操作系统
2.1 操作系统的类型与结构
1. **批处理操作系统**:主要用于处理大量无交互的批处理任务,通过作业控制语言或作业控制台提交作业,系统自动调度执行。
2. **分时操作系统**:允许多个用户同时通过终端与计算机进行交互,系统将 CPU 时间划分成时间片,轮流为各个用户服务。
3. **实时操作系统**:要求系统能在规定的时间内对外界事件做出及时响应,并对响应时间有严格要求,广泛应用于工业控制、军事等领域。
4. **网络操作系统**:用于管理网络资源和提供网络服务,支持多用户同时访问网络资源,具有资源共享、用户管理、安全管理等功能。
5. **分布式操作系统**:管理分布在不同地理位置的多个计算机系统,将它们集成一个整体,为用户提供透明的资源访问和管理。
2.2 操作系统的基本原理
2.2.1 进程管理
1. **进程的状态转换**:进程在运行过程中会经历多种状态,如就绪态、运行态、阻塞态等,这些状态之间可以相互转换。
2. **进程的同步与互斥**:为了保证多个进程能够正确地共享资源和协同工作,需要进行进程的同步与互斥控制。常见的同步机制有信号量、管程等。
2.2.2 存储管理
1. **内存的分配与回收**:操作系统为每个进程分配所需的内存空间,并在进程结束时回收内存,以供其他进程使用。
2. **地址映射**:将逻辑地址转换为物理地址,实现进程对内存的透明访问。
3. **内存保护**:防止进程非法访问其他进程的内存空间,保证系统的安全性和稳定性。
2.2.3 设备管理
1. **设备的分配与回收**:操作系统根据进程的需求分配设备,并在进程使用完毕后回收设备。
2. **设备驱动程序**:用于控制和操作具体设备的软件,负责将用户请求转换为设备可以理解的命令。
3. **缓冲管理**:通过设置缓冲区来减少进程与设备之间的频繁数据交换,提高设备的利用率和系统的性能。
2.2.4 文件管理
1. **文件的逻辑结构**:文件可以按照一定的逻辑结构进行组织,如顺序文件、索引文件、索引顺序文件等。
2. **文件的物理结构**:文件在存储设备上的存储方式,如连续分配、链接分配、索引分配等。
3. **文件的操作**:包括文件的创建、删除、打开、关闭、读写等操作,用户通过文件操作接口来访问文件。
2.3 系统性能评价
1. **性能指标**:用于衡量计算机系统性能的各项指标,如 CPU 使用率、内存使用率、磁盘 I/O 速度、网络带宽等。
2. **性能计算**:根据性能指标的定义和公式,计算系统的性能参数,以评估系统的性能表现。
3. **性能设计**:通过对系统性能的分析和优化,提高系统的性能和效率,如优化算法、调整系统配置等。
4. **性能评估**:使用基准测试程序或实际应用对系统性能进行测试和评估,以验证系统的性能是否满足需求。
错题集
实时操作系统
**任务同步** :在实时操作系统中,任务并发执行时,一个任务等待另一个任务发来消息或建立某个条件后再向前执行,这种制约性合作关系被称为任务的同步。
嵌入式系统设计
**CPU 调试接口** :JTAG 接口是嵌入式系统设计中常用的 CPU 调试接口,用于开发人员调试 CPU 的工作状态及读写 Flash。
性能评估
**基准测试程序** :把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序。
**Web 服务器性能评估指标** :最大并发连接数、响应延迟、吞吐量等是对 Web 服务器进行性能评估的主要指标,而丢包率不是主要关注的指标。
企业信息化与电子商务
**企业信息化管理核心转变** :从对财务和物料的管理,转向对技术、物资和人力资源的管理,并延伸到对企业技术创新、工艺设计、产品设计、生产制造过程的管理,进而扩展到对客户关系和供应链的管理乃至发展到电子商务。
**企业信息集成** :企业信息集成按组织范围分为企业内部的信息集成和外部的信息集成。在企业内部的信息集成中,应用系统集成实现了不同系统之间的互操作,使得不同应用系统之间能够实现数据和方法的共享;业务过程集成实现了不同应用系统中的流程能够无缝连接,实现流程的协调运作和流程信息的充分共享。
**电子商务实体** :参与电子商务的实体包括客户、商户、银行和认证中心。
软件架构设计
**自顶向下开发方法** :自顶向下方法可以更快地得到系统的演示原型,其优点包括支持企业信息系统的整体性规划,对系统的各子系统的协调和通信提供保证等;缺点包括对系统分析和设计人员的要求较高,开发周期长等。
**特定领域软件架构(DSSA)** :DSSA 是在一个特定应用领域中,为一组应用提供组织结构参考的标准软件体系结构,通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境,其中应用工程师主要在领域特定应用开发环境中工作。
**基于架构的软件设计(ABSD)** :ABSD 方法有三个基础,分别是对系统进行功能分解、采用架构风格实现质量属性与商业需求、采用软件模板设计软件结构。ABSD 方法主要包括架构需求等 6 个主要活动,其中架构复审活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;架构演化活动针对用户的需求变化,修改应用架构,满足新的需求。
集成服务
**集成平台功能** :集成平台的基本功能包括数据通信服务、信息集成服务、应用集成服务和操作集成服务。其中,信息集成服务实现不同数据库系统之间的数据交换、互操作、分布数据管理和共享信息模型定义;应用集成服务通过高层应用编程接口来实现对相应应用程序的访问,能够为应用提供数据交换和访问操作,使各种不同的系统能够相互协作。
商业智能
**商业智能技术** :商业智能主要技术包括数据仓库、联机分析和数据挖掘。
静态测试
**静态分析类型** :在静态测试中,主要是对程序代码进行静态分析,包括控制流分析、数据流分析、接口分析和表达式分析。其中,数据流分析用于检查数据初始化、赋值或引用过程中的异常。
构件组装
**架构失配类型** :在构件组装过程中需要检测并解决架构失配问题。其中,构件失配主要包括由于系统对构件基础设施、控制模型和数据模型的假设存在冲突引起的失配;连接子失配包括由于系统对构件交互协议、构件连接时数据格式的假设存在冲突引起的失配。
软件架构视图
**"4+1" 视图** :"4+1" 视图主要用于描述系统逻辑架构,其中逻辑视图用于描述对象模型,并说明系统应该为用户提供哪些服务。当采用面向对象的设计方法描述对象模型时,通常使用类图表达类的内部属性和行为,以及类集合之间的交互关系;采用状态图定义对象的内部行为。
特定领域软件架构角色
**领域分析者与设计者** :领域分析者的任务是控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中;领域设计者的任务是根据领域模型和现有系统开发出 DSSA,并对 DSSA 的准确性和一致性进行验证。
软件架构风格
**黑板架构风格** :对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的软件系统,通常会采用黑板架构风格。
架构复审
**架构复审参与者** :在架构复审过程中,主要由用户代表与领域专家决定架构是否满足需求、质量需求是否在设计中得到体现。
风险与权衡点
**权衡点与非风险描述** :“改变业务数据编码方式会对系统的性能和安全性产生影响”是对权衡点的描述,“假设用户请求的频率为每秒 1 个,业务处理时间小于 30 毫秒,则将请求响应时间设定为 1 秒钟是可以接受的”是对非风险的描述。
RAID 技术
**RAID 5 容量计算** :RAID 5 的存储机制是两块存数据,一块存另外两块硬盘的奇偶校验结果。如果有 3 块 80G 的硬盘做 RAID 5,则总容量为 (3-1)×80=160G;如果有 2 块 80G 的盘和 1 块 40G 的盘,则以较小的盘的容量为计算方式,总容量为 (3-1)×40=80G。
IPv6
**IPv6 地址特点** :IPv6 地址长度为 128 比特,地址类型包括单播、任意播和组播。
供应链信息流
**需求与供应信息流** :在供应链中,需求信息流包括客户订单、生产计划和采购合同等;供应信息流包括入库单、完工报告单、库存记录、可供销售量和提货发运单等。
项目范围管理
**项目范围定义作用** :项目范围的定义是生产项目计划的基础。
处理流程设计工具
**程序流程图作用** :程序流程图用于描述系统中每个模块的输入、输出和数据加工。
桥接模式
**桥接模式角色对应** :在桥接模式中,“Abstraction”角色对应 Shape 类,“Implementor”角色对应 Drawing 类。
RUP 开发方式
**RUP 强调的开发方式** :RUP 强调采用迭代和增量的方式来开发软件,这样做的好处是在软件开发的早期就可以对关键的、影响大的风险进行处理。
架构描述语言
**ADL 组成部分** :架构描述语言主要包括组件、组件接口、连接件和架构配置。
基于架构的软件开发
**ABSD 描述方式** :ABSD 强调采用视角与视图描述软件架构,用用例与质量场景来描述需求。
软件架构设计关注点
**架构设计关注点** :软件架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
特定领域软件架构开发基础
**DSSA 开发基础架构** :DSSA 以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成。领域分析的主要目的是获得领域模型,领域设计的主要目标是获得 DSSA,领域实现的主要目标是开发和组织可重用信息,并实现基础软件架构。
架构权衡分析方法
**ATAM 方法阶段** :ATAM 方法主要包括场景和需求收集、架构视图和场景实现、属性模型构造和分析、属性模型折中等四个阶段。ATAM 方法要求在系统开发之前,首先对这些质量属性进行评价和折中。
嵌入式系统存储部件
**存取速度最快的存储部件** :在嵌入式系统的存储部件中,存取速度最快的是寄存器组。
区分服务
**DiffServ 模型要求** :IETF 定义的区分服务(DiffServ)模型要求每个 IP 分组都要根据 IPv4 协议头中的服务类型字段加上一个 DS 码点,然后内部路由器根据 DS 码点的值对分组进行调度和转发。
电子政务
**电子政务相关行为主体** :与电子政务相关的行为主体有三个,即政府、企(事)业单位及居民。国家和地方人口信息的采集、处理和利用,属于政府对居民的电子政务活动。
项目成本管理
**成本预算作用** :成本预算是将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。
软件系统工具分类
**版本控制工具与软件评价工具归属** :软件系统工具按软件过程活动可分为软件开发工具、软件维护工具和软件管理和软件支持工具。版本控制工具属于软件维护工具,软件评价工具属于软件管理和软件支持工具。
面向对象的分析与设计
**分析模型与设计模型构成** :面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成。设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和描述流程化处理过程的活动图等。
CORBA 构件模型
**POA 与伺服对象作用** :在 CORBA 构件模型中,可移植对象适配器(POA)的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,伺服对象(Servant)是最终完成客户请求的服务对象实现。
构件描述
**构件包含内容** :构件包含了一组需要同时部署的原子构件。
JavaEE 平台基础功能服务
**遗产系统集成方式** :基于 JavaEE 平台的基础功能服务构建应用系统时,JCA、JMS 和 Java IDL 可用来集成遗产系统。
软件集成测试
**集成测试组装策略与计划完成阶段** :软件集成测试可以分为一次性组装和增量式组装,集成测试计划通常是在软件概要设计阶段完成。
架构风格
**C2 架构风格特点** :C2 架构风格可以概括为通过连接件绑定在一起按照一组规则运作的并行构件。
可修改性考虑内容
**可修改性包含内容** :可修改性考虑的内容包括可维护性、可扩展性和结构重构,不包括可变性。
信息系统规划方法
**常用方法** :用于管理信息系统规划的方法主要有关键成功因素法(CSF)、战略目标集转化法(SST)和企业系统规划法(BSP)。
**关键成功因素法(CSF)** :通过对关键成功因素的识别,找出实现目标所需的关键信息集合,从而确定系统开发的优先次序。该方法能抓住主要矛盾,使目标的识别突出重点,经理们乐于努力去实现。
**战略目标集转化法(SST)** :把组织的战略目标转变成为管理信息系统的战略目标,反映了各种人的要求,并给出了按这种要求的分层,然后转化为信息系统目标的结构化方法。它能保证目标比较全面,疏漏较少,但在突出重点方面不如关键成功因素法。
**企业系统规划法(BSP)** :通过自上而下地识别系统目标、企业过程和数据,然后对数据进行分析,自下而上地设计信息系统。该方法支持企业目标的实现,表达所有管理层次的要求,向企业提供一致性信息,对组织机构的变动具有适应性。
信息化需求层次
**三个层次** :信息化需求包含战略需求、运作需求和技术需求。
**战略需求** :组织信息化的目标是提升组织的竞争能力,为组织的可持续发展提供支持环境。信息化可以将组织战略提升到一个新的水平,为组织带来新的发展契机。
**运作需求** :包含实现信息化战略目标的需要、运作策略的需要和人才培养的需要。
**技术需求** :由于系统开发时间过长等问题,在信息技术层面上对系统的完善、升级、集成和整合提出了需求。有些组织可能需要从头开发新的系统。
移植工作阶段
**五个阶段** :移植工作大体上分为计划阶段、准备阶段、转换阶段、测试阶段、验证阶段。
**计划阶段** :进行现有系统的调查整理,探讨如何转换成新系统,决定移植方法,确立移植工作体制及移植日程。
**准备阶段** :进行移植方面的研究,准备转换所需的资料。该阶段的作业质量对以后的生产效率影响很大。
**转换阶段** :将程序设计和数据转换成新机器能根据需要工作的阶段。提高转换工作的精度,减轻下一阶段的测试负担是提高移植工作效率的基本内容。
**测试阶段** :进行程序单元、工作单元测试的阶段。核实程序能否在新系统中准确地工作,如有问题则回到转换阶段重新工作。
**验证阶段** :测试完的程序使新系统工作,最后核实系统,准备正式运行的阶段。
分支主题
0 条评论
下一页