软考-需求分析师梳理
2023-03-19 15:48:14 0 举报
AI智能生成
该文件主要是梳理软考-需求分析师的笔记
作者其他创作
大纲/内容
计算机组成与结构
计算机硬件组成概念
运算器
存储器
输入设备
输出设备
中间处理单元cpu
组成
运算器
算术逻辑单元ALU
实现对数据的算术和逻辑运算
累加寄存器AC
运算结果或源操作
数的存放区
数的存放区
数据缓冲寄存器DR
暂时存放内存的指令或数据
状态条件寄存器
PSW
PSW
保存指令运行结果的条件码内容
控制器
指令寄存器IR
暂存CPU执行指令
程序计数器PC
存放指令执行地址
地址寄存器
AR
AR
保存当前CPU所访问的内存地址
指令译码器ID
分析指令操作码
寄存器组
内部总线
功能
程序控制
操作控制
时间控制
数据处理功能
数据表示
十进制转R进制
除以R
R进制转N进制
先转10进制在转N进制
机器数
其特点是使用二进制计数制 数字用0或1 表示
正数
正数的原码,补码,反码都一样,移码最高位补1
负数
负数的原码为正数源码最高位加1,反码为原码的相反值,即0变1,1变0,补码在反码的基础上最低位加1
定点
包含纯小数跟纯整数
真值
机器数对应的实际数字
校验码
奇偶校验码
海明校验码
循环冗余校验码crc
指令系统
存储系统
输入输出技术
总线结构
可靠性指标、串并联系统可靠性计算
校验码
奇偶校验码
循环冗余校验码
海明码
企业信息化战略跟实施
信息化基本概念
信息就是不确定性的减少
信息系统战略规划
概念
应用层次分类
战略级(企业最高管理层)
战术层(企业中层经理及其管理部门)
操作级(服务型企业的业务部门)
事务级(企业的管理业务人员)
数据环境分类
数据文件
应用数据库
主题数据库
信息检索系统(仓库)
路线
企业战略规划
企业战略
信息系统战略
类似方向
信息系统战略规划(ISSP)
BSP,SST,SCF
战略数据规划方法SDP
从企业全局的角度,来规划整个企业,数据层面的事情
信息工程方法
单个系统开发
系统规划 -》系统分析-》 系统设计(架构设计,概要设计,详细设计) -》系统实施 -》 系统验收
体系
企业战略规划(确定企业未来发展的大方向)
信息系统战略规划(为企业战略开发支撑系统)
信息技术战略规划(为支撑系统运行环境做规划)
信息资源规划(数据与标准相关的规划)
企业战略跟信息化战略集成方法
业务与IT整合(BITA)
重心是找业务与现有IT系统之间的不一致,并给出转变计划
企业IT架构(EITA)
帮助IT企业建立IT的原则规范,模式和标准
方法
第一阶段(以数据处理为核心)
企业系统规划法(BSP)
UC 矩阵(数据跟功能结合,子系统划分)
关键成功因素法(CSF)
找企业的成功因素,从而判断先开发什么系统
战略集合转化法(SST)
第二阶段(以企业内部MIS为核心)
战略数据规划法(SDP)
企业建模建立,主题数据库(企业单一总数据库)
信息工程法(IE)
信息战略规划,业务领域分析,系统设计,系统构建
战略栅格法(SG)
第三阶段(考虑企业内外环境,以集成为核心)
价值链分析法(VCA)
战略一致性模型(SAM)
信息资源规划(IRP)
概念
强调将需求分析与系统建模紧密结合起来,需求分析是系统建模的准备,系统建模是用户需求的定型和规划话表达
业务需求分析
职能域分析
业务域定义
业务流程梳理
数据需求分析
用户视图收集
用户视图分组,分析
数据元素分析
系统功能建模
子系统定义
功能模块定义
程序单元定义
系统数据建模
主题数据库定义
基本表定义
扩展表定义
信息系统开发方法
结构化法(面向过程的方法论 瀑布模型)
用户至上
严格区分工作阶段,每阶段有任务与成果
强调系统开发过程的整体性和全局性
系统开发过程工程化,文档资料标准化
自顶向下,逐步分解(求精)
原型法(针对需求分析,针对需求不明确)
适用于需求不明确的开发
按功能分
水平原型(界面)
垂直原型(复杂算法)
按最终结果分
抛弃式原型
演化式原型
面向对象方法
更符合人们的思维习惯,更好的复用性
关键在于建立一个全面,合理,统一的模型
分析,设计,实现三个阶段,界限不明确
面向服务的方法(SOAD,本身就是面向对象)
抽象级别
操作
服务
业务流程
三个层次
基础设计层(底层服务构建)
应用结构层(服务之间的接口和服务级协定)
业务组织层(业务流程建模和服务流程编排)
服务建模
服务发现
服务制约
服务实现
系统建模
1.获取现有系统
2.将物理系统模型化得到物理模型
3.将物理模型抽象化得到逻辑模型
4.将逻辑模型调整优化得到新的逻辑模型
5. 将逻辑模型实例化得到新的物理模型
6. 将物理模型具体化得到新的物理系统,从而得到新系统
政府信息化与电子政务
政府对政府(G2G)政府之间的互动及政府与公务员之间的互动
例子 基础信息的采集,处理和利用,如人口/地理/资源信息等;各级政府决策自持;政府间通信
政府对企业(G2B) 政府为企业提供的政策环境
包括产业政策,进出口,注册
政府对公民(G2C)政府对公民提供的服务
水电户口,证件等
政府对公务员(G2E) 政府与政府公务员即政府雇员
政府机构通过网络技术实现内部电子化管理(OA)的重要形式
区分G2B与B2G,以及G2C与C2G
在于谁先谁后
企业信息化与电子商务
企业资源计划(ERP)
物料需求计划(MRP)
制造资源计划(MRPll)
企业资源计划(ERP)
客户关系管理(CRM)
核心是客户价值管理,提升客户忠诚度和保有度
核心功能 1.客户服务 2. 市场营销 3. 共享的客户资料库 4. 分析能力
解决方案具备以下要素:畅通有效的客户交流渠道 2.对所获信息进行有效分析 3. CRM 必须与ERP很好的集成
实现过程的三方面工作:1.客户服务跟支持 2 .客户群维系 3. 商机管理
供应链管理(SCM)
理念: 整合和优化三流(信息流(核心),资金流,物流),打通企业间“信息孤岛”,严格的数据交换标准
信息流
需求信息流
如客户订单,生产计划,采购合同等
供应信息流
如入库单,完工报告单,库存记录,可供销售两,提货发运单等
产品数据管理(PDM)
理念
用来管理所有与产品相关信息和与产品相关的过程
发展阶段
配合CAD -> 产品数据管理 -》 产品协同商务
核心功能
数据库和文档管理
产品结构与配置管理
生命周期管理和流程管理
集成开发接口
决策智能(BI)
定义
应用与决策分析
核心功能
数据仓库
特点
面向主题
数据按主题组织,例如商品从各个系统获取商品的数据
集成的
消除了源数据种的不一致性,提供整个企业的一致性全局信息
相对稳定的(非易失的)
主要进行查询操作,只有少量的修改和删除操作
反应历史变化(随着时间变化)
记录了企业从过去某一时刻到当前各个阶段的信心,可对发展历程和未来趋势做定量分析和预测
概念
不等于数据库,由数据库演化而来
与主题数据库区别
主题数据库跑一些具体应用,数据仓库只做数据分析
数据处理过程
1. 数据预处理ETL(抽取,清洗,装载,刷新)
2. 数据仓库存储
3. 数据分析(OLAP服务器)
4. 数据展现
数据挖掘
关联分析(挖掘出隐藏在数据间的相互关系)
序列模型分析(侧重点是分析数据间的前后关系或因果关系)
分类分析(为每一个记录赋予一个标记再按标记分类)
一开始就打标签就叫分类
聚类分析(分析分析法的逆过程)
一开始不确定类型,只知道大概像统一分在一个类里面叫聚类
联机分析处理(OLAP)
决策支持系统(DSS)
数据库子系统
推理部分
模型库子系统
知识管理
显性知识
规范,系统,结构化,明确
隐性知识
未规范,零星,非正式,未编码,不易保存,传递
业务流程重组
业务流程分析方法
价值链分析法
关键字,顾客满意,实现顾客价值最大化
客户关系分析法
把CRM用在业务流程的分析上
供应链分析法
从企业供应链的角度分析企业的业务流程
基于erp的分析法
紧密联接供应链
业务流程重组
BPR(业务流程重组)
推倒重来
BPM(业务流程管理)
优化,改进
PDCA闭环的管理过程
企业应用集成(论文)
表示集成(界面集成)
数据集成(JDBC)
控制集成(应用集成,api集成)
业务流程集成(过程集成,B2B)
企业门户
企业网站
注重单向信息传递,缺互动
企业信息门户(EIP)
把各种应用系统,数据资源和互联网资源统一集成到企业门户之下(提供个性化页面及单一的访问入口)
企业知识门户(EKP)
企业网站的基础上增加知识性内容
企业应用门户(EAP)
实际上是对企业业务流程的集成,它以业务流程和企业应用为核心,把业务流程中功能不能的应用模块通过门户技术集成在一起,可以通过Eap访问相应的应用系统,实现移动办公,进行网上交易等
企业通用门户
集以上四者于一身
电子商务
企业对个人
个人对企业
企业对企业
消费者对消费者
线上对线下
系统规划
系统规划的步骤
初步调查
子主题确定系统目标
分析子系统的组成
拟定系统的实施方案
进行可行性研究
编写可行性研究报告,召开可行性论证会
制定系统建设方案
制定系统建设方案,形成系统设计任务书作为系统建设的依据
项目的机会选择
可行性分析
经济可行性
成本收益分析,包括建设成本,运行成本和项目建设后可能的经济收益
技术可行性
技术风险分析,现有的技术能否支持系统目标的实现,现有资源(员工,技术积累,构件库,软硬件条件)是否足以支持项目的实施
法律可行性
不能于国家法律或政策相抵触
用户使用可行性
执行可行性,从信息系统用户的角度评估系统的可行性
管理可行性
系统与现有管理机制的一致性,改革的可能性
运行可行性
用户方便使用的程度
成本效益分析(案例)
概念
有形收益
资源要求的减少,运行效率的改进,提供了工作效率,每个月节约的人员工资
无形收益
企业形象的改善,提高客户满意度和忠诚度
按照成本形态分析
固定成本:管理人员工资,办公费,固定资产折旧费,员工培训费,技术开发经费等
变动成本:直接材料费,产品包装费,外包费用,开发奖金等
混合成本:水电费,电话费,质量保证人员的工资,设备动力费等
从项目管理角度对成本分类
直接成本:项目组人员工资,材料费用
间接成本:水电费,员工培训非
从开发运营对成本分类
开发成本:开发人员工资,开发材料资源类成本
运营成本:运维人员工资,运维耗材
盈亏临界分析(案例)
销售额=固定成本+可变成本+税费+利润(正常情况下)
销售额=固定成本+可变成本+税费(盈亏平衡)
净现值分析
现值
p=f/(1+i)~n
净现值
npv=(ci(当年收回的钱)-c0(当前指出的钱)/(1+i)~n)
一般适用于投资额相同的项目
净现值率
多个项目,净现值率越高越值得投资
投资回收期
静态投资回收期
动态投资回收期
投资回收率=1/投资回收期*100%
投资收益率=投资回报率
总投资收益率=投资收益/投资总额*100%
年均投资收益率=运营期年均净收益/投资总额*100%
软件工程
信息系统的生命周期
立项阶段
企业全局,形成概念,需求分析(做还是不做)
开发阶段
单个系统开发流程 (总体规划-》系统分析 -》 系统设计 -》系统实施 -》 系统验收)
运维阶段
通过验收,移交之后
消亡阶段
更新改造,功能扩展,报废重建
单个系统的生命周期
系统规划
初步调查,分析系统目标,子系统组成,拟实施方案,可行性研究,制定系统建设方案
产出:系统设计任务书(系统建设方案,实施计划)
系统分析
业务流程分析,数据与书流程分析,软件需求分析,网络需求分析
产出:系统需求规格说明书,软件需求规则说明书,确认测试计划,系统测试计划,初步的用户手册
系统设计
软件架构设计,软件概要设计,详细设计,网络设计
产出:架构设计文档,概要设计说明书,详细设计说明书,程序规则说明书,概要测试计划,详细测试计划,各类设计图
系统实施
软件编码,软件单元/集成/系统测试,综合布线
产出:源码,单元测试,集成测试报告,操作手册
系统验收
确认测试,试运行
产出:确认测试报告,项目验收报告
软件开发模型
瀑布模型
特点:需求明确,无变化,按步骤执行
演化模型(变化模型)
增量模型
螺旋模型(以原型+瀑布模型)
特点:以原型跟瀑布模型为基础
包含风险分析,制订计划,客户评估,实施工程
快速原型模型(抛弃型原型)
简易系统,可以只有界面,需求可以不明确
喷泉模型
是一种面向对象的模型
V模型(偏向于测试的模型)
强调测试贯穿于始终
迭代模型/迭代开发方法
快速应用开发
基于构建的开发跟瀑布模型的结合体
构建组装模型/基于构件的开发方法
在开发过程中做成标准件,建立构建库,提高可靠性
统一过程/统一开发方法(UP)
核心特点:用例驱动,以架构为中心,迭代和增量
四个阶段
初始
确定项目范围和边界
识别系统的关键用例
展示系统的候选架构
估计项目费用和时间
评估项目风险
细化
分析系统问题领域
建立软件架构基础
淘汰最高风险元素
构建
开发剩余的构建
构建组装和测试
交付
进行B测试
制作发布版本
用户文档定稿
确认新系统
培训,调整产品
敏捷开发方法
基本原则
短平快的会议,小型版本发布,较少的文档,合作为重,客户直接参与,自动化测试,适应性计划调整,结对编程,测试驱动开发,持续集成,重构
4大价值观
沟通,简单,反馈,勇气
5大原则
快速反馈,简单性假设,逐步修改,提倡修改,优质工作
12大最佳实践
计划游戏,结对编程,小型发布,集体代码所有制,隐喻,持续集成,简单设计,每周工作40小时,测试先行,现场客户,重构,编码标准
类型
开放式源码
水晶方法
用最小纪律约束而仍能成功的方法
scrum
明确定义了的可重复的方法过程
极限编程(xp)
对费用控制严格的公司中的使用,已经被证明是非常有效的
功用驱动开发方法(FDD)
将编程人员分为两类,首席程序员和类程序员
ASD方法
其核心是三个非线性的,重叠的开发阶段:猜测,合作与学习
模型驱动的开发方法
基于架构的开发方法
逆向工程
概念
从最终成果,反推设计,需求
层级
实现级
包括程序的抽象语法树,符号表,过程的设计表示
结构级
包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构
功能级
包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型
领域级
包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
净室软件工程
即无尘室、洁净室,使用盒结构规约(或形式化方法)进行分析和设计建模,并且强调将正确性验证,而不是测试,作为发现和消除错误的主要机制
系统设计
系统测试与维护
需求工程
概述
①是指用户对系统在功能、行为、性能、设计约束等方面的期望(技术方面)②是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准,规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明(管理方面)
需求开发
需求获取、需求分析、需求定义(需求规则说明书)、需求验证
需求管理
变更控制、版本控制、需求跟踪、需求状态跟踪
需求基线
经过确认的基线
需求分类
基本分类
业务需求(整体全局)
用户需求(用户视角)
系统需求(计算机化)
功能需求
非功能需求(性能需求)
安全性
可靠性
设计约束(甲方提出的)
数据库选型,开发语言选型等
QFD
基本需求(明示,常规需求)
期望需求(隐含)
兴奋需求(多余)
PICECES
性能(Preformance)
用于描述企业当前的运行效率,可以分析当前的业务的处理数据
信息(Information)
信息和数据指标用于描述业务数据的输入、输出以及处理方面存在的各种问题
经济(Economics)
主要是从成本或收益的角度分析当前企业当前存在的问题
控制(Control)
提高信息系统的安全和控制水平
效率(Efficiency)
提高企业的人、财、物等的使用效率
服务(Service)
提高企业对客户、供应商、合作伙伴、顾客等的服务质量
需求获取
方法
用户访谈(开放式问题与封闭式问题相结合)
1对1-3,有代表性的用户
问卷调查
用户多,无法一一访谈
现场观摩
针对较为复杂的的流程或操作
联合需求计划(JRP)
高度组织的群体会议,各方参与,成本较高
情节串联板(原型)
一系列图片,通过这些图片来讲故事
收集资料
把与有系统有关的、对系统开发有益的信息收集起来
参加业务实践
有效地发现问题的本质和寻找解决问题的办法
阅读历史文档
对收集数据性的信息较为有用
抽样调查
降低成本。样本大小=a*(可信度系数/可接受的错误)2 注意:a一般取0.25
需求分析
结构化需求分析(数据流图,DFD,ER)
功能模型
数据流图(DFD):自顶向下,逐步分解
数据流:由一组固定成分的数据组成,表示数据的流向.每个数据流通常由一个合适的名词,反映数据流的含义
箭头
加工:描述了输入数据流到输出数据库之间的变换,也就是输入数据流做了什么处理后变成了输出数据流
⚪、椭圆
数据存储(文件)
用来表示暂时存储的数据,每个文件都有名字.流向文件的数据流表示写文件,流出的表述读文件
- = 、框
外部实体
指存在于软件系统外的人员或组织
小框
解析规则
父图跟子图之间的平衡
数据流跟外部实体不变
子图内平衡
黑洞
一个加工只有输入数据流没有输出数据流
奇迹
一个加工只有输出数据流而无输入数据流
灰洞
一个加工的输入数据流无法通过加工产生输出流
答题技巧
补充实体
人物角色
如客户、管理员、主管、经理、老师、学生
组织机构
如银行、供应商、募捐机构
外部系统
如银行系统、工资系统、后台数据库(当要开发的是中间件时)
补充存储
存储的文件方面特征:“** 文件” “**表”“ **库” “**清单” “**档案”
补充数据流
数据平衡原则
1.顶层图跟0层图对比,是否由顶层图由,但0层图无的数据流,或反之
检查图中的每个加工,是否存在只有入没有出,或只有出没有入,或根据输入的数据无法产生对应的输出的情况
按题目说明与图进行匹配
说明种的每一句话,都能在图中由对应关系,当把说明种的实体与数据流标识出来之后,容易缩小对应范围,找出纰漏
补充加工名
加工是用于处理数据流的,所以要补充加工名,可以把该加工涉及到的数据流,在说明中标识出来,再再数据流名称所在的句子中,找“动词+名词”的结构,分析是否可作为加工
“动词+名词”如:生产报告,发出通知,批改作业,记录分数,例外(物流跟踪,用户管理)
行为模型
状态转换图(STD)
状态(初始、终态)
事件
数据模型
实体联系图(ER)
实体
联系
数据字典(配合其他模型)
数据元素
数据结构
数据流
数据存储
加工逻辑
外部实体
面向对象需求分析(OOA)
概念
对象
属性(数据)+方法(操作)+对象id
类
(实体类/控制类/边界类)
继承和泛化
复用机制
封装
隐藏对象的属性和实现细节,仅对外公开接口
多态
不同对象收到同样的消息产生不同的结果
接口
一种特殊的类,它只有方法定义没有实现
子主题
重载
消息和消息通信
UML(统一建模语言)
结构划分
构造块
事物
结构事物:最静态的部分,包括:类、接口、协作、用例、活动类、构件和节点
类:描述具有相同属性、方法、关系和语义的对象的集合
接口:是指类或构件提供特定服务的一组操作的集合
构件:是物理上或可替代的系统部分,它实现了一个接口集合
包:是一种有组织的元素分组的机制
用例:是描述一系列的动作,产生有价值的结果
协作:定义了交互的操作,是一些角色和其他事物一起工作,提供一些合作的董总,这些动作比事物的总和要大
节点:是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力
行为事物:代表空间和时间上的动作。包括:消息、动作次序、连接
分组事物:看成是个盒子,如:包,构件
注释事物:UML模型的解释部分。描述、说明和标注模型的元素
关系
图
规则
范围:给一个名字以特定含义的语境
可见性:怎样使用或看见名字
完整性:事物如何正确、一致的相互联系
执行:运行或模拟动态模型的含义是什么
公用机制
规则说明:事物语义的细节描述,它是模型真正的核心
修饰:通过修饰来表达更多的信息
公共分类:类与对象、接口与实现
扩展机制:运行添加新的规则
静态图(结构图)
类图:一组类、接口、协作和他们之前的关系
依赖关系(实心箭头)
一个事物发生变化影响另外一个事物
泛化关系(空心箭头)
子类(特殊)/父类(一般)
关联关系(描述了一组链,链式对象之间的连接)
聚合关系(整体和部分生命周期不同)实心菱形
组合关系(整体与部分生命周期相同)空心菱形
实现关系(虚线空心箭头)
接口与类之间的关系
对象图:一组对象及它们之间的关系
构件图:一个封装的类和它的接口
部署图:软硬件之间映射
制品图:系统的物理结构
包图:由模型本身分解而成的组织单元,以及他们之间的依赖关系
组合结构图
动态图(行为图)
用例图:系统与外部参与者的交互
概要
描述一组用例、参与者及他们的关系
用户角度描述系统功能
参与者是外部触发因素;(包括用户、组织、外部系统、时间)
用例是功能单元
关系包括
包含关系(使用)
抽取公共用例,多个用例包含该公共用例
扩展关系
拆分一个基本用例,多个扩展用例
泛化关系
继承
依赖关系
流程
识别参与者(必须)
合并需求获得用例(必须)
细化用例描述(必须)
调整用例模型(可选)
顺序图:强调按时间顺序(交互图)
强调对象之间消息发送的顺序,同时显示对象之间的交互
通信图(协作图)(交互图)
强调收发消息的对象
定时图:强调实际时间(交互图)
交互概览图(交互图)
状态图:状态转换变迁
强调事件导致的对象行为
活动图:类似程序流程图,并行(泳道也是其中一种形式)
强调对象间的控制流程
4+1视图
用例视图(最终用户)
需求分析模型
逻辑视图(系统分析、设计人员):展现系统功能
类与对象
实现视图(程序员):源代码结构
物理代码文件组件
部署视图(系统和网络工程师):软件构件到物理节点映射
软件到硬件的映射
进程视图(系统集成人员):并发与同步结构
线程、进程、 并发
需求建模
用例模型
识别参与者
子主题
分析模型
需求开发(通过需求规则说明书)
需求定义
严格定义法(瀑布模型思想)
所有需求都能够被预先定义,开发人员跟用户之间能够准确而清晰地交流
原型法
并非所有的需求都能在开发钱被准确地说明
需求验证
需求评审
正式评审
非正式评审
需求测试
需求管理
定义需求基线
需求跟踪(需求跟踪矩阵)
需求风险管理(带风险的做法)
无足够用户参与
忽略了用户分类
用户需求的不断增加
慕凌两可的需求
不必要的特性
过于精简的SRS
不准确的估算
系统设计
处理流程设计
业务流程建模
标杆瞄准
IDEF(一系列建模、分析和仿真方法的统称)
0:业务流程建模
1:信息建模
2:仿真建模设计
4:面向对象设计
12:组织结构建模
DEMO(组织动态本质建模法)
Petri网
业务流程建模语言
基于服务的BPM
软件架构
软件架构概念
架构设计就是需求分配,即将满足需求的职能分配到组件上
软件架构风格
概念
是描述某一特定应用领域种系统组织方式的惯用模式
数据流风格
批处理序列,管道-过滤器(加工处理)
调用/返回风格
主程序/子程序、面向对象、层次结构
独立构件风格
进程通信、事件驱动系统(隐式调用)
虚拟机风格
解释器、基于规则的系统
仓库风格
数据库系统、超文本系统、黑板系统(语音处理,信号处理)
结构化设计
划分
概要设计
偏高层的设计,模块化交互,等同于架构设计
详细设计
单个模块的内部设计
内容
抽象化
自顶而下、逐步求精
信息隐蔽
模块独立(高内聚、低耦合)
注意点
保持模块的大小适中
尽可能减少调用的深度
多扇入,少扇出
单入口,单出口
模块的作用域应该在模块之内
功能应该是可预测的
面向对象设计
设计原则
单一职能原则:设计目的单一的类
开发-封闭原则:对扩展开发,对修改封闭
里氏替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
迪米特原则(最少知识原则):一个对象应当对其他对象有尽可能少的了解
设计模式的概念
架构模式
软件设计种的高层决策,例如C/S结构就属于架构模式,放映了开发软件系统过程中所作的基本设计决策
设计模式
主要关注软件系统的设计,与具体的实现语言无关
惯用法
是最底层的模式,关注软件系统的设计与实现,实现是通过某种特定的程序设计语言来描述构件与构件之间的关系,每种编程语言都有它自己的特定的模式,即语言的惯用法
设计模式的分类
创建型模式
抽象工厂
生产成系列对象
构建器模式
复杂对象构造
工厂方法模式
动态生产对象
原型模式
克隆对象
单例模式
单实例
行为型模式
职责链模式
传递职责
命令模式
日志记录,可撤销
解释器模式
虚拟机的机制
迭代器模式
数据集
中介者模式
不直接引用
备忘录模式
游戏存档
观察者模式
联动(mqtopic发布消息)
状态模式
状态变成类
策略模式
多方案切换
模板方法模式
访问者模式
结构型模式
适配器模式
转换接口
桥接模式
继承树拆分
组合模式
树形目录结构
装饰模式
附加职责
外观模式
对外统一接口
享元模式
一篇文章中的同一个文字对象共享
代理模式
快捷方式
工厂模式、解释器模式、模板方法、适配模式既可以是类模式,也可以是对象模式;除了这几种外其他的都是对象模式
人机界面设计
置于用户控制之下
减少用户的记忆负担
保持界面的一致性
web开发
从架构来看
MVC、
负载均衡
算法
静态算法
轮转算法、加权轮转算法、源地址哈希散列算法、目标地址哈希散列算法、随机算法
动态算法
最小连接树算法、加权最小连接数算法、加权百分比算法
负载均衡类型
硬件负载均衡
F5
软件负载均衡
LVS、Nginx、HAproxy
类型
基于特定软件的负载均衡(HTTP重定向)(应用层)
http重定向
反向代理负载均衡(应用层)
反向代理服务器
基于DNS的负载均衡(传输层)
基于NAT的负载均衡(传输层)
混合型负载均衡
xml跟json
web服务器
Apache
IIS
Tomcat
JBOSS
WebSphere
WebLogic
jetty
缓存技术
Memcache
Redis
REST
是一种只使用HTTP和XML进行基于web通信的技术,可以降低开发的复杂度,提供系统的可伸缩性
响应式Web设计
流式布局
弹性化设计
系统测试与维护
软件测试概念
概念
尽早、不断的进行测试
程序员避免测试自己设计的程序
既要选择有效、合理的数据,也要选择无效、不合理的数据
修改后应进行回归测试
尚未发现的错误数量与该程序已发现错误数成正比
方法
动态测试(利用计算机计算结果)
黑盒测试法
等价类划分
边界值分析
错误推测
因果图
白盒测试法
基本路径测试
循环覆盖测试
逻辑覆盖测试
主要类型有语句覆盖、判定覆盖、条件覆盖,条件判定覆盖、修正的条件判断覆盖、条件组合覆盖、点覆盖、路径覆盖
灰盒测试法
静态测试(全人工测试)
桌前检查
代码审查
代码走查
测试阶段划分
单元测试
模块测试、模块功能、性能、接口等
集成测试
模块间的接口
确认测试
验证软件与需求的一致性、内部确认测试、alpha测试、Bata测试,验收测试
系统测试
真实环境下,验证完成的软件配置项能否和系统正确连接
回归测试
测试软件变更之后,变更部分的正确性对变更需求的符合性
论文
考点分析
信息系统工程
系统计划和分析
需求工程
系统测试
系统维护
项目管理
质量保证
面向对象技术
计算机辅助软件工程
软件过程改进实践
实时系统的开发
应用系统分析与设计(嵌入式系统、数据仓库、互联网应用等)
软件产品线分析与设计
数据库及应用
网络规划与应用
系统安全
新技术应用
应用系统集成
企业信息系统
电子商务和电子政务
事务处理系统
决策支持系统
企业信息化的组织和实施
论文写作四部曲
找准核心论点(5分钟)
搭建论文框架(10分钟)
摘要(300~320字)
项目相关背景及主要功能
你的岗位及主要职责
论文主要内容的总概
项目最终的实施效果或你的总结和感悟等
正文
项目背景介绍(400字左右)
项目背景的详细介绍:
项目开发的原因
项目开始实践、实施周期
你的主要岗位职责等
相关问题回应(300~400字)
非核心论点问题的回应
引出主题内容(核心论点)
主体内容(1000字~1500字左右)
采用总分式描述:
“一总”加“三分” “一对三”模式 可分四个段落
论文结论(400~600字)
结构上可分三步走:
先分析项目运行效果
再总结项目的不足
最后提解决思路
撰写摘要(15分钟)
正文写作(90分钟)
以我为中心
站在高级工程师的高度
忠实于论点
条理清晰、开门见山
图文并茂,能收奇效
标新立异,要有主见
首尾一致
下一阶段工作计划
0 条评论
下一页