软件工程理论与实践 课件 4结构化分析_第1页
软件工程理论与实践 课件 4结构化分析_第2页
软件工程理论与实践 课件 4结构化分析_第3页
软件工程理论与实践 课件 4结构化分析_第4页
软件工程理论与实践 课件 4结构化分析_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

XXXXXX大学软件工程SOFTWARE

ENGINEERING教师:XXXXX2024教学目标:(1)理解结构化分析过程;(2)掌握数据模型、功能模型和行为模型的建模方法;(3)能够利用结构化分析描述工具编写软件需求文档。第4章结构化分析4.1结构化分析概述4.1.1结构化分析过程要对一个系统进行结构化分析,首先要明确这一阶段的任务是要搞清楚“做什么”。结构化分析的过程可以分为如下4个步骤。1.建立当前系统的物理模型2.抽象出当前系统的逻辑模型3.建立目标系统的逻辑模型4.进一步补充和优化4.1.2结构化分析模型结构化分析方法用抽象模型的概念,按照软件内部数据传递和变换的关系,自顶向下逐层分解,直到找到满足功能需求的所有可实现的软件元素为止。结构化分析模型,如图4-1所示,分为数据模型、功能模型和行为模型。为了定义软件的功能,建立功能模型;为了理解和表示问题的信息域,建立数据模型;为了表示软件的行为,建立行为模型。结构化分析模型的核心是数据字典,用来描述软件使用或产生的所有数据对象。功能模型使用数据流图进行描述;数据模型使用实体-关系图进行描述;行为模型使用状态转换图进行描述。4.2数据流图4.2.1数据流图的基本成分1.数据的源点/终点2.加工3.文件4.数据流4.2.2数据流图的实现1.数据流图表示2.数据流图实现方法(1)找出系统的输入和输出(2)绘制系统的内部(3)绘制加工的内部3.数据流图实例【例4-1】某高校教材管理系统。某高校教材管理系统工作过程如下:教师填写领书单,经主管审查签名批准后,教师到教材科领取教材;教材科管理员检查领书单是否符合审批手续,不合格的领书单退还教师,领书单合格则办理领书手续,进行登记,修改库存量并发放教材;当某种教材的库存量低于事先规定的临界值时,登记需求采购教材的订货信息,为教材科采购员提供一张订书单。(1)绘制数据流图顶层把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到哪些外部实体,就可以绘制出输入输出图,这张图也就是数据流图顶层图。列出教材管理系统的全部数据源点和数据终点。源点包括教师;终点包括教材科管理员和教材科采购员。然后将系统加工处理过程作为一个整体,可以得到顶层数据流图。教材管理系统顶层数据流图。(2)绘制各层数据流图

把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图被称为第1层数据流图。从输入端开始,根据教材科业务工作流程,绘制出数据流流经的各加工框,逐步绘制出输出端,得到1层数据流图。教材管理系统1层数据流图。

然后需要分解和细化各加处理过程,可以得到分解数据流图。教材管理系统加工1分解数据流图。(3)绘制总体数据流图将各层数据流图进行合并,形成总体数据流图。教材管理系统总体数据流图。4.3实体-关系图4.3.1数据对象数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事务,仅有单个值的事务不是数据对象,例如长度、宽度等。数据对象只封装了数据而没有对作用于数据上的操作的引用,这是数据对象与面向对象方法中所描述的“类”或“对象”的显著区别。数据对象可以是外部实体、事物、行为、事件、角色、单位、地点、结构等。例如,学生成绩管理系统中的教师、学生和课程都可以认为是数据对象,它们都可以由一组属性来定义。“数据对象描述”中包含了数据对象及它们的所有属性,数据对象彼此之间是有关联的。4.3.2属性属性定义了数据对象的性质。一个数据对象往往具有很多属性,应该根据对所要解决问题的理解,来确定数据对象的一组合适的属性。例如,教材管理系统中描述数据对象“教师”的属性包括工号、姓名和密码等。但如果在教师信息管理系统中,同样的“教师”这个数据对象,但是用上述这些属性描述就不满足系统需求了,应该添加一些属性,例如职称、年龄、籍贯、身份证号等。4.3.3关系数据对象彼此之间是有关联的,也被称为关系。例如,数据对象“教师”和“教材”之间的连接关系是“领用”。这种关联的形态有以下3种:(1)一对一关联。例如,一个高校只有一个教材科,而一个教材科只能属于某一所高校,所以高校与教材科的联系是一对一的。(2)一对多关联。例如,一个出版社可以出版多本教材,但某一本教材只能由一个出版社出版发行,所以出版社与教材之间的联系是一对多的。(3)多对多关联。例如,一名教师可以领用多门课程的教材,一门课程的教材也可以被多名教师领用,所以教师与教材之间的联系是多对多的。4.3.4实体-关系图的实现1.实体-关系图表示E-R图有以下3个要素:(1)实体:就是现实世界的事物,用矩形表示。(2)属性:定义了实体的性质,用椭圆形表示。(3)关系:是实体之间相互连接的方式,用菱形表示。实体之间存在着三种关系类型,分别是一对一、一对多、多对多,它们反映到E-R图中就是相应的关系类型,即1:1、1:n和m:n。2.实体-关系图实现方法实体关系图是以迭代的方式构造出来的,可以采用以下步骤实现。(1)在需求获取的过程中,要求用户列出业务流程中涉及的“事物”,将这些“事物”演化为一组输入和输出的数据对象,以及生产和消费信息的外部实体。(2)一次考虑一个对象,检查这个对象和其他对象间是否存在连接。(3)当连接存在时,应创建一个或多个实体-关系对。(4)对每个实体-关系对考察其基数,并将基数改成关联的形态。(5)迭代地进行步骤(2)到步骤(4),直到定义了所有的实体-关系对。在这个过程中发现遗漏是正常的。进行若干次迭代时,将会不断地增加新的实体和关系。(6)定义每个实体的属性。(7)绘制并审核实体-关系图。(8)重复步骤(1)到步骤(7),直到数据建模完成。3.实体-关系图实例【例4-2】高校教材绩管理系统实体-关系设计。通过对某高校教材管理系统进行调研分析,其中共有教师、管理员、教材、课程、专业共5个实体。教师实体的属性包括工号、密码和姓名;管理员实体的属性包括编号、密码和用户名;教材实体的属性包括教材编号、教材名称、出版社编号、出版社名称和库存量;课程实体的属性包括课程编号和课程名称;专业实体的属性包括专业编号和专业名称;领用关系有时间和领书数量属性,订购关系具有订书数量属性。教师与教材是领用关系,每种教材可以由多位教师领用,每位教师可以领用多本教材,因此领用是多对多关系;管理员与教材是订购关系,每种教材允许多位管理员订购,且每位管理员可以订购多种教材,因此订购是多对多关系;专业与课程是开设关系,每个专业可以开设多门课程;课程与教材是选用关系,每门课程只可以选用一本教材。高校教材管理系统实体-关系图。4.4状态转换图行为模型可用状态转换图(StatusTransferDiagram,STD)描述。状态转换图是一种描述系统对内部或外部事件响应的行为模型。并不是所有的实体都需要绘制状态转换图,有些实体有一些意义明确的状态,并且其行为在不同的状态时有所改变,此时才需要绘制状态转换图。例4-1中,教材管理系统领书过程状态转换图。首先找出教师领书过程的所有状态,然后分析引起每种状态转换的具体行为,最后绘制出状态转换图。4.5数据字典4.5.1数据字典的定义与用途数据字典(DataDictionary,DD)是结构化分析的一个有力工具。数据字典是对数据流图中出现的所有数据元素、数据流、文件、加工的定义的集合,其中对于加工的描述被称为“加工逻辑说明”。1.数据字典的定义数据字典是关于数据信息的集合,是数据流图中所有元素严格定义的场所,每个元素要对应数据字典中的一个条目。数据字典中的条目应按一定次序排列,以方便查阅。2.数据字典的用途数据字典的作用是在软件分析和设计过程中提供数据描述,是数据流图必不可少的辅助资料。数据流图和数据字典一起构成了系统的逻辑模型。没有数据字典,数据流图就不严格;没有数据流图,数据字典就没有作用。数据字典的重要用途就是作为分析阶段的工具。在数据字典中建立严密一致的定义有助于分析人员和用户之间的交流。同样,将数据流图中的每个元素的精确定义放在一起,就构成了系统的、完整的需求规格说明的主体。在软件设计阶段,数据字典是存储文件或数据库设计的基础。在实施阶段,还可参照数据字典描述数据。随着系统的改进,字典中的信息也会发生变化,新的信息会随时加入进来。4.5.2数据字典的内容和格式1.数据流词条

数据流是数据结构在系统内传播的路径。一个数据流词条应有以下几项内容。数据流名称:要求与数据流图中出现的名称一致;描述:简要介绍该数据流在系统中的作用;数据流来源:数据流来自哪个加工或哪个外部实体;数据流去向:数据流流向哪个加工或哪个外部实体;数据流组成(定义):描述该数据流的数据结构;注释:相关事项。例如,“教材管理系统”中对数据流“订书单”可用以下词条进行定义和描述。2.数据存储词条数据存储文件是保存数据的地方,一个数据存储词条应有以下几项内容。数据存储名称:要求与数据流图中出现的名称一致;编号:该数据存储在数据流图中的编号;描述:简要介绍该数据存储存放的是什么数据;数据存储组成(定义):描述该数据存储的数据结构;数据存储方式:索引文件。例如,“教材管理系统”中对数据存储文件“库存信息”可用以下词条进行定义和描述。3.数据元素词条数据流图中每一个数据结构都是由数据元素构成的,数据元素是数据处理中最小的、不可再分的单位,它直接反映事物的某一特征。组成数据结构的这些数据元素也必须在数据字典中给出描述,一个数据元素词条应有以下几项内容。数据元素名称;描述:简要介绍该数据元素的含义;数据元素类型:字符型、数值型、布尔型等;数据元素长度(或精度):数据元素的大小;数据元素取值范围:例如取值范围定义为1至60,表示为1..60;数据元素缺省值:例如定义数据元素“领书日期”的初始值默认为系统的当前日期;数据元素组成(定义):描述该数据元素的相关数据元素及数据结构。例如,“教材管理系统”中对数据元素“教材编号”可用以下词条进行定义和描述。4.数据加工词条加工可以使用诸如判断表、判定树和结构化语言等形式表达,一个数据加工词条应有以下几项内容。加工名称:要求与数据流图中出现的名称一致;加工编号:要求与数据流图中出现的编号一致;描述:简要介绍该加工的处理功能;输入:指明该加工的输入数据流;输出:指明该加工的输出数据流;加工逻辑:简述该数据加工的处理逻辑(此项描述也可以单独形成一份“数据加工逻辑说明”。例如,“教材管理系统”中对数据加工“处理合格领书单”可用以下词条进行定义和描述。

4.6数据加工逻辑说明4.6.1结构化语言【例4-3】某系统教师津贴费处理。某校对不同职称的教师,根据其是本校专职教师还是外聘兼职教师,决定其课时津贴费用。本校专职教师每课时津贴费:教授100元,副教授80元,讲师60元,助教50元。外聘兼职教师每课时津贴费:教授120元,副教授100元,讲师80元,助教60元。4.6.2判定表4.6.3判定树4.7应用案例——高校财务问答系统结构化分析4.7.1功能需求4.7.2高校财务问答系统数据流图4.7.3高校财务问答系统数据字典1.数据流(1)数据流名称:教职工信息描述:用户端用户信息定义:教职工信息=工号+用户名+密码(2)数据流名称:问题信息描述:用于传递问题及答案信息定义:问题信息=问题类型+问题内容+答案内容+文件名+文件路径+视频路径(3)数据流名称:类别信息描述:用于传递问题类别信息定义:类别信息=类型名称(4)数据流名称:反馈信息描述:用于传递教职工在用户端提交的反馈信息定义:反馈信息=姓名+单位+电话+问题+时间(5)数据流名称:统计信息描述:用于统计教职工在用户端查询某问题的次数定义:统计信息=问题内容+查询次数2.数据存储(1)数据存储名称:教职工信息编号:D01描述:用于存储教职工数据定义:教职工信息=ID+工号+用户名+密码存储方式:数据库表,以“ID”为主键(2)数据存储名称:问题信息编号:D02描述:用于存储问题及答案数据定义:问题信息=ID+问题类型+问题内容+答案内容+文件名+文件路径+视频路径+查询次数存储方式:数据库表,以“ID”为主键(3)数据存储名称:类别信息编号:D03描述:用于存储问题类别数据定义:类别信息=ID

温馨提示

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

评论

0/150

提交评论