预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共36页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件工程 朴勇 大连理工大学软件学院 email:eric.piao@gmail.com 第3章需求分析 •为了开发出真正满足用户 需求的软件产品,首先必 须知道用户的需求。 •传统的软件工程方法学采 用结构化分析(Structured Analysis,SA)技术完成需 求分析工作。 2010/9/14大连理工大学软件学院2 •3.1需求分析的任务 •3.2与用户沟通获取需求的方法 •3.3分析建模与规格说明 •3.4实体—联系图 •353.5数据规范化 •3.6状态转换图 •3.7其它图形工具 •383.8验证软件需求 •3.9小结 2010/9/14大连理工大学软件学院3 概述 •需求分析是发现、求精、建模、规格说明和复审的 过程。 –获取(当前的情况和需要解决的问题) –分析反复求精 –编写规格说明多次细化 –需求验证(一份付出,十份收获) •工具:IBMRationalRequisitePro、Borland CaliberRM、IBMRationalDOORS(2008) 2010/9/14大连理工大学软件学院4 •方法:建立模型,便于理解。 –模型,对事物做出的一种抽象,是无歧义的描述。 –模型由一组图形符号和组织这些符号的规则组成。 –结构化分析就是一种建立模型的活动,通常建立数据模 型、功能模型和行为模型。 •用分析模型表示软件需求,然后要给出准确的软 件需求规格说明。 •模型既是软件设计的基础,也是编写软件规格说 明的基础。 2010/9/14大连理工大学软件学院5 文本的需求 需求陈述 2010/9/14大连理工大学软件学院6 •在分析软件需求和编写软件规格说明的过程中,软 件开发者和软件用户都起着关键的、必不可少的作 用。 •用户与开发者之间需要通信、沟通的内容非常多, 在双方交流信息的过程中很容易出现误解或遗漏, 也可能存在二义性。 –不仅在整个需求分析过程中应该采用行之有效的通信技术, 集中精力过细工作, –对需求分析的结果(分析模型和规格说明)必须严格审查。 2010/9/14大连理工大学软件学院7 •尽管目前存在许多不同的结构化分析方法,但是, 所有这些分析方法都遵守下述准则。 –必须理解和表示问题的信息域,根据这条准则应该建立数 据模型。 –必须定义软件应完成的功能,这条准则要求建立功能模型。 –必须表示作为外部事件结果的软件行为,这条准则要求建 立行为模型。 –必须对描述信息、功能和行为的模型进行分解,用层次的 方式展示细节。业务技术 –分析过程应该从要素信息移向实现细节。逻辑物理 要素细节 2010/9/14大连理工大学软件学院8 313.1需求分析的任务 •系统的综合要求 –数据要求 –功能需求 –性能需求 –可靠性和可用性需求 –出错处理需求 –接口需求 –约束 –逆向需求(不应该做的) –将来可能提出的要求 2010/9/14大连理工大学软件学院9 需求分析的任务(2) •系统的数据要求 –任何软件系统本质上都是信息处理系统 –建立数据模型(E-R图) –数据字典 –层次方框图 –Warnier图 2010/9/14大连理工大学软件学院10 需求分析的任务(3) •系统的逻辑模型 –数据流图、E-R图、状态转换图、数据字典、 算法描述 •修正系统的开发计划 2010/9/14大连理工大学软件学院11 323.2与用户沟通获取需求的方法 •软件需求分析总是从两方或多方之间的通信开始。 为了达成共识,必须要沟通。 –从开始通信到真正相互理解的道路通常是充满坎坷的。 –良好的通信技术有助于加快理解的过程。用户不懂技术;开发 者不懂业务;沟通需 •访谈要桥梁。 –访谈(或称为会谈)是最早开始运用的获取(不是分析)用 户需求的技术,也是迄今为止仍然广泛使用的主要的需求 分析技术。 2010/9/14大连理工大学软件学院12 •领域专家 领域分析、了解•领域书籍 背景、学习术语•现有软件及其文档 •其它任何材料,如网站等 正式 访谈 观察非正式(休闲聊天、 面对面) 简易应用规格说明技术 (简单)用(头脑风暴) 例分析 原型化 2010/9/14大连理工大学软件学院13 •访谈有两种基本形式,分别是 正式的和非正式的访谈。 –正式:系统分析员将提出一些事 先准备好的具体问题。 –如,询问客户公司销售的商品种 类、雇用的销售人员数目以及信 息反馈时间应该多快等。 –在非正式的访谈中,将提 出一些可以自由回答的开 放性问题,以鼓励被访问 的人员表达自己的想法, 例如,询问用户为什么对 目前正在使用的系统感到 不满意。 2010/9/14大连理工大学软件学院14 访谈 •调查大量人员的意见 时,