大连理工软件学院软件工程课件(4).ppt_第1页
大连理工软件学院软件工程课件(4).ppt_第2页
大连理工软件学院软件工程课件(4).ppt_第3页
大连理工软件学院软件工程课件(4).ppt_第4页
大连理工软件学院软件工程课件(4).ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学软件学院,软件工程,2020/8/7,大连理工大学软件学院,2,第3章 需求分析,树上有十只鸟,开枪打死一只,还剩几只?”,2020/8/7,大连理工大学软件学院,3,第3章 需求分析,“是无声手枪或别的无声的枪吗?” “不是。” “枪声有多大?” “80100分贝。” “那就是说会震的耳朵疼?” “是。” “在这个城市里打鸟犯不犯法?” “不犯。” “您确定那只鸟真的被打死啦?” “确定。” “OK,树上的鸟里有没有聋子?” “没有。” “有没有关在笼子里的?” “没有。”,2020/8/7,大连理工大学软件学院,4,第3章 需求分析,“边上还有没有其他的树,树上还有没有其他鸟?

2、” “没有。” “有没有残疾的或饿的飞不动的鸟?” “没有。” “算不算怀孕肚子里的小鸟?” “不算。” “打鸟的人眼有没有花?保证是十只?” “没有花,就十只。” “有没有傻的不怕死的?” “都怕死。” “会不会一枪打死两只?” “不会。” “所有的鸟都可以自由活动吗?” “完全可以。”,2020/8/7,大连理工大学软件学院,5,第3章 需求分析,“OK,如果您的回答没有骗人,打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。”,2020/8/7,大连理工大学软件学院,6,第3章 需求分析,为了开发出真正满足用户需求的软件产品,必须知道用户的需求。 对软件需求的深入理解是

3、软件开发工作获得成功的前提和关键。 传统软件工程方法学采用结构化分析(Structured Analysis, SA)技术完成需求分析工作。,2020/8/7,大连理工大学软件学院,7,第3章 需求分析,需求分析是发现、求精、建模、规格说明和复审的过程。 从宏观角度调查、分析用户所面临的问题准确地了解用户当前的情况和需要解决的问题。 反复求精、多次细化充分理解用户需求,得出对目标系统的完整、准确和具体的要求。,2020/8/7,大连理工大学软件学院,8,为了更好理解问题,常常采用建立模型的方法。 模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。 模型由一组图形符号

4、和组织这些符号的规则组成。 结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。,第3章 需求分析,2020/8/7,大连理工大学软件学院,9,第3章 需求分析,写出准确的软件需求规格说明。 对需求分析的结果(分析模型和规格说明) 严格审查。,2020/8/7,大连理工大学软件学院,10,在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。 用户与开发者之间需要尽可能多的通信、沟通。避免出现误解、遗漏、二义性。,第3章 需求分析,2020/8/7,大连理工大学软件学院,11,第3章 需求分析,用户,开发者,分析师,2020/

5、8/7,大连理工大学软件学院,12,结构化分析方法准则: 必须理解和表示问题的信息域建立数据模型。 必须定义软件应完成的功能建立功能模型。 必须表示作为外部事件结果的软件行为建立行为模型。 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。 分析过程应该从要素信息移向实现细节。,第3章 需求分析,2020/8/7,大连理工大学软件学院,13,3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求 3.9 小结,第3章 需求分析,2020/8/7,大

6、连理工大学软件学院,14,3.1 需求分析的任务,确定对系统的综合要求 功能需求 性能需求 可靠性和可用性需求 出错处理需求 接口需求 约束 逆向需求 将来可能提出的要求,2020/8/7,大连理工大学软件学院,15,3.1 需求分析的任务,分析系统的数据要求 任何软件系统本质上都是信息处理系统 建立数据模型(E-R图) 数据字典 层次方框图 Warnier图,2020/8/7,大连理工大学软件学院,16,3.1 需求分析的任务,系统的逻辑模型 数据流图、E-R图、状态转换图、数据字典、算法描述 修正系统的开发计划,2020/8/7,大连理工大学软件学院,17,3.2 与用户沟通获取需求的方法

7、,软件需求分析总是从两方或多方之间的通信开始。 用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。这样就产生了相互通信的需求。 从开始通信到真正相互理解的道路通常是充满坎坷的。 良好的通信技术有助于加快理解的过程。,2020/8/7,大连理工大学软件学院,18,3.2.1 访谈,访谈(或称为会谈)是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。,2020/8/7,大连理工大学软件学院,19,3.2.1 访谈,两种基本形式正式访谈和非正式访谈。 正式访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售

8、的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。,非正式访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。,2020/8/7,大连理工大学软件学院,20,当需要调查大量人员的意见时,向被调查的人员分发调查表是一个十分有效的做法。 在对用户进行访谈的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户运用目标系统解决某个具体问题的方法和结果进行分析。 某种程度演示目标系统的行为,使客户便于理解,便于挖掘需求。 使用户积极配合,3.2.1 访谈,2020/8/7,大连理工大学软件学院,21,3.2.2

9、面向数据流自顶向下求精,数据决定了需要的处理和算法,是需求分析的出发点。 结构化分析方法面向数据流的自顶向下的逐步求精进行需求分析的方法。 高层数据流图 从输出端回溯 并逐步细节化,2020/8/7,大连理工大学软件学院,22,3.2.2 面向数据流自顶向下求精,图3.1 面向数据流自顶向下求精过程,2020/8/7,大连理工大学软件学院,23,提倡用户与开发者密切合作,共同标识问题,提出解决方案的要素,商讨不同的方法并指定基本的需求。 简易的应用规格说明技术已经成为信息系统界使用的主流技术。 简易应用规格说明方法基本准则:,3.2.3 简易的应用规格说明技术,2020/8/7,大连理工大学软

10、件学院,24,在中立地点举行由开发者和用户双方出席的会议 制定准备会议和参加会议的规则。 提出一个议事日程,这个日程应该足够正式,以便能够涵盖所有要点;同时这个日程又应该足够非正式,以便鼓励自由思维。 由一个“协调人”来主持会议。 使用一种“定义机制”(例如,工作表、图表等)。 目标是标识问题、提出解决方案要素、商讨不同的方法以及在有利于实现目标的氛围中指定初步的需求。,3.2.3 简易的应用规格说明技术,2020/8/7,大连理工大学软件学院,25,软件原型最准确、最有效、最强大的需求分析技术。 演示目标程序的主要功能。 要点应该实现用户看得见的功能(例如屏幕显示或打印报表),省略目标系统的

11、“隐含”功能(例如修改文件)。,3.2.4 快速建立软件原型,2020/8/7,大连理工大学软件学院,26,特性1 “快速”。 目的:尽快向用户提供一个可在计算机上运行的目标系统的模型 功能:使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。 特性2 “容易修改”。 如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户的需求。 重复“修改试用反馈”的过程,直至用户满意,如果修改耗时过多,势必延误软件开发时间。,3.2.4 快速建立软件原型,2020/8/7,大连理工大学软件学院,27,3.2.4 快速建立软件原型,构建原型的

12、方法和工具 第四代技术(4GT) 数据库查询和报表语言、程序和应用系统生成器 可重用的软件构件 使用一组已有的软件构件来装配原型。 形式化规格说明和原型环境 Z语言等,数据结构(或数据库) 软件体系结构构件(程序) 过程构件(模块),2020/8/7,大连理工大学软件学院,28,3.3 分析建模与规格说明,3.3.1 分析建模 结构化分析实质上是一种创建模型的活动。 通过需求分析而建立的模型必须达到三个基本目标: 描述用户的需求。 为软件设计工作奠定基础。 定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。,2020/8/7,大连理工大学软件学院,29,在结构化分析过程

13、中,导出的分析模型的形式,2020/8/7,大连理工大学软件学院,30,软件需求规格说明分析阶段的最终成果。 软件需求规格说明的框架。 见软件需求规格说明书框架.doc 自然语言:容易书写、容易理解 形式化方法:无歧义、明确,3.3.2 软件需求规格说明,2020/8/7,大连理工大学软件学院,31,3.4 实体联系图,数据模型包含三种相互关联的信息: 数据对象 描述数据对象属性 数据对象彼此间相互连接的关系,2020/8/7,大连理工大学软件学院,32,3.4.1 数据对象,数据对象是对软件必须理解的复合信息的表示。 所谓复合信息是指具有一系列不同性质或属性的事物,因此,仅有单个值的事物(例

14、如宽度)不是数据对象。 数据对象:只封装了数据,区别于面向对象中的“类”或“对象”。,2020/8/7,大连理工大学软件学院,33,属性定义了数据对象的性质。 应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。,3.4.2 属性,2020/8/7,大连理工大学软件学院,34,数据对象彼此之间相互连接的方式称为关系(联系)。 一对一联系(11) 一对多联系(1N) 多对多联系(MN) 联系也可能有属性。,3.4.3 联系,2020/8/7,大连理工大学软件学院,35,使用实体关系图来建立数据模型,满足第一条分析准则。 把实体关系图简称为ER图,用ER图描绘的数据模型也可以称为E

15、R模型。 ER图中包含实体(即数据对象)、关系和属性三种基本成分。 矩形框实体 连接相关实体的菱形框关系 椭圆形或圆角矩形表示实体(或关系)的属性 用无向边把实体(或关系)与其属性连接起来。,3.4.4 实体联系图的符号,必须理解和表示问题的信息域,2020/8/7,大连理工大学软件学院,36,某校教学管理 ER 图,2020/8/7,大连理工大学软件学院,37,学生和课程之间的E-R模型 学生和课程之间的多对多联系E-R模型; 将多对多联系转换为一对多联系E-R模型,2020/8/7,大连理工大学软件学院,38,3.4 实体联系图,建立系统实体模型的步骤: 对系统的数据域和功能域进行分析,确

16、定系统中所涉及的实体。 确定系统中各实体之间的关系。 确定各实体及联系的属性。,2020/8/7,大连理工大学软件学院,39,3.4 实体联系图,例如,在工资计算系统中,单位对职工的工作情况进行考勤,根据出勤结果、基本工资档案、奖金及扣款计算职工的实发工资。 工资系统中所涉及的实体就包括职工、出勤、奖励和扣款。,2020/8/7,大连理工大学软件学院,40,确定系统中各实体之间的关系。 一名职工一个月只有一条出勤记录,因此职工和出勤两个实体之间是一对一的关系; 一名职工在一个月中对应着多项扣款,如水电费、缺勤扣款、个人所得税等,因此职工和扣款之间是一对多的关系; 同理,一名职工在一个月中可以获

17、得多项奖励,因此职工和奖金之间也是一对多的关系。 确定各实体及联系的属性。 例如,职工实体具有职工号、性别、职称、年龄、部门、基本工资等属性。,3.4 实体联系图,2020/8/7,大连理工大学软件学院,41,工资计算系统的E-R模型,2020/8/7,大连理工大学软件学院,42,思考题,请为某仓库的管理设计一个ER模型。 该仓库主要管理零件的订购和供应等事项。仓库向工程项目提供零件,并且根据需要向供应商订购零件。,2020/8/7,大连理工大学软件学院,43,思考题答案,2020/8/7,大连理工大学软件学院,44,思考题,某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信

18、息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示: 请问图中是否应该增加教务人员?试说明理由。,2020/8/7,大连理工大学软件学院,45,思考题答案,不应该增加“教务人员”。 因为教务人员只是系统的一个使用者,系统不处理其属性信息。,2020/8/7,大连理工大学软件学院,46,3.5 数据规范化,第一范式 每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构 第二范式 满足第一范式的条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定) 第三范式 符合第二范式条件,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(

19、即一个非关键字属性值不依赖于另一个非关键字属性值),2020/8/7,大连理工大学软件学院,47,3.6 状态转换图,状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。 作为特定事件的结果,系统将做哪些动作。 状态图提供了建模机制,满足第3条分析准则。,必须表示作为外部事件结果的软件行为建立行为模型,2020/8/7,大连理工大学软件学院,48,3.6.1 状态,状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。 状态规定了系统对事件的响应方式。 系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态。 初态、

20、终态、中间状态 既可以表示系统循环运行过程,也可以表示系统单程生命期,2020/8/7,大连理工大学软件学院,49,事件是在某个特定时刻发生的事情,它是对引起系统从一个状态转换到另一个状态的外界事件的抽象。 简而言之,事件就是引起系统状态转换的控制信息。,3.6.2 事件,2020/8/7,大连理工大学软件学院,50,3.6.3 符号,状态图中使用的主要符号: 初态:实心圆(只有一个) 终态:同心圆(0到多个) 中间状态:圆角矩形 名称、状态变量的名字和值、活动表 状态转换:箭头,2020/8/7,大连理工大学软件学院,51,状态图中使用的主要符号,事件名 / 动作表达式,事件说明 守卫条件

21、/ 动作表达式,2020/8/7,大连理工大学软件学院,52,3.6.4 状态转换图示例,2020/8/7,大连理工大学软件学院,53,思考题,复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。 试用状态转换图描绘复印机的行为。,2020/8/7,大连理工大学软件学院,54,思考题答案,2020

22、/8/7,大连理工大学软件学院,55,思考题,某信息系统的用户注册及使用系统过程如下: 用户登录系统,填写注册信息;在注册过程中可以关闭注册页面取消注册过程;系统自动判断注册信息是否正确,如不正确予以提示并要求用户修改;用户填写完信息之后,提交信息,待系统管理员审核;审核结果分为通过或者不通过;信息尚未审核之前,或者审核通过之后,用户都可修改自己的注册信息,重新等待管理员审核;审核之后的客户可以使用系统,如果使用过程中出现非法操作,管理员可以冻结该用户一段时间;冻结期结束之后根据用户表现,决定继续冻结还是取消冻结。,2020/8/7,大连理工大学软件学院,56,思考题答案,2020/8/7,大

23、连理工大学软件学院,57,3.7 其他图形工具,3.7.1 层次方框图 用树形结构的一系列多层次的矩形框描述数据的层次结构。 顶层是一个单独的矩形框,代表完整的数据结构 下面的各层矩形框代表这个数据的子集 最底层代表组成这个数据的实际数据元素,2020/8/7,大连理工大学软件学院,58,3.7 其他图形工具,3.7.1 层次方框图,2020/8/7,大连理工大学软件学院,59,3.7 其他图形工具,3.7.2 Warnier图 也用树形结构描述信息 可以表明信息的逻辑组织 是否重复出现 是否有条件出现,2020/8/7,大连理工大学软件学院,60,3.7 其他图形工具,2020/8/7,大连

24、理工大学软件学院,61,3.7 其他图形工具,3.7.3 IPO图 IPO图是输入、处理、输出图的简称 左边框中列出有关的输入 中间框中列出主要的处理 右边框中列出产生的输出 处理的顺序暗示了执行的顺序 箭头指出数据通信的情况,2020/8/7,大连理工大学软件学院,62,3.7 其他图形工具,3.7.3 IPO图,2020/8/7,大连理工大学软件学院,63,3.8 验证软件需求,3.8.1 验证需求的方面 一致性:任何一条需求不能与其他需求相互矛盾 完整性:包含用户需要的每一个功能或性能 实现性:硬件、软件技术都可以实现。 有效性:确实能够解决用户面对的问题。,2020/8/7,大连理工大

25、学软件学院,64,3.8 验证软件需求,3.8.2 验证需求的方法 1、验证需求的一致性 自然语言书写:人工技术审查 大规模项目时比较困难 形式化描述:软件工具,2020/8/7,大连理工大学软件学院,65,3.8 验证软件需求,2、验证需求的现实性 开发经验、仿真或性能模拟技术 3、验证需求的完整性和有效性 用户验证 原型,2020/8/7,大连理工大学软件学院,66,3.8 验证软件需求,3.8.3 用于需求分析的软件工具 工具要求 (1)必须有形式化的语法 (2)使用这个软件工具能够导出详细的文档 (3)必须提供规格说明书中的不一致性和冗余性的手段 (4)使用这个软件工具之后,应该能够改

26、进通信状况,2020/8/7,大连理工大学软件学院,67,3.8 验证软件需求,3.8.3 用于需求分析的软件工具 工具举例 RSL(需求陈述语言) PSL/PSA(问题陈述语言/问题陈述分析程序)系统,2020/8/7,大连理工大学软件学院,68,结构化分析实例,1 问题陈述 某校财务科长要求系统分析员研究一下用学校自己的微型计算机生成工资明细表和各种财务报表的可能性。 问题定义 可行性研究 需求分析,2020/8/7,大连理工大学软件学院,69,2 问题定义,预期将获得的经济效益能超过开发这个系统的成本么? 用户面临的问题究竟是什么? 该校一直为人工计算工资,工作量大。 项目预期规模 目前计算工资所花费的成本 新系统的开发成本 运行费用,2020/8/7,大连理工大学软件学院,70,2 问题定义,目前,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论