第3章_需求分析 _2.ppt_第1页
第3章_需求分析 _2.ppt_第2页
第3章_需求分析 _2.ppt_第3页
第3章_需求分析 _2.ppt_第4页
第3章_需求分析 _2.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、需求分析过程,3.3分析建模和规范,3.3.1分析建模,3.3.2软件需求规范,3.3分析建模和规范,什么是模型?这个模型是对现实的简化。3.3.1分析和建模,模型是为了理解事物而对事物的抽象,是对事物的明确的书面描述。通常,模型由一组图形规则组成,以符合和组织这些符号。在需求分析过程中需要建立三个模型:数据模型-实体-联系图功能模型-数据流图行为模型-状态转移图。结构化分析本质上是一种创建模型的活动。为了开发一个复杂的软件系统,系统分析员应该从不同的角度抽象出目标系统的特征,用精确的表示方法构造系统模型,验证模型是否满足用户对目标系统的要求,并在设计过程中逐步将与实现相关的细节添加到模型中,

2、直到模型最终被程序实现。第3.4节中介绍的实体连接图描述了数据对象和数据对象之间的关系,并且是用于构建数据模型的图形。第2.4节中提到的数据流图描述了在软件系统中移动时数据转换的逻辑过程,并指出系统具有的数据转换功能。因此,数据流图是建立功能模型的基础。第3.6节中引入的状态转移图(简称为状态图)表明了外部事件导致的系统行为。为此,状态转移图描述了系统的各种行为模式(称为“状态”)以及不同状态之间的转移方式。状态转移图是行为建模的基础。3.3.2软件需求规格说明,除了通过需求分析创建分析模型外,还应该编写软件需求规格说明,这是需求分析阶段获得的最重要的文件。通常,系统的数据要求、功能要求、性能

3、要求、可靠性和可用性要求、错误处理要求、接口要求、约束、反向要求和可能的未来要求都用自然语言完整、准确和具体地描述。需求规格的封面。系统规格:系统概述,功能要求,性能要求,操作要求,可能增加的要求,DFD,首次公开募股,2。数据要求,DD级别或Warnier图表,3。用户系统描述_初步用户手册:从用户的角度考虑系统功能、性能使用和步骤,4。修订后的开发计划、成本估算、资源使用计划和进度计划,中国已经定义了国家标准GB856D-1988,并给出了需求规范的内容框架。为了清晰准确地描述用户的数据需求,系统分析师通常会建立一个概念性的数据模型(也称为信息模型)。概念模型:一个面向问题的数据模型,从用

4、户的角度描述数据。通常,实体连接图(简称ER图)用于建立数据模型,它包含三种相关信息:数据对象的属性、数据对象、它们之间的关系、3.4实体连接图、3.4.1数据对象、3.4.2属性、3.4.3连接、3.4.4实体连接图,由一组属性定义的数据实体可视为数据对象。它可以是外部实体(例如,生成或使用信息的任何事物)、事物(例如,报告)、动作(例如,打电话)、事件(例如,发出警报)、角色(例如,教师、学生)、组织(例如,会计部门)、地点(例如,仓库)或结构(例如,文件)。3.4.1数据对象相互关联。例如,教师“教”课程,学生“学”课程。教与学的关系表明教师与课程之间或学生与课程之间的特定联系。数据对象

5、只封装数据,而不引用应用于数据的操作,这是数据对象和面向对象范例中的“类”或“对象”之间的显著区别。3.4.1数据对象,3.4.2属性,属性定义数据对象的属性。一个或多个属性必须被定义为“标识符”,也就是说,当我们想要找到一个数据对象的实例时,我们使用标识符属性作为“关键字”(通常称为“关键字”)。例如,学生有学生编号、姓名、性别、年龄和专业等属性;课程具有课程编号、课程名称、学分、学时等属性。教师有员工编号、姓名、年龄和职称等属性。根据对要解决的问题的理解,应该确定特定数据对象的一组合适的属性。例如,汽车管理系统:汽车具有制造商、品牌、型号、发动机号、车身类型、颜色、车主姓名、地址、驾照号码

6、、生产日期和购买日期等属性;汽车具有诸如制造商、品牌、型号、发动机号、车身类型、颜色等属性。连接:是数据对象相互连接的方式,也称为关系。联系人可以分为以下三种类型:一对一联系人(11)例如,如果一个部门有一个经理,而每个经理只在一个部门工作,则该部门和经理之间的联系人是一对一的。3.4.3连接,一对多连接(1N)例如,在学校中,教师和课程之间存在一对多的连接,即每个教师可以教授多门课程,但每门课程只能由一名教师教授。3.4.3连接,多对多连接(MN)例如,学生和课程之间的连接(“学习”)是多对多的,也就是说,一个学生可以学习多个课程,并且每个课程可以有多个学生要学习。3.4.3联系人,联系人也

7、可能有属性。例如,成绩既不是学生的属性,也不是课程的属性,而是学生“学习”课程的属性。这个属性就是“学习”的属性。3.4.3连接、3.4.4实体-连接图符号、实体-连接图基本符号、例1: ER图、对象、教师属性、学生属性、课程属性、连接属性、关系、练习如果是存款,系统记录存款人的姓名、地址(或电话号码)、身份证号码、存款类型、存款日期、到期日、利率和密码(可选),并将存款证明打印给存款人;在使用密码取款和存款的情况下,系统首先检查存款人的密码。如果密码正确或存款时没有留下密码,系统将计算利息并将利息清单打印给存款人。系统的功能用数据流图描述,系统中的数据对象用实体连接图描述。顶层数据流图、功能

8、层数据流图、详细数据流图、银行储蓄系统的ER图、数据结构标准化:软件系统经常使用各种长期保存的信息,这些信息通常以某种方式组织并存储在数据库或文件中。为了减少数据冗余,避免插入异常或删除异常,简化修改数据的过程,通常需要对数据结构进行标准化。3.5数据规范化,规范化将数据的逻辑结构归因于满足特定条件的二维表(关系)。也就是说,表中的每个信息项都必须是不可分割的数据项,而不是组项。表中每个列(列代表属性)中的所有信息项必须是同一类型,具有不同的名称(属性名称)和任意的列顺序。表中的行(行代表元组)彼此不同,行的顺序是任意的。“范式”通常用于定义消除数据冗余的程度。第一范式(1 NF)具有最高的数

9、据冗余,而第五范式(5 NF)具有最低的数据冗余。然而,范例级别越高,存储相同数据所需的表就越多,因此“存储自身”的过程就越复杂。随着范式水平的提高,数据的存储结构与基于问题域的结构之间的匹配度也降低,因此当需求发生变化时,数据的稳定性较差。范例级别越高,需要访问的表越多,因此性能(速度)将会降低。因此,从实践的角度来看,在大多数情况下选择第三种范式更为合适。为了说明如何规范教学管理,有三个实体,即课程、学生和教师,它们的信息保存在三个表中:学生(学生编号、姓名、性别、年龄、年级、专业、籍贯)教师(员工编号、姓名、年龄、职称、职位、工资水平、工资)课程(课程编号、课程名称、学分)课程编号、出勤

10、率、作业完成率、分数、教学(员工编号、课程编号、教学效果)五个表构成了数据库模型。在每个关系中,属性名称都带有下划线,以表示关键字。在第一个范数中,第一范式的每个属性值必须是一个原子值,也就是说,它只是一个没有内部结构的简单值(表中没有表)。例如,学生(学生编号、姓名、性别、年龄、年级、专业、籍贯)、教师(员工编号、姓名、年龄、职称、职位、薪资水平、薪资)课程(课程编号、课程名称、学分、学时、课程类型),在第一范式的同一表中没有重复项,如果有,应删除重复项。第二种模式,选修课(学生人数、课程数量、出勤率、作业完成率、学分)分析:数据冗余:同一门课程由N名学生选修,且“学分”重复n-1次;更新异

11、常:如果调整了一门课程的学分,则需要更新数据表中所有行的学分值,否则,同一门课程的学分会有所不同。插入例外:假设将提供一门新课程,但还没有人选修。这样,因为没有“学生编号”关键字,所以课程编号和学分不能记录在数据库中。删除异常:假设一组学生已经完成了选修课,这些选修记录应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除。第二范式满足第一范式条件,并且每个非关键字属性由整个关键字(而不是关键字的一部分)确定。解决方法:将选课关系分解为满足第二范式的两个表:选课关系中存在数据冗余、更新异常、插入异常和删除异常(学生人数、课程编号、出勤率、作业完成率)、课程(课程编号、作业完成率)、第

12、三范式。每个非关键属性仅由关键字决定,一个非关键属性不能只是另一个非关键属性的进一步描述(即,一个非关键属性值不依赖于另一个非关键属性值)。例如,教师(员工编号、姓名、年龄、职称、部门编号)、部门(部门编号、部门名称、部门简介)、教师(员工编号、姓名、年龄、职称、部门编号、部门名称),表中的所有数据元素不仅要用主关键字唯一标识,还要相互独立,不存在其他功能关系。状态转移图(简称状态图)通过描述系统的状态和导致系统状态转移的事件来表示系统的行为。3.6状态转移图,状态:可以观察到的系统的任何行为模式,状态代表系统的行为模式。状态指定系统如何响应事件。状态主要包括:初始状态(即初始状态),只有一个

13、最终状态(即最终状态),中间状态可以有0到多个。有多种状态图分类:它们代表系统循环操作的过程,通常不关心循环是如何开始的。它指示系统的单向寿命,并需要指示初始状态和最终状态。3.6.1状态、事件:它是在某个时刻发生的事情,是导致系统动作或(和)从一个状态转换到另一个状态的外部事件的抽象。3.6.2事件,初始状态:用实心圆表示;最终状态:由一对同心圆表示(内圈为实心圆);中间状态:用圆角矩形表示,分为上、中、下三部分。上半部分是州名;中间部分是状态变量的名称和值(可选);以下部分是活动表(可选)。与箭头的连接:称为状态转换,箭头表示转换的方向。3.6.3符号,图3.3状态图中使用的主要符号,活动表的语法格式:事件名称(参数表)/动作表达式“事件名称”可以是任何事件的名称。有三种常用的标准事件:进入事件指定进入这种状态的动作;退出事件指定退出状态的操作;do事件指定此状态下的操作。必要时,可以为事件指定参数表。活动表中的操作表达式描述了要采取的特定操作。事件表达式的语法:事件描述保护条件操作表达式事件描述的语法是事件名称(参数表)。保护条件是布尔表达式。如果同时使用事件描述和保护条件,则只有当事件发生且布尔表达式为真时,才会发生状态转换。如果只有保护条件没有事件描述,只要保护条件为真,就

温馨提示

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

评论

0/150

提交评论