案例高考频:
1、系统计划
可行性研究与效益分析
遗留系统的评价和处理策略-少
3、系统分析:
系统的可靠性分析和可靠值计算
提高系统可靠性的措施
4、系统设计
4.1建模技术
需求建模的步骤
需求获取
业务需求是全局总概性定义的,使用场景不一样,高层做出的决定是总概性、方向性的东西,不是具体的,是大佬定的方向性的,比如老板要开发个大的教育在线系统,达到什么效果。用户需求是针对具体的手段,不可能确定的,用户需求是方方面面的,是IT负责人找各部门用户干系人的述求。
业务需求是业务发起人(高层)提出的
很多项目的提出,是老板出去考察,说我们也要做什么。。。
需求获取对应的用户需求
1用户访谈:了解资料后,提前做好功课,准备好问题,有些问题是开放式的,有些问题是封闭式的,最多1-3个访谈。要提前预约,要有介绍,选有代表性的用户,客观高些,了解主观想法,交互好。做好记录,允许的情况可以录音,事后总结,形成文档,这是基本思想,这样取得良好效果。访谈时间成本高,对访谈主持人要求很高,与专家不能对应,不能得到有价值的信息,对3人访谈时可以听到不同的声音,更加全面。大型用户会用访谈+抽样调查来解决,一般1000人对应1-3人访谈,多种方式联合使用。
2调查问卷:适用用户多,无法一一访谈,成本低;容易应付了事,记名的获取价值信息少,很多问题直接问不出答案,不记名的好些,可以侧面提问,收上来少,优点是很快收上来很多人的想法。
3JRP联合需求计划
4情节串联板
5抽样调查
6现场观摩:针对复杂流程和操作,比如问别人一步步操作,但是你很难理解
7参加业务实践
8收集资料:做新系统代替旧系统,是需要收集现有系统信息和现有情况,历史文档是现有资料之一
9阅读历史文档:是非常有价值的,之前访谈有数据。对收集数据性的信息较为有用。
需求分析:结构化、面向对象建模
结构化建模技术、数据流图
数据库建模
4.2系统设计
WEB系统设计
8、系统开发项目管理
进度管理
9、企业信息化战略与实施
“信息孤岛”形成的根源及预防、应对措施
MDA:计算无关CIM、平台无关PIM、平台相关PSM
TOGAF?
CMM-SEI软件工程管理成熟度模型
初始级,临时凑合
可重复级,可模仿
可定义级,标准化
可管理级,可预测
优化级级,可改进
决策系统DSS由数据库子系统、模型库子系统、推理部分和用户接口子系统
系统功能体系图是描述系统功能的组成结构,也称为模块结构图,是概要设计的产出物。
功能流程图是指功能的总体处理流程,是描写系统或模块内部的功能流向图表。用来检验是否识别出所有的功能,是以后系统设计的基础。
数据流图是结构化分析中进行功能建模的工具,通过数据流图可以了解到系统的功能以及功能之间数据的流动情况。建模所使用的基本模型元素有外部实体、过程、数据流和数据存储。
面向对象:
开闭原则:面向增加开放,关闭修改。不修改原有代码情况下扩展。
对扩展开放,对修改关闭。
组合复用原则:不要继承,尽量组合。尽量使用对象组合,而不是继承来达到复用的目的。该原则就是在一个新的对象里面使用一些已有的对象,
最少知识原则:对象了解另一个对象最少信息。
一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。
依赖倒置原则:面向抽象编程,不要面向具体,接口。
要依赖于抽象,不要依赖于具体的实现,抽象不应该依赖细节(具体实现)
单一原则:接口尽量单一功能
接口隔离原则:
一个接口不需要提供太多的行为,一个接口应该只提供一种对外的功能,不应该把所有的操作都封装到一个接口当中.
里氏替换原则:在任何父类出现的地方都可以用他的子类来替代(子类应当可以替换父类并出现在父类能够出现的任何地方
软件需求:是我要做什么
软件设计:确定我要做什么
uml4+1视图、计算机等级保护五个。
企业战略改革、业务流程分析。
结构化方法分析模型,数据模型,功能模型,行为模型。
软件需求分析。
cmm成熟度模型。
论文:
论软件设计模式及应用
论快速应用开发(RAD)
论面向服务的开发
论遗产系统演化
猜2022:
论面向对象的信息系统分析
静态测试
RIA富互联网
DevOps
错题分析:
1、学习补码。数据的表示方式:原码、补码、反码、移码。机器字长为n位的二进制补充用来表示2的n平方个不同的有符号定点小数
2、累加寄存器为ALU提供暂存数据工作区。算术逻辑运算,计算机对数据进行的加、减、乘、除等算术运算和与、或、非、异或等逻辑运算。
3、面向消息中间件MOM通过高效可靠的消息传递机制,在分布式环境下扩展进程间的通信,可支撑多种通信协议
语言、应用程序、硬件和软件平台。
4、智能,感知力:感知外部世界、获取外部信息的能力,这是产生智能活动的前提和必要条件。记忆和思维能力即能够存储感知到的外部信息及由思维产生的知识,利用已有的知识对信息进行分析、计算、比较、判断、联想和决策。学习和自适应能力:即通过与环境的相互作用,不断学习积累知识,使自己能够适应环境变化。行为决策能力:对外界的刺激做出反应,形成决策并传达相应的信息。
5、信息系统生命周期分为系统规划(可行性分析报告,系统设计任务书)、系统分析(逻辑模型,系统说明书)、系统设计(物理模型,系统设计说明书)、系统实施阶段(系统实施和测试报告)、系统运行和维护阶段。
6、区块链2.0:
数据层:封装底层数据、数据加密和时间戳,网络层:分布式组网、数据传播、数据验证,共识层:封装网络节点的各类共识算法,激励层:经济因素集成,发行机制和分配机制,合约层:封装各类脚本、算法和智能合约 应用层:各类场景和案例。
7、软件架构分类:
数据流风格:批处理序列、管理/过滤器
调用/返回风格:主程序和子程序、数据抽象和面向对象,层次结构
独立构件风格:进程通信、事件驱动的系统
虚拟机风格:解释器、基于规则的系统
仓库风格:数据库系统、黑板系统、超文本系统
8、内聚耦合类型:
高内聚
功能内聚:完成单一的功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相同,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构区域。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的内务。
低内聚
耦合
9、敏捷过程
极限编程XP:轻量级、高效、低风险、柔性、可预测、科学的。由价值观、原则、实践和行为4个部分组织,4大价值观是沟通、简单性、反馈和勇气。高度纪律
水晶法crystal:以人为中心,认为很难严格遵循一个纪律约束很强的过程,认为每一种不同的项目都需要一套不同策略
并列争球法scrum:每30天一次的迭代作为一个冲刺,按需求的优先级来实现产品,多个自组织和自治小组并行地递增实现产品。协调是通过简短的日常会议来进行的
自适应软件开发ASD:核心是三个非线性的、重迭的开发阶段:猜测、合作与学习
10、信息工程方法
11、UML中关系:
依赖:两个事物的语义关系,其中一个事物发生变化会影响另一个事物的语义。use使用,类、包、构件
关联(聚合、组合):描述一组对象之间连接的结构关系。聚合:整体与部分的关系,可分离,各自生命周期,部分可属于多个整体对象,也可为多个整体对象共享。组合:不可分离
泛化:一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。继承
实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。类与接口,接口所有特征和行为的实现
12、对象中关系:包含、扩展、泛化
13、表示媒体:编码,表现媒体:鼠标、键盘、打印机、喇叭
14、C/C++编译内存区:
栈区:编译器自动分配释放
堆区:程序员分配释放
全局区(静态区):全局变量或静态变量
文字常量区:常量字符串
程序代码区:函数体二进制代码
15、企业信息化与系统规划:
组织层次图、业务计划、年终报告、备忘录等作为建立企业模型输入信息,输出企业任务说明、组织单元目标和关键成功因素表、企业目标/组织单元目标矩阵等制品
16、嵌入式初始化:片级-〉板级-〉系统初始化
17、模型:
瀑布模型、原型模型、
螺旋模型:综合瀑布模型和原型模型中的演化模型的优点,还增加了风险分析,特别适用于庞大而复杂的、高风险的管理信息系统的开发。
V模型、喷泉模型
18、配置管理:版本控制、变更控制及过程支持
19:信息工程:企业的各种信息、企业的业务过程和企业采用的信息技术
20:UML建模
用例图:以图形化的方式描述系统与外部系统及用户的交互,其以图形化的方式描述了谁将使用系统,以及用户期望以什么方式与系统交互,主要用在面向对象需求分析阶段
部署图:描述系统中硬件和软件的物理架构,描述构成系统架构的软件结构、处理器和设备
21:系统架构
创建型模式5:工厂方法、抽象工厂、单例、构造、原型
结构型模式7:适配器、装饰器、
代理:代替简单的指针,远程代理、虚代理、保护代理,智能指引取代了简单指针
组合:将对象组合成树形结构以表示“部分-整体”的层次结构,它使得客户对单个对象和复合对象的使用具有一致性。
桥接:
外观、享元
行为型模式11:策略、模板、
观察者:定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。发生改变的对象称为观察目标,被通知的对象称为观察者,一个观察目标对应多个观察者
、迭代、状态、访问者、中介者、解释器、备忘录、命令、职责链
22:分布式数据库:
分片透明:用户和应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。
复制透明:指采用复制技术的颁方法,用户不需要知道数据是复制到哪些节点,如何复制的。底层逻辑卷拷贝
位置透明:指用户无需知道数据存放的物理位置
逻辑透明:即局部数据模型透明,指用户或应用程序无需知道局部场地使用的是哪种数据类型
23:数据规范化:
1NF
2NF
3NF
BCNF
24、UML9种图:
用例视图:用例图
设计视图:类图、对象图
进程视图:序列图、协作图、状态图、活动图
实现视图:构件图
拓扑视图:部署图
25、Memcache与Redis的比较
(1)数据结构:Memcache只支持key value存储方式,Redis支持更多的数据类型,比如Key value、hash、list、set、zset;
(2)多线程:Memcache支持多线程,Redis支持单线程;CPU利用方面Memcache优于Redis;
(3)持久化:Memcache不支持持久化,Redis支持持久化;
(4)内存利用率:Memcache高,Redis低(采用压缩的情况下比Memcache高);
(5)过期策略:Memcache过期后,不删除缓存,会导致下次取数据数据的问题,Redis有专门线程,清除缓存数据;
ETL工具比较(Informatica ,SSIS,Kettle )
(1)泛化(Generalization) (2)关联(Association) (3)依赖(Dependency) (4)聚合(Aggregation) UML图与应用代码例子: 1.泛化(Generalization)
1、反数据规范化
2、EJB
3、
论文
2、
通常在确定测试方法时,有以下几条参考原则:
(1)拿到一个测试任务时,先关注它的主要功能和业务流程、业务逻辑是否正确实现,考虑使用场景法。
(2)需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。
(3)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。
(4)如果程序的功能说明中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法。
(5)对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式(最少的测试用例获得最大的的测试覆盖率)。
(6)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。
(7)采用错误推断法再追加测试用例——依靠测试工程师的经验和智慧。