软件工程03需求分析.ppt

上传人:sccc 文档编号:5636785 上传时间:2023-08-04 格式:PPT 页数:110 大小:2.15MB
返回 下载 相关 举报
软件工程03需求分析.ppt_第1页
第1页 / 共110页
软件工程03需求分析.ppt_第2页
第2页 / 共110页
软件工程03需求分析.ppt_第3页
第3页 / 共110页
软件工程03需求分析.ppt_第4页
第4页 / 共110页
软件工程03需求分析.ppt_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《软件工程03需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程03需求分析.ppt(110页珍藏版)》请在三一办公上搜索。

1、个人成果,妥善保存,请勿传播,软件工程,张康立 Email:,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,个人成果,妥善保存,请勿传播,可行性研究,需求分析,概要设计,详细设计,实 现,集成测试,确认测试,使用与维护,退役,软件定义,软件开发,软件使用与维护,软件生命周期,个人成果,妥善保存,请勿传播,需求分析概述,开发软件系统前的“问题定义”过程了解用户的期望和要求软件需求 需求分析过程需求分析的重要性软件开发的基础和前提最终目标软件系统验

2、收的标准避免或者尽早剔除早期的错误,个人成果,妥善保存,请勿传播,需求分析与其他过程的关系,软件需求,设计过程,变更控制过程,系统测试过程,编制文档过程,项目计划过程,项目跟踪和控制过程,基线确定前缩小范围,作为输入,请求范围变更,跟踪状态,变更,基线,作为参考,验证实现的正确性,作为基础,成果可追溯,作为基础,个人成果,妥善保存,请勿传播,需求分析概述,与可行性分析的区别可行性分析只是粗略了解用户需求很多细节被忽略了用户在需求分析中的作用需求分析的任务准确的回答“系统必须做什么?”仍然回答“What”,而不是“How”,但更细致、精确(合同的拟定)需求规格说明工作的艰巨性,个人成果,妥善保存

3、,请勿传播,需求分析概述,需求分析的困难片面性,不完全模糊性,不准确不一致性,歧义等等应用系统复杂,庞大 因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行需求分析,需求分析概述,导致项目失控的两个常见原因之一需求分析不足/不稳定的需求它是”理想化估算”邪恶的孪生兄弟!最近的统计情况2006年软件项目成功率不足30%超过60%的失败项目是由于需求不足造成的,个人成果,妥善保存,请勿传播,一副关于软件项目需求的漫画,个人成果,妥善保存,请勿传播,一副关于软件项目的漫画,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,需求分析概述,在需求分析阶段结束之前,系统分析员应该写出软

4、件规格说明书,所有分析方法都应遵守下述准则:1 必须理解并描述问题的信息域,建立数据模型2 必须定义软件应完成的功能,建立功能模型3 必须描述作为外部事件的软件行为,建立行为模型4 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,需求分析的任务,需求分析任务综述深入描述软件的功能和性能确定软件设计的约束确定软件同其它系统元素的接口细节定义软件的其它有效性需求,个人成果,妥善保存,请勿

5、传播,个人成果,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求1 功能要求:系统必须做什么?划分出系统必须完成的所有功能2 性能要求:做得怎样?系统必须满足的定时约束或容量约束-例如:速度(系统的响应时间)、信息速率、主存容量、磁盘容量、安全性3 运行要求:运行环境、软硬件配置等可靠性和可用性需求可用性需求:量化了用户可以使用系统的程度,个人成果,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求4 出错处理需求说明系统对环境错误应该怎样响应,对应用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽量少5 接口需求用户接口需求、硬件接口需求、软件接口需求、通信接口需求,个人成果

6、,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求6 约束用户和环境强加给项目的限制条件含:精度、工具和语言约束、设计约束、使用标准、使用硬件平台7 逆向需求说明软件系统不应该做什么8 将来可能提出来的需求是将来有可能提出的要求,目的是使在现有的设计中为将来的扩充和修改预做准备,个人成果,妥善保存,请勿传播,需求分析的任务,分析系统的数据要求建立概念模型 E-R Diagram形象描绘数据结构 Data Hierarchy,Warnier Diagram,IPO数据结构规范化,个人成果,妥善保存,请勿传播,需求分析的任务,导出系统的逻辑模型数据流图(DFD),数据字典(DD)实体-关系图

7、(ERD)状态转换图(STD)主要的处理算法描述逻辑模型(IPO)修正系统开发计划准确地估计系统的成本及进度,修正以前我们所制定的开发计划,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,需求分析的方法,目标需求分析研究的对象是软件项目的用户要求准确地表达被接受的用户要求确定被开发软件系统的系统元素将功能和信息结构分配到这些系统元素中,个人成果,妥善保存,请勿传播,需求分析的方法,借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什

8、么”的问题,个人成果,妥善保存,请勿传播,通常软件开发项目是要实现目标系统的物理模型,目标系统的物理模型是由它的逻辑模型经实例化(即具体到某个业务领域)而得到的,需求分析的方法,常用的需求分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向对象的分析方法(OOA)等现代的需求分析方法用例分析技术(Use Case):RUP用户故事、用户素材(User Story):XP特征驱动(Feature):FDD,个人成果,妥善保存,请勿传播,获得需求的方法,问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析,个人成果,妥善保存,请勿传播,个

9、人成果,妥善保存,请勿传播,获得需求的方法,访谈正式访谈系统分析员将提出一些事先准备好的具体问题非正式访谈系统分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法向被调查人员发调查表情景分析技术对用户将来使用目标系统解决某个具体问题的方法和结果进行分析,个人成果,妥善保存,请勿传播,获得需求的方法,访谈情景分析技术情景分析技术主要体现在两个方面它能在某种程度上演示目标系统的行为保证用户在需求分析过程中始终扮演积极主动的角色情景分析技术的主要过程情景分析技术与OO方法中的“用例”技术用例技术:Use Case,个人成果,妥善保存,请勿传播,获得需求的方法,面向数据流自顶向

10、下求精基本思想:“自顶向下,逐步求精”抽象和分解沿数据流图从输出端向输入端回溯数据流图的输出端是系统的最终目的;向回确定每个数据元素的来源,可加细数据流图及数据字典,并将相关算法记录在IPO图中;用户复查从输入端开始解释输入数据如何变换成输出验证已知元素,补充未知元素,个人成果,妥善保存,请勿传播,获得需求的方法,面向数据流自顶向下求精分析与综合(1)问题的具体分析:细化数据流图加细前后的I/O须相同分解到须考虑具体实现的代码时即可仃止(2)方案的综合,个人成果,妥善保存,请勿传播,获得需求的方法,简易的应用规格说明技术分析需求的典型过程进行初步访谈,初步确定待解决的问题的范围和解决方案开发者

11、和用户分别写出“产品需求”选定会议的时间和地点,选举协调人邀请开发者和用户双方组织的代表出席会议列出系统环境组成部分的对象、系统将产生的对象、系统为完成自己的功能将使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性能标准共同创建一张组合列表起草完整的软件需求规格说明书,获得需求的方法,快速建立软件原型快速建立软件原型的特性快速容易修改软件原型的分类在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性探索型:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性实验型:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠进

12、化型:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型原型的使用策略废弃策略(探索型、实验型)先构造一个功能简单且质量要求不高的模型系统,针对这个模型反复进行分析修改,形成比较好的设计据此设计出更加完整、准确、一致、可靠的最终系统系统构造完成后,原来的模型系统就被废弃不用追加策略(进化型)先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型原型生

13、存期原型的开发和使用过程叫做原型生存期原型生存期模型如下图(a):原型生存期的模型图(b):是模型的细化,个人成果,妥善保存,请勿传播,获得需求的方法,个人成果,妥善保存,请勿传播,获得需求的方法,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型快速构建和修改原型的3种方法和工具第四代技术数据查询和报表语言、程序和应用系统生成器、高级的非过程语言可重用的软件构件使用一组已有的软件构件来装配原型。软件构件可以是数据结构、数据库、软件体系结构构件(程序)、过程构件(模块)形式化规格说明和原型环境,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求

14、分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,个人成果,妥善保存,请勿传播,分析建模与规格说明,分析建模建模是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述模型由一组图形符号和组织这些符号的规则组成模型与工具数据模型实体-关系图功能模型数据流图行为模型状态转换图,分析建模与规格说明,分析建模的原则需要能够表达和理解问题的信息域和功能域要能以层次化的方式对问题进行分解和不断细化,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,需求分析流程,个人成果,妥善保存,请勿传播,分

15、析建模与规格说明,软件需求规格说明用自然语言完整、准确、具体描述系统的数据需求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求、将来可能提出来的需求,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,分析建模与规格说明,需求规格说明的内容 系统规格说明系统概貌 功能要求 性能要求 运行要求可能增加的要求 DFD IPO 数据要求DD Hierarchy 或 Warnier Diagram 用户系统描述 初步用户手册:从用户的观点考虑系统系统功能、性能 使用与步骤 等 修正的开发计划成本估计 资源使用计划 进度计划,个人成果,妥善保存,请勿传播,分析建模

16、与规格说明,软件需求规格说明的简略大纲.引言A.系统参考文献B.整体描述C.软件项目约束.信息描述A.信息内容B.信息流:1.数据流、2.控制流.功能描述A.功能分解B.功能描述:1.处理说明、2.限制、3.性能需求、4.设计约束、5.支撑图,个人成果,妥善保存,请勿传播,分析建模与规格说明,软件需求规格说明的简略大纲.功能描述C.控制描述:1.控制规格说明、2.设计约束.行为描述 A.系统状态 B.事件和动作.确认标准 A.性能范围 B.测试种类 C.预期的软件响应 D.特殊考虑.参考书目.附录,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析

17、建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,结构化分析方法(SA),结构化方法的发展首先是“结构化程序设计”Structured Programming,SP方法的提出其次是“结构化设计”Structured Design,SD方法的出现逐渐是“结构化分析”Structured Analysis,SA方法的形成因此,结构化方法由三部分组成,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,结构化分析方法(SA),结构化分析方法最初由Douglas Ross提出,由DeMarco推广,由Ward和Mellor以及后来的Hatle

18、y和Pirbhai扩充,形成了今天的结构化分析方法的框架结构化分析方法是一种建模技术。它建立的分析模型如图,结构化分析方法(SA),结构化分析指导思想:“自顶而下,逐步求精”基本原理:“抽象”与“分解”使用工具数据流图、数据字典、E-R图、状态转换图分析步骤建立现行系统物理模型-抽象现行系统逻辑模型-建立新系统逻辑模型-补充和优化(分解),个人成果,妥善保存,请勿传播,结构化分析方法(SA),结构化分析模型在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象围绕着这个核心的有三种图实体-关系图(ERD):描述数据对象及数据对象之间的关系数据流图(DFD):描述数据在系统中如

19、何被传送或变换,以及描述如何对数据流进行变换的功能(子功能)状态转换图(STD):描述系统对外部事件如何响应,如何动作因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,数据模型:实体联系图,数据建模建立三种相互关联的信息模型数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系数据对象是需被目标系统所理解的复合信息的表示所谓复合信息是具有若干不同特征

20、或属性的信息数据对象可以是外部实体(如显示器),事物(如报表或显示),角色(如教师或学生),行为(如一个电话呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如传达室)或结构(如文件),个人成果,妥善保存,请勿传播,数据模型:实体联系图,数据对象数据对象和OO中的对象数据对象只封装了数据,没有包含作用于这些数据上的操作,这与面向对象中的类和对象不同具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例,个人成果,妥善保存,请勿传播,数据模型:实体联系图,属性定义了数据对象的特征作用 为数据对象的实例命名;描述这个实例;建立对另一个数据对象的另一个

21、实例的引用举例数据对象“学生”的属性学号、姓名、性别、出生年月、籍贯,个人成果,妥善保存,请勿传播,数据模型:实体联系图,属性关键码(key)为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码(key),书写为_id例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,数据模型:实体联系图,关系各个数据对象的实例之间相互连接的方式称为关系(也称为关联)举例一个学生“张珊”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来,个人成果,妥善保存,请勿

22、传播,数据模型:实体联系图,关系数据对象的实例之间关系有三种(1)一对一联系(11)(2)一对多联系(1N)(3)多对多联系(MN)这种实例的关联称为“基数”,基数表明了参与关联的实例间的“重复性”实例关联有“可选”和“必须”之分,它表明了关系的“参与性”用圆圈“”表示关系是可选的,用竖线“”表示关系必须出现1次,个人成果,妥善保存,请勿传播,数据模型:实体联系图,关系举例如1位教师带学生的30位同学,就是1:n的关系但也有1位教师带0位同学的情形,个人成果,妥善保存,请勿传播,数据模型:实体联系图,实体联系图数据对象及其关系可用E-R图表示举例学生选修课程的E-R图及学生属性的实体对象表,个

23、人成果,妥善保存,请勿传播,数据模型:实体联系图,数据及数据库需求,数据在数据词典中,强调对数据存储结构的逻辑设计,并用数据结构表达数据项之间的逻辑关系数据库任何一个软件系统都可能有成千上万个数据项仅仅描述这些数据项是不够的重要的是如何把它们以最优的方式组织起来,以满足系统对数据的要求,有关数据库的基本概念,数据处理“域”在软件系统中需要处理的数据是现实世界中存在的事物及其联系的反映与数据处理有关的的领域分为三个世界现实世界信息世界数据世界,有关数据库的基本概念,现实世界是存在于人们头脑之外的客观世界现实世界中的事物可分成对象和性质两大类对象可以是人、是物,还可以是实际的东西或概念的东西,例如

24、,大学、城市等。对象还可以指事物与事物间的联系。性质则是指事物的性质或特征,有关数据库的基本概念,信息世界也叫做观念世界,是现实世界在人们头脑中的反映客观世界中的事物在信息世界中叫做实体,反映事物之间联系的叫做实体模型实体是由若干属性的属性值组成属性是实体某一方面的特征,相应于事物的性质例如,一个学生实体是如下的一个5元组(051139,张珊,女,19,软件),有关数据库的基本概念,信息世界5元组中每一元素是学生的某一属性的属性值。他们对应的属性集合是:(学号,姓名,性别,年龄,专业)这些属性集合表征了“学生”实体的类型,叫做实体型,同一类型的实体的集合叫做实体集,有关数据库的基本概念,数据世

25、界是信息世界中信息的数据化,现实世界中的事物及其联系在数据世界中用数据模型描述描述每一实体的数据称为记录,描述属性的数据叫做数据项或字段与实体集相对应的称为文件举例学生文件就由多个记录组成,这些记录放在一起构成一个二维表表中每一横排叫做一个记录或元组,每一纵列叫做一个属性,有关数据库的基本概念,数据世界,有关数据库的基本概念,数据世界记录、数据项和文件记录由数据项组成,正如实体由若干属性的属性值组成一样一般数据项沿用属性名。用做属性名时表示观念信息,用做数据项名时表示数据信息每个数据项包括两个特征:数据类型和数据长度若干同类型的记录构成文件为了对文件中的记录有效组织和存取,通常指定一个数据项进

26、行区别,这个数据项叫做关键字,E-R方法和实体模型,E-R方法(Entity-Relationship Approach)在需求分析阶段进行数据库逻辑设计过程中使用E-R图,可定义一个实体模型实体模型是现实世界的纯表示,它不涉及数据世界的数据结构、存取路径、存取效率等问题因此,它可以转换成数据库中的数据模型数据可以按相应数据模型进行组织,E-R方法和实体模型,E-R图中表示实体联系的符号如下,E-R方法和实体模型,E-R图E-R图中,每个方框表示实体型或属性,方框之间的连线表示实体之间,或实体与属性之间的联系出现在连线上的短竖线可以看成是“1”,而圆圈隐含表示“0”,表示关联的重复性举例在教学

27、管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)有学生、教师和课程,E-R方法和实体模型,E-R图用E-R图描述它们之间的联系,得下图其中,学生与课程是多对多的联系,而教师与课程的联系是零、一对多。,E-R方法和实体模型,E-R图进一步,要确定属性例如,学生具有学号、姓名、性别、年龄、专业(其它略)等属性;课程有课程号、课程名、学分、学时数等属性;教师具有职工号、姓名、年龄、职称等属性。此外,学生通过学号、分数与课程发生联系如此可得教学实体模型,E-R方法和实体模型,教学实体模型,数据结构的规范化,规范化技术信息域分析需要确定数据的

28、内容,每个数据项要用表格列出,最后组织成文件的逻辑结构,即面向应用而不是面向存储的结构为了便于数据库的设计,常常要对这种结构做一些简化,其中最常见的一种方法就是规范化技术,数据结构的规范化,数据结构“规范化”是将数据的逻辑结构归结为满足一定条件的二维表(关系)表格中每个信息项必须是一个不可分割的数据项,不可是组项表格中每一列(列表示属性)中所有信息项必须是同一类型,各列的名字(属性名)互异,列的次序任意表格中各行(行表示元组)互不相同,行的次序任意,数据结构的规范化,数据结构“规范化”不满足上述要求的二维表或关系,叫非规范化关系对于非规范化的关系,必须将它规范化,即利用更单纯、更规则的关系代替

29、原来的关系规范化的目的举例:借书(书名,读者姓名,读者部门,借书日期)数据冗余、更新异常、插入异常、删除异常,数据结构的规范化,规范化的目的消除数据冗余:即消除表格中数据的重复消除多义性:使关系中属性含义清楚、单一使关系的“概念”单一化:让每个数据项只是一个简单的数或字符串,而不是一个结构方便操作:使数据的插入、删除与修改操作可行并方便使关系模式更灵活:易于实现接近自然语言的查询方式,个人成果,妥善保存,请勿传播,数据结构的规范化,数据结构规范化“程度”为了减少数据冗余,避免出现插入或删除异常,简化修改数据过程,通常需要把数据规范化通常用“范式(NF-Normal Forms)”定义消除数据冗

30、余的程度,它表示属性之间的依赖程度第一范式(1NF)数据冗余程度最大,第五范式(5NF)数据冗余程度最小范式级别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂,个人成果,妥善保存,请勿传播,数据结构的规范化,1NF-5NF范式的定义第一范式(1NF)每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构第二范式(2NF)满足第一范式条件,而且每个非关键宇屑性都由整个关键字决定(而不是由关键字的一部分来决定)。第三范式(3NF)符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字局性的进一步描述(即一个非关镑字属性值

31、不依赖于另一个非关键字属性值)。,个人成果,妥善保存,请勿传播,数据结构的规范化,1NF-5NF范式的定义第四范式(4NF)满足第三范式条件,并且在关系模式中没有超过一个的多值事实。即:某个属性有若干个值,这些值由另一个属性的一个值确定例如:职工-孩子-孩子选修课程第五范式(5NF)符合第四范式的条件,每个关系不能进一步分解成两个或多个表,而且不丢失信息。,个人成果,妥善保存,请勿传播,数据结构的规范化,举例第一范式(1NF)每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构关系:工资(姓名,部门,工资(基本工资、津贴)上述关系不符合1NF,个人成果,妥善保存,请勿传播,数据结构的规范

32、化,举例第二范式(2NF)满足第一范式条件,而且每个非关键宇屑性都由整个关键字决定(而不是由关键字的一部分来决定)。关系:借书(书名,读者姓名,读者部门,借书日期)读者部门只依赖于读者姓名分解:借书(书名,读者姓名,借书日期)读者(姓名,所在部门),个人成果,妥善保存,请勿传播,数据结构的规范化,举例第三范式(3NF)符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字局性的进一步描述(即一个非关镑字属性值不依赖于另一个非关键字属性值)。关系:职员工资(姓名,工资级别,基本工资)分解:职员工资(姓名,工资级别)工资级别对照(工资级别,基本工资)关

33、系:库存零件(零件编号,名称,单价,数量,金额)?,数据结构的规范化,如何进行数据规范化举例:教学管理有三个实体型,即课程、学生和教师,用三个关系保存它们的信息:学生(学号,姓名,性别,年龄,专业,籍贯)教师(职工号,姓名,年龄,职称,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型),数据结构的规范化,如何进行数据规范化举例:教学管理为表示实体型之间的联系,又建立两个关系:选课(学号,课程号,听课出勤率,作业完成率,分数)教课(职工号,课程号)这五个关系,组成了数据库的模型在每个关系中,属性名下加下划线指明关键字,并规定关键字能唯一地标识一个元组,数据结构的规范化,数据结构规范化“

34、程度”常用的范式分为第一范式(1NF)、第二范式(2NF)和第三范式(3NF)设是一个关系,和是中的两个属性,若对于的任一个值,仅有一个值与之对应,则称的属性函数依赖于属性,称为“X决定Y”,记为X-Y,教师(职工号,姓名,年龄,)其中,属性“姓名”,“年龄”等都函数依赖于属性“职工号”属性可以是复合属性,如:选课(学号,课程号,听课出勤率,),数据结构的规范化,数据结构规范化“程度”如果属性函数依赖于复合属性,而不与的任何真子集函数依赖,则称属性完全函数依赖于复合属性。例如在“选课”关系中,属性“听课出勤率”、“作业完成率”和“分数”等表示某个学生学习某门课程时的学习情况,只有同时指定“学号

35、”和“课程号”,才能准确地说明是哪位学生学习哪门课程时的学习情况因此,“分数”等属性完全函数依赖于“学号,课程号”,数据结构的规范化,判断规范化程度的条件是:条件1:关系中所有属性都是“单纯域”,即不出现“表中有表”条件2:非主属性完全函数依赖于关键字条件3:非主属性相互独立,即任何非主属性间不存在函数依赖如果一个关系连条件1都不满足,则这个关系是非规范化的,数据结构的规范化,如果一个关系仅满足条件1,则这个关系满足第一范式(1NF)如果一个关系满足条件1、2,但不满足条件3,则这个关系满足第二范式(2NF)如果一个关系同时满足条件1、2和3,则这个关系表满足第三范式(3NF)当数据模型达到3

36、NF,一般情况下就能满足数据库应用的需要,在需求分析阶段进行数据库分析的流程,数据库分析的过程,数据库分析的过程,数据库分析的过程为开发一个系统所使用的数据库,在开始分析数据库的需求前,分析员必须了解该系统的总目标和范围,然后建立一个完整并高度细化的信息模型此信息模型应包括一个综合的数据词典,定义所有在开发数据库时用到的数据项接着数据库分析定义数据库的逻辑特性和物理特性,数据库分析的过程,以信息模型和系统规格说明为指导,定义数据库的逻辑数据结构这种逻辑结构必须适应数据存取、修改、关联性及其它相关需求一旦逻辑数据结构建立起来,就可以研制数据库的物理结构物理数据库结构定义文件结构、记录格式、与硬件

37、相关的处理方式以及数据库管理系统的特性,数据库分析的过程,最后,要对模式和物理特性进行完全的评审在数据库分析过程中所考虑的因素间存在着复杂的相互联系。改变其中的任何一个因素都会(潜在地)影响其它的因素,所以必须在各个因素之间进行折衷这种折衷包括专用性和通用性的折衷,信息关联程度、扩充潜力及操作特性等方面的折衷,数据库分析的过程,考虑信息关联程度和扩充潜力(包括信息规模和信息内容两方面)主要基于需求分析和设计阶段分派给数据库的专用性程度。专用的数据库要为系统特定的信息需求服务,因此信息结构要设计得能适应要求的关联性和预计的扩充。通用的数据库可以适应更为广泛的各种信息需求,但是为了获得通用性要付出

38、代价。,数据库分析的过程,操作特性根据折衷的结果而定数据库的结构、规模和逻辑设计都会对它的物理组织、硬件、存取方式以及性能产生重要的影响,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,个人成果,妥善保存,请勿传播,行为模型状态转换图,状态系统对事件的响应做一个或一系列动作仅仅改变系统本身的状态即改变状态又做动作状态初态:一个终态:0支多个中间状态状态图可以表示系统循环运行过程,也可以表示系统单程生命期,个人成果,妥善保存,请勿传播,行为模型状态

39、转换图,事件事件是在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换的另一个状态的外界事件的抽象符号,个人成果,妥善保存,请勿传播,行为模型状态转换图,终态,中间状态,状态名称,状态变量名字和值,活动表,事件名(enter,exit,do)(参数表)/动作表达式,箭头上标出触发转换的事件表达式,未标明表示自动触发转换。事件表达式:事件说明守卫条件/动作 表达式事件说明:事件名(参数表)守卫条件:布尔表达式动作表达式:一个过程表达式,状态转换,初态,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格

40、说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具,个人成果,妥善保存,请勿传播,其他图形工具,层次方框图层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构树形结构的顶层是一个单独的矩形框,它代表完整的数据结构下面各层的矩形框代表这个数据的子集,最低层的各个框代表组成这个数据的实际数据元素(不可再分割),个人成果,妥善保存,请勿传播,产品,软件,硬件,服务,系统软件,应用软件,处理机,存储器,外部设备,软件服务,硬件服务,培训,操作系统,编译程序,软件工具,个人成果,妥善保存,请勿传播,其他图形工具,Warnier图Warnier图是由法国科

41、学家J.D.Warnier提出的表示信息层次结构的另外一种图形工具在Warnier图中花括号用来区分数据结构的层次在一个花括号内的所有名字都属于同一类信息符号表示在其上、下方的名字中的一个名字名字右边圆括号中的符号表示这个名字在信息类中重复出现的次数,个人成果,妥善保存,请勿传播,软件产品,系统软件应用软件,操作系统(P1)编译程序(P2),软件工具,编译程序(P3)图形生成程序(P4),个人成果,妥善保存,请勿传播,其他图形工具,IPO图IPO图是输入/处理/输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,可以方便地表示输入数据、数据处理和输出数据三者之间的关系。,系统:模块:

42、编号:,作者:日期:,IPO图,被调用:,输 入:,调 用:,输 出:,处 理:,局部数据元素:,注 释:,个人成果,妥善保存,请勿传播,验证软件需求,验证软件需求的途径与方法一致性:在所有需求中,任何一条需求不能和其他需求互相矛盾。(形式化描述)完整性:软件规格说明书必须包括用户需求的每一个功能或性能。(原型)现实性:指定的需求应是用现有的硬件技术和软件技术可以实现的。(仿真和模拟)有效性:软件需求确实能解决用户所面对的问题。(原型),个人成果,妥善保存,请勿传播,验证软件需求,用于需求分析的软件工具PSLPSA系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等八个方面描述信息系统。一旦用PSL对系统做了完整描述,就可以调用PSA产生一组分析报告,其中包括所有修改规格说明数据库的记录,用各种形式描述数据库信息的参照报告(包括图形形式的描述),关于项目管理信息的总结报告,以及评价数据库持性的分析报告。,个人成果,妥善保存,请勿传播,本章结束,下一章节导读:“形式化说明技术”(课外自学内容),个人成果,妥善保存,请勿传播,课外作业,自学内容形式化说明技术课外作业第1章 概述第3、6、7小题第2章 可行性分析第1、4小题第3章 需求分析第1、5小题,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号