图书管理系统动态设计状态.ppt
软件工程实践软件工程实践需求阶段工作任务回顾在需求分析阶段中,我们进行了用户访谈、领域分析,需求分析,需求规格说明,以及需求评审交付了以下工作产品:领域类图业务用例图、业务流程活动图系统用例图、系统流程活动图需求规格说明书需求分析阶段得到的信息,是我们即将开始的设计阶段的依据。软件工程实践软件工程实践软件工程实践软件工程实践即将开始的任务图书管理系统设计阶段采用方法:面向对象的设计方法(OOD)内容:1.静态结构设计:类和对象的设计,架构设计(设计模式),数据库设计静态结构设计建模技术:类的建模(系统类图),对象的建模,组件图,配置图,数据库设计类图2.动态结构设计:状态、行为的设计动态结构设计建模技术:状态建模(状态图),行为建模(时序图、交互图)我们的进度,在这里软件工程实践软件工程实践今天的工作任务1.根据需求规格说明书,进行状态分析和状态建模(属于动态结构设计)2.GUI工程师准备开始进行图形用户界面设计.提交内容1.系统状态图2.GUI工程师在下周交付GUI设计图我们的进度,在这里软件工程实践软件工程实践工作任务1:完成系统状态建模交付的工作产品:系统状态图我们的进度,在这里软件工程实践软件工程实践1 状态图(Statechart Diagram)1.1 状态机1.2 状态1.3 转移1.4 状态图的建模技术我们的进度,在这里软件工程实践软件工程实践1.1状态机(State Machine)状态机用于对具有事件驱动的特性的动态行为建模。状态机是展现状态与状态转换的图。状态机由状态状态组成,各状态由转移转移链接在一起。状态是对象执行某项活动或等待某个事件时的条件。转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或者评估,并导致特定结束状态。软件工程实践软件工程实践状态图的概念和内容状态图是UML中对系统动态方面建模的图之一。状态图是一种特殊种类的图形,它拥有所有其他图一样的公共特性,即名称和投影在一个模型上的图形。状态图和其他图的区别在于它的内容。状态图通常包括如下内容:(1)状态(2)转换在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始还有一个终止状态(半实心圆),用来表示状态机的终止,其他的状态用一个圆角的矩形表示转换转换我们的进度,在这里软件工程实践软件工程实践状态机的各种元素初始状态初始状态最终状态最终状态状态状态入口动作入口动作转换转换事件、动作、参数、警戒(监护条件)事件、动作、参数、警戒(监护条件)嵌套状态嵌套状态软件工程实践软件工程实践1.2 状态(State)状态是状态机的重要组成部分,它描述了状态机在对象动态行为的执行所产生的结果。一个完整的状态有5个组成部分:(1)名字(name)(2)入口/出口动作(entry/exit action)(3)内部转换(Internal Transition)(4)延迟事件(Deferred Event)(5)子状态(Substate)软件工程实践软件工程实践状态软件工程实践软件工程实践状态图和活动图的区别状态图:用来描述对象,子系统,系统的生命周期。通过状态图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。活动图:显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动,它是状态图的一个变种。状态图与活动图的区别:活动图主要描述动作及对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。软件工程实践软件工程实践图书管理系统状态图的绘制步骤1.阅读需求规格说明书2.读懂系统用例图3.阅读用例描述文档4.根据用例描述文档画出状态转换图我们的进度,在这里软件工程实践软件工程实践阅读图书管理系统登录用例用例名称:登陆用例名称:登陆用例描述用例描述:本系统需要参与者输入帐号和密码进行系统登陆,该用例页面是系统起始页面。用户帐号和密码是系统默认已经分配的。参与者参与者:图书馆工作人员。前置条件前置条件:无基本路径基本路径:输入帐号,密码点击“进入系统”验证用户权限,进入主界面备选流程:备选流程:点击“重新填写”,实现重填帐号密码功能。输入帐号或密码不正确,重新登陆。进入基本路径1我们的进度,在这里软件工程实践软件工程实践根据“登录”用例描述,画出状态图,如下:我们的进度,在这里软件工程实践软件工程实践阅读“新办借阅证”用例描述用例名称:新办借阅证用例名称:新办借阅证用例描述用例描述:图书馆工作人员输入学生信息进行借阅证办理。参与者参与者:图书馆工作人员。前置条件前置条件:图书馆工作人员点击“新办借阅证”基本路径:基本路径:输入学生信息(学号,姓名,专业,班级,性别)点击“提交”显示添加的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)备选流程:备选流程:点击“重新填写”,实现重填学生信息功能。进入基本路径1我们的进度,在这里软件工程实践软件工程实践在已有的状态图上加入新的状态和转换我们的进度,在这里软件工程实践软件工程实践阅读“补办借阅证”用例描述用例名称:补办借阅证用例名称:补办借阅证用例描述:用例描述:图书馆工作人员输入学生信息进行借阅证补办。参与者:参与者:图书馆工作人员。前置条件:前置条件:图书馆工作人员点击“补办借阅证”基本路径:基本路径:输入学号点击“查询”显示该学生遗失的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)点击“补办”显示该学生新借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)进入备选流程B备选流程:备选流程:A:1点击“重新填写”,实现重填学号。2进入基本路径1B:如果学生有借阅图书未归还,显示当前该学生借阅情况(书名,ISBN,借阅时间,应归还时间)我们的进度,在这里软件工程实践软件工程实践在已有的状态图上加入新的状态和转换我们的进度,在这里软件工程实践软件工程实践阅读“图书借阅”用例描述用例名称:图书借阅用例名称:图书借阅用例描述:用例描述:图书馆工作人员输入借阅证编号和图书登图书馆工作人员输入借阅证编号和图书登录号来完成图书借阅。录号来完成图书借阅。参与者:参与者:图书馆工作人员。图书馆工作人员。前置条件:前置条件:图书馆工作人员点击图书馆工作人员点击“图书借阅图书借阅”基本路径:基本路径:输入借阅证编号。输入借阅证编号。输入图书登录号。输入图书登录号。点击点击“借阅借阅”显示当前借阅信息(书名显示当前借阅信息(书名,ISBN,借阅时间,应归还时,借阅时间,应归还时间)间)备选流程:备选流程:点击点击“重填重填”实现借阅证和图书登录号重新填写实现借阅证和图书登录号重新填写我们的进度,在这里软件工程实践软件工程实践在已有的状态图上加入新的状态和转换我们的进度,在这里软件工程实践软件工程实践阅读“图书归还”用例描述用例名称:图书归还用例名称:图书归还用例描述:用例描述:图书馆工作人员输入图书登录号进行图书图书馆工作人员输入图书登录号进行图书归还。归还。参与者参与者:图书馆工作人员。:图书馆工作人员。前置条件前置条件:图书馆工作人员点击:图书馆工作人员点击“图书归还图书归还”基本路径:基本路径:输入图书登录号输入图书登录号点击点击“查询查询”显示该书借阅信息(书名显示该书借阅信息(书名,ISBN,借阅时间,应归还时,借阅时间,应归还时间)间)点击点击“归还归还”提示提示“归还成功归还成功”备选流程:备选流程:点击重新填写,实现图书登录号重新填写点击重新填写,实现图书登录号重新填写我们的进度,在这里软件工程实践软件工程实践在已有的状态图上加入新的状态和转换我们的进度,在这里软件工程实践软件工程实践阅读“注销”用例描述用例名称:注销用例名称:注销用例描述用例描述:图书管理员离开系统:图书管理员离开系统参与者参与者:图书馆工作人员。:图书馆工作人员。前置条件前置条件:已经进入系统:已经进入系统基本路径基本路径:1.点击点击“注销注销”2.提示提示“确认退出确认退出”3.点击确认,退出系统点击确认,退出系统备选流程:备选流程:1.点击取消不退出系统点击取消不退出系统我们的进度,在这里软件工程实践软件工程实践在已有的状态图上加入新的状态和转换我们的进度,在这里软件工程实践软件工程实践以此类推依次对“删除图书”“新增图书”“修改图书”的用例描述进行阅读,然后添加“状态”、“转换”。最后得到完整的系统状态图。我们的进度,在这里软件工程实践软件工程实践我们的进度,在这里软件工程实践软件工程实践工作任务2:图书管理系统的GUI设计准备 我们的进度,在这里软件工程实践软件工程实践任务准备:选择合适的软件架构模式在进行GUI设计之前,需要根据用户需求确定要开发的软件模式。不同模式的软件,GUI设计的方式不同。管理软件技术管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其任何应用软件其风格都是一样风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构平台体系结构也从过去单用户发展到今天的文件服务器(FS)体系、客户机服务器(CS)体系和浏览器服务器(BS)体系。我们的进度,在这里软件工程实践软件工程实践图书管理系统的模式分析由于我们开发的图书管理系统,目前只有一个使用者图书馆工作人员。而且我公司开发技术以基于基于.NET的的GUI编程技术为主。编程技术为主。因此选择C/S架构作为这次图书管理系统的架构。C端为图书管理系统,而S端为数据库服务器。C Clientlient S Servererver模式模式/我们的进度,在这里软件工程实践软件工程实践GUI工程师做GUI设计的准备几种工具:GUI Design Studio Microsoft Visio(易用)Fireworks+Photoshop(功能强大)更多内容,下节课介绍更多内容,下节课介绍我们的进度,在这里软件工程实践软件工程实践软件工程实践软件工程实践课程小结本次课中,用到以下知识1.状态建模状态图教材第7章2.了解GUI设计工具:VISIO Fireworks+Photoshop我们的进度,在这里