430 likes | 641 Views
Beyond Technology. 软件工程与 UML. 林琳 Email: linlin@ccniit.com. 图书管理系统 —— 第 8 周第 2 次课. 需求阶段工作任务回顾. 在需求分析阶段中,我们进行了用户访谈、领域分析,需求分析,需求规格说明,以及需求评审交付了以下工作产品: 领域类图 业务用例图、业务流程活动图 系统用例图、系统流程活动图 需求规格说明书 需求分析阶段得到的信息,是我们即将开始的设计阶段的依据。. 我们的进度,在这里. 即将开始的任务 —— 图书管理系统设计阶段. 采用方法:面向对象的设计方法( OOD ) 内容:
E N D
Beyond Technology 软件工程与UML 林琳 Email: linlin@ccniit.com
需求阶段工作任务回顾 • 在需求分析阶段中,我们进行了用户访谈、领域分析,需求分析,需求规格说明,以及需求评审交付了以下工作产品: • 领域类图 • 业务用例图、业务流程活动图 • 系统用例图、系统流程活动图 • 需求规格说明书 • 需求分析阶段得到的信息,是我们即将开始的设计阶段的依据。
我们的进度,在这里 即将开始的任务——图书管理系统设计阶段 • 采用方法:面向对象的设计方法(OOD) • 内容: • 静态结构设计:类和对象的设计,架构设计(设计模式),数据库设计 • 静态结构设计建模技术:类的建模(系统类图),对象的建模,组件图,配置图,数据库设计类图 • 动态结构设计:状态、行为的设计 • 动态结构设计建模技术:状态建模(状态图),行为建模(时序图、交互图)
我们的进度,在这里 今天的工作任务 • 根据需求规格说明书,进行状态分析和状态建模(属于动态结构设计) • GUI工程师准备开始进行图形用户界面设计. 提交内容 • 系统状态图 • GUI工程师在下周交付GUI设计图
我们的进度,在这里 工作任务1:完成系统状态建模交付的工作产品:系统状态图
我们的进度,在这里 第7章 状态图(Statechart Diagram) • 7.1 状态机 • 7.2 状态 • 7.3 转移 • 7.4 状态图的建模技术
7.1状态机(State Machine) • 状态机用于对具有事件驱动的特性的动态行为建模。 • 状态机是展现状态与状态转换的图。 • 状态机由状态组成,各状态由转移链接在一起。状态时对象执行某项活动或等待某个事件时的条件。转移时两个状态之间的关系,它由某个事件触发,然后执行特定的操作或者评估,并导致特定结束状态。
我们的进度,在这里 状态图的概念和内容 • 状态图是UML中对系统动态方面建模的图之一。 • 状态图是一种特殊种类的图形,它拥有所有其他图一样的公共特性,即名称和投影在一个模型上的图形。状态图和其他图的区别在于它的内容。状态图通常包括如下内容:(1)状态(2)转换 • 在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始还有一个终止状态(半实心圆),用来表示状态机的终止,其他的状态用一个圆角的矩形表示 转换
状态机的各种元素 最终状态 初始状态 嵌套状态 状态 转换 入口动作 事件、动作、参数、警戒(监护条件)
7.2 状态(State) • 状态是状态机的重要组成部分,它描述了状态机在对象动态行为的执行所产生的结果。一个完整的状态有5个组成部分: • (1)名字(name) • (2)入口/出口动作(entry/exit action) • (3)内部转换(Internal Transition) • (4)延迟事件(Deferred Event) • (5)子状态(Substate)
状态规范卡 三种常见活动动作
7.3 转移 • 转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模:转换由5个部分组成,它们分别是:源状态、目标状态、触发事件、监护条件和动作。 触发事件 监护条件 动作 源状态 目标状态
我们的进度,在这里 7.4 状态图的建模技术 • 使用状态图一般是对系统中反映型对象建模,特别是对类、用例和系统的实例的行为建模。 • 在使用状态图对系统反映型对象建模时,可以参照以下步骤进行: (1)识别一个要对其生命周期进行描述的参与行为的类; (2)对状态建模,即确定对象可能存在的状态; (3)对事件建模,即确定对象可能存在的事件; (4)对动作建模,即确定当转变被激活时,相应被执行的动作; (5)对建模结果进行精化和细化。
我们的进度,在这里 注意事项: • 根据阅读习惯,在绘制状态图的时候,把初始状态放置在左上角,把最终状态放置在右下角。
状态图和活动图的区别 • 状态图:用来描述对象,子系统,系统的生命周期。通过状态图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。 • 活动图:显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动,它是状态图的一个变种。 • 状态图与活动图的区别:活动图主要描述动作及对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。
我们的进度,在这里 图书管理系统状态图的绘制步骤 • 阅读需求规格说明书 • 读懂系统用例图 • 阅读用例描述文档 • 根据用例描述文档画出状态转换图
我们的进度,在这里 阅读图书管理系统登录用例 • 用例名称:登陆 • 用例描述:本系统需要参与者输入帐号和密码进行系统登陆,该用例页面是系统起始页面。用户帐号和密码是系统默认已经分配的。 • 参与者:图书馆工作人员。 • 前置条件:无 • 基本路径: • 输入帐号,密码 • 点击“进入系统” • 验证用户权限,进入主界面 • 备选流程: • 点击“重新填写”,实现重填帐号密码功能。 • 输入帐号或密码不正确,重新登陆。 • 进入基本路径1
根据“登录”用例描述,画出状态图,如下: 我们的进度,在这里
我们的进度,在这里 阅读“新办借阅证”用例描述 • 用例名称:新办借阅证 • 用例描述:图书馆工作人员输入学生信息进行借阅证办理。 • 参与者:图书馆工作人员。 • 前置条件:图书馆工作人员点击“新办借阅证” • 基本路径: • 输入学生信息(学号,姓名,专业,班级,性别) • 点击“提交” • 显示添加的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别) • 备选流程: • 点击“重新填写”,实现重填学生信息功能。 • 进入基本路径1
在已有的状态图上加入新的状态和转换 我们的进度,在这里
我们的进度,在这里 阅读“补办借阅证”用例描述 • 用例名称:补办借阅证 • 用例描述:图书馆工作人员输入学生信息进行借阅证补办。 • 参与者:图书馆工作人员。 • 前置条件:图书馆工作人员点击“补办借阅证” • 基本路径: • 输入学号 • 点击“查询” • 显示该学生遗失的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别) • 点击“补办” • 显示该学生新借阅证信息(借阅证编号,学号,姓名,专业,班级,性别) • 进入备选流程B • 备选流程: • A:1点击“重新填写”,实现重填学号。 • 2进入基本路径1 • B:如果学生有借阅图书未归还,显示当前该学生借阅情况(书名,ISBN,借阅时间,应归还时间)
我们的进度,在这里 在已有的状态图上加入新的状态和转换
我们的进度,在这里 阅读“图书借阅”用例描述 • 用例名称:图书借阅 • 用例描述:图书馆工作人员输入借阅证编号和图书登录号来完成图书借阅。 • 参与者:图书馆工作人员。 • 前置条件:图书馆工作人员点击“图书借阅” • 基本路径: • 输入借阅证编号。 • 输入图书登录号。 • 点击“借阅” • 显示当前借阅信息(书名,ISBN,借阅时间,应归还时间) • 备选流程: • 点击“重填”实现借阅证和图书登录号重新填写
我们的进度,在这里 在已有的状态图上加入新的状态和转换
我们的进度,在这里 阅读“图书归还”用例描述 • 用例名称:图书归还 • 用例描述:图书馆工作人员输入图书登录号进行图书归还。 • 参与者:图书馆工作人员。 • 前置条件:图书馆工作人员点击“图书归还” • 基本路径: • 输入图书登录号 • 点击“查询” • 显示该书借阅信息(书名,ISBN,借阅时间,应归还时间) • 点击“归还” • 提示“归还成功” • 备选流程: • 点击重新填写,实现图书登录号重新填写
我们的进度,在这里 在已有的状态图上加入新的状态和转换
我们的进度,在这里 阅读“注销”用例描述 • 用例名称:注销 • 用例描述:图书管理员离开系统 • 参与者:图书馆工作人员。 • 前置条件:已经进入系统 • 基本路径: • 点击“注销” • 提示“确认退出” • 点击确认,退出系统 • 备选流程: • 点击取消不退出系统
我们的进度,在这里 在已有的状态图上加入新的状态和转换
我们的进度,在这里 以此类推…………………… • 依次对“删除图书”“新增图书”“修改图书”的用例描述进行阅读,然后添加“状态”、“转换”。 • 最后得到完整的系统状态图。
我们的进度,在这里 工作任务2:图书管理系统的GUI设计准备
我们的进度,在这里 任务准备:选择合适的软件架构模式 • 在进行GUI设计之前,需要根据用户需求确定要开发的软件模式。不同模式的软件,GUI设计的方式不同。 • 管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。 • 首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。 • 其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别; • 再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。
我们的进度,在这里 Client / Server模式 图书管理系统的模式分析 • 由于我们开发的图书管理系统,目前只有一个使用者——图书馆工作人员。而且我公司开发技术以基于java的GUI编程技术为主。 • 因此选择C/S架构作为这次图书管理系统的架构。 • C端为图书管理系统,而S端为数据库服务器。
我们的进度,在这里 GUI设计的参考资料:GUI工程师阅读后,写读书心得。 • 用户界面设计指南 • (ftp://computer.dept.ccniit.com/林琳/软件工程与UML/参考资料) • 用户界面原型设计艺术(英文)(http://www.scottberkun.com/essays/essay12.htm) • 出色图形用户界面设计规范(http://www.mscto.com/SoftEngin/200901239587.html) • 英文原文地址:http://www.iie.org.mx/Monitor/v01n03/ar_ihc2.htm • 糟糕界面集锦(http://blog.csdn.net/Tunix126/archive/2006/12/03/1427894.aspx)
我们的进度,在这里 GUI工程师做GUI设计的准备 • 几种工具: • GUI Design Studio • Microsoft Visio(易用) • Fireworks+Photoshop(功能强大) 更多内容,下节课介绍……
我们的进度,在这里 完成实验8:系统行为建模技术3——状态图
我们的进度,在这里 实验报告书写注意: 实验: 八 注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师.电子版程序也由课代表收齐后发给老师.
我们的进度,在这里 实验报告书写注意: • 实验名称 :系统行为建模技术3——状态图 • 实验目的、要求 • 掌握系统状态建模技术 • 通过使用Rose工具,绘制状态图。 • 实验设备 • 学生自己的笔记本 • 实验内容、步骤 • 内容: • 1)对图书馆管理系统的状态进行分析。 • 2)使用Rational Rose完成图书馆管理系统的状态图。
我们的进度,在这里 实验报告书写注意: • 实验方法与步骤: • 打开rose工具,新建一个模型,命名为:学号姓名-实验8,如:7317110101兰维海-实验8 • 完成图书馆管理系统的图设计:单击浏览器中的Logical View。在弹出菜单中选择【New-State Chart Diagram】,输入状态图的名称:实验8,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【save】保存设计图。
我们的进度,在这里 课程小结 • 本次课中,用到以下知识 • 状态建模——状态图——教材第7章 • 了解GUI设计工具: VISIO \Fireworks+Photoshop