系统分析师思维导图
2023-04-18 11:31:51 0 举报
AI智能生成
软考高级,系统分析师知识点总结
作者其他创作
大纲/内容
系统规划
系统规划步骤
初步调查
确定系统目标
分析子系统组成
拟定系统实施方案
可行性研究(可行性研究报告)
制定系统建设方案(系统设计任务书)
项目的机会选择
立项项目和动机
进行基础技术研究
进行技术研发
提供技术服务
产品的使用者
立项价值判断
选择有核心价值的项目
评估所选择的项目
项目优先级排序
评估项目的多种实施方案
选择合适的方案
项目的选择和确认
初步调查
初步需求分析
企业基本情况
管理方式和基础数据管理状况
现有系统情况
可行性分析
经济可行性
技术可行性
法律可行性(政策可行性)
运行可行性
可行性分析
成本效益分析
成本
分类一
固定成本:不随产量变化
变动成本:随产量变化
分类二
直接成本:直接投入在项目上
间接成本:分摊到项目上
盈亏临界分析
销售额(固定成本+可变成本+利润)
盈亏平衡销售额(固定成本+可变成本)
盈亏平衡点销售量--总固定成本/(销售单价-单位变动成本)
盈亏平衡点销售额--总固定成本/(1-总变动成本/销售收入)
软件工程
信息系统生命周期
管理角度
立项规划阶段(企业全局、行程概念、需求分析)
开发阶段
运维阶段(通过验收、移交之后)
消亡阶段(更新改造、功能扩展、报废重建)
开发角度
系统规划--系统设计任务书(系统建设方案、实施计划)
系统分析
1.系统需求规格说明书
2.软件需求规格说明书
3.确认测试计划
4.系统测试计划
5.初步的用户手册
2.软件需求规格说明书
3.确认测试计划
4.系统测试计划
5.初步的用户手册
系统设计
1.架构设计文档
2.概要设计说明书
3.详细设计说明书
4.程序规格说明书
5.概要测试计划
6.详细测试计划
7.各类设计图
2.概要设计说明书
3.详细设计说明书
4.程序规格说明书
5.概要测试计划
6.详细测试计划
7.各类设计图
系统实施
1.编码
2.单元测试
3.集成测试报告
4.操作手册
2.单元测试
3.集成测试报告
4.操作手册
系统验收
1.确认测试报告
2.项目验收报告
2.项目验收报告
软件开发模型
瀑布模型--需求明确
演化模型
增量模型
螺旋模型--风险控制
快速原型模型--需求不明确
喷泉模型--面向对象
V模型--需求确认测试驱动
软件开发方法
统一过程
用例驱动,以架构为中心,迭代和增量
用例驱动,以架构为中心,迭代和增量
初始
1.确定项目的范围和边界
2.识别系统的关键用例
3.展示系统的候选架构
4.估计项目费用和时间
5.评估项目风险
2.识别系统的关键用例
3.展示系统的候选架构
4.估计项目费用和时间
5.评估项目风险
细化
1.分析系统问题领域
2.建立软件架构基础
3.淘汰最高风险元素
2.建立软件架构基础
3.淘汰最高风险元素
构建
1.开发剩余构件
2.构件组装测试
2.构件组装测试
交付
1.进行测试
2.制作发布版本
3.用户文档定稿
4.确认新系统
5.培训、调整产品
2.制作发布版本
3.用户文档定稿
4.确认新系统
5.培训、调整产品
敏捷方法
特点:
1.短平快的会议2.小型版本发布3.较少的文档4.合作为重
5.客户直接参与6.自动化测试7.适应性计划调整8.结对编程
9.测试驱动开发10.持续集成11.重构
系列:
1.自适应开发2.水晶方法3.特征驱动开发4.极限编程
特点:
1.短平快的会议2.小型版本发布3.较少的文档4.合作为重
5.客户直接参与6.自动化测试7.适应性计划调整8.结对编程
9.测试驱动开发10.持续集成11.重构
系列:
1.自适应开发2.水晶方法3.特征驱动开发4.极限编程
4大价值--沟通、简单、反馈、勇气
5大原则
1.快速反馈2.简单性假设3.逐步修改4.提倡更改5.优质工作
1.快速反馈2.简单性假设3.逐步修改4.提倡更改5.优质工作
12大实践
1.结对编程2.小型发布3.集体代码所有制4.重构
5.每周工作40小时6.测试先行7.持续集成8.计划游戏
9.隐喻10.现场客户11.简单设计12.编码标准
1.结对编程2.小型发布3.集体代码所有制4.重构
5.每周工作40小时6.测试先行7.持续集成8.计划游戏
9.隐喻10.现场客户11.简单设计12.编码标准
开发方法
1.极限编程:成本控制
2.水晶编程
3.开发源码式
4.SCRUM
5.Coad:用例驱动
6.FDD:短时间迭代,一般两周
7.ASD:非线性、重叠开发阶段:猜测、合作、学习
1.极限编程:成本控制
2.水晶编程
3.开发源码式
4.SCRUM
5.Coad:用例驱动
6.FDD:短时间迭代,一般两周
7.ASD:非线性、重叠开发阶段:猜测、合作、学习
逆向工程
现实级--包括程序的抽象语法树、符号表、过程的设计表示
结构级--包括反应程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构
功能级--包括反应程序段功能及程序段之间关系信息,例如数据和控制流模型
领域级--包括反应程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
净室软件工程是一种应用数学与统计学理论以经济的方式生产高质量软件的工程技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。
需求分析
需求开发
流程:
需求获取
需求分析
需求定义(需求规格说明书SRS)
需求验证
需求基线
需求获取
需求分析
需求定义(需求规格说明书SRS)
需求验证
需求基线
需求获取
用户访谈--1-3有代表性的用户
问卷调查--用户多,无法一一访谈
现场观摩--针对较为复杂的流程和操作
联合需求计划(JRP)--高度组织的群体会议,各方参与,成本较高(需求冲突、成本较高)
情节串联板--一系列图片,通过这些图片来讲故事
收集资料--把系统有关的、对系统开发有益的信息收集起来
参加业务实践--有效地发现问题的本质和寻找解决问题的办法
阅读历史文档--对收集数据性的信息较为有用,搞清来龙去脉
抽样调查--降低成本。样本大小=a* (可信度系数/可接受的错误)2;注:a一般取0.25
问卷调查--用户多,无法一一访谈
现场观摩--针对较为复杂的流程和操作
联合需求计划(JRP)--高度组织的群体会议,各方参与,成本较高(需求冲突、成本较高)
情节串联板--一系列图片,通过这些图片来讲故事
收集资料--把系统有关的、对系统开发有益的信息收集起来
参加业务实践--有效地发现问题的本质和寻找解决问题的办法
阅读历史文档--对收集数据性的信息较为有用,搞清来龙去脉
抽样调查--降低成本。样本大小=a* (可信度系数/可接受的错误)2;注:a一般取0.25
需求分析
SA(面向结构/过程)
功能模型--数据流图DFD(数据流、加工、数据存储、外部实体)
数据模型--E-R图ERD(实体、联系)
行为模型--状态转换图STD(状态(初态、终态)事件)
数据字典(数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体)
数据模型--E-R图ERD(实体、联系)
行为模型--状态转换图STD(状态(初态、终态)事件)
数据字典(数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体)
OOA(面向对象)
对象--属性(数据)、方法(操作)、对象ID
类--实体类、控制类、边界类
继承与泛化--复用机制(共性)
封装--隐藏对象的属性和实现细节,仅对外公开接口
多态--不同对象收到相同的消息产生的不同结果(差异)
接口--一种特殊的类,它只有方法的定义没有实现
重载--一个类可以有多个同名而参数类型不同的方法
消息和消息通讯--消息是异步通讯的
类--实体类、控制类、边界类
继承与泛化--复用机制(共性)
封装--隐藏对象的属性和实现细节,仅对外公开接口
多态--不同对象收到相同的消息产生的不同结果(差异)
接口--一种特殊的类,它只有方法的定义没有实现
重载--一个类可以有多个同名而参数类型不同的方法
消息和消息通讯--消息是异步通讯的
工具UML
构造块
事务
结构事务--最静态部分,包括:类、接口、协作、用例、活动类、构件和节点
行为事务--代表世界和空间上的动作。包括:消息、动作次序、连接
分组事务--看成是个盒子,如:包、构件
注释事务--UML模型的解释部分。描述、说明和标准模型的元素。
行为事务--代表世界和空间上的动作。包括:消息、动作次序、连接
分组事务--看成是个盒子,如:包、构件
注释事务--UML模型的解释部分。描述、说明和标准模型的元素。
关系
依赖关系--一个事物发生变化会影响另一个事物
泛化关系--特殊/一般关系
关联关系--描述了一组链,链是对象之间的连接
聚合关系--整体与部分生命周期不同
组合关系--整体与部分生命周期相同
实现关系--接口与类之间的关系
泛化关系--特殊/一般关系
关联关系--描述了一组链,链是对象之间的连接
聚合关系--整体与部分生命周期不同
组合关系--整体与部分生命周期相同
实现关系--接口与类之间的关系
图
规则
公共机制
规则说明--事物语义的细节描述,它是模型真正的核心
修饰--通过修饰来表达更多信息
公共分类--类与对象,接口与实现
扩展机制--允许添加新的规则
修饰--通过修饰来表达更多信息
公共分类--类与对象,接口与实现
扩展机制--允许添加新的规则
分类:
业务需求(整体布局)
用户需求(用户视角)
系统需求(计算机化)
业务需求(整体布局)
用户需求(用户视角)
系统需求(计算机化)
- 功能需求
- 非功能需求(分类)
性能(Performance)--用于描述且当前的运行效率,可以分析当前业务的处理速度
信息(Information)--信息和数据指标用于业务数据的输入、输出以及处理方面存在的各种问题
经济(Economics)--从成本和收益的角度分析企业当前存在的问题
控制(Control)--提高信息系统的安全和控制水平
效率(Efficiency)--提高企业的人、财、物等的使用效率
服务(Service)--提高企业对客户、供应商、合作伙伴、顾客等的服务质量 - 设计约束(例:数据库Oracle)
QFD(需求功能开发)
- 基本需求(明示,常规需求)
- 期望需求(隐含)
- 兴奋需求(多余)
需求管理
变更控制
版本控制
需求跟踪
需求状态跟踪
版本控制
需求跟踪
需求状态跟踪
收藏
0 条评论
下一页