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