软件工程03需求分析

上传人:gb****c 文档编号:242962792 上传时间:2024-09-12 格式:PPT 页数:110 大小:1.51MB
返回 下载 相关 举报
软件工程03需求分析_第1页
第1页 / 共110页
软件工程03需求分析_第2页
第2页 / 共110页
软件工程03需求分析_第3页
第3页 / 共110页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件工程,Email:,1,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,可行性研究,需求分析,概要设计,详细设计,实 现,集成测试,确认测试,使用与维护,退役,软件定义,软件开发,软件使用与维护,软件生命周期,需求分析概述,开发软件系统前的,“,问题定义,”,过程,了解用户的期望和要求,软件需求,需求分析过程,需求分析的重要性,软件开发的基础和前提,最终目标软件系统验收的标准,避免或者尽早剔除早期的错误,需求分析与其他过程的关系,软件需求,设计过程,变更控制,过程,系统测试,过程,编制文档,过程,项目计划,过程,项目跟踪,和控制过程,基线确定前,缩小范围,作为,输入,请求范围,变更,跟踪状态,变更,基线,作为参考,验证实现,的正确性,作为基础,成果可追溯,作为基础,需求分析概述,与可行性分析的区别,可行性分析只是粗略了解用户需求,很多细节被忽略了,用户在需求分析中的作用,需求分析的任务,准确的回答,“,系统必须做什么?,”,仍然回答,“,What,”,,而不是,“,How,”,,,但更细致、精确(合同的拟定),需求规格说明工作的艰巨性,需求分析概述,需求分析的困难,片面性,不完全,模糊性,不准确,不一致性,歧义等等,应用系统复杂,庞大,因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行需求分析,需求分析概述,导致项目失控的两个常见原因之一,需求分析不足,/,不稳定的需求,它是,”,理想化估算,”,邪恶的孪生兄弟,!,最近的统计情况,2006,年软件项目成功率不足,30%,超过,60%,的失败项目是由于需求不足造成的,一副关于软件项目需求的漫画,一副关于软件项目的漫画,需求分析概述,在需求分析阶段结束之前,系统分析员应该写出软件规格说明书,所有分析方法都应遵守下述准则:,1,必须理解并描述问题的信息域,建立,数据模型,2,必须定义软件应完成的功能,建立,功能模型,3,必须描述作为外部事件的软件行为,建立,行为模型,4,必须对描述信息、功能和行为的模型进行分解,,用层次的方式展示细节,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,需求分析的任务,需求分析任务综述,深入描述软件的功能和性能,确定软件设计的约束,确定软件同其它系统元素的接口细节,定义软件的其它有效性需求,需求分析的任务,确定系统的综合要求,1,功能要求:系统必须做什么?,划分出系统必须完成的所有功能,2,性能要求:做得怎样?,系统必须满足的定时约束或容量约束,-,例如:速度(系统的响应时间)、信息速率、主存容量、磁盘容量、安全性,3,运行要求:运行环境、软硬件配置等可靠性和可用性需求,可用性需求:量化了用户可以使用系统的程度,需求分析的任务,确定系统的综合要求,4,出错处理需求,说明系统对环境错误应该怎样响应,对应用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽量少,5,接口需求,用户接口需求、 硬件接口需求、 软件接口需求、 通信接口需求,需求分析的任务,确定系统的综合要求,6,约束,用户和环境强加给项目的限制条件含:精度、工具和语言约束、设计约束、使用标准、使用硬件平台,7,逆向需求,说明软件系统不应该做什么,8,将来可能提出来的需求,是将来有可能提出的要求,目的是使在现有的设计中为将来的扩充和修改预做准备,需求分析的任务,分析系统的数据要求,建立概念模型,E-R Diagram,形象描绘数据结构,Data Hierarchy, Warnier Diagram, IPO,数据结构规范化,需求分析的任务,导出系统的逻辑模型,数据流图,(DFD),,数据字典,(DD),实体,-,关系图,(ERD),状态转换图,(STD),主要的处理算法描述逻辑模型,(IPO),修正系统开发计划,准确地估计系统的成本及进度,修正以前我们所制定的开发计划,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,需求分析的方法,目标,需求分析研究的对象是软件项目的,用户要求,准确地表达,被接受的用户要求,确定被开发软件系统的,系统元素,将功能和信息结构,分配到这些系统元素中,需求分析的方法,借助于,当前系统,的逻辑模型导出目标系统的,逻辑模型,,解决目标系统“做什么”的问题,通常软件开发项目是要实现目标系统的物理模型,目标系统的物理模型是由它的逻辑模型经实例化,(,即具体到某个业务领域,),而得到的,需求分析的方法,常用的需求分析方法,面向数据流的,结构化分析方法,(SA),面向数据结构的,Jackson,方法,(JSD),面向对象的分析方法,(OOA),等,现代的需求分析方法,用例分析技术(,Use Case,),:,RUP,用户故事、用户素材(,User Story,):,XP,特征驱动(,Feature,):,FDD,获得需求的方法,问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析,获得需求的方法,访谈,正式访谈,系统分析员将提出一些事先准备好的具体问题,非正式访谈,系统分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法,向被调查人员发调查表,情景分析技术,对用户将来使用目标系统解决某个具体问题的方法和结果进行分析,获得需求的方法,访谈,情景分析技术,情景分析技术主要体现在两个方面,它能在某种程度上演示目标系统的行为,保证用户在需求分析过程中始终扮演积极主动的角色,情景分析技术的主要过程,情景分析技术与,OO,方法中的,“,用例,”,技术,用例技术:,Use Case,获得需求的方法,面向数据流自顶向下求精,基本思想,:,“,自顶向下,逐步求精,”,抽象和分解,沿数据流图从输出端向输入端回溯,数据流图的输出端是系统的最终目的,;,向回确定每个数据元素的来源,可加细数据流图及数据字典,并将相关算法记录在,IPO,图中,;,用户复查,从输入端开始解释输入数据如何变换成输出,验证已知元素,补充未知元素,获得需求的方法,面向数据流自顶向下求精,分析与综合,(,1,)问题的具体分析:细化数据流图,加细前后的,I/O,须相同,分解到须考虑具体实现的代码时即可仃止,(,2,)方案的综合,不需分解,有补充,修正,无补充修正,分析追踪,数据流图,用户复查,细 化,数据流图,需要,分解,获得需求的方法,简易的应用规格说明技术,分析需求的典型过程,进行初步访谈,初步确定待解决的问题的范围和解决方案,开发者和用户分别写出,“,产品需求,”,选定会议的时间和地点,选举协调人,邀请开发者和用户双方组织的代表出席会议,列出系统环境组成部分的对象、系统将产生的对象、系统为完成自己的功能将使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性能标准,共同创建一张组合列表,起草完整的软件需求规格说明书,获得需求的方法,快速建立软件原型,快速建立软件原型的特性,快速,容易修改,软件原型的分类,在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性,探索型,:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性,实验型,:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠,进化型,:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统,获得需求的方法,快速建立软件原型,原型的使用策略,废弃策略(探索型、实验型),先构造一个功能简单且质量要求不高的模型系统,针对这个模型反复进行分析修改,形成比较好的设计,据此设计出更加完整、准确、一致、可靠的最终系统,系统构造完成后,原来的模型系统就被废弃不用,追加策略(进化型),先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统,获得需求的方法,快速建立软件原型,原型生存期,原型的开发和使用过程叫做原型生存期,原型生存期模型如下,图(,a,):原型生存期的模型,图(,b,):是模型的细化,获得需求的方法,获得需求的方法,获得需求的方法,快速建立软件原型,快速构建和修改原型的,3,种方法和工具,第四代技术,数据查询和报表语言、程序和应用系统生成器、高级的非过程语言,可重用的软件构件,使用一组已有的软件构件来装配原型。软件构件可以是数据结构、数据库、软件体系结构构件(程序)、过程构件(模块),形式化规格说明和原型环境,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,分析建模与规格说明,分析建模,建模,是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述,模型由一组图形符号和组织这些符号的规则组成,模型与工具,数据模型,实体,-,关系图,功能模型,数据流图,行为模型,状态转换图,分析建模与规格说明,分析建模的原则,需要能够表达和理解问题的,信息域,和,功能域,要能以,层次化,的方式对问题进行,分解,和不断,细化,需求分析流程,分析建模与规格说明,软件需求规格说明,用自然语言完整、准确、具体描述系统的数据需求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求、将来可能提出来的需求,文档编号,:,版 本 号:,文档名称:,项目名称:,项目负责人:,年 月 日,编写:,核对:,审核:,批准:,开发单位:,分析建模与规格说明,需求规格说明的内容, 系统规格说明,系统概貌 功能要求 性能要求 运行要求,可能增加的要求 ,DFD IPO,数据要求,DD Hierarchy,或,Warnier Diagram,用户系统描述,初步用户手册:从用户的观点考虑系统,系统功能、性能 使用与步骤 等, 修正的开发计划,成本估计 资源使用计划 进度计划,分析建模与规格说明,软件需求规格说明的简略大纲,.,引言,A .,系统参考文献,B .,整体描述,C .,软件项目约束,.,信息描述,A .,信息内容,B .,信息流,: 1 .,数据流、,2 .,控制流,.,功能描述,A .,功能分解,B .,功能描述:,1 .,处理说明、,2 .,限制、,3 .,性能需求、,4 .,设计约束、,5 .,支撑图,分析建模与规格说明,软件需求规格说明的简略大纲,.,功能描述,C .,控制描述:,1 .,控制规格说明、,2 .,设计约束,.,行为描述,A .,系统状态,B .,事件和动作,.,确认标准,A .,性能范围,B .,测试种类,C .,预期的软件响应,D .,特殊考虑,.,参考书目,.,附录,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,结构化分析方法(,SA,),结构化方法的发展,首先是“结构化程序设计”,Structured Programming,,,SP,方法的提出,其次是“结构化设计”,Structured Design,,,SD,方法的出现,逐渐是“结构化分析”,Structured Analysis,,,SA,方法的形成,因此,结构化方法由三部分组成,结构化分析方法(,SA,),结构化分析方法最初由,Douglas Ross,提出,由,DeMarco,推广,由,Ward,和,Mellor,以及后来的,Hatley,和,Pirbhai,扩充,形成了今天的结构化分析方法的框架,结构化分析方法是一种建模技术。它建立的分析模型如图,结构化分析方法(,SA,),结构化分析,指导思想:“,自顶而下,逐步求精,”,基本原理:“,抽象,”与“,分解,”,使用工具,数据流图、数据字典、,E-R,图、状态转换图,分析步骤,建立现行系统物理模型,-,抽象现行系统逻辑模型,-,建立新系统逻辑模型,-,补充和优化(分解),结构化分析方法(,SA,),结构化分析模型,在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象,围绕着这个核心的有三种图,实体,-,关系图,(ERD),:描述数据对象及数据对象之间的关系,数据流图,(DFD),:描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能),状态转换图,(STD),:描述系统对外部事件如何响应,如何动作,因此,,ERD,用于,数据建模,,,DFD,用于,功能建模,,,STD,用于,行为建模,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,数据模型:实体联系图,数据建模,建立三种相互关联的信息模型,数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系,数据对象,是需被目标系统所理解的复合信息的表示,所谓复合信息是具有若干不同特征或属性的信息,数据对象可以是,外部实体,(如显示器),,事物,(如报表或显示),,角色,(如教师或学生),,行为,(如一个电话呼叫)或,事件,(如单击鼠标左键),,组织单位,(如研究生院),,地点,(如传达室)或,结构,(如文件),数据模型:实体联系图,数据对象,数据对象和,OO,中的对象,数据对象只封装了数据,没有包含作用于这些数据上的操作,这与面向对象中的类和对象不同,具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例,数据模型:实体联系图,属性,定义了数据对象的特征,作用, 为数据对象的实例命名;, 描述这个实例;, 建立对另一个数据对象的另一个实例的引用,举例,数据对象“学生”的属性,学号、姓名、性别、出生年月、籍贯,数据模型:实体联系图,属性,关键码(,key,),为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码,(key),,书写为,_id,例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例,数据模型:实体联系图,关系,各个数据对象的实例之间相互连接的方式称为关系(也称为,关联,),举例,一个学生“张珊”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来,数据模型:实体联系图,关系,数据对象的实例之间关系有三种,(1),一对一联系,(11),(2),一对多联系,(1N),(3),多对多联系,(MN),这种实例的关联称为“基数”,基数表明了参与关联的实例间的“,重复性,”,实例关联有“可选”和“必须”之分,它表明了关系的“,参与性,”,用圆圈“,”表示关系是可选的,用竖线“,”表示关系必须出现,1,次,数据模型:实体联系图,关系,举例,如,1,位教师带学生的,30,位同学,就是,1:n,的关系,但也有,1,位教师带,0,位同学的情形,数据模型:实体联系图,实体联系图,数据对象及其关系可用,E-R,图表示,举例,学生选修课程的,E-R,图,及学生属性的,实体对象表,数据模型:实体联系图,职称,职务,姓名,教工,号,性别,教师,教,1,成绩,学号,姓名,性别,系,年级,学生,学,N,课程,N M,课名,学时,学分,课程号,某校教学管理,E-R,图,数据及数据库需求,数据,在数据词典中,强调对数据存储结构的逻辑设计,并用,数据结构,表达数据项之间的逻辑关系,数据库,任何一个软件系统都可能有成千上万个数据项,仅仅描述这些数据项是不够的,重要的是如何把它们以最优的方式组织起来,以满足系统对数据的要求,有关数据库的基本概念,数据处理“域”,在软件系统中需要处理的数据是现实世界中存在的事物及其联系的反映,与数据处理有关的的领域分为三个世界,现实世界,信息世界,数据世界,有关数据库的基本概念,现实世界,是存在于人们头脑之外的客观世界,现实世界中的事物可分成,对象,和,性质,两大类,对象,可以是人、是物,还可以是实际的东西或概念的东西,例如,大学、城市等。对象还可以指事物与事物间的联系。,性质,则是指事物的性质或特征,有关数据库的基本概念,信息世界,也叫做,观念世界,,是现实世界在人们头脑中的反映,客观世界中的事物在信息世界中叫做,实体,,反映事物之间联系的叫做,实体模型,实体,是由若干属性的属性值组成,属性,是实体某一方面的特征,相应于事物的性质,例如,一个学生实体是如下的一个,5,元组,(,051139,,张珊,女,,19,,软件),有关数据库的基本概念,信息世界,5,元组中每一元素是学生的某一属性的属性值。他们对应的属性集合是:,(,学号,姓名,性别,年龄,专业,),这些属性集合表征了“学生”实体的类型,叫做,实体型,,同一类型的实体的集合叫做,实体集,有关数据库的基本概念,数据世界,是,信息世界,中信息的数据化,,现实世界,中的事物及其联系在数据世界中用,数据模型,描述,描述每一实体的数据称为,记录,,描述属性的数据叫做,数据项,或,字段,与,实体集,相对应的称为,文件,举例,学生文件就由多个记录组成,这些记录放在一起构成一个二维表,表中每一横排叫做一个记录或元组,每一纵列叫做一个属性,有关数据库的基本概念,数据世界,有关数据库的基本概念,数据世界,记录、数据项和文件,记录,由数据项组成,正如实体由若干属性的属性值组成一样,一般,数据项,沿用属性名。用做属性名时表示观念信息,用做数据项名时表示数据信息,每个数据项包括两个特征:,数据类型,和,数据长度,若干同类型的记录构成,文件,为了对文件中的记录有效组织和存取,通常指定一个数据项进行区别,这个数据项叫做,关键字,E-R方法和实体模型,E-R,方法,( Entity-Relationship Approach),在需求分析阶段进行数据库逻辑设计过程中,使用,E-R,图,可定义一个实体模型,实体模型,是现实世界的纯表示,它不涉及数据世界的数据结构、存取路径、存取效率等问题,因此,它可以转换成数据库中的,数据模型,数据可以按相应数据模型进行组织,E-R方法和实体模型,E-R,图中表示实体联系的符号如下,E-R方法和实体模型,E-R,图,E-R,图中,每个,方框,表示,实体,型或,属性,,方框之间的,连线,表示实体之间,或实体与属性之间的,联系,出现在连线上的短竖线可以看成是“,1”,,而圆圈隐含表示“,0”,,表示关联的,重复性,举例,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)有,学生,、,教师,和,课程,E-R方法和实体模型,E-R,图,用,E-R,图描述它们之间的联系,得下图,其中,学生与课程是多对多的联系,而教师与课程的联系是零、一对多。,E-R方法和实体模型,E-R,图,进一步,要确定属性,例如,学生具有,学号、姓名、性别、年龄、专业,(其它略)等属性;,课程有,课程号、课程名、学分、学时数,等属性;,教师具有,职工号、姓名、年龄、职称,等属性。,此外,学生通过,学号、分数与课程,发生联系,如此可得教学实体模型,E-R方法和实体模型,教学实体模型,数据结构的规范化,规范化技术,信息域分析需要确定,数据的内容,,每个数据项要用表格列出,最后组织成文件的,逻辑结构,,即面向,应用,而不是面向,存储的结构,为了便于,数据库的设计,,常常要对这种结构做一些简化,其中最常见的一种方法就是,规范化技术,数据结构的规范化,数据结构“规范化”,是将,数据的逻辑结构,归结为满足一定条件的,二维表,(关系),表格中每个,信息项,必须是一个,不可分割的,数据项,不可是组项,表格中每一,列,(列表示属性)中所有信息项必须是,同一类型,,各列的名字(属性名)互异,列的次序任意,表格中各,行,(行表示元组),互不相同,,行的次序任意,数据结构的规范化,数据结构“规范化”,不满足上述要求的,二维表,或,关系,,叫,非规范化关系,对于非规范化的关系,必须将它,规范化,,即利用更单纯、更规则的关系代替原来的关系,规范化的目的,举例:,借书(书名,读者姓名,读者部门,借书日期),数据冗余、更新异常、插入异常、删除异常,数据结构的规范化,规范化的目的,消除数据冗余:,即消除表格中数据的重复,消除多义性:,使关系中属性含义清楚、单一,使关系的“概念”单一化:,让每个数据项只是一个简单的数或字符串,而不是一个结构,方便操作:,使数据的插入、删除与修改操作可行并方便,使关系模式更灵活:,易于实现接近自然语言的查询方式,数据结构的规范化,数据结构规范化“程度”,为了减少数据冗余,避免出现插入或删除异常,简化修改数据过程,通常需要把数据规范化,通常用,“,范式,(NF-Normal Forms),”,定义消除数据冗余的程度,,它表示属性之间的依赖程度,第一范式,(1NF),数据冗余程度最大,第五范式,(5NF),数据冗余程度最小,范式级别越高,存储同样数据就需要分解成更多张表,因此,,“,存储自身,”,的过程也就越复杂,数据结构的规范化,1NF-5NF,范式的定义,第一范式(,1NF,),每个属性值都必须是原子值,,即仅仅是一个简单值而不含内部结构,第二范式(,2NF,),满足第一范式条件,而且每个非关键宇屑性都,由整个关键字决定,(,而不是由关键字的一部分来决定,),。,第三范式(,3NF,),符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字局性的进一步描述,(,即,一个非关镑字属性值不依赖于另一个非关键字属性值,),。,数据结构的规范化,1NF-5NF,范式的定义,第四范式(,4NF,),满足第三范式条件,并且在关系模式中没有超过一个的多值事实。,即:,某个属性有若干个值,这些值由另一个属性的一个值确定,例如:职工,-,孩子,-,孩子选修课程,第五范式(,5NF,),符合第四范式的条件,每个关系不能进一步分解成两个或多个表,而且不丢失信息。,数据结构的规范化,举例,第一范式(,1NF,),每个属性值都必须是原子值,,即仅仅是一个简单值而不含内部结构,关系:,工资(姓名,部门,工资(基本工资、津贴,),上述关系不符合,1NF,数据结构的规范化,举例,第二范式(,2NF,),满足第一范式条件,而且每个非关键宇屑性都,由整个关键字决定,(,而不是由关键字的一部分来决定,),。,关系:,借书(书名,读者姓名,读者部门,借书日期),读者部门只依赖于读者姓名,分解:,借书(,书名,,,读者姓名,,借书日期),读者(,姓名,,所在部门),数据结构的规范化,举例,第三范式(,3NF,),符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字局性的进一步描述,(,即,一个非关镑字属性值不依赖于另一个非关键字属性值,),。,关系:,职员工资(,姓名,,工资级别,基本工资),分解:,职员工资(,姓名,,工资级别),工资级别对照(,工资级别,,基本工资),关系:,库存零件(,零件编号,,名称,单价,数量,金额)?,数据结构的规范化,如何进行数据规范化,举例:教学管理,有三个实体型,即,课程,、,学生,和,教师,,用三个关系保存它们的信息:,学生,(,学号,,姓名,性别,年龄,专业,籍贯,),教师,(,职工号,,姓名,年龄,职称,工资级别,工资,),课程,(,课程号,,课程名,学分,学时,课程类型,),数据结构的规范化,如何进行数据规范化,举例:教学管理,为表示实体型之间的联系,又建立两个关系:,选课,(,学号,,课程号,听课出勤率,作业完成率,分数,),教课,(,职工号,,课程号,),这五个关系,组成了,数据库的模型,在每个关系中,属性名下加下划线指明,关键字,,并规定关键字能唯一地标识一个元组,数据结构的规范化,数据结构规范化“程度”,常用的范式分为第一范式(,1NF,)、第二范式(,2NF,)和第三范式(,3NF,),设,是一个关系,,,和是中的两个属性,,若对于的任一个值,仅有一个值与之对应,则称的属性函数依赖于属性,称为“,X,决定,Y,”,记为,X-Y,教师,(,职工号,姓名,年龄,),其中,属性“,姓名,”,“,年龄,”等都函数依赖于属性“,职工号,”,属性可以是复合属性,如:,选课,(,学号,课程号,听课出勤率,),数据结构的规范化,数据结构规范化“程度”,如果,属性函数依赖于复合属性,,而不与的任何真子集函数依赖,则称,属性完全函数依赖于复合属性,。,例如在“,选课,”关系中,属性“,听课出勤率,”、“,作业完成率,”和“,分数,”等表示某个学生学习某门课程时的学习情况,只有同时指定“,学号,”和“,课程号,”,才能准确地说明是哪位学生学习哪门课程时的学习情况,因此,“,分数,”等属性完全函数依赖于“,学号,课程号,”,数据结构的规范化,判断规范化程度的条件是:,条件,1,:,关系中所有属性都是“单纯域”,即不出现“表中有表”,条件,2,:,非主属性完全函数依赖于关键字,条件,3,:,非主属性相互独立,即任何非主属性间不存在函数依赖,如果一个关系连,条件,1,都不满足,则这个关系,是非规范化的,数据结构的规范化,如果一个关系仅满足,条件,1,,则这个关系满足,第一范式,(1NF),如果一个关系满足,条件,1,、,2,,但不满足,条件,3,,则这个关系满足,第二范式,(2NF),如果一个关系同时满足,条件,1,、,2,和,3,,则这个关系表满足,第三范式,(3NF),当数据模型达到,3NF,,一般情况下就能满足数据库应用的需要,在需求分析阶段进行数据库分析的流程,数据库分析的过程,数据库分析的过程,数据库分析的过程,为开发一个系统所使用的数据库,在开始分析数据库的需求前,分析员必须了解该系统的总目标和范围,然后建立一个,完整并高度细化的信息模型,此信息模型应包括一个,综合的数据词典,,定义所有在开发数据库时用到的,数据项,接着数据库分析定义数据库的,逻辑特性,和,物理特性,数据库分析的过程,以信息模型和系统规格说明为指导,定义数据库的,逻辑数据结构,这种逻辑结构必须适应,数据存取、修改、关联性,及其它相关需求,一旦逻辑数据结构建立起来,就可以研制数据库的,物理结构,物理数据库结构定义,文件结构,、,记录格式,、与,硬件相关的处理方式,以及,数据库管理系统的特性,数据库分析的过程,最后,要对,模式,和,物理特性,进行完全的评审,在数据库分析过程中所考虑的,因素间存在着复杂的相互联系。,改变其中的任何一个因素都会(潜在地)影响其它的因素,所以必须在各个因素之间进行折衷,这种折衷包括,专用性,和,通用性,的折衷,,信息关联程度,、,扩充潜力,及,操作特性,等方面的折衷,数据库分析的过程,考虑,信息关联程度,和,扩充潜力,(包括信息规模和信息内容两方面)主要,基于需求分析和设计阶段分派给数据库的专用性程度,。,专用的数据库要为系统特定的信息需求服务,,因此信息结构要设计得能适应要求的关联性和预计的扩充。,通用的数据库可以适应更为广泛的各种信息需求,,但是为了获得通用性要付出代价。,数据库分析的过程,操作特性根据折衷的结果而定,数据库的结构、规模和逻辑设计都会对它的物理组织、硬件、存取方式以及性能产生重要的影响,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,行为模型状态转换图,状态,系统对事件的响应,做一个或一系列动作,仅仅改变系统本身的状态,即改变状态又做动作,状态,初态:一个,终态:,0,支多个,中间状态,状态图可以表示系统循环运行过程,也可以表示系统单程生命期,行为模型状态转换图,事件,事件是在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换的另一个状态的外界事件的抽象,符号,行为模型状态转换图,终态,中间状态,状态名称,状态变量名字和值,活动表,事件名,(enter,exit,do)(,参数表,)/,动作表达式,箭头上标出触发转换的事件表达式,未标明表示自动触发转换。,事件表达式:事件说明,守卫条件,/,动作,表达式,事件说明:事件名(参数表),守卫条件:布尔表达式,动作表达式:一个过程表达式,状态转换,初态,挂断电话,闲置,拿起听筒,拨号音,timer=0,do,/,想拨号音且增加,timer,超时,超时,do/,响蜂鸣音,存储的信息,do/,播放信息,无效号码,拨号,数字,接通中,do/,试接通,有效号码,已接通,振铃,do/,振铃,受话人回话,通话,断线,受话人挂断电话,信息播完,占线,忙音,do/,响忙音,挂断电话,数字,图,3.4,电话系统的状态图,课程内容提纲,第,3,章:,“,需求分析,”,需求分析的任务,获得需求的方法,分析建模与规格说明,结构化分析简介,数据模型,:,实体,-,关系图,功能模型,:,数据流图,行为模型,:,状态转换图,其他图形工具,其他图形工具,层次方框图,层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构,树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面各层的矩形框代表这个数据的子集,最低层的各个框代表组成这个数据的实际数据元素,(,不可再分割,),产品,软件,硬件,服务,系统软件,应用软件,处理机,存储器,外部设备,软件服务,硬件服务,培训,操作系统,编译程序,软件工具,其他图形工具,Warnier,图,Warnier,图是由法国科学家,J.D.Warnier,提出的表示信息层次结构的另外一种图形工具,在,Warnier,图中花括号用来区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息,符号表示在其上、下方的名字中的一个名字,名字右边圆括号中的符号表示这个名字在信息类中重复出现的次数,软件产品,系统软件,应用软件,操作系统(,P,1,),编译程序(,P,2,),软件工具,编译程序(,P,3,),图形生成程序(,P,4,),其他图形工具,IPO,图,IPO,图是输入,/,处理,/,输出图的简称,,它是由美国,IBM,公司,发展完善起来的一种,图形工具,可以方便,地表示输入数据、数,据处理和输出数据三,者之间的关系。,系统:,模块:,编号:,作者:,日期:,IPO,图,被调用:,输 入:,调 用:,输 出:,处 理:,局部数据元素:,注 释:,验证软件需求,验证软件需求的途径与方法,一致性,:在所有需求中,任何一条需求不能和其他需求互相矛盾。(,形式化描述,),完整性,:软件规格说明书必须包括用户需求的每一个功能或性能。(,原型,),现实性,:指定的需求应是用现有的硬件技术和软件技术可以实现的。(,仿真和模拟,),有效性,:软件需求确实能解决用户所面对的问题。(,原型,),验证软件需求,用于需求分析的软件工具,PSL,PSA,系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等八个方面描述信息系统。,一旦用,PSL,对系统做了完整描述,就可以调用,PSA,产生一组分析报告,其中包括所有修改规格说明数据库的记录,用各种形式描述数据库信息的参照报告,(,包括图形形式的描述,),,关于项目管理信息的总结报告,以及评价数据库持性的分析报告。,本章结束, 下一章节导读:,“,形式化说明技术,”,(,课外自学内容,),109,课外作业,自学内容,形式化说明技术,课外作业,第,1,章 概述,第,3,、,6,、,7,小题,第,2,章 可行性分析,第,1,、,4,小题,第,3,章 需求分析,第,1,、,5,小题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!