软件需求分析.ppt
《软件需求分析.ppt》由会员分享,可在线阅读,更多相关《软件需求分析.ppt(105页珍藏版)》请在咨信网上搜索。
n n软件需求分析的任务和过软件需求分析的任务和过程程n n结构化分析方法结构化分析方法n n原型化方法原型化方法n n图形分析方法图形分析方法n n有穷状态机有穷状态机n nPetri网网(包括第(包括第3章和第章和第4章内容)章内容).3.1软件需求分析的任务软件需求分析的任务n n确定对系统的综合要求确定对系统的综合要求n n分析系统的数据要求分析系统的数据要求n n导出系统的逻辑模型导出系统的逻辑模型n n修正开发计划修正开发计划.软件的综合需求(软件的综合需求(P46):):n n功能需求功能需求n n性能需求性能需求n n环境需求环境需求n n可靠性需求可靠性需求n n安全保密要求安全保密要求n n约束约束n n逆向需求逆向需求n n用户界面需求用户界面需求n n资源使用需求资源使用需求n n成本消耗需求成本消耗需求n n开发进度需求开发进度需求n n出错处理需求出错处理需求n n接口需求接口需求n n将来可能提出将来可能提出的要求的要求.分析系统的数据要求分析系统的数据要求n采用建立数据模型的方采用建立数据模型的方法分析系统的数据法分析系统的数据n数据结构规范化问题数据结构规范化问题范式范式.n n借助于当前系统的逻辑模型导出借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标目标系统的逻辑模型,解决目标系统的系统的“做什么做什么”的问题。的问题。.3.2需求分析的方法及过程需求分析的方法及过程(1)问题识别问题识别n n从系统的角度来理解软件并评审软从系统的角度来理解软件并评审软件范围是否恰当件范围是否恰当n n确定对目标系统的综合要求,即软确定对目标系统的综合要求,即软件的需求件的需求n n提出这些需求实现条件,以及需求提出这些需求实现条件,以及需求应达到的标准应达到的标准.问问题题识识别别的的另另一一项项工工作作是是建建立立分分析析所所需需要要的的通通信信途途径径,以以保保证证能能顺顺利利地地对对问题进行分析。问题进行分析。.(2)分析与综合分析与综合n n从从信息流信息流和和信息结构信息结构出发,出发,逐步细逐步细化所有的软件功能化所有的软件功能,找出,找出系统各元系统各元素之间的联系素之间的联系、接口特性接口特性和和设计上设计上的约束的约束,分析它们是否满足功能要,分析它们是否满足功能要求,是否合理。剔除其不合理的部求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成分,增加其需要部分。最终综合成系统的解决方案,给出系统的解决方案,给出目标系统的目标系统的详细逻辑模型详细逻辑模型。.(3)编制需求分析阶段的文档编制需求分析阶段的文档n n软件需求说明书软件需求说明书n n数据要求说明书数据要求说明书n n初步的用户手册初步的用户手册n n修改、完善与确定软件开发实施计修改、完善与确定软件开发实施计划划.(4)需求分析评审需求分析评审n n系统定义的目标是否与用户的要求一系统定义的目标是否与用户的要求一致致;n n系统需求分析阶段提供的文档资料是系统需求分析阶段提供的文档资料是否齐全否齐全;n n文档中的所有描述是否完整、清晰、文档中的所有描述是否完整、清晰、准确反映用户要求准确反映用户要求;n n与所有其它系统成分的重要接口是否与所有其它系统成分的重要接口是否都已经描述都已经描述;.n n被开发项目的数据流与数据结构是被开发项目的数据流与数据结构是否足够,确定否足够,确定;n n所有图表是否清楚,在不补充说明所有图表是否清楚,在不补充说明时能否理解时能否理解;n n主要功能是否已包括在规定的软件主要功能是否已包括在规定的软件范围之内,是否都已充分说明范围之内,是否都已充分说明;n n设计的约束条件或限制条件是否符设计的约束条件或限制条件是否符合实际合实际;n n开发的技术风险是什么开发的技术风险是什么;.n n是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案;n n是否考虑过将来可能会提出的软件需是否考虑过将来可能会提出的软件需求求;n n是否详细制定了检验标准,它们能否是否详细制定了检验标准,它们能否对系统定义是否成功进行确认对系统定义是否成功进行确认;.需求分析流程需求分析流程.软件需求分析的原则软件需求分析的原则n n需要能够表达和理解问题的信息域需要能够表达和理解问题的信息域和和功能域功能域n n要能以层次化的方式对问题进行要能以层次化的方式对问题进行分分解解和不断和不断细化细化n n要给出系统的要给出系统的逻辑视图逻辑视图和和物理视图物理视图.面向数据流自顶向下求精面向数据流自顶向下求精结构化分析方法结构化分析方法n n面向数据流进行需求分析的方法面向数据流进行需求分析的方法n n结构化分析方法适合于数据处理类结构化分析方法适合于数据处理类型软件的需求分析型软件的需求分析n n具体来说,结构化分析方法就是用具体来说,结构化分析方法就是用抽象模型抽象模型的概念,按照软件内部的概念,按照软件内部数数据传递据传递、变换变换的关系,的关系,自顶向下逐自顶向下逐层分解层分解,直到找到满足功能要求的,直到找到满足功能要求的所有可实现的软件为止所有可实现的软件为止.n n结构化分析方法使用工具:结构化分析方法使用工具:uu数据流图记录补充的数据流、数据流图记录补充的数据流、数据存储和处理数据存储和处理uu数据字典记录数据元素信息数据字典记录数据元素信息uuIPO图描述算法图描述算法uu结构化英语结构化英语uu判定表与判定树判定表与判定树.实体实体联系图联系图数据数据词典词典状态状态迁移图迁移图数据流图数据流图数据对象描述数据对象描述数据对象描述数据对象描述控制规格说明控制规格说明控制规格说明控制规格说明加工规格说明加工规格说明加工规格说明加工规格说明 分析模型的结构分析模型的结构结构化分析的分析模型结构化分析的分析模型.在模型的核心是数据词典,它描述在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的了所有的在目标系统中使用的和生成的数据对象。数据对象。围绕着这个核心的有三种图:实体围绕着这个核心的有三种图:实体联系图联系图(ERD)描述数据对象及数据对描述数据对象及数据对象之间的关系;数据流图象之间的关系;数据流图(DFD)描述数描述数据在系统中如何被传送或变换,以及描据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功述如何对数据流进行变换的功能(子功能);状态能);状态迁移图迁移图(STD)描述系统对外描述系统对外部事件如何响应,如何动作。部事件如何响应,如何动作。因此,因此,ERD用于数据建模,用于数据建模,DFD用用于功能建模,于功能建模,STD用于行为建模。用于行为建模。.n n对数据流图的每一个基本加工,必对数据流图的每一个基本加工,必须有一个基本加工逻辑说明须有一个基本加工逻辑说明n n基本加工逻辑说明必须描述基本加基本加工逻辑说明必须描述基本加工工如何把输入数据流变换为输出数如何把输入数据流变换为输出数据流的加工规则据流的加工规则n n加工逻辑说明必须描述实现加工的加工逻辑说明必须描述实现加工的策略而不是实现加工的细节策略而不是实现加工的细节n n加工逻辑说明中包含的信息应是充加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的足的,完备的,有用的,无冗余的基本加工逻辑说明基本加工逻辑说明.用于写加工逻辑说明的工具用于写加工逻辑说明的工具uu结构化英语结构化英语uu判定表判定表uu判定树判定树.(1)结构化英语)结构化英语n n结构化英语的词汇表由结构化英语的词汇表由uu英语命令动词英语命令动词uu数据词典中定义的名字数据词典中定义的名字uu有限的自定义词有限的自定义词uu逻辑关系词逻辑关系词IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等组成。等组成。.n n是一种介于自然语言和形式化语言是一种介于自然语言和形式化语言之间的语言之间的语言n n语言的语言的正文用基本控制结构进行分正文用基本控制结构进行分割割,加工中的,加工中的操作用自然语言短语操作用自然语言短语来表示来表示n n其基本控制结构有三种:其基本控制结构有三种:uu简单陈述句结构简单陈述句结构:避免复合语句;:避免复合语句;uu重复结构重复结构:while_do或或repeat_until 结构。结构。uu判定结构判定结构:if_then_else或或case_of 结构;结构;.商店业务处理系统中商店业务处理系统中“检查发货单检查发货单”if发货单金额超过发货单金额超过$500thenif欠款超过了欠款超过了60天天then在偿还欠款前不予批准在偿还欠款前不予批准else(欠款未超期)(欠款未超期)发批准书,发货单发批准书,发货单else(发货单金额未超过(发货单金额未超过$500)if欠款超过欠款超过60天天then发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告else(欠款未超期)(欠款未超期)发批准书,发货单发批准书,发货单.(2)判定表)判定表n n如果数据流图的加工需要依赖于如果数据流图的加工需要依赖于多多个逻辑条件的取值个逻辑条件的取值,使用判定表来,使用判定表来描述比较合适描述比较合适.以以“检查发货单检查发货单”为例为例.(3)判定树)判定树n n判定树也是用来表达加工逻辑的一判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。种工具。有时侯它比判定表更直观。检检查查发发货货单单金额金额$500金额金额$500欠款欠款60天天不发出批准书不发出批准书欠款欠款 60天天发货单发货单发出批准书、发出批准书、欠款欠款60天天发出批准书、发出批准书、发货单及赊欠报告发货单及赊欠报告欠款欠款 60天天发出批准书、发出批准书、发货单发货单.简易的应用规格说明技术简易的应用规格说明技术n面向团队面向团队n初步访谈初步访谈n审查需求审查需求n得出意见一致的列表得出意见一致的列表n定出小型规格说明定出小型规格说明n整套确认标准整套确认标准n完整的软件需求规格说明书完整的软件需求规格说明书.原型化方法原型化方法1.1.在开发初期,要想得到一个完整准确在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别的规格说明不是一件容易的事。特别是对一些大型的软件项目。是对一些大型的软件项目。2.2.用户往往对系统只有一个模糊的想法,用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要很难完全准确地表达对系统的全面要求。求。3.3.软件开发者对于所要解决的应用问题软件开发者对于所要解决的应用问题认识更是模糊认识更是模糊不清不清5点成因点成因.4.4.4.4.随着开发工作向前推进,用户可能会随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需求来解到的实际困难,需要以改变需求来解脱困境。脱困境。5.5.5.5.因此规格说明难以完善、需求的变更、因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为以及通信中的模糊和误解,都会成为软件开发顺利推进的障碍。软件开发顺利推进的障碍。为解决这些问题,逐渐形成了软件为解决这些问题,逐渐形成了软件系统的快速原型的概念系统的快速原型的概念。.软件原型的分类软件原型的分类n n在软件开发中,原型是软件的在软件开发中,原型是软件的一个早期可运行的版本,它反一个早期可运行的版本,它反映最终系统的部分重要特性。映最终系统的部分重要特性。uu 探索型探索型:目的是要弄清对目:目的是要弄清对目标系统的要求,确定所希望的标系统的要求,确定所希望的特性,并探讨多种方案的可行特性,并探讨多种方案的可行性。性。.uu 实验型实验型:这种原型用于大规模:这种原型用于大规模开发和实现之前,考核方案是否开发和实现之前,考核方案是否合适,规格说明是否可靠。合适,规格说明是否可靠。uu 演化型演化型:这种原型的目的不在:这种原型的目的不在于改进规格说明,而是将系统建于改进规格说明,而是将系统建造得易于变化,在改进原型的过造得易于变化,在改进原型的过程中,逐步将原型进化成最终系程中,逐步将原型进化成最终系统。统。.原型类型的选择原型类型的选择uu从系统结构方面考虑:联机事务从系统结构方面考虑:联机事务处理系统,相互关联的应用系统适处理系统,相互关联的应用系统适合于用原型化方法,而批处理、批合于用原型化方法,而批处理、批修改等结构不适宜用原型化方法。修改等结构不适宜用原型化方法。uu从逻辑结构方面考虑从逻辑结构方面考虑 :有结构的:有结构的系统,如操作支持系统、管理信息系统,如操作支持系统、管理信息系统、记录管理系统等适合于用原系统、记录管理系统等适合于用原型化方法,而基于大量算法的系统型化方法,而基于大量算法的系统不适宜用原型化方法。不适宜用原型化方法。.uu从用户特征方面考虑:不满足于从用户特征方面考虑:不满足于预先做系统定义说明,愿意为定义预先做系统定义说明,愿意为定义和修改原型投资,不易肯定详细需和修改原型投资,不易肯定详细需求,愿意承担决策的责任,准备积求,愿意承担决策的责任,准备积极参与的用户是适合于使用原型的极参与的用户是适合于使用原型的用户。用户。uu从应用约束方面考虑:对已经运从应用约束方面考虑:对已经运行系统的补充,不能用原型化方法。行系统的补充,不能用原型化方法。.选择适当的原型方法选择适当的原型方法 问问 题题废废弃弃型型原型法原型法演演 化化 型型原型法原型法其其它它预预备备工作工作 目目标标系系统统要要解解决决的的问题弄清楚了吗?问题弄清楚了吗?是是 是是 否否 问问题题可可以以被被建建模模吗吗?是是 是是 否否 客客户户能能够够确确定定基基本本需求吗?需求吗?是是否否 是是 否否 否否 需需求求已已经经被被建建立立而而且比较稳定了吗?且比较稳定了吗?否否 是是 否否 有有模模糊糊不不清清的的需需求求吗?吗?是是 否否 是是 需求中有矛盾吗?需求中有矛盾吗?是是 否否 是是.建建立立快快速速原原型型,进进行行系系统统的的分分析析和构造的和构造的4点好处:点好处:uu 增进软件者和用户对系统服增进软件者和用户对系统服务需求的理解,使比较含糊的务需求的理解,使比较含糊的具有不确定性的软件需求(主具有不确定性的软件需求(主要是功能)明确化。要是功能)明确化。uu 软件原型化方法提供了一种软件原型化方法提供了一种有力的学习手段。有力的学习手段。.uu 使用原型化方法,可以容易地确使用原型化方法,可以容易地确定系统的性能,确认各项主要系统定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。可行性,确认系统作为产品的结果。uu 软件原型的最终版本,有的可以软件原型的最终版本,有的可以原封不动地成为产品,有的略加修原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。部分,这样有利于建成最终系统。下面讲原型的下面讲原型的生存期生存期.原型开发技术原型开发技术n n可执行规格说明可执行规格说明n n基于脚本基于脚本(scenario)的设计的设计n n自动程序设计自动程序设计n n专用语言专用语言n n可重用可重用(reusable)的软件构件的软件构件n n简化假设简化假设.可执行规格说明可执行规格说明n n可执行规格说明是用于需求规格可执行规格说明是用于需求规格说明的一种自动化技术。使用这种说明的一种自动化技术。使用这种方法,人们可以直接观察他们用语方法,人们可以直接观察他们用语言规定的任何系统性行为。包括言规定的任何系统性行为。包括FF代数规格说明代数规格说明FF有限状态模型有限状态模型FF可执行的数据流图可执行的数据流图.(1)代数规格说明代数规格说明n n代数规格说明使用集合、定义代数规格说明使用集合、定义于这些集合上的函数和定义于于这些集合上的函数和定义于这些函数上的方程来描述对象。这些函数上的方程来描述对象。规格说明的操作语义用这些方规格说明的操作语义用这些方程表示。程表示。见下例:见下例:.NEW_STACK:StackPUSH:Stack,ElementStackPOP:Stack(Element|Undefined)POP(NEW_STACK()UndefinedPOP(PUSH(stk,elem)elem其中,前三行定义了操作的语法,后其中,前三行定义了操作的语法,后两行把它们的语义定义为一些方程。两行把它们的语义定义为一些方程。举例:定义一个无界的栈及其操作举例:定义一个无界的栈及其操作.(2)有限状态模型有限状态模型n nparnas提出的使用最广泛的一种可提出的使用最广泛的一种可执行规格说明形式。从一个初始状执行规格说明形式。从一个初始状态开始态开始接收输入接收输入,到,到产生输出产生输出,状状态态在在推移变化推移变化。施加在状态元素上。施加在状态元素上的约束确定了有效状态的推移。的约束确定了有效状态的推移。见下例:见下例:.举例:建立用户程序对话举例:建立用户程序对话.(3)可执行的数据流图可执行的数据流图n n用一种可执行的语言程序代替定用一种可执行的语言程序代替定义处理逻辑的结构化英语,数据义处理逻辑的结构化英语,数据流图就成为由可执行语言程序模流图就成为由可执行语言程序模块组成的网络,在一定环境或工块组成的网络,在一定环境或工具的支持下就可成为一个可以执具的支持下就可成为一个可以执行的原型系统。行的原型系统。.基基于于场场景景的的设设计计(原原型型开开发发技技术术2)n n场景是指用户界面的原型。一个场景是指用户界面的原型。一个场景用以模拟在系统运行期间用户场景用以模拟在系统运行期间用户经历的事件。它提供了输入经历的事件。它提供了输入处理处理输出的屏幕格式和有关对话的模输出的屏幕格式和有关对话的模型。因此,软件开发者能够给用户型。因此,软件开发者能够给用户显示系统的逼真的视图,使用户得显示系统的逼真的视图,使用户得以判断是否符合他的意图。以判断是否符合他的意图。.n n可在任一场景中使用一套可复用的可在任一场景中使用一套可复用的软件模块,以表达某一方面的要求。软件模块,以表达某一方面的要求。n n可使用一种原型语言来描述原型系可使用一种原型语言来描述原型系统。原型开发过程中用这种语言来统。原型开发过程中用这种语言来定义屏幕、数据项、及其相关的操定义屏幕、数据项、及其相关的操作。从系统的外部描述开始,开发作。从系统的外部描述开始,开发与数据库的接口、错误处理和恢复与数据库的接口、错误处理和恢复过程等系统的与外部视图一致的细过程等系统的与外部视图一致的细节。节。.uu程序变换手段:程序变换手段:将一程序转换成另一功能等价将一程序转换成另一功能等价的程序,并保持其正确性不变。的程序,并保持其正确性不变。uu实例推广手段:实例推广手段:从实例特征出发,将它推广为从实例特征出发,将它推广为待编程序的特征,最后得到程序。待编程序的特征,最后得到程序。uu 过程化手段:过程化手段:研究甚高级语言的编译和知识研究甚高级语言的编译和知识的过程化。的过程化。.专用语言(原型开发技术专用语言(原型开发技术4)n n专用语言是应用领域的模型化专用语言是应用领域的模型化语言。在原型开发中使用专用语言。在原型开发中使用专用语言,可方便用户和软件开发语言,可方便用户和软件开发者在计划中的系统特性方面的者在计划中的系统特性方面的交流。交流。.软件复用技术(原型开发技术软件复用技术(原型开发技术5)n n利用可复用的模块,做出适当的利用可复用的模块,做出适当的组合,就可得到快速构造的原型组合,就可得到快速构造的原型系统。系统。n n为了快速地构造原型,这些模块为了快速地构造原型,这些模块首先必须有简单而清晰的界面;首先必须有简单而清晰的界面;其次它们应当尽量不依赖其它的其次它们应当尽量不依赖其它的模块或数据结构;第三,它们应模块或数据结构;第三,它们应具有一些通用的功能。具有一些通用的功能。.简化假设(原型开发技术简化假设(原型开发技术6)n n简化假设是在开发过程中使设计简化假设是在开发过程中使设计者迅速得到一个简化的系统所做者迅速得到一个简化的系统所做的假设。尽管这些假设可能实际的假设。尽管这些假设可能实际上并不能成立,但它们在原型开上并不能成立,但它们在原型开发过程中可以使开发者的注意力发过程中可以使开发者的注意力集中在一些主要的方面。集中在一些主要的方面。.n n在修改一个文件时,可以假设在修改一个文件时,可以假设这个文件确实存在这个文件确实存在n n在存取文件时,待存取的记录在存取文件时,待存取的记录总是存在总是存在n n一旦计划中的系统满足用户所一旦计划中的系统满足用户所有的要求,就可以撤消这些假有的要求,就可以撤消这些假设,并追加一些细节。设,并追加一些细节。.3.3 3.3 软件需求规格说明软件需求规格说明原则原则1 1:功能与实现分离:功能与实现分离原原则则2 2:要要求求使使用用面面向向处处理理的的规规格格说说明明语语言言,来来定义一个行为模型。定义一个行为模型。原原则则3 3:如如果果目目标标软软件件只只是是一一个个大大系系统统中中的的一一个个元元素素,那那么么整整个个大大系系统统也也包包括括在在规规格格说说明明的的描述之中。描述之中。原则原则4 4:必须包括系统运行的环境。:必须包括系统运行的环境。原则原则5 5:必须是一个认识的模型。:必须是一个认识的模型。原则原则6 6:规格说明必须是可操作的。:规格说明必须是可操作的。原则原则7 7:必须容许不完备性并允许扩充。:必须容许不完备性并允许扩充。原则原则8 8:必须局部化和松散的耦合。:必须局部化和松散的耦合。.引言引言 A.A.系统参考文献系统参考文献 B.B.整体描述整体描述 C.C.软件项目约束软件项目约束.信信息息描描述述 A.A.信信息息内内容容表表示示 B.B.信信息息流流表表示示 数数据据流流 控制流控制流 .功功能能描描述述 A.A.功功能能划划分分 B.B.功功能能描描述述 处处理理说说明明 限限制制局限局限 性能需求性能需求 设设计计约约束束 支支撑撑图图 C.C.控控制制描描述述 控控制制规规格格说说明明 设计约束设计约束.行为描述行为描述 A.A.系统状态系统状态 B.B.事件和响应事件和响应.检检验验标标准准 A.A.性性能能范范围围 B.B.测测试试种种类类 C.C.期期望望的的软软件件响响应应 D.D.特殊的考虑特殊的考虑.参考书目参考书目.附录附录.需求规格说明评审需求规格说明评审 合计合计1616项主要内容:项主要内容:系统定义的目标是否与用户的要求一致;系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全;系统需求分析阶段提供的文档资料是否齐全;文文档档中中的的所所有有描描述述是是否否完完整整、清清晰晰、准准确确反反映映用户要求;用户要求;与与所所有有其其它它系系统统成成分分的的重重要要接接口口是是否否都都已已经经描描述;述;被被开开发发项项目目的的数数据据流流与与数数据据结结构构是是否否足足够够,确确定;定;所有图表是否清楚,在不补充说明时能否理所有图表是否清楚,在不补充说明时能否理解;解;.主要功能是否已包括在规定的软件范围之内,是否都已充分说明;软件的行为和它必须处理的信息、必须完成的功能是否一致;设计的约束条件或限制条件是否符合实际;是否考虑了开发的技术风险;是否考虑过软件需求的其它方案;.是否考虑过将来可能会提出的软件需求;是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;有没有遗漏,重复或不一致的地方;用户是否审查了初步的用户手册或原型;软件开发计划中的估算是否受到了影响。.系统图形分析系统图形分析n n系统的需求规格说明通常是用自系统的需求规格说明通常是用自然语言来叙述的,但是用自然语然语言来叙述的,但是用自然语言描述往往会出现歧义性。言描述往往会出现歧义性。n n为了直观地分析系统的动作,从为了直观地分析系统的动作,从特定的视点出发描述系统的行为,特定的视点出发描述系统的行为,需要采用图形分析的方法。需要采用图形分析的方法。.最常用的图形分析方法最常用的图形分析方法n nE ER R图图n n状态迁移图状态迁移图n n时序图时序图n nPetriPetri网网.3.4E-R方法方法(Entity-RelationshipApproach)和实体模型和实体模型n n在需求分析阶段进行数据库逻辑设在需求分析阶段进行数据库逻辑设计过程中,使用计过程中,使用E-RE-R图,可定义一图,可定义一 个实体模型。个实体模型。n n实体模型是现实世界的纯表示,它实体模型是现实世界的纯表示,它不涉及数据世界的数据结构、存取不涉及数据世界的数据结构、存取路径、存取效率等问题。它可以转路径、存取效率等问题。它可以转换成数据库中的数据模型。换成数据库中的数据模型。.n n数据可以按相应数据模型进行组织。数据可以按相应数据模型进行组织。n nE-RE-R图中表示实体联系的符号如下:图中表示实体联系的符号如下:.n n在在E-R图中,每个图中,每个方框方框表示表示实体型实体型或或属性属性,方框之间的,方框之间的连线连线表示表示实体实体之间之间,或,或实体与属性之间的联系实体与属性之间的联系。出现在连线上的短竖线可以看成是出现在连线上的短竖线可以看成是“1”,而圆圈隐含表示,而圆圈隐含表示“0”。n n例如,在教学管理中,一个教师可例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)教学管理中涉及的对象(实体型)有有学生学生、教师教师和和课程课程。.n n用用E-R图描述它们之间的联系,得图描述它们之间的联系,得下图。其中,学生与课程是多对多下图。其中,学生与课程是多对多的联系,而教师与课程的联系是零、的联系,而教师与课程的联系是零、一对多。一对多。.n n进一步,要确定属性。例如,进一步,要确定属性。例如,n n学生具有学生具有学号学号、姓名姓名、性别性别、年龄年龄、专业专业(其它略)等属性;(其它略)等属性;n n课程具有课程具有课程号课程号、课程名课程名、学分学分、学时数学时数等属性;等属性;n n教师具有教师具有职工号职工号、姓名姓名、年龄年龄、职称职称等属等属性。性。n n此外,学生通过学号、分数与课程发生联此外,学生通过学号、分数与课程发生联系。如此可得教学实体模型。系。如此可得教学实体模型。.教学实体模型教学实体模型.3.5 3.5 数据规范化数据规范化n n信息域分析需要确定数据的内容,信息域分析需要确定数据的内容,每个数据项要用表格列出,最后组每个数据项要用表格列出,最后组织成文件的逻辑结构,即面向逻辑织成文件的逻辑结构,即面向逻辑而不是面向存储的结构。而不是面向存储的结构。n n为了便于数据库的设计,常常要对为了便于数据库的设计,常常要对这种结构做一些简化,其中最常见这种结构做一些简化,其中最常见的一种方法就是规范化技术。的一种方法就是规范化技术。.n n“规范化规范化”将数据的逻辑结构归结为将数据的逻辑结构归结为满足一定条件的二维表(关系)。满足一定条件的二维表(关系)。表格中每个信息项必须是一个不可分表格中每个信息项必须是一个不可分割的数据项,不可是组项。割的数据项,不可是组项。表格中每一列表格中每一列(列表示属性列表示属性)中所有中所有信息项必须是同一类型,各列的名字信息项必须是同一类型,各列的名字 (属性名属性名)互异,列的次序任意。互异,列的次序任意。表格中各行表格中各行(行表示元组行表示元组)互不相同,互不相同,行的次序任意。行的次序任意。.n n不满足上述要求的二维表或关系,不满足上述要求的二维表或关系,叫做非规范化关系。对于非规范化叫做非规范化关系。对于非规范化的关系,必须将它规范化。的关系,必须将它规范化。n n规范化的规范化的5 5点点目的是:目的是:uu 消除数据冗余,即消除表格中消除数据冗余,即消除表格中数据的重复;数据的重复;uu 消除多义性,使关系中的属性消除多义性,使关系中的属性含义清楚、单一;含义清楚、单一;.n n使关系的使关系的“概念概念”单一化,让每个数单一化,让每个数据项只是一个简单的数或字符串,据项只是一个简单的数或字符串,而不是一个组项或重复组;而不是一个组项或重复组;n n方便操作。使数据的插入、删除与方便操作。使数据的插入、删除与修改操作可行并方便;修改操作可行并方便;n n使关系模式更灵活,易于实现接近使关系模式更灵活,易于实现接近自然语言的查询方式。自然语言的查询方式。.用教学管理例子说明如何规范化用教学管理例子说明如何规范化n n有三个实体型,即有三个实体型,即课程课程、学生学生和和教师教师,用三组属性保存它们的信息:用三组属性保存它们的信息:学生学生(学号学号,姓名,性别,年龄,姓名,性别,年龄,专业,籍贯专业,籍贯)教师教师(职工号职工号,姓名,年龄,职称,姓名,年龄,职称,工资级别,工资工资级别,工资)课程课程(课程号课程号,课程名,学分,学,课程名,学分,学时,课程类型时,课程类型).n n为表示实体型之间的联系,建立两个关系:为表示实体型之间的联系,建立两个关系:选课选课(学号,课程号学号,课程号,听课出勤率,作,听课出勤率,作业完成率,分数业完成率,分数)教课教课(职工号,课程号职工号,课程号)n n在每个关系中,属性名下加下划线指明在每个关系中,属性名下加下划线指明关关键字键字。并规定关键字能唯一地标识一个一。并规定关键字能唯一地标识一个一元组。元组。.n n关系规范化的程度,通常按属性间的依赖关系规范化的程度,通常按属性间的依赖程度来区分,并以范式程度来区分,并以范式 NFNF(Normal (Normal Form)Form)来表达。常用的范式分为第一范式来表达。常用的范式分为第一范式(1NF1NF)、第二范式()、第二范式(2NF2NF)和第三范式)和第三范式(3NF3NF)。)。n n设设是是一个关系一个关系,和和是是中的中的两个属两个属性性。若对于的任一个值,仅有一个值。若对于的任一个值,仅有一个值与之对应,则称的属性函数依赖于属与之对应,则称的属性函数依赖于属性。性。例如,例如,.教师教师(职工号职工号,姓名姓名,年龄年龄,)n n其中,属性其中,属性“姓名姓名”,“年龄年龄”等都函等都函数依赖于属性数依赖于属性“职工号职工号”。属性可。属性可以是复合属性,如:以是复合属性,如:选课选课(学号学号,课程号课程号,听课出勤率听课出勤率,).n n如果如果属性函数依赖于复合属性属性函数依赖于复合属性,而而不与的任何真子集函数依赖不与的任何真子集函数依赖,则称则称属性完全函数依赖于复合属属性完全函数依赖于复合属性性。n n例如在例如在“选课选课”关系中,属性关系中,属性“听课听课出勤率出勤率”、“作业完成率作业完成率”和和“分数分数”等表示某个学生学习某门课程时的等表示某个学生学习某门课程时的学习情况。只有同时指定学习情况。只有同时指定“学号学号”和和“课程号课程号”,才能准确地说明是哪位,才能准确地说明是哪位学生学习哪门课程时的学习情况。学生学习哪门课程时的学习情况。.n n因此,因此,“分数分数”等属性完全函数依赖等属性完全函数依赖于于“学号学号,课程号课程号”。n n判断规范化程度的条件是:判断规范化程度的条件是:关系中所有属性都是关系中所有属性都是“单纯域单纯域”,即,即不出现不出现“表中有表表中有表”非主属性完全函数依赖于关键字非主属性完全函数依赖于关键字非主属性相互独立,即任何非主属非主属性相互独立,即任何非主属性间不存在函数依赖。性间不存在函数依赖。n n如果一个关系连如果一个关系连条件条件都不满足,都不满足,则这个关系是非规范化的。则这个关系是非规范化的。.n n如果一个关系仅满足如果一个关系仅满足条件条件,则这,则这个关系满足个关系满足第一范式第一范式(1NF)。n n如果一个关系满足如果一个关系满足条件条件、,但,但不满足不满足,则这个关系满足,则这个关系满足第二范第二范式式(2NF)。n n如果一个关系同时满足如果一个关系同时满足条件条件、和和,则这个关系表满足,则这个关系表满足第三范式第三范式(3NF)。n n当数据模型达到当数据模型达到3NF,一般情况下,一般情况下就能满足数据库应用的需要。就能满足数据库应用的需要。.数据库分析的过程数据库分析的过程在需求分析阶段进行数据库分析的流程在需求分析阶段进行数据库分析的流程.n n为开发一个系统所使用的数据库,为开发一个系统所使用的数据库,在开始分析数据库的需求前,分析在开始分析数据库的需求前,分析员必须员必须了解该系统的总目标和范围了解该系统的总目标和范围。然后然后建立一个完整并高度细化的信建立一个完整并高度细化的信息模型息模型。n n此信息模型应包括一个此信息模型应包括一个综合的数据综合的数据词典词典,定义所有在开发数据库时用,定义所有在开发数据库时用到的数据项。到的数据项。n n接着数据库分析定义数据库的接着数据库分析定义数据库的逻辑逻辑特性特性和和物理特性物理特性。.n n以信息模型和系统规格说明为指导,定义以信息模型和系统规格说明为指导,定义数据库的逻辑数据结构。数据库的逻辑数据结构。n n这种逻辑结构必须适应数据存取、修改、这种逻辑结构必须适应数据存取、修改、关联性及其它相关需求。关联性及其它相关需求。n n一旦逻辑数据结构建立起来,就可以研制一旦逻辑数据结构建立起来,就可以研制数据库的物理结构。数据库的物理结构。n n物理数据库结构定义文件结构、记录格式、物理数据库结构定义文件结构、记录格式、与硬件相关的处理方式以及数据库管理系与硬件相关的处理方式以及数据库管理系统的特性。统的特性。.n n最后,要对模式和物理特性进行完全最后,要对模式和物理特性进行完全的评审。的评审。n n在数据库分析过程中所考虑的因素间在数据库分析过程中所考虑的因素间存在着复杂的相互联系。改变其中的存在着复杂的相互联系。改变其中的任何一个因素都会(潜在地)影响其任何一个因素都会(潜在地)影响其它的因素。所以必须在各个因素之间它的因素。所以必须在各个因素之间进行折衷。进行折衷。n n这种折衷包括专用性和通用性的折衷,这种折衷包括专用性和通用性的折衷,信息关联程度、扩充潜力及操作特性信息关联程度、扩充潜力及操作特性等方面的折衷。等方面的折衷。.n n操作特性根据折衷的结果而定。数据库的操作特性根据折衷的结果而定。数据库的结构、规模和逻辑设计都会对它的物理组结构、规模和逻辑设计都会对它的物理组织、硬件、存取方式以及性能产生重要的织、硬件、存取方式以及性能产生重要的影响。影响。.3.6状态迁移图状态迁移图n n状态迁移图是描述系统的状态如何状态迁移图是描述系统的状态如何相应外部的信号进行推移的一种图相应外部的信号进行推移的一种图形表示。形表示。n n状态、事件、符号状态、事件、符号uu圆圈圆圈“”表示可得到的系统表示可得到的系统状态状态uu箭头箭头“”表示从一种状态向另表示从一种状态向另一种状态的一种状态的迁移迁移。.例如例如,当有多个申请占用当有多个申请占用CPU运行的运行的进程时进程时,有关有关CPU分配的进程的状分配的进程的状态迁移。态迁移。.n n可得到的状态就绪可得到的状态就绪S3,运行,运行S2,等待,等待S1n n生成的事件生成的事件t1,t2,t3,t4 t1中断已处理完中断已处理完 t2分配分配CPU t3CPU时间用完时间用完 t4中断发生中断发生.状态迁移图的优点状态迁移图的优点n n状态之间的关系能够直观地捕捉状态之间的关系能够直观地捕捉到到n n由于状态迁移图的单纯性,能够由于状态迁移图的单纯性,能够机械地分析许多情况,可很容- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文