软件需求分析实战
2021-06-28 15:16:41 2 举报
AI智能生成
软件需求分析实战读书笔记
作者其他创作
大纲/内容
第1章需求分析入门
1.1 认识管理软件
1.1.1 什么是管理软件
1.1.2 什么是好的管理软件
1.好软件是有用的
2.好软件是易学的
3.好软件是易用的
4.好软件是灵活的
5.好软件是健壮的
6.好软件是高效的
7.好软件是方便交互的
8.好软件是可重用的
1.1.3 管理软件的发展
1.1.4 常用的管理软件
1.财务软件
2.进销存
3.ERP
4.MES
5.CRM
6.OA
7.各种业务系统
1.1.5 管理软件的实施方式
1.委托软件公司开发
2.企业自主开发
3.采购套装软件
4.引进解决方案
5.租用软件
1.2 认识需求分析
1.2.1 什么是需求分析
1.2.2 需求获取
1.观察法
2.体验法
3.问卷调查法
4.访谈法
5.单据分析法
6.报表分析法
7.需求调研会法
1.2.3 系统规划
1.需求确定
2.整理需求
3.系统蓝图
1.2.4 数据建模
1.实体关系
2.范式
3.数据库设计
1.2.5 功能设计
1.需求用例
2.功能建模
功能点
原子功能
划分功能
3.功能优化
1.2.6 界面设计
1.界面设计过程
入口
功能主界面
表单布局
操作
操作
2.界面优化
易学性
易用性
健壮性
交互性
1.2.7 原型说明书
1.2.8 需求变更
改变界面的需求变更
改变功能逻辑的需求变更
改变数据库结构的需求变更
改变历史数据的需求变
1.3 成为一名需求分析师
1.3.1 什么是需求分析师
(1)进行需求调研,获取用户需求;
(2)进行系统规划,设计客户信息化管理的蓝图;
(3)设计数据模型;
(4)设计软件功能;
(5)设计软件界面,绘制软件原型;
(6)召开需求评审会,收集各方面的意见,根据意见修改设计;
(7)指导开发,协助测试;
(8)进行软件变更需求分析,设计变更解决方案。
1.3.2 性格要求
善于沟通
善于听取不同的意见
需求分析者需要有团队精神
1.3.3 掌握IT专业知识
1.软件工程理论
2.项目管理理论
3.关系数据库
4.软件文档
5.办公工具
6.编程语言
7.网络与硬件
8.软件架构
9.云计算
10.软件界面
1.3.4 掌握企业管理知识
1.企业运作流程
2.财务会计
3.采购
4.销售
5.库存
6.生产
7.计划
8.成本
9.质量
10.人力资源
11.组织
1.3.5 精通一种开发模型
快速原型
(1)通过各种方式理解客户业务,获得客户需求。
(2)根据客户的业务流程、管理方式,以及客户对信息化的需求进行系统规划。
(3)根据规划结果设计数据库。
(4)根据规划结果设计软件功能。
(5)根据规划结果设计原型界面。
(6)撰写原型说明书。
(7)需求评审。需求评审分为两种:一种是有用户参与的需求评审,重点在把握需求;另一种是开发团队的评审,重点在理解需求,讨论技术实现方式。
(8)根据评审结果修改设计。
(9)开发、测试。这个不在本书的讨论范围。
(10)内部试用软件,发现问题,改善软件。
(11)用户试用软件,发现问题,改善软件。
(12)软件上线,进入维护期,应对需求追加与变更,促使软件不断成长。
第2章需求获取
2.1 观察法
2.1.1 什么是观察法
2.1.2 观察法的缺点
2.2 体验法
2.2.1 什么是体验法
2.2.2 体验法的使用
2.3 问卷调查法
2.3.1 如何制作调查问卷
2.3.2 选择答题者
2.3.3 问卷调查的局限性
2.4 访谈法
2.4.1 访谈对象确定
2.4.2 访谈准备
2.4.3 访谈预约
2.4.4 访谈进行
2.4.5 访谈结果整理
2.4.6 访谈结果确认
2.5 单据分析法
2.5.1 单据收集
1.收集的单据务必要全面
2.收集单据的过程也是个调研的过程
3.收集的单据务必是被使用过的
4.每种单据仅收集一张并不足够
2.5.2 单据分析
1.厘清每个单据的源头
2.厘清单据的流动路径
3.厘清每个字段的前因后果
4.注意在单据边角上书写的不正规内容
2.5.3 单据管理
2.6 报表分析法
2.6.1 不要轻视报表分析
2.6.2 生成报表的触发条件
2.6.3 生成报表的数据来源
第3章系统规划
3.1 需求确定
3.1.1 认清需求
1.将抽象的需求具体化
2.将自然语言描述的需求结构化
3.注意避免理解偏差
(1)提高沟通能力。
(2)提高沟通频次。
(3)学习对方工作领域的知识。
3.1.2 控制需求
1.识别超出项目范围的需求
2.识别错误的需求
3.识别技术上不能实现的需求
3.1.3 挖掘需求
1.项目目标
3.2 整理需求
3.2.1 需求调研报告
1.项目目标
2.期待解决的问题
3.项目范围
4.双方约定
5.相关资料
6.需求
7.数据
8.相关系统
9.待定问题
3.2.2 业务流程图
3.3 系统蓝图设计
3.3.1 进行价值分析
3.3.2 规划软件边界
3.3.3 规划工作方式
1.使用软件的地点
2.使用软件系统的时间
3.使用软件系统的触发事件
4.使用软件系统的工作场景
3.4 几个注意事项
3.4.1 警惕利益受损者
3.4.2 避免重复劳动
3.4.3 处理好软件关系
3.4.4 避免信息孤岛
1.什么是信息孤岛
一种是物理信息孤岛
一种是逻辑信息孤岛
2.形成信息孤岛的原因
1)人为因素
2)编码差异
3)缺少关联字段
4)数据结构差异
3.处理信息孤岛的方式
1)数据接口
2)统一编码
3)整合平台
4)综合解决方案
第4章数据建模
4.1 认识数据建模
4.1.1 什么是数据建模
4.1.2 Visio建模简介
4.2 实体关系
4.2.1 一对一关系
4.2.2 一对多关系
4.2.3 多对多关系
4.3 范式
4.3.1 第一范式
4.3.2 第二范式
4.3.3 第三范式
4.3.4 BC范式
4.4 数据库设计
4.4.1 表
1.认清实体
2.关系是不确定的
3.关系是会变化的
4.历史信息让一对多关系不复存在
5.一些特殊的表
4.4.2 表的关系
1.一对一关系
2.一对多关系
3.特殊关系
1)附属关系
2)递归关系
4.4.3 字段
1.字段来源
1)属性字段
2)管理性字段
创建信息
更新信息
数据区划标志
逻辑删除标志
2.主键
一是用单字段作主键
一是用多字段作主键
3.数据类型
4.默认值
4.4.4 数据字典
类型
一是面向数据库逻辑设计的数据字典
二是面向数据库物理设计的数据字典
数据字典表
表名
字段
数据类型
范围
数据来源
特殊要求
外键
必填项
默认值
案例
备注
4.5 几个注意事项
4.5.1 数据建模不是孤立的
4.5.2 注意可扩展性
4.5.3 不要教条主义
4.5.4 不要经验主义
第5章功能设计
5.1 需求用例
5.1.1 什么是需求用例
5.1.2 用例的构成
1.用户
面向普通用户的用例
面向关键用户的用例
面向系统管理员的用例
面向所有用户的用例
2.前置条件
3.后置条件
4.主场景
5.扩展场景
6.规则
5.1.3 用例编写
5.2 功能建模
5.2.1 什么是功能建模
5.2.2 功能点
5.2.3 原子功能
5.2.4 划分功能
5.3 功能逻辑
5.3.1 基础功能逻辑
1.数据库操作
1)增加数据
(1)新增一条记录:
(2)新增多条记录
(3)新建文件
(4)在文件中添加内容
2)修改数据
(1)编辑一条记录
(2)编辑多条记录
(3)修改特定字段
3)删除数据
(1)逻辑删除
(2)物理删除
4)查询数据
(1)系统自动获取
(2)用户间接查询
(3)用户根据条件查询
(4)数据导出
(5)文件下载
(6)生成报表
2.非数据库操作
1)计算
2)显示
3)传递
5.3.2 数据流
5.3.3 工作流
1.工作流程
2.什么是工作流
节点
发起
分支
办理
委托
主办人与经办人
子流程
会签
3.工作流图
5.3.4 一些功能逻辑案例
1.权限控制逻辑
1)功能权限控制
2)数据权限控制
2.结转逻辑
3.可变逻辑
4.自定义逻辑
5.4 功能优化
5.4.1 灵活性
5.4.2 可重用性
1.尽量减少功能之间的关联性
2.注意数据的流动方向
3.建立团队的通用规范与通用功能
5.4.3 高效性
1.使用率不同的数据采用不同的保存方式
2.利用中转数据
3.外键必填
4.优先使用客户端资源
第6章界面设计
6.1 界面设计基础
6.1.1 什么是软件界面
6.1.2 以人为本
1.不要让用户难以学习
2.不要让用户感到厌烦
3.不要让用户感到恐惧
4.不要让用户感到难以捉摸
6.1.3 原型设计
1.手画法
2.Office工具设计法
3.原型工具设计法
4.开发工具设计法
5.直接开发法
6.1.4 快速原型开发
1.一般步骤
2.注意事项
6.2 界面设计过程
6.2.1 入口
1.功能菜单
2.工作台
3.九宫格
4.弹出菜单
5.快捷方式
6.2.2 功能主界面
1.上边查询条件,下边查询结果
2.左边大项,右边查询结果
3.左边树状结构,右边查询结果
4.上边主表,下边子表
5.左边主表,右边子表
6.树状列表
7.分级列表
8.日历
6.2.3 表单布局
1.常用的表单布局
1)平铺所谓平铺布局
2)分组
3)动态加载
4)表格
5)Tab页
6)混合
2.注意事项
1)合理安排界面空间
2)突出重点
3)信息展现要有层次感
4)注意组件顺序
6.2.4 操作
6.2.5 消息
1.消息弹出框
2.消息区
3.日志
4.其他方式
6.3 界面优化
6.3.1 易学性
1.提炼核心功能
2.追随主流软件
3.贴近业务流程
4.统一操作习惯
5.减少用户干预
6.倡导边干边学
6.3.2 易用性
1.让功能方便调用
2.让工作容易处理
3.减少用户录入
4.减少按键次数
5.减少在键盘与鼠标之间的切换
6.3.3 健壮性
1.不让用户犯错误
2.让用户少犯错误
3.让用户容易发现错误
4.允许用户纠正错误
5.降低用户错误的影响
6.3.4 交互性
1.重要操作需要确认
2.不要让用户有石沉大海的感觉
3.消息是给用户看的,不是给程序员看的
4.消息需要精准
5.交互要适可而止
6.不要滥用弹出框
第7章原型说明书
7.1 原型说明书编写基础
7.1.1 什么是原型说明书
7.1.2 一个原型说明书模板
7.1.3 一个原型说明书案例
7.2 编写要求
7.2.1 原型说明书章节详解
7.2.2 如何撰写功能点需求
7.2.3 常见错误
1.将编号弄成了行号
2.写了规则,却没有引用
3.写了需求之外的内容
4.写了原型已经表达出来的需求
5.写了自明的需求
7.3 文档优化
7.3.1 聚焦
7.3.2 精简编号结构
1.用于辅助录入的小操作可以采用特殊的描写方法
2.编号层级不要太多
3.忽略一些通用操作
7.3.3 引入语法
7.3.4 提炼通用需求
第8章需求变更
8.1 认识需求变更
8.1.1 需求变更总会有的
8.1.2 需求变更产生的原因
1.调研不充分
2.沟通有歧义
3.异常没考虑
4.规划不到位
5.设计有瑕疵
6.实现欠灵活
7.实施不熟练
8.业务会变化
9.管理在改善
10.想法在改变
11.软件要发展
8.1.3 需求变更的控制
1.技术手段
2.沟通说服
3.成本约束
8.2 处理需求变更
8.2.1 需求变更的难易
1.改变界面的需求变更
2.改变功能逻辑的需求变更
3.改变数据库结构的需求变更
4.改变历史数据的需求变更
8.2.2 从根本上解决问题
8.2.3 需求变更文档
1 概述
2 变更分析
3 软件变更
8.3 需求变更未必是坏事
8.3.1 提高客户黏性
8.3.2 带来利润
8.3.3 推动功能扩展
8.3.4 “炼”出软件产品
第9章从入门到优秀
9.1 减少失误
9.1.1 调研失误
1.忽视用户需求
2.忽视异常业务
3.片面地控制需求
4.缺少引导
9.1.2 规划失误
1.只做需求的搬运工
2.不考虑使用者
3.不考虑使用场景
4.不考虑实施与服务
9.1.3 设计失误
1.原型跟数据流脱节
2.不尊重“原则”
3.不考虑用户级别
4.不考虑数据积累
5.过度设计
9.2 有所权衡
9.2.1 优化的权衡
1.灵活性与健壮性
2.易学性与易用性
3.高效性与数据一致性
9.2.2 成本与利益的权衡
1.用户与软件团队
2.研发与实施
3.短期与长期
9.3 关注团队
9.3.1 了解团队
1.团队分工
2.团队的技术边界
3.团队规范
4.团队的可重用功能
9.3.2 重视文档
1.文档可以提高效率
2.文档是知识得以积累的载体
3.没有文档的组织是没有前途的
9.3.3 建立规范
1.需求分析管理规定
2.需求调研要求
3.需求调研报告的撰写
4.业务流程图的绘制
5.数据模型的绘制
6.数据字典的编写
7.需求用例的编写
8.工作流图的绘制
9.原型设计要求
10.原型说明书的编写
11.通用需求
12.需求变更说明书的编写
9.4 高远的眼光
9.4.1 软件是管理体系的一部分
1.软件在管理体系中的地位
2.软件对相关人员工作的影响
3.用户使用软件功能的触发条件
4.信息如何流入系统
5.信息如何流出系统
9.4.2 软件之外还有软件
1.软件因集成而获得新生
2.软件集成不容易
3.软件集成的常用方法
0 条评论
下一页