动态设计1——数据库+状态培训课件

上传人:日度 文档编号:149739100 上传时间:2020-10-29 格式:PPTX 页数:67 大小:1.77MB
返回 下载 相关 举报
动态设计1——数据库+状态培训课件_第1页
第1页 / 共67页
动态设计1——数据库+状态培训课件_第2页
第2页 / 共67页
动态设计1——数据库+状态培训课件_第3页
第3页 / 共67页
动态设计1——数据库+状态培训课件_第4页
第4页 / 共67页
动态设计1——数据库+状态培训课件_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《动态设计1——数据库+状态培训课件》由会员分享,可在线阅读,更多相关《动态设计1——数据库+状态培训课件(67页珍藏版)》请在金锄头文库上搜索。

1、图书管理系统第5次课,1,根据领域分析的结果,进行系统数据库设计(属于静态结构设计),今天的工作任务,提交内容,数据库设计的图和表结构表示,2,工作任务1:根据领域分析的结果,进行系统数据库设计,提交内容: 数据库设计的图和表结构表示,3,领域分析中的数据建模领域类图,根据用户访谈得知,图书登录号即为图书编号,因此去掉此项,加入图书状态一项,用于图书遗失处理,4,修改后的领域类图,领域类图描述的是系统中的数据对象,又称为 object Model, object Model属于概念级别的模型,需要映射为表(Data Model)才能被计算机存储,5,设计原则: 每一个类成为一个数据库表。 关系

2、映射: 一对多的关系映射为数据库表的主外键关联(1方的主键加入n方成为外键) 一对一的关系映射为数据库表的主外键关联(1方的 主键加入另一方成为外键) 多对多的关系映射:产生第三张表,将两个多方的主键加入其中成为外键,两个外键的组合成为主键。 利用数据库三范式检查表,从而考察领域类图的分析是否合理,消除冗余数据。 检查数据是否能够反映用例视图的需要;进一步与用户再次确认使用的数据。,根据领域类图,可以进行数据库设计,6,图书管理系统数据库设计,7,编写表结构说明,表:借阅信息,8,这里值得注意的是, 系统设计需要满足系统需求。在需求规格说明书中,显示借阅信息时,显示的内容包括(书名,ISBN,

3、借阅时间还书时间) 而书名和ISBN来自图书表,借阅时间和还书时间来自借阅信息表,因此,在数据库中,需要增加一个视图:借阅视图。,增加一个数据库视图,9,CREATE VIEW 借阅视图 AS SELECT 借阅信息.借阅时间, 借阅信息.归还时间, 借阅信息.借阅信息_ID, 借阅信息.学生_ID, 借阅信息.图书_ID, 图书.书名, 图书.ISBN FROM 借阅信息 INNER JOIN 图书 ON 借阅信息.图书_ID = 图书.图书_ID INNER JOIN 学生 ON 借阅信息.学生_ID = 学生.学生_ID,图书管理系统视图创建脚本_借阅视图_mysql数据使用,10,图书

4、管理系统第6次课,11,在需求分析阶段中,我们进行了用户访谈、领域分析,需求分析,需求规格说明,以及需求评审交付了以下工作产品: 领域类图 业务用例图、业务流程活动图 系统用例图、系统流程活动图 需求规格说明书 需求分析阶段得到的信息,是我们即将开始的设计阶段的依据。,需求阶段工作任务回顾,12,3个子模型 对所解决问题的描述角度进行划分: 对象模型(类图) 3个子模型 动态模型 (活动图) 功能模型 (用例图) 用用例图描述系统的静态使用情况,它定义了系统的功能需求,但这是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。,面向对象分析的基本过程,13,对图书馆管理系统需求建模后,

5、进入到系统分析和概要设计阶段。在该阶段中,将在需求模型的基础上,对系统进行静态建模以及动态建模,最后构建出图书馆管理系统的软件架构。这主要体现在对系统中对象进行抽象成类,进而对类间的相互关系进行建模,而系统内部行为建模则是由交互图进行描述。,14,面向对象设计 面向对象设计(OOD,Object-Oriented Design)是面向对象分析到实现的一个桥梁。面向对象分析是将用户需求经过分析后,建立问题域精确模型的过程;而面向对象设计则根据面向对象分析得到的需求模型,建立求解域模型的过程。即分析必须搞清楚系统“做什么”,而设计必须搞清楚系统“怎么做”,从分析到设计不是传统方法的转换,而是平滑(

6、无缝)过渡,而求解域模型是系统实现的依据。,15,面向对象设计的准则,优秀设计就是使得系统在其整个生命周期中的总开销最小的设计, 其主要特点就是容易维护。,16,1. 模块化 面向对象软件开发模式,很自然地支持模块的设计原理:对象就是模块。 2. 抽象 面向对象方法支持过程和数据抽象。 类是一种抽象数据类型。使用者无须知道类中数据元素的具体表示方法,就可以通过接口使用类中定义的数据。 这类抽象称为规格说明抽象。 3. 信息隐藏 对象的封装性实现支持了信息隐藏。,17,4. 弱耦合 耦合主要指不同对象之间相互关联的紧密程度。 两个对象应该通过类的接口实现耦合,而不应该依赖于类的具体实现细节(友元

7、)。 对象之间的两类耦合: (1) 交互耦合:交换消息 使交互耦合尽可能松散的准则:减少消息中包含的参数个数,降低参数的复杂程度, 减少消息数。 (2) 继承耦合:互为基类和派生类(非模块之间) 与交互耦合相反,应该提高继承耦合程度。 通过继承关系结合起来的基类和派生类,构成了更大的模块。,18,5. 强内聚 在面向对象设计中存在下述3种内聚。 (1) 服务内聚。一个服务应该完成一个且仅完成一个功能。 (2) 类内聚。设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必需的。如果某个类有多个用途,通常应该把它分解成多个专用的类。

8、(3) 一般-特殊(继承)内聚。设计出的一般-特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对相应的领域知识的正确抽取。 紧密的继承耦合与高度的一般-特殊内聚是一致的。,19,6. 可重用 重用有两方面的含义: 一是尽量使用已有的类 二是在设计新类的协议时考虑将来的可重用性。,20,1. 重用 重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。软件重用可分为3个层次: (1) 知识重用(例如,软件工程知识的重用)。 (2) 方法和标准的重用(例如,面向对象方法或国家制定的软件开发规范的重用)。 (3) 软件成分的重用。,软件重用,21,2. 软件成分的重用级别 软件

9、成分的重用的3个级别: (1)几种形式的代码重用 源代码剪贴:几乎无法跟踪原始代码块的修改 源代码包含#include :重新编译都用最新源代码 继承:可扩充或修改库中的类而不影响原有的代码 (2) 设计结果重用 重用某个软件系统的设计模型。e.g. 同(3) (3) 分析结果重用 重用分析模型, 例如,把一个应用系统移植到完全不同的软硬件平台上。,22,3. 10种典型的可重用软件成分 (1) 项目计划:软件质量保证计划。 (2) 成本估计:不同项目中类似功能的成本估算。 (3) 体系结构:事务类处理体系结构。 (4) 需求模型/规格说明:对象模型,数据流图。 (5) 设计:体系结构、数据、

10、接口和过程设计。 (6) 源代码:兼容的程序构件。 (7) 用户文档和技术文档:部分重用。 (8) 用户界面:GUI 可占应用程序的60%代码量。 (9) 数据: 记录结构,文件和完整的数据库。 (10 测试用例:与重用设计或代码相关的用例。,23,采用方法:面向对象的设计方法(OOD) 内容: 静态结构设计:类和对象的设计,架构设计(设计模式),数据库设计 静态结构设计建模技术:类的建模(系统类图),对象的建模,组件图,配置图,数据库设计类图 动态结构设计:状态、行为的设计 动态结构设计建模技术:状态建模(状态图),行为建模(时序图、交互图),即将开始的任务图书管理系统设计阶段,24,根据需

11、求规格说明书,进行状态分析和状态建模(属于动态结构设计) GUI工程师准备开始进行图形用户界面设计.,今天的工作任务,提交内容,系统状态图 GUI工程师在下周交付GUI设计图,25,工作任务1:完成系统状态建模交付的工作产品:系统状态图,26,1 状态机 2 状态 3 转移 4 状态图的建模技术,状态图(Statechart Diagram),状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。,27,状态机用于对具有事件驱动的特性的动态行为建模。 状态机是展现状态与状态转换的图。 状态机由状态组成,各状态由转移链接在一起。状态是对象执行某项活动或等待某个事件时的

12、条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或者评估,并导致特定结束状态。,1状态机(State Machine),28,状态图是UML中对系统动态方面建模的图之一。 状态图是一种特殊种类的图形,它拥有所有其他图一样的公共特性,即名称和投影在一个模型上的图形。状态图和其他图的区别在于它的内容。状态图通常包括如下内容:(1)状态(2)转换 在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始还有一个终止状态(半实心圆),用来表示状态机的终止,其他的状态用一个圆角的矩形表示,状态图的概念和内容,转换,29,状态机的各种元素,初始状态,最终状态,状态

13、,入口动作,转换,事件、动作、参数、警戒(监护条件),嵌套状态,30,状态是状态机的重要组成部分,它描述了状态机在对象动态行为的执行所产生的结果。一个完整的状态有5个组成部分: (1)名字(name) (2)入口/出口动作(entry/exit action) (3)内部转换(Internal Transition) (4)延迟事件(Deferred Event) (5)子状态(Substate),2 状态(State),31,状态,32,状态规范卡,三种常见活动动作,33,转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模:转换由5个部分组成,它们分别是:源状态、目标状态、触发事件

14、、监护条件和动作。,3 转移,源状态,目标状态,触发事件,监护条件,动作,34,使用状态图一般是对系统中反映型对象建模,特别是对类、用例和系统的实例的行为建模。 在使用状态图对系统反映型对象建模时,可以参照以下步骤进行: (1)识别一个要对其生命周期进行描述的参与行为的类; (2)对状态建模,即确定对象可能存在的状态; (3)对事件建模,即确定对象可能存在的事件; (4)对动作建模,即确定当转变被激活时,相应被执行的动作; (5)对建模结果进行精化和细化。,4 状态图的建模技术,35,根据阅读习惯,在绘制状态图的时候,把初始状态放置在左上角,把最终状态放置在右下角。,注意事项:,36,状态图:

15、用来描述对象,子系统,系统的生命周期。通过状态图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。 活动图:显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动,它是状态图的一个变种。 状态图与活动图的区别:活动图主要描述动作及对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。,状态图和活动图的区别,37,阅读需求规格说明书 读懂系统用例图 阅读用例描述文档 根据用例描述文档画出状态转换图,图书管理系统状态图的绘制步骤,38,用例名称:登陆 用例描述:本系统需要参与者输入帐号和密码进行系统登陆,该用例页面是系统起始页面。用户帐号和密

16、码是系统默认已经分配的。 参与者:图书馆工作人员。 前置条件:无 基本路径: 输入帐号,密码 点击“进入系统” 验证用户权限,进入主界面 备选流程: 点击“重新填写”,实现重填帐号密码功能。 输入帐号或密码不正确,重新登陆。 进入基本路径1,阅读图书管理系统登录用例,39,根据“登录”用例描述,画出状态图,如下:,40,用例名称:新办借阅证 用例描述:图书馆工作人员输入学生信息进行借阅证办理。 参与者:图书馆工作人员。 前置条件:图书馆工作人员点击“新办借阅证” 基本路径: 输入学生信息(学号,姓名,专业,班级,性别) 点击“提交” 显示添加的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别) 备选流程: 点击“重新填写”,实现重填学生信息功能。 进入基本路径1,阅读“新办借阅证”用例描述,41,在已有的状态图上加入新的状态和转换,42,用例名称:补办借阅证 用例描述:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号