第三讲 需求分析_2_计算机软件及应用_it计算机_专业资料_第1页
第三讲 需求分析_2_计算机软件及应用_it计算机_专业资料_第2页
第三讲 需求分析_2_计算机软件及应用_it计算机_专业资料_第3页
第三讲 需求分析_2_计算机软件及应用_it计算机_专业资料_第4页
第三讲 需求分析_2_计算机软件及应用_it计算机_专业资料_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第三章 需求分析,2,第3章 需求分析,3,4,意义:软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码做得如何出色,不能真正满足用户需求的软件只会令用户失望,给开发带来烦恼。,5,需求分析概述,属于周期阶段,基本任务,实现方式,系统必须做什么,软件定义时期,需求分析说明文档,结果: 软件需求规格说明书,任务:完整、准确、 清晰、具体地确定系统所要完成的工作。,出发点:可行性研究报告,6,3.1 需求分析的任务,1 确定对系统的综合要求,分析系统的数据要求,3 导出系统的逻辑模型,4 修正系统开发计划,7,1. 软件需求对系统的综合要求,项目范围文档,用户需求,文档,功能需求,质量属性,其他非功能需求,设计约束,需求规约(specification),非功能需求,系统需求,业务需求,8,2. 分析系统的数据需求,任何系统都必须有数据支撑,分析系统的数据要求通常采用建立数据模型的方法!,用 实体-联系图 来描述。,9,3.导出系统的逻辑模型,借助当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。,10,4. 修正系统开发计划对系统的成本和进度作更准确的估计,11,访谈结构化分析方法(面向数据流自顶向下求精)简易的应用规格说明技术快速原型法,3.2 获取需求的方法,12,(1)访谈,正式访谈非正式访谈,事先准备好一系列问题,一问一答,开放性交谈,客户多说,分析员引导,调查问卷,情景分析,13,面向数据流的分析方法,采用数据流图建立功能模型,从数据流图入手,逐步细化,面向过程,面向对象,从用例入手,逐步细化,(2) 结构化分析方法,数据字典,14,(3) 简易的应用规格说明技术,面向团队的需求收集法,访谈,开发者,用户分别编写“产品需求”,开会,交流大家对系统的理解,意见统一的系统描述,分小组讨论表中内容,软件规格说明书,15,(4) 快速原型法,快速原型即快速建立起来的旨在演示目标系统主要功能的可运行的程序。快速建立软件原型是最准备、最有效、最强大的需求分析技术。快速原型应具备的特性是“快速”、“容易修改”,16,1)分析建模 模型-就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,由一组图形符号和组织这些符号的规则组成。需求分析过程具体的建模方法有: 基于功能建模:用例图 基于行为的建模:状态图数据建模:实体-关系图,分析建模与规格说明,17,软件需求规格说明(SRS),Software Requirement Specification 通常用自然语言+模型,完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。,软件需求规格说明书,是需求分析阶段得出的最主要的文档。,18,软件需求说明书的编写提示(GB856T88),1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料,2 任务概述 2.1 目标 2.2 用户的特点 2.3 假定和约束,19,3 需求规定 3.1 对功能的规定 3.2 对性能的规定 3.2.1 精度 3.2.2 时间特性要求 3.2.3 灵活性 3.3 输人输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其他专门要求,4 运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制,软件需求说明书的编写提示(GB856T88),20,3.3 实体-联系图(ER) Entity Relationship Diagram,ER图 - 是用来建立数据模型的工具。数据模型 -是现实世界中数据特征的抽象。是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,而且与在软件系统中的实现方法无关。,21,数据模型中包含3种相互关联的信息:数据对象(实体)数据对象的属性数据对象彼此间相互连接的关系。,22,(1) 数据对象,数据对象: 是对软件必须理解的复合信息的抽象。复合信息: 是指具有一系列不同性质或属性的事物,仅有单个值的事物(例如,宽度)不是数据对象。可以由一组属性来定义的实体都可以被认为是数据对象。 如:外部实体、事物、行为、事件、角色、单位、地点或结构等。,23,(2) 属 性,属性定义了数据对象的性质。必须把一个或多个属性定义为“标识符”,也就是说,当我们希望找到数据对象的一个实例时,用标识符属性作为“关键字”(通常简称为“键”)。应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。 如:学生具有学号、姓名、性别、年龄、专业(其它略)等属性; 课程具有课程号、课程名、学分、学时数等属性; 教师具有职工号、姓名、年龄、职称等属性。,24,(3) 联 系,数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型: a. 一对一联系(11) b. 一对多联系(1N) c. 多对多联系(MN)联系也可能有属性。,25,(4) 实体-联系图的符号,ER图中包含了实体(即数据对象)、关系和属性等3种基本成分。通常用矩形框代表实体;用连接相关实体的菱形框表示关系;用椭圆形或圆角矩形表示实体(或关系)的属性;并用直线把实体(或关系)与其属性连接起来。,26,举 例 某校教学管理,图3.2 某校教学管理ER图,对象,教师属性,学生属性,课程属性,联系属性,关系,27,实例二,企业职工管理中,需要涉及的功能有:1)人事处对职工的档案和部门进行管理,包括职工基本情况,部门的基本情况以及各种职称、职务的管理;2)财务处管理职工的工资情况;3)科研处管理项目、职工参加项目的情况。,28,人事管理局部E-R图,29,工资管理局部E-R图,30,项目管理局部E-R图,31,合并后全局E-R图,32,练习:,请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应商等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。,33,3.5 数据规范化,为什么数据要规范化?,34,规范化的目的:消除数据冗余,即消除表格中数据的重复;消除多义性,使关系中的属性含义清楚、单一;使关系的“概念”单一化,让每个数据项只是一个简单的数或字符串,而不是一个组项或重复组;方便操作。使数据的插入、删除与修改操作、查询可行并方便;,35,如何规范化?,规范化 - 将数据的逻辑结构归结为满足一定条件的二维表(关系)。 1. 表格中每个信息项必须是一个不可分割的数据项,不可是组项。 2. 表格中每一列 (列表示属性)中所有信息项必须是同一类型,各列的名字 (属性名) 互异,列的次序任意。 3. 表格中各行 (行表示元组) 互不相同,行的次序任意。,36,通常用“范式(Normal Forms)”定义消除数据冗余的程度。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。,1、范式级别越高,存储同样数据就需要分解成更多张表,因此,数据的存储结构及“存储自身”的过程也就越复杂,。访问性能(速度)将下降。,所以,从实用角度看来,在大多数场合选用第三范式都比较恰当。,37,第 一 范 式,每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。,学生(学号,姓名,性别,年龄,年级,专业,籍贯)教师(职工号,姓名,年龄,职称,职务,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型),38,第 二 范 式,满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。,选课 ( 学号,课程号,听课出勤率,作业完成率,学分,成绩 ),39,教学管理例,有三个实体型,即课程、学生和教师,用三个关系保存它们的信息: 学生(学号,姓名,性别,年龄,年级,专业,籍贯) 教师(职工号,姓名,年龄,职称,职务,工资级别,工资) 课程(课程号,课程名,学分,学时,课程类型)为表示实体型之间的联系,又建立两个关系: 选课 (学号,课程号,听课出勤率,作业完成率,成绩) 教课 (职工号,课程号,授课效果)这五个关系,组成了数据库的模型。在每个关系中,属性名下加(下划线)指明关键字。并规定关键字能唯一地标识一个元组。,40,第 三 范 式,简而言之,满足第二范式(2NF)的基础上,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。,41,面向对象方法学,传统结构化方法学的缺点:1、生产效率低2、不能满足用户需求3、软件复用程度很低4、软件仍然很难维护,面向对象方法:不是把程序看作是工作在数据上的一系列过程和函数数据的集合,而是把程序看作是相互协作而彼此独立的对象的集合。每个对象就像一个有数据、操作、功能和目的的微型程序,42,面向对象的思想,OOSD (Object-Oriented Software Development)是一种 把面向对象的思想应用于软件开发过程,指导开发活动的系统方法。,OOSD由三部分组成: OOA (Object-Oriented Analysis) 面向对象的分析 OOD (Object-Oriented Design) 面向对象的设计 OOP (Object-Oriented Program)面向对象的程序设计,43,面向对象的基本概念,1. 对象(Object),2. 类(Class),3. 消息和方法(Message and Method),4. 继承性(Inheritance),5. 封装性(Encapsulation),6. 多态性(Polymorphism),44,面向对象建模,建模是问题域中定义软件解的一种方法。面向对象建模原则:是按照人们习惯的思维方式,用面向对象观点建立问题域的模型,开发出尽可能自然地表现求解方法的软件。模型的实质:对现实的简化。建模的目的:便于展现系统。允许开发人员指定系统的结构或行为。提供构造系统的模板。记录决策。,45,三种模型,用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型三种模型。1)对象模型是描述系统数据结构的,它始终都是目标系统中最关键、最基本、最核心的;2)动态模型是描述系统控制结构的;3)功能模型是描述系统功能的。,46,需求分析 与 面向对象方法学,获取客户需求,表达需求用例状态DFD,精化需求类活动图顺序图数据字典,客户需求,详细需求(开发人员需求),47,用例图(use case diagram ),用例用于在交互中表达客户需求。,其实Use Case就是对系统功能的描述而已不过一个Use Case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上是相对完整的功能流程 。,48,如何定义用例?,场景,参与者,用例,关系,49,参与者,50,用例间的关系,1 关联关系2 包含关系3 扩展关系4 泛化关系,51,关联关系,表示参与者用例之间进行通信。 不同的参与者可以访问相同的用例。,52,包含关系,客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。新用例不是原用例的一个特例,不能被原用例所替代。,包含用例,被

温馨提示

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

最新文档

评论

0/150

提交评论