软件工程学实验.ppt_第1页
软件工程学实验.ppt_第2页
软件工程学实验.ppt_第3页
软件工程学实验.ppt_第4页
软件工程学实验.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

软件工程学实验 马丽 1 实验4 4 1PowerDesigner入门4 2PowerDesigner业务处理模型4 3PowerDesigner概念数据模型4 4PowerDesigner物理数据模型4 5PowerDesigner面向对象模型 2 实验4 1软件工程的计算环境 PowerDesigner 3 实验4 1软件工程的计算环境 PowerDesigner面向数据分析 设计和实现 集成了UML 统 建模语言 和数据建模的CASE工具 它不仅可以用于系统设计和开发的不同阶段 即系统需求分析 对象分析 对象设计以及数据库设计和程序框架设计 绘制系统的数据流程图DFD和E R图 以及生成物理的建表程序 存储过程与触发器框架等 也可以满足管理 系统设计 开发等相关人员的使用 4 实验4 1软件工程的计算环境 PowerDesigner包含4个模型 覆盖了软件开发生命周期的各个阶段业务处理模型 BPM 概念数据模型 CDM 物理数据模型 PDM 面向对象模型 OOM 5 PowerDesigner模型的相互关系和作用 6 实验4 1软件工程的计算环境 在软件开发周期中首先进行的是需求分析 并完成系统的概要设计系统分析员利用BPM画出业务流程图 利用OOM和CDM设计出系统的逻辑模型然后进行系统的详细设计 利用OOM完成系统的设计模型 并利用PDM完成数据库的详细设计最后 根据OOM生成的源代码框架进入编码阶段 7 实验4 1软件工程的计算环境 1 PowerDesigner的特性建模工具的重点曾经完全放在数据建模这一个方面 而随着需求的不断提高 商业流程建模和UML已经成为软件开发不可缺少的部分从PowerDesigner的变化 可以看出它正在努力发展成为UML建模工具 但同时又不放弃自己的特长 即提供更好 更方便的数据建模能力 8 实验4 1软件工程的计算环境 PowerDesigner支持UML 包括新的业务处理建模能力 改善了的基于UML的对象模型 而且可以在一个丰富的图表环境中 支持传统的和新增的建模技术 因此 对于那些需要跨平台作业和使用多种类型编码的项目 可以大大地缩短开发时间 降低复杂度PowerDesigner还具备一个完整的版本资料库 repository 用来贮存和管理所有建模和设计过程中的信息 并将最大限度地减少其中不一致的部分 从而极大地提高了开发者的效率 9 实验4 1软件工程的计算环境 市场上有很多工具提供数据建模 包括数据仓库建模 对象建模 业务流程建模以及UML建模等 但PowerDesigner将所有的功能集于一体PowerDesigner可通过一套完整的工具来集合三种建模技术 业务流程建模 数据建模和UML建模 从而使商业和IT部门能够更容易进行项目合作 帮助客户实施更多连贯的 成功的项目 10 实验4 1软件工程的计算环境 PowerDesigner主要特性包括 业务过程建模 允许非IT专业用户用一个简单的图示模型 进行实际业务过程的设计或建模数据建模 利用基于可靠方法 真正的两级 概念上和物理上 关系数据库建模 设计并生成数据库模型 同时还支持数据仓库建模技术 11 实验4 1软件工程的计算环境 对象建模 使用标准的UML技术 所有UML图 完成设计和分析 并且利用定制的生成器 自动地生成源代码 如Java XML WebServices C PowerBuiler VisualBasic和Microsoft Net等企业版本库 PowerDesigner的企业版中加入了企业级版本库 可以查阅井共享工作组里所有成员的模型和信息 版本库可升级支持角色安全设置 版本控制 并具备搜索及报告能力 12 实验4 1软件工程的计算环境 2 业务处理模型业务处理模型 BPM 主要用在需求分析阶段 这个阶段的主要任务是理清系统的功能 系统分析员在与用户充分交流后 应得出系统的逻辑模型 BPM用于从业务人员的角度对业务逻辑和规则进行详细描述 并使用流程图来表示从 个或多个起点到终点间的处理过程 流程 消息和协作协议 13 实验4 1软件工程的计算环境 3 概念数据模型概念数据模型 CDM 主要用在系统开发的数据库设计阶段 是按用户的观点来对数据和信息进行建模 并具体用实体 联系图 E R图 来体现 CDM静态地描述系统中的各个实体以及相关实体之间的关系 系统分析员通过E R图来表达对系统静态特征的理解 E R图实际上相当于对系统的初步理解所形成的一个数据字典 系统的进一步开发将以此为基础 14 实验4 1软件工程的计算环境 概念数据模型的主要功能包括 以图形化 E R图 的形式组织数据检验数据设计的有效性和合理性生成物理数据模型 PDM 生成面向对象模型 OOM 生成可定制的模型报告 15 实验4 1软件工程的计算环境 4 物理数据模型物理数据模型 PDM 提供了系统初始设计所需要的基础元素 以及相关元素之间的关系 但是 在数据库的物理设计阶段 必须在此基础上进行详细的后台设计 包括数据库存储过程 触发器 视图和索引等物理数据模型以常用的DBMS理论为基础 将CDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本 利用该SQL脚本在数据库中产生现实世界信息的存储结构 表 约束等 并保证数据在数据库中的完整性和 致性 16 实验4 1软件工程的计算环境 物理数据模型的主要功能包括 将数据库物理设计结果从一种数据库移植到另一种数据库利用逆向工程把已经存在的数据库物理结构更新生成物理模型或概念模型生成可定制的模型报告转换为OOM完成多种数据库详细物理设计 生成各种DBMS物理模型 生成数据库对象 如表 主键 外部键等 SQL语句脚本 17 实验4 1软件工程的计算环境 5 面向对象模型面向对象模型 OOM 是利用UML 统一建模语言 的图形来描述系统结构的模型 它从不同角度表现系统的工作状态 这些图形有助于用户 管理人员 系统分析员 开发人员 测试人员和其他人员之间进行信息交流 18 实验4 1软件工程的计算环境 面向对象模型的主要功能包括 利用UML的用例图 时序图 类图 构件图和活动图等来建立面向对象模型OOM 从而完成系统的分析和设计利用类图生成不同语言的源文件 如Java PowerBuilder XML等 或利用逆向工程将不同类型的源文件转换成相应的类图利用逆向工程将面向对象模型 OOM 生成概念数据模型 CDM 和物理数据模型 PDM 19 实验4 1软件工程的计算环境 6 模型文档编辑器PowerDesigner还提供了模型文档编辑器 multi modelreport 用来为所建立的模型生成详细文档 根据各种模型生成相关的RTF或HTML格式的文档 开发人员可以通过这些文档来了解各个模型中的相关信息 20 21 实验4 2PowerDesigner业务处理模型 在软件工程的需求分析阶段 系统分析员在与用户充分交流后 应得出系统的逻辑模型 PowerDesigner的业务处理模型 BPM 以业务需求为出发点 用图形方式描述系统的任务和业务流程 是对业务逻辑和规则进行详细描述的概念模型 22 实验4 2PowerDesigner业务处理模型 BPM使用图形符号来表示业务逻辑中从一个或多个起点到终点间的处理过程 流程 消息 协作及其相互关系 通过BPM可以描述系统的行为和需求 使用图形表示对象的概念组织结构 然后生成所需要的文档作为一个概念层次的模块 BPM适用于应用系统的系统分析阶段 用来完成系统需求分析和逻辑设计 23 BPM与其他模块之间的关系 24 实验4 2PowerDesigner业务处理模型 BPM用系统提供的各种对象来描述系统需求 这些对象介绍如表4 1所示 25 对象说明Package将元素组合为组Process处理过程Flow ResourceFlow连接过程 起点 终点的流程 连接资源的流程Start流程中的起点End流程中的终点Decision当流程中存在多个路径时的选项Synchronization允许多个并发动作的流程同步Resource资源OraganizaionUnit组织单元 过程的执行者或资源的所有者MessageFormat定义过程间数据的交互CompositeProcess分解为详细过程的复合过程 BPM的对象 26 实验4 2PowerDesigner业务处理模型 在需求分析过程中 BPM只表达业务人员对软件的功能要求和软件的功能过程 而不考虑其具体实现 软件人员通过BPM理解业务流程并对其进行必要的改进 27 28 实验4 3PowerDesigner概念数据模型 在软件工程实践中 数据库设计通常都是从概念结构设计开始的 在这个层次上 不需要考虑实际物理实现细节 而只需要考虑实体和实体之间的联系PowerDesigner的概念数据模型 CDM 用于完成数据库的逻辑结构设计 概要设计 而与任何数据库平台 例如Oracle或SQLServer 的具体数据存储结构和工具 例如PowerBuilder 无关 29 实验4 3PowerDesigner概念数据模型 CDM表达的是数据库的整体逻辑结构 它是系统分析人员 应用程序设计人员 维护人员和用户之间相互理解的共同语言 CDM所包含的对象通常并没有在物理数据库中实现 它仅仅给出了商业或业务活动中所需要的数据的形式化表示 30 实验4 3PowerDesigner概念数据模型 通过建立CDM可以完成以下工作 数据图形化 形象化数据表设计的合法性校验转化为PDM 物理数据模型 生成OOM 面向对象模型 的类图 31 实验4 3PowerDesigner概念数据模型 通常 CDM采用实体 联系图 E R图 来表示 例如 学生选课实例的E R图 32 学生选课的E R图与CDM 33 实验4 3PowerDesigner概念数据模型 CDM实例中设计了两个实体 Student 学生 属性包括 student id 学号 student name 姓名 student sex 性别 student birthday 出生日期 Class 课程 属性包括 class id 课程号 class name 课程名 34 实验4 3PowerDesigner概念数据模型 Student和Class建立了名为选课 Study 的多对多联系 一个学生可以选择多门课程 每一门课程都可以由多名学生选修每一个学生都必须选课 每一门课程都必须有学生选修 35 实验4 3PowerDesigner概念数据模型 通过CDM 可以简单 形象 清晰地表达事物本身及事物之间的相互关系 在CDM设计过程中 要涉及到一些基本概念 主要包括实体 属性 联系 域和业务规则等 36 实验4 3PowerDesigner概念数据模型 1 实体及属性实体是现实世界中可区别于其他对象的 物体 它可能是有形或无形的 具体或抽象的 有生命或无生命的 例如 公司中的每个员工是一个实体 商店中的每个产品也是一个实体每个实体有一组特征 称为实体属性 用来描述实体状态和特征 例如 某个员工 姓名 性别 员工号 出生日期等 这一组具体指标表示了该员工实体各项属性 37 实验4 3PowerDesigner概念数据模型 实体集 entityset 是相同类型及相同性质实体的集合 例如 社保中心所有客户的集合可定义为实体集 客户 客户 实体集中的每个实体具有社保号 户名 密码等性质实体型 entitytype 是实体集中每个实体所具有的共同性质的集合 例如 员工 实体型为 员工编号 部门 姓名 性别 年龄等 实体是实体型的 个实例 在含义明确的情况下 实体 实体型通常互换使用 38 实验4 3PowerDesigner概念数据模型 2 联系实体可以通过联系 relationship 相互关联 按照实体之间的数量对应关系 通常可将联系分为 一对一联系 onetoone 一对多联系 onetomany 多对多联系 manytomany 递归联系 recursiverelationship 以及依赖关系 identifyRelationship 也称标识关系 等 39 实验4 3PowerDesigner概念数据模型 3 域域 domain 是某个或某些属性的取值范围 域在定义之后 可以被多个实体的属性共享使用 域的定义在模型设计中具有重要意义 它使得不同实体中的属性标准化更加容易例如 定义Address域 使它的数据类型为VarChar 40 在模型设计中 记载 地址 的属性可能包含在多个实体中 使用了Address域的所有 地址 属性 一旦修改Address的定义 使用该域的所有 地址 的定义也会随之改变 40 实验4 3PowerDesigner概念数据模型 4 业务规则业务规则反映了信息系统所描述对象的特殊的数据完整性约束 一个业务规则可以是一个行业标准 个客户需求或者一本软件开发规范手册 当实体中包含的信息发生变化时 系统都会检查这些信息是否违反了特定的业务规则在创建业务规则之前 必须首先明确数据之间存在的约束关系 业务规则可以在建立CDM时初步定义 在生成PDM或OOM的过程中 被直接传递到PDM或OOM中 41 实验4 3PowerDesigner概念数据模型 5 CDM中对象的检查CDM中检查的对象包括 Package 包 Entity 实体 DataItem 数据项 Relationship 联系 Domain 域 EntityAttribute 实体属性 EntityIdentifier 实体标识符 Associaton 关联 Inheritance 继承 和FileObject 文件对象 等 对检查模型时发现的错误 可以在结果列表窗口中查看出现的错误或警告及其原因 还可以采用手工或自动更正的方法对问题进行修改 42 关联连接 43 实验4 3PowerDesigner概念数据模型 6 CDM的数据类型 长度和精度长度和精度并不适用于CDM的所有数据类型 而且 有些数据类型的长度还可以指定最大或固定长度的字符数 表4 4列出了可以使用的数据类型及其长度与精度 44 45 实验4 4PowerDesigner物理数据模型 在设计好数据库的逻辑结构之后 就需要完成其物理设计 物理数据模型 PDM 就是以DBMS理论为基础 根据CDM建立的现实世界模型生成相应的DBMS的SQL语言脚本 利用该SQL脚本在数据库中产生现实世界信息的存储结构 例如表 约束等 并保证数据在数据库中的完整性和一致性 46 PDM与DBMS的关系 47 实验4 4PowerDesigner物理数据模型 PDM以PowerDesigner为各种数据库提供的数据定义文件 扩展名为 xdb 作为语法模板来生成SQL语言脚本由PDM生成SQL脚本 再通过SQL脚本在数据库中建立相应的数据存储结构 称为正向工程反之 如果通过数据库中已经存在的数据存储结构来导出对应的PDM 则称为逆向工程 48 实验4 4PowerDesigner物理数据模型 PDM中涉及到一些基本概念 包括 表 列 视图 主键 候选键 外部键 存储过程 触发器 索引 完整性检查约束等内容 49 实验4 4PowerDesigner物理数据模型 1 表 列 视图 主键 候选键 外部键表 table 是数据库中用来保存信息的一种数据结构 在PDM中 建立表的过程 就是产生建表的SQL语句的过程 PDM的表可以由CDM的实体转换生成列 column 是组成表的基本单元 一个表由多个列组成 每个列都有一个数据类型 CDM的实体属性通过模型内部生成 可以转换成PDM表的列 50 实验4 4PowerDesigner物理数据模型 视图 view 是从一个或多个基本表或其他视图中导出的表 可以把它形象地看做是一个活动窗口 在数据库中通过它可以看到自己感兴趣的内容 但是视图和基本表不同 它是一个虚表 即其对应的数据并不独立地存放在数据库中 存储的只是视图的定义 正因为如此 虽然视图创建后类似于基本表 可以被查询 删除或用来定义新的视图 但通过它修改数据却有很多限制 51 实验4 4PowerDesigner物理数据模型 主键 primarykey 是用来唯一标识表中一条记录的一个或多个列的集合 它可以由CDM的主标识符转换产生 也是CREMTABLE语句的重要组成部分候选键 alternatekey 也是用来唯一标识表中一条记录的一个或多个列的集合 它与主键具有同样的作用 它可以由CDM的次标识符转换产生外键 foreignkey 是与其他表连接的公共列 这个列通常是其他表的主键 52 实验4 4PowerDesigner物理数据模型 2 存储过程存储过程是由SQL语句和控制流语句构成的集合 存储过程的建立大大提高了SQL的效率和灵活性存储过程与原始SQL语句的最大区别在于它是预编译好的 当第一次运行一个过程时 数据库服务器的查询处理器对它进行分析 并准备好一个执行计划 最后把这个计划存储在系统表中 以后过程的每次执行都可以依据这个计划 由于大部分查询处理工作已经做好 不需要再花费时间进行编译 因此存储过程的执行速度快 53 实验4 4PowerDesigner物理数据模型 在客户 服务器环境下 存储过程经过编译和优化后 存储在服务器端 这样 在网络上传输的只是一个远程调用和最终的执行结果 而不是一系列的SQL语句和返回结果 从而大大减少了网络上的传输量 提高了整个系统的性能如果本地和远程数据库服务器都允许远程登录 那么本地就可以执行其他数据库服务器上的存储过程 54 实验4 4PowerDesigner物理数据模型 存储过程简化了安全机制 它可以简化对某些操作的授权 例如 假设一个用户不希望别人在他的表上使用SELECT语句 他可以写一个仅查询这个表某些行或列的存储过程 然后将调用该存储过程的权限授给特定的用户 这样其他用户就可以通过该存储过程访问他的表 55 实验4 4PowerDesigner物理数据模型 存储过程把用户和应用程序与数据源 网络和存取路径细节隔离开来 使得非专业人员对数据库服务器上的数据访问变得更加方便 例如 数据库管理员可以预先定义一些包括复杂数据查询和操作的存储过程 一般用户无须了解数据存储细节 不必了解存储过程 甚至可以不懂SQL语句 通过简单的远程过程调用就能完成特定的任务 这无疑大大简化了应用开发的过程 提高了应用开发的效率 56 实验4 4PowerDesigner物理数据模型 触发器的主要用途是 能够对数据库多个有关表的内容进行级联修改 即删除父表中的某些记录时 可以将子表中相应的记录删除 当违反参照完整性时 触发器能撤回试图进行数据修改的事务触发器能够实施比规则复杂得多的限制触发器能比较数据修改前后某表的状态 并采取相应行动 57 实验4 4PowerDesigner物理数据模型 4 默认与规则当用户没有为某一列赋值时 数据库服务器为该列自动插入的值即为默认 default 值 规则 rule 就是在数据库的管理中指定允许或不允许哪些值插入某些列默认和规则共同帮助系统维护数据的完整性 可以与列和用户定义的数据类型联系在一起规则和默认同样可由有效性业务规则来完成 但是有效性业务规则只适用于特定的表 而无法将其与其他的表或用户定义的数据类型联系起来 58 实验4 4PowerDesigner物理数据模型 5 完整性检查约束完整性是指数据库中数据的正确性和一致性 通过对数据库中插入 删除和修改数据值的操作进行限制和约束 来实现数据的完整性 数据库提供两种保持数据完整性的方法 一是在定义表时定义完整性约束 二是定义规则 约束 索引和触发器 59 实验4 4PowerDesigner物理数据模型 数据库服务器上能够创建3种类型的完整性约束 唯一性和主键 unique和primarykey 约束 该约束要求同一表中的任意两行在某一或某些指定列上不能具有相同的值 另外 主键约束还要求在指定的列上不允许空值 参照完整性约束要求插入某个或某些指定列的数据必须已存在于被指定表的列中检查约束 check 该约束限制了能够插入列中的数值 60 实验4 4PowerDesigner物理数据模型 通过限制空值的使用和提供列的默认值 也可以进行数据完整性控制 表级和列级的完整性约束只是在声明时语法上略有不同 列级约束应放在当作分隔符的逗号之前 即列名和数据类型之后 而表级约束则应作为独立的由逗号分割的语句 数据库服务器以同样的方式处理表级和列级约束 涉及到多列的约束必须作为表级约束处理 61 实验4 4PowerDesigner物理数据模型 6 索引数据列和数据类型定义了包括在表中的数据的类型 索引则描述了数据在表中是如何组织的 可以创建 个或多个索引来加快数据库的查询速度 索引对用户是透明的 数据库自动确定何时使用表的索引 62 实验4 4PowerDesigner物理数据模型 一般情况下 数据库系统都支持3种索引类型 组合索引 这类索引牵涉到多个数据列唯一索引 这类索引不允许在索引列上有重复值 数据库服务器在索引产生和数据插入时自动检查是否有重复值 63 实验4 4PowerDesigner物理数据模型 聚簇索引和非聚簇索引 聚簇索引要求数据库服务器按索引列对数据进行排序 使得数据行的物理顺序和其逻辑顺序一致 因此 每个表上只允许一个聚簇索引 非聚簇索引不要求逻辑顺序和物理顺序一致 每一非聚簇索引可以为用户提供不同的数据访问顺序 在列上建立索引是为了加快数据库的查询速度 表的所有者可以在其表上为bit text或image类型之外的其他列创建和删除索引 64 实验4 4PowerDesigner物理数据模型 7 检查PDM的对象PDM中可供检查的对象包括 Package 包 Table 表 Column 列 Index 索引 Key 键 Domain 域 View 视图 Reference 参照 Trigger 触发器 Procedure 存储过程 User 用户 和File 文件 等 对检查模型时发现的错误 可以在结果列表窗口查看出现错误或警告的原因 并可以采用手工或自动更正的方法对问题进行修改 65 66 实验4 5PowerDesigner面向对象模型 PowerDesigner的面向对象模型 OOM 是利用UML 统一建模语言 的图形来描述系统结构的模型 它从不同的角度来表现系统的工作状态 在OOM中可以设计UML的所有图形 这些UML图形有助于系统分析人员 开发人员 测试人员 管理人员 用户以及其他人员之间进行信息交流 其中 用例图 时序图和类图等共同组成了OOM的核心 67 实验4 5PowerDesigner面向对象模型 本实验以Java语言为例 说明使用PowerDesigner建立OOM的过程 将重点讨论用例图 时序图和类图UML中包含的其他图形 读者可根据需要自行创建 68 实验4 5PowerDesigner面向对象模型 1 用例图用例图 usecase 主要用于需求分析阶段 通常用来定义系统的高层次草图 进行系统需求分析和功能设计 它从用户的角度出发来描述应用系统的功能 指出了各个功能的外部操作者 用例图中包含执行者 用例两个要素 执行者是指用户在系统中的角色 用例是用户与计算机的一次交互 用例图描述了每个用例将有哪些执行者参与 69 网上售书系统用例图 70 实验4 5PowerDesigner面向对象模型 在系统中 顾客首先连接到Web系统并填写所需要的检索条件 然后 Web系统开始检索数据库中提供的书目 并以列表形式提供给顾客 如果顾客确认 则发送相应的电子邮件 最后 系统处理顾客的电子邮件 销售人员通过销售系统完成销售活动 71 实验4 5PowerDesigner面向对象模型 1 定义用例用例是外部可见的一个系统功能单元 这些功能由系统单元提供 并通过一系列系统单元与一个或多个参与者之间交换的消息来表达 用例的用途是在不涉及系统内部构造的情况下定义连贯的行为 用例的定义包含用例所必需的所有行为 执行用例功能的主线次序 标准行为的不同变形 一般行为下的所有异常情况及其预期反应等 例如在网上售书系统中 可以定义的用例包括 目录 查询 发送电子邮件和销售系统等 72 实验4 5PowerDesig

温馨提示

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

评论

0/150

提交评论