《UML与Rose软件建模案例教程 教学课件 PPT 作者 陈承欢 第9章 UML软件模型的实现》由会员分享,可在线阅读,更多相关《UML与Rose软件建模案例教程 教学课件 PPT 作者 陈承欢 第9章 UML软件模型的实现(83页珍藏版)》请在金锄头文库上搜索。
1、第9章 UML软件模型的实现,本章以“用户登录”模块为例说明如何将UML模型转换为可用的系统,主要包括构建多层架构、创建类、编写类代码、设计程序界面、编写程序代码、模块测试等方面。,【教学导航】,【操作示范与知识讲解】 【任务描述】 (1)绘制用户登录模块的用例图、类图、顺序图和活动图。 (2)建立数据库,在该数据库建立“用户信息”数据表。,(3)在Visual Studio.NET2005环境中构建模块级多层架构。 (4)创建数据库操作loginDbClass、创建业务处理类loginAppClass,且编写类代码实现其所需的功能。,(5)设计用户登录界面。 (6)编写程序代码,实现用户登录
2、的功能。 (7)测试用户登录模块的界面和功能。 【任务实施】,9.1 基于UML的分析设计与系统建模,9.1.1 基于UML的面向对象分析设计过程 运用UML进行面向对象的系统分析设计,通常都要经过如下3个步骤。,(1)识别系统的用例和参与者。 首先要对项目进行需求调研,分析项目的业务流程图和数据流程图,以及项目中涉及的各级操作人员,识别出系统中的所有用例和参与者。,接着分析系统中各参与者和用例间的联系,使用UML建模工具画出系统的用例图;最后,勾画系统的概念层模型,借助UML建模工具描述概念层的类图和活动图。,(2)进行系统分析并抽象出类。 系统分析的任务是找出系统的所有需求并加以描述,同时
3、建立特定领域模型,建立模型有助于开发人员考察用例。 从实现需求中抽象出类,并描述各个类之间的关系。,(3)设计系统,并设计系统中的类及其行为。 设计阶段包括架构设计和详细设计,架构设计的任务是定义包、包间的依赖关系和主要通信机制。,详细设计主要用来细化包的内容,清晰描述所有的类,同时使用UML的动态模型描述在特定环境下这些类实例的行为。,9.1.2 系统建模的简单流程 UML建模的简单流程可以用UML的活动图模拟,如图9-1所示。,图9-1 UML建模的简单流程,9.2 设计UML模型,1绘制“用户登录”模块的用例图 “用户登录”模块的用例图如图9-2所示。,图9-2 “用户登录模块”的用例图
4、,2绘制“数据库操作类”的类图 “数据库操作类”的类图如图9-3所示。,图9-3 “数据库操作类”的类图,3绘制“用户登录类”的类图 “用户登录类”的类图如图9-4所示。,图9-4 “用户登录类”的类图,4绘制“用户登录界面类”的类图 “用户登录界面类”的类图如图9-5所 示。,图9-5 “用户登录界面类”的类图,5绘制“用户登录”的顺序图 “用户登录”操作的顺序图如图9-6所 示。,图9-6 用户登录的顺序图,6绘制“用户登录”的活动图 “用户登录”的活动图如图9-7所示。,图9-7 “用户登录”的活动图,9.3 建立数据库和数据表,首先打开SQL Server 2000或者SQL Serv
5、er 2005企业管理器新建一个数据库,将其命名为“bookData”。 这样就创建了系统所需的数据库。,然后在该数据库中创建一个数据表“用户信息”,该数据表的结构信息如表9-1所示,该数据表的记录示例如表9-2所示。,表9-1 “用户信息”数据表的结构信息,表9-2 “用户信息”数据表的记录示例,9.4 构建模块级多层架构,“用户登录”模块采用多层架构设计,其逻辑结构如图9-8所示。,图9-8 “用户登录”模块的多层架构,1创建应用程序解决方案 本教材使用目前普通使用的Microsoft Visual Studio 2005作为系统开发工具。,(1)启动Microsoft Visual St
6、udio 2005,显示系统开发环境。 (2)新建一个空白解决方案。,2创建数据库访问类库 3创建业务处理类库 4创建应用程序项目,9.5 创建类与编写类代码,根据模块的类图及它们之间的关系创建类,编写类代码,实现系统的功能。,9.5.1 创建数据库操作类loginDbClass 1数据库操作类loginDbClass各个成员的功能说明,根据数据库操作类的模型创建数据库操作类loginDbClass,数据库操作类loginDbClass各个成员的功能如表9-3所示。,2添加类 在【解决方案资源管理器】中右键单击类库【loginDB】,在弹出的快捷菜单中单击选择菜单项【添加】【添加新项】,打开【
7、添加新项】对话框,模板选择【类】,在名称文本框中输入类的名称“loginDbClass.cs”。,如图9-14所示,然后单击【添加】按钮,这样便新建一个类,并自动打开类代码编辑器。,图9-14 【添加新项】对话框,3数据库操作类loginDbClass各个成员的代码编写 双击类文件“loginDbClass.cs”,打开代码编辑器窗口,在该窗口中编写程序代码。,(1)引入命名空间 (2)声明数据库连接对象 (3)编写方法openConn的程序代码 (4)编写方法closeConn的程序代码 (5)编写方法getData的程序代码,9.5.2 创建业务处理类loginAppClass 1业务处理
8、类loginAppClass各个成员的功能说明,根据业务处理类的模型创建业务处理类loginAppClass,业务处理类loginAppClass各个成员的功能如表9-7所示。,表9-7 loginAppClass类各个成员的功能,2添加引用 在业务处理类loginAppClass中需要使用loginDB类库的loginDbClass类中所定义的方法,必须将类库loginDB添加到类库loginApp的引用中。,3对自动生成的类重命名 将loginApp类库中自动生成的类“Class1.cs”重命名为“loginAppClass.cs”。,4业务处理类loginAppClass各 个成员的代码
9、编写 双击类文件“loginAppClass.cs”,打开代码编辑器窗口,在该窗口中编写程序代码。,(1)声明类oginDbClass的对象 (2)编写方法getUserInfo的程序代码,9.6 设计程序界面,根据模块的界面类设计程序界面,实现界面类的功能。,1对自动生成的Windows窗体重命名 将自动生成的Windows窗体“Form1.vb”重命名为“frmLogin.cs”。,2设计窗体外观 在窗体中添加1个GroupBox控件、1个PictureBox控件、2个Label控件、2个TextBox控件和2个Button控件,调整各个控件的大小与位置,窗体的外观如图9-16所示。,图9
10、-16 【用户登录】窗体的外观设计,3设置窗体与控件的属性 【用户登录】窗体及控件的主要属性设置如表9-9所示。,表9-9 【用户登录】窗体及控件的主要属性设置,9.7 编写程序代码,根据模块的用例图、类图、顺序图、活动图编写程序代码,实现模块所需的功能。,1添加引用 2编写【确定】按钮Click事件过程的程序代码 3编写【取消】按钮Click事件过程的程序代码,9.8 模块测试,根据模块的用例图测试模块的功能,根据顺序图、活动图测试模块的工作过程和容错能力。,9.8.1 设置启动项目和启动对象 1设置解决方案的启动项目 2设置启动对象,9.8.2 用户界面测试 (1)测试内容:用户界面的视觉
11、效果和易用性;控件状态、位置及内容确认;光标移动顺序。 (2)确认方法:屏幕拷贝、目测,如图9-19所示。 (3)测试结论:合格,图9-19 【用户登录】窗体运行的初始状态,9.8.3 功能测试 功能测试的目的是测试【用户登录】窗体是否实现了要求的功能,同时测试用户登录模块的容错能力。,1准备测试用例 准备的测试用例如表9-12所示。,表9-12 【用户登录】窗体的测试用例,2测试输入正确的用户名和密码时,【确定】按钮的动作 在如图9-19所示的窗体中,分别输入用户名为“admin”,输入密码为“admin”,结果如图9-20所示,然后单击【确定】按钮,出现如图9-21所示提示信息。,图9-2
12、0 测试【用户登录】 窗口中输入正确的用户名和密码,图9-21 登录成功的提示信息,3测试“用户名”有误时,【确 定】按钮的动作 如图9-22所示。,图9-22 输入“用户信息”表中 不存在的用户名的情况,在“用户名”文本框中输入“adminX”时,从表9-2可以看出,目前“用户信息”数据表中不存在“adminX”的用户名,也就是所输入的“用户名”有误,此时,单击【确定】按钮时会出现如图9-23所示的提示信息。 测试结论:合格。,图9-23 “用户名或者密码有误”的提示信息,4测试“密码”输入错误时,【确 定】按钮的动作 如图9-24所示。,图9-24 测试【用户登录】窗口中输入正确的用户名,
13、 但对应的密码有误的情况,在“用户名”文本框中输入正确的用户名“admin”,在“密码”文本框中输入错误的密码“123”,然后单击【确定】按钮出现如图9-23所示的提示信息。 测试结论:合格。,5测试【取消】按钮的有效性 在【用户登录】窗口中单击【取消】按钮,出现如图9-25所示的“退出系统提示信息”。 测试结论:合格。,图9-25 退出系统的提示信息,【同步训练】 设计图书管理系统“修改密码”模块的UML模型,并实现该模型。,【任务描述】 (1)设计“修改密码”模块的用例图、类图、顺序图和活动图。 (2)在数据库操作类loginDbClass中定义方法editData(),编写方法的程序代码
14、,实现修改数据表中的密码。,(3)在业务处理类loginAppClass中定义方法changePassword(),编写方法的程序代码,实现修改密码的功能。 (4)设计修改密码的Windows窗体。,(5)编写Windows窗体中各按钮的Click事件过程的程序代码,实现修改密码与退出的功能。 (6)对以上各方法和Windows窗体进行测试。,【本章小结】 本章介绍了基于UML的系统分析设计方法以及系统建模的方法,以“用户登录”模块为例介绍了设计UML模型、建立数据库和数据表、构建模块级多层架构、创建类与编写类代码、设计程序界面、编写程序代码、模块测试全过程。 使读者对软件开发有一个完整的印象。,