系统分析概述
本章总结:本章重点阐述了系统分析的定义、内容、实施者、过程和方法,说明了四种调查方法、三种需求引导方法,对需求分析的定义和内容进行了说明,介绍了实务中使用的《系统说明书》。
印象较为深刻的是对“需要”和“需求”二者的分析,问题分析得到了针对业务和用户的“需要”,而针对计算机信息系统的“需求”则需要抽象和升华。
系统分析的任务
系统分析的困难
系统分析是研制信息系统最重要的阶段,也是最困难的阶段。
困难主要来自三个方面:
- 问题空间(problem domain)的理解
- 人与人之间的通讯
- 环境的不断变化
系统分析师的任务
- 理解和明确企业目标、经营业务和战略发展方向。
- 按照企业目标制定信息系统建设的目标并进行分解。
- 根据企业所处环境和条件制定适合企业信息系统的开发策略。
- 从可供选择的方法和工具中进行选择,确定适合信息系统开发的方法和工具。
- 与企业决策层和业务人员充分沟通,了解企业业务需求,准确建立企业的业务模型。
- 根据企业目标和技术发展动向,结合业务模型建立完善的信息系统逻辑模型。
- 对信息系统开发的组织、人员和进度计划提出建议。
- 撰写系统说明书。
具备的素质:
- 具备坚实的信息系统知识,了解信息技术的发展,懂得管理科学的知识
- 应有较强的系统观点和较好的逻辑分析能力,能够透过现象看到问题本质,从复杂的事物中抽象出系统模型。
- 具有突出的批判性思维和创新思维,善于接受新鲜事物,从经验积累中进行改革和创新。
- 还应具备较好的口头和书面表达能力,谈判和协商的能力,较强的组织能力,善于与人共事。
系统分析的内容
- 识别利用IT实现组织变革的机会
- 企业流程管理,业务流程改善
- 企业需求分析
- 企业管理模型
信息需求
信息系统需求分析和规格说明 - 需求采集、需求识别、需求表示、需求沟通
系统数据需求、用户体验分析、用户界面需求
影响安全性的因素、对伦理道德的考虑
需求规格说明书 - 信息系统开发方式的抉择
系统分析的过程和方法
问题分析
通过详细调查全面深入理解用户的业务,找出用户所面临的问题,准确把握用户真正的需要,为最终整理出符合用户需要的需求做准备。
分析过程如下:
- 明确项目的背景
- 明确项目目标、范围、相关部门和人员
- 找出关键涉众(stakeholder,也称利益相关人员)及待解决的问题。涉众包括系统的用户、项目决策者、受项目影响的第三方等。
- 调查和分析业务流程,建立业务流程模型以描述用户处理业务的过程及过程中数据的流转。
系统调查方法
- 资料收集
- 访谈
面谈类型:
结构化面谈:有为面谈专门设计的问题
非结构化面谈:通常为开放式问题 - 实地观察
- 调查问卷
需求引导方法
一般用户在开发之初,对所要开发的信息系统应该具有的功能和所能达到的结果并没有清楚的认识,因此,需求调查比现行组织系统调查难度更大。
对用户进行引导和启发,让用户获得信息系统的感性认识,引导他们发现现行组织管理和业务处理中所存在的问题,从而发掘需求和找到解决方案。
采用以下需求引导方法:
- 原型法
利用快速开发工具,根据用户的初步需求,构造出信息系统的初步原型。
- 联合应用开发(JAD)会议
JAD,joint application development
是一种类似于头脑风暴的技术,在一个或多个工作会议中将所有利益相关者带到一起,集中讨论和解决最重要的问题。
- 观摩法
在系统开发之初,可以让用户参观同行业或同类型成功的信息系统。
需求分析
系统需求是新系统必须完成的功能或其局限性。需求分析就是识别需求的过程。
需求有两种类型:业务性需求和技术性需求
- 功能性需求:
涉及商业应用,是系统必须完成的活动或过程,即系统功能以及相关数据。
功能性需求是根据业务过程和业务规则确定的,有些容易获取,有些则是隐含的,需要去发现。 - 技术性需求:
技术性需求也称非功能性需求,是和公司的环境、硬件和软件有关的所有质量目标。
例如:系统必须能支持100个并发用户;保存订单的时间不能超过0.5秒等等,涉及系统性能、可靠性、安全性等质量特性。
通常是一些技术目标。
需求分析则是对原业务进行抽象和升华,根据业务和用户需要确定计算机信息系统的“需求”。系统需求是精确和具体的。
需求分析方法
需求分析的传统方法:
- 面向过程的结构化方法(自顶向下、逐层分解)
- 面向数据的信息工程方法(数据驱动)
- 面向对象方法(对象驱动、UML)
目前系统分析的一般做法是综合运用以上方法,最后统一采用UML来建立系统逻辑模型。
需求定义
需求定义就是在各方就系统需求达成一致意见后,整理并建立最终的需求模型,详细定义和描述每项需求,确认约束条件及限制,编写需求规格说明。
系统说明书
系统分析建模内容
- 流程建模
业务流程(业务流程图/UML活动图)
数据处理流程(数据流图) - 用例建模
信息系统功能模型(UML用例图) - 领域对象建模
领域对象模型(UML类图、UML状态图)
由UML类图可以替代ER数据模型
系统说明书的定义
《系统说明书》是系统分析阶段的成果。该文档主要描述了系统的需求,在软件工程领域也称作《需求规格说明书》(requirement specification)
系统说明书的内容
- 引言
项目名称、目标、背景、引用资料、术语说明等 - 项目描述
项目的主要工作内容
现行系统的调查情况
功能需求
数据需求
其他需求 - 实施计划
工作任务的分解
进度
预算
系统说明书的品质
- 正确性
- 完整性
- 一致性
- 无二义性
- 可修改性
- 可跟踪性
系统说明书的审议
审议由项目技术人员、企业管理人员、专家等共同完成。