宝子们!上半年软考已经结束一段时间了,准备备考下半年软考高级-系统分析师的小伙伴可以开始准备了,毕竟高级科目的难度可是不低的,相信参加过上半年系分的小伙伴深有体会。
这里给大家整理了100条系分知识点,涵盖全书90%重点,先把这个存下!再慢慢看书,边看书边背这个,事半功倍,祝大家今年都能考试顺利,成功上岸!
1、企业集成
按集成点分:
集成点 | 效果 | 解题关键点 | |
界面集成 | 界面 | 统一入口,产生“整体”感觉 | “整体”感觉最小代价实现一体化操作 |
数据集成 | 数据 | 不同来源的数据逻辑或物理上“集中” | 其他集成方法的基础 |
控制集成 | 应用逻辑 | 调用其他系统已有方法,达到集成效果 | |
业务流程集成(过程集成) | 应用逻辑 | 跨企业,或优化流程而非直接调用 | 企业之间的信息共享能力 |
门户集成 | 将内部系统对接到互联网上 | 发布到互联网上 |
按传输方式划分:
特点 | |
消息集成 | 数据量小,交互频繁,立即地,异步 |
共享数据库 | 交互频繁,立即地,同步 |
文件传输 | 数据量大,交互频度小,即时性要求低(月末,年末) |
2、敏捷开发
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,适用于小团队和小项目,具有小步快跑的思想。常见的敏捷开发方法有极限编程法、水晶法、并列争球法和自适应软件开发方法。
敏捷宣言:
个体和交互胜过过程和工具
可工作的软件胜过大量的文档【实现与测试是核心】
客户合作胜过合同谈判
响应变化胜过遵循计划
极限编程XP是一种轻量级的开发方法,它提出了四大价值观:沟通、简单、反馈、勇气。五大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。十二个最佳实践:计划游戏、隐喻、小型发布、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户和编码标准。
极限编程(XP):一些对费用控制严格的公司中的使用,非常有效。
水晶方法:探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。
开放式源码:程序开发人员在地域上分布很广【其他方法强调集中办公】。
SCRUM:明确定义了的可重复的方法过程。
功用驱动开发方法(FDD):编程开发人员分成两类:首席程序员和“类”程序员。
ASD方法:其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。
动态系统开发方法(DSDM):倡导以业务为核心。
3、与逆向工程相关的概念
(1)重构(restructuring)。重构是指在同一抽象级别上转换系统描述形式。
(2)设计恢复(design recovery)。设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息。
(3)逆向工程(reverse engineering):逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。
(4)正向工程(forward engineering)。正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。
(5)再工程(re-engineering)。再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程和正向工程三个步骤。
4、UML图分类
5、面向对象设计原则
单一职责原则:设计目的单一的类
开放-封闭原则:对扩展开放,对修改封闭
李氏(Liskov)替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
6、创建型模式
设计模式名称 | 简要说明 | 速记关键字 |
Factory Method工厂方法模式 | 定义了创建对象的接口,它允许子类决定实例化哪个类 | 动态生产对象 |
Abstract Factory抽象工厂模式 | 提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类 | 生产成系列对象 |
Builder构建器模式 | 将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示 | 复杂对象构造 |
Prototype原型模式 | 允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。通过拷贝原型对象来创建新的对象 | 克隆对象 |
Singleton单例模式 | 确保一个类只有一个实例,并且提供了对该类的全局访问入口 | 单实例 |
7、行为型模式
设计模式名称 | 简要说明 | 速记关键字 |
Chain ofResponsibility职责链模式 | 可以在系统中建立一个链,这样消息可以在首先接收到它的级别处被处理,或者可以定位到可以处理它的对象 | 传递职责 |
Command命令模式 | 在对象中封装了请求,这样就可以保存命令,将该命令传递给方法以及像任何其他对象一样返回该命令 | 日志记录,可撤销 |
Interpreter解释器模式 | 可以解释定义其语法表示的语言,还提供了用表示来解释语言中的语句的解释器 | 虚拟机的机制 |
Iterator迭代器模式 | 为集合中的有序访问提供了一致的方法,而该集合是独立于基础集合,并与之相分离的 | 数据集 |
Mediator中介者模式 | 通过引入一个能够管理对象间消息分布的对象,简化了系统中对象间的通信 | 不直接引用 |
Memento备忘录模式 | 保持对象状态的“快照”(snapshot),这样对象可以在不向外界公开其内容的情况下返回到它的最初状态 | 游戏存档 |
Observer观察者模式 | 为组件向相关接收方广播消息提供了灵活的方法定义对象间的一种一对多的依赖关系 | 订阅、广播、联动 |
State状态模式 | 允许一个对象在其内部状态改变时改变它的行为 | 状态变成类 |
Strategy策略模式 | 定义一系列算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化 | 多方案切换 |
Template Method模板方法模式 | 提供了在不重写方法的前提下允许子类重载部分方法的方法 | 框架 |
Visitor访问者模式 | 提供了一种方便的、可维护的方法来表示在对象结构元素上要进行的操作 | 数据与操作分离 |
8、结构型模式
设计模式名称 | 简要说明 | 速记关键字 |
Adapter适配器模式 | 将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作 | 转换接口 |
Bridge桥接模式 | 将一个复杂的组件分成两个独立的但又相关的继承层次结构将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化 | 继承树拆分 |
Composite组合模式 | 创建树型层次结构来改变复杂性,同时允许结构中的每一个元素操作同一个接口。用于表示“整体-部分”的层次结构 | 树形目录结构 |
Decorator装饰模式 | 在不修改对象外观和功能的情况下添加或者删除对象功能即动态地给一个对象添加一些额外的职责 | 动态附加职责 |
Facade外观模式 | 子系统中的一组接口提供了一个统一的接口 | 对外统一接口 |
Flyweight享元模式 | 可以通过共享对象减少系统中低等级的、详细的对象数目提供支持大量细粒度对象共享的有效方法 | 汉字编码 |
Proxy代理模式 | 为控制对初始对象的访问提供了一个代理或者占位符对象 | 快捷方式 |
9、新型的测试种类
测试方法 | 描述 |
AB测试 | 多版本同时使用,利于收集各版本的用户反馈,评估出最好版本。故也算是一种【网页优化方法】。 |
Web测试 | web系统测试与其他系统测试测试内容基本相同只是测试重点不同。Web代码测试包括:源代码规则分析、链接测试、框架测试、表格测试、图形测试等方面。 |
链接测试 | 链接测试可分为3个方面:1、测试所有链接是否按指示的那样确实链接到了该链接的页面。2、测试所链接的页面是否存在。3、保证Web应用系统上没有孤立的页面。 |
10、遗留系统演化策略
淘汰策略:遗留系统的技术含量较低,且具有较低的业务价值。对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。
继承策略:遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
改造策略:遗留系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。
集成策略:遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。
......
篇幅有限,有需要PDF完整版或更多资料的朋友,可以自行获取↓↓↓