第 3 章 需求分析

30
第3第 第第第第

Upload: zephr-richard

Post on 01-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

第 3 章 需求分析. 概 述. 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。 需求分析的任务是对目标系统提出完整、准确、清晰、具体的要求。 需求分析完成时,系统分析员写出软件需求规格说明书。. 3.1 需求分析的任务. 3.1.1 确定对系统的综合要求 1. 功能需求 2. 性能需求 3. 可靠性和可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 3 章  需求分析

第 3 章 需求分析

Page 2: 第 3 章  需求分析

概 述 为了开发出真正满足用户需求的软件产品,首

先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。

需求分析的任务是对目标系统提出完整、准确、清晰、具体的要求。

需求分析完成时,系统分析员写出软件需求规格说明书。

Page 3: 第 3 章  需求分析

3.1 需求分析的任务 3.1.1 确定对系统的综合要求 1. 功能需求 2. 性能需求 3. 可靠性和可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 7. 逆向需求 8. 将来可能提出的要求

Page 4: 第 3 章  需求分析

3.1.2 分析系统的数据要求 3.1.3 导出系统的逻辑模型 3.1.4 修正系统开发计划

Page 5: 第 3 章  需求分析

3.2 与用户沟通获取需求的方法 在分析软件需求和编写软件规格说明的过程中,

软件开发者和软件用户都起着关键的、必不可少的作用。

用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细工作,而且对需求分析的结果 ( 分析模型和规格说明 ) 必须严格审查。

Page 6: 第 3 章  需求分析

软件需求分析总是从两方或多方之间的通信开始。用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。但是,正如前面已经讲过的,从开始通信到真正相互理解的道路通常是充满坎坷的。良好的通信技术有助于加快理解的过程。

Page 7: 第 3 章  需求分析
Page 8: 第 3 章  需求分析

3.2.1 访谈 访谈 ( 或称为会谈 ) 是最早开始运用的获取用户需

求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。访谈有两种基本形式,分别是正式的和非正式的访谈。在正式的访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。在非正式的访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。

Page 9: 第 3 章  需求分析

当需要调查大量人员的意见时,向被调查的人员

分发调查表是一个十分有效的做法。

在对用户进行访谈的过程中使用情景分析技术往

往非常有效。所谓情景分析就是对用户运用目标

系统解决某个具体问题的方法和结果进行分析。

Page 10: 第 3 章  需求分析

• 场景示例• 王力• 户主(丈夫)公司老总 A 地• 已经是 A 地电信 3G 后付费用户,已开通了可视电话

、 3G 上网卡、流媒体、手机支付等业务• 李梅• 妻子 公务员 A 地 还不是 A 地电信的用户• 王成• 儿子 大学生 B 地• 是 B 地电信的 3G 预付费用户,已开通可视电话• 刘莉• 下属与朋友 秘书 A 地• 是 A 地电信 3G 后付费用户

Page 11: 第 3 章  需求分析

7:307:30 9:009:00 10:0010:00 14:0014:00 15:0015:00

1 、开户2 、缴费卡充值3 、 3G 基础语音业务使用4 、 AOC

1 、开户2 、缴费卡充值3 、 3G 基础语音业务使用4 、 AOC

1 、取消 VPN

2 、销户1 、取消 VPN

2 、销户

1 、 3G语音业务使用1 、 3G语音业务使用

1 、预付费转后付费用户2 、捆绑产品的订购3 、位置服务使用流程

1 、预付费转后付费用户2 、捆绑产品的订购3 、位置服务使用流程

1 、 VPN订购2 、 VPN 设置3 、 VPN业务使用

1 、 VPN订购2 、 VPN 设置3 、 VPN业务使用

1 、费用查询2 、缴费支付3 、 3G上网卡使用

1 、费用查询2 、缴费支付3 、 3G上网卡使用

未来的一天- 3G的生活

16:5016:50

1 、集团短信业务的使用1 、集团短信业务的使用

17:0017:00

1 、流媒体业务的使用2 、 WAP业务的使用

1 、流媒体业务的使用2 、 WAP业务的使用

15:3015:30

1 、积分查询2 、积分兑换1 、积分查询2 、积分兑换

22:0022:00一天

时间: 7:301 、王力,起床,吃过早点,用 3G上网卡登录WSS,查询了自己的费用;2 、在WSS上进行了交费(缴费卡);3 、而且在WSS上看到了,电信新推荐的一项业务——VPN业务;4、王力对这一业务很感兴趣,想可以大大降低企业通讯费用支出;在WSS上提交了关于 VPN业务的“咨询”,留下了自己企业秘书刘莉的电话作为联系方式。

时间: 9:00王力来到自己公司;

“秘书刘莉,接到电信客服的 VPN业务咨询回”访 电话;详细的了解了 VPN业务;向王力汇报;王力决策公司办理 VPN业务;刘莉去营业厅办理 VPN业务;刘莉用短号码呼叫老总王力,告知办理完毕;

时间: 10:00李梅去自己办公地点附近的电信营业厅,购买了一部 3G手机,并且为自己申办了 3G预付费号码,并买了张缴费充值卡,通过拨打 ****号码向自己的预付费号码进行了充值;然后李梅使用新开的 3G号码,给自己的丈夫王力的 3G手机打了电话;告知自己办理了 3G业务;通话结束后,系统提示李梅她的账户余额是25元。

时间: 14:00公司秘书刘莉对今天公司一个离职员工进行取消 VPN集团用户业务。因为某销售经理丁即将调离外地办事处工作,公司秘书刘莉对他的办公电话进行销户(丁的电话是后付费 VPN用户)。

时间: 15:00李梅来到电信的营业厅,要将自己从预付费用户转为后付费用户,办理了 3G后付费 +位置服务套餐。开通完成后,李梅立即使用了定位服务;寻找附近的 ATM,进行了取款。可选项:李梅返回营业厅,给 B地的王成 3G手机账户充了 500 元话费。

时间: 15:30王总用短信方式查询了一下自己的积分情况,马上收到了电信发来的短信 ,发现自己积分足够兑换一个价值一千元的旅行包。王总通过10000 号确定积分换实物的业务。

时间: 16:50王总审批完一个项目立项报告后,感觉有一些细节问题比较模糊,认为有必要在次日召集相关人员再次讨论,并及时确定下来。王总给秘书通了一个电话,交给刘秘书安排明天的事情。刘秘书登录WSS,通过“集团短信”通知了相关人员,讨论内容,时间地点等。

时间: 17:00王总给秘书打电话之后,收到 3G手机中设置的温馨提示 :“今天是老婆的生日” . 于是 , 随即利用3G手机上网查询当晚电影预告,通过流媒体下载业务 , 下载了新近大片的节目短片,并进行了预定。王总在回家的车上,和妻子李梅联系后,确定晚上去看大片。于是王总上网下单,并通过电子转帐业务购买了彩信方式的影票(电子影票)。

时间: 22:00王力和李梅看完电影,回到家中。这时王力的 3G手机响了,是儿子王成从 B地打来的可视电话,王力接听了电话,聊了些王成在学校的情况。

Page 12: 第 3 章  需求分析

3.3.2 面向数据流自顶向下求精

Page 13: 第 3 章  需求分析

3.2.2 简易的应用规格说明技术 这种方法提倡用户与开发者密切合作,共同标识问题,提

出解决方案的要素,商讨不同的方法并指定基本的需求。今天,简易的应用规格说明技术已经成为信息系统界使用的主流技术。 尽管存在许多不同的简易应用规格说明方法,但是它们遵循的基本准则是相同的。

在中立地点举行由开发者和用户双方出席的会议。 制定准备会议和参加会议的规则。

Page 14: 第 3 章  需求分析

提出一个议事日程,这个日程应该足够正式以便能够涵盖所有要点,同时这个日程又应该足够非正式,以便鼓励自由思维。

由一个“协调人”来主持会议,他既可以是用户也可以是开发者还可以是从外面请来的人。

使用一种“定义机制” ( 例如,工作表、图表等 ) 。

目标是标识问题、提出解决方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的需求。

Page 15: 第 3 章  需求分析

3.3 分析建模与规格说明 为了更好地理解问题,人们常常采用建立模型的方法。所谓

模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。

除了用分析模型表示软件需求之外,还要写出准确的软件需求规格说明。模型既是软件设计的基础,也是编写软件规格说明的基础。

Page 16: 第 3 章  需求分析

3.4 实体--联系图

3.4.1数据对象 3.4.2属性 3.4.3联系 3.4.4实体联系图的符号

Page 17: 第 3 章  需求分析
Page 18: 第 3 章  需求分析

3.5 数据规范化 第一范式 第二范式 第三范式

Page 19: 第 3 章  需求分析

3.6 状态转换图

状态转换图 (简称为状态图 )=状态+事件 状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。在状态图中用圆形框或椭圆框表示状态。 状态=状态名 +状态变量值+活动表 活动表=事件名称 / 动作表达式 在活动表中通常有 3 种事件名称:在表示状态的框内用关键字entry、 do、 exit(后

接冒号 ) 标明进入该状态时系统的行为 (即所做的动作 ) 。 Entry指的是进入该状态的动作 exit指的是退出该状态的动作 Do指的是在该状态下的工作

Page 20: 第 3 章  需求分析

事件是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统状态转换的控制信息。

在状态图中,从一个状态到另一个状态的转换用箭头线表示,箭头表明转换方向,箭头线上标上事件名。必要时可在事件名后面加一个方括号,括号内写上状态转换的条件。也就是说,仅当方括号内所列出的条件为真时,该事件的发生才引起箭头所示的状态转换。 图 3.7给出了状态图中使用的主要符号。

Page 21: 第 3 章  需求分析

图 3.3 状态图中使用的主要符

Page 22: 第 3 章  需求分析

为了具体说明怎样用状态图建立系统

的行为模型,下面举一个例子。图 3.4

是人们非常熟悉的电话系统的状态图。

Page 23: 第 3 章  需求分析

图 3.8 电话系统的状态图

Page 24: 第 3 章  需求分析

航班从 Tentative(暂定 ) 开始。有人制定时刻表,确定是否包含这个航班。

如果计划批准,则航班转入 Scheduled状态。航班时刻表发布到 Internet上

离起飞时间小于 60天,该航班开始开始售票,进入 Open状态

可以从航班中 增加和删除旅客,但售出最后一张票,航班就满了。如果有人退票,则再次开始售票

飞机起飞 10 分钟点,航班停止售票

如果飞机还没有到达,则航班延迟。 若延迟超过 4小时,则航班取消。若乘客不足 50人,则也把航班取消。

如果航班取消,则航空公司要为乘客寻找另一航班。

如果飞机到达,则其起飞和着陆,完成这个航班

状态状态

事件事件 状态:进入操作状态:进入操作

状态:活动状态:活动

事件:保证条件事件:保证条件

Page 25: 第 3 章  需求分析

什么情况下适合用状态图? 适合于描述跨越多个用例的单个对象在整

个生存期间的行为,而不适合描述多个对象之间的协作

Page 26: 第 3 章  需求分析

3.7 其他图形工具 3.7.1层次方框图

Page 27: 第 3 章  需求分析

3.7.2 Warnier图

Page 28: 第 3 章  需求分析

3.7.3 IPO图

Page 29: 第 3 章  需求分析
Page 30: 第 3 章  需求分析

3.8 验证软件需求 3.8.1 从哪些方面验证软件需求的正确性 3.8.2验证软件需求的方法 1. 验证需求的一致性 2. 验证需求的现实性 3. 验证需求的完整性和有效性 3.8.3 用于需求分析的软件工具