基于UML的开放式课堂教学管理系统建模

2024-09-20 版权声明 我要投稿

基于UML的开放式课堂教学管理系统建模(推荐9篇)

基于UML的开放式课堂教学管理系统建模 篇1

摘 要:随着“互联网+”在教育领域的应用,理实一体化课程在职业教育应用广泛,构建相应的学习、教学空间成为当下流行趋势,作者根据学习空间课堂教学管理实现的功能,应用UML分析设计B/S结构的系统模型,建立开放课堂教学管理系统,实现对象类的定义、对象类的动态建模及物理建模,有利于提高教学管理系统的开放性、稳定性、可重用性。

关键词:开放课堂教学管理;UML;学习空间;动态建模

中图分类号:G434 文献标志码:A 文章编号:1673-8454(2016)11-0062-03

一、引言

2016年地平线报告提出学习空间重构的重要性,这就要求各院校建立新的教与学空间。高等职业教育变革的主要体现之一是采用理实一体化的教学课程模式,利用现代教育技术,将理论与实践,教与学,教室、工作室、实训室,知识、技能等一体化。系统从学习空间教学角度出发,采用.NET框架和MVC模式开发开放课堂教学管理系统,既能够实现学习空间动态、开放的教学,同时对职业院校学习空间的综合管理具有重要作用。从学习空间教学的角度出发,使用UML对开放课堂教学管理系统建设内容进行分析建模。系统合理规划,功能完善,方便师生共同使用,减少相关工作人员的工作量;实现学习空间上的资源共享,激发学习者的学习动机,学生完成社会性交互,促进学生主动参与,提升学习效果;学习空间管理方面,减轻管理员工作,采用信息系统的管理模式,学习空间主要实现项目课程的安排,师生通过访问服务器可以方便地查询、提交有关教学资源。

二、系统结构

系统根据教学需求把用户分为四类,有教师用户、学生用户、系统管理员用户、学习空间管理员用户。针对具体的用户,系统根据用户数据库提供的信息设置相应的权限和功能。学生使用这个系统可以运用个人密码登录,然后在线查看课程安排时间、地点,浏览工作项目信息,提交项目报告,修改个人信息,评定其他学生的工作项目,查看自己项目课程成绩;教学一线的教师登录这个系统主要是查询本人授课的班级,所在的地点、时间,评定学生学习空间平时的课程成绩,跟踪学生的互动信息,记录学生在开放课堂的表现,修改个人资料,申请使用学习空间并查看结果,申请设备,发布及管理项目报告资源;学习空间的管理人员登录系统进行学习空间项目信息管理,管理耗材信息,管理设备信息,检索并分配学习空间,审核学习空间申请,查看学习空间申请及学习空间安排;系统管理员登录本系统设置学习空间、学生、教师基本信息,设置工作项目设备信息,维护公告信息、学习空间排课系统等。

系统使用ASP.NET MVC模式来实现模型应用程序核心,实现在数据库中存取数据的功能,视图一方面将模型的数据接收并传递给用户,另一方面将用户的数据和请求传递给模型和控制器,控制器负责处理用户之间的交互,MVC将模型、显示和控制进行了分离,使一个模型可以具有多个显示视图,使应用更加方便。系统面向全体用户具有信息发布功能,能够完成项目提交、评定等功能,系统可以实现教师申请学习空间的请求,教师根据自己的教学计划合理安排教学并作具体分配,避免学习空间安排冲突,开放课堂教学管理系统结构如图1所示。

三、用例图

系统采用UML 在需求分析阶段的建模步骤,根据系统需求,从用户的角度描述出系统的功能,作为用例图执行时系统与操作者的一个交互过程,在捕获用户需求后,使用用例图对系统静态结构进行建模,定义系统的参与者,划分用例,建立用例图。

1.系统管理员用例图

系统管理员的主要需求是保障系统的正确运行,同时进行系统运行过程中基础数据的维护以及管理配置,具体包括基本信息配置,学习空间课程信息维护,系统用户数据管理,学习空间排课系统维护、实现、信息的发布,系统登录等。通过调查分析,学习空间课程信息维护包括项目课程信息导入,项目课程信息查询,项目课程信息添加、修改、删除等,参与查询项目课程信息的用户包括学生、教师、学习空间管理员等。将每个业务用例都绘制出相应的活动图,活动图用于研究实现一个工作过程、多个对象之间的合作,再将其中的各种“活动”整合,图2为系统管理员用例图:

2.学习空间课程教师用例图

学习空间课程教师登录系统,可以查询学习空间的设备情况、学习空间课程的申请情况,预约申请学习空间、设备、耗材,上传项目任务单,管理学生项目报告等,系统存储师生在学习空间的教学资源,为学生在线主动学习提供了有力保障,图3为学习空间课程教师用例图:

3.学生用例图

学生登录系统,一方面提交项目报告,查看项目课程成绩,进行自评互评,修改个人资料信息,查看课程安排,与系统管理员、课程教师、学生之间进行信息交流;另一方面系统及时记录学生学习过程并及时反馈给教师,教师可以随时随地了解学生的学习情况,图4为系统学生用例图:

四、系统的类

系统在建模过程中,以用例模型为输入,以MVC模式识别系统类、类的属性和操作,对类进行划分建立初步模型,之后确定类的属性和操作以及类之间的联系。Model部分包括后台的逻辑操作,访问数据库中的类,在.NET中写成独立的类文件,最后建立开放课堂教学管理系统的类图,系统的类分别是用户类、系统管理员类、学生类、教师类、项目类、班级类、学习空间类、院系类、专业类、排课类,图5为开放课堂教学管理系统的类图,每类的功能介绍如下:

用户类:用户类是所有类的父类,包括的属性有登录名、密码、用户邮箱等,方法有getAccount()(获取登录账号)以及changePass()(修改密码)。

系统管理员类:主要负责系统运行过程中基础数据的维护以及用户的管理配置,除了继承父类的属性和方法,管理员有自己的属性、电话号码。还有自己的方法:cerftfyUpload()(文件的上传认证)、updaPageInfor()(更新页面信息)、addUser()(添加用户)和deleteUser()(删除用户)等。

学生类:主要负责参与学习空间项目课程学生的基本信息的事务管理,除了继承父类的属性和方法,还包括学号、姓名、性别、年级、专业、班级编号、系部编号、电话、学生类别、邮箱等。对学生信息事务管理的主要操作有updateStuInfo()(更新个人信息)等。

教师类:包括学习空间管理员与项目课程的教师,主要负责教师基本信息的事务管理,除了继承父类的属性和方法,还包括教师编号、教师姓名、性别、教授的课程、职称、系部编号、类别、电话等,对教师信息事务管理的主要操作有updateCourInfo()(更新课程介绍)、updateTchIntro()(更新教师介绍信息)等。

项目类:主要负责教师学生项目基本信息的事务管理,工作项目基本信息事务管理的主要操作有issue()(项目发布)、delete()(项目删除)和modify()(项目修改)等。对项目课程事务管理的主要操作有修改项目课程信息的方法modify(),主要属性包括项目编号、课程编号、项目名称、项目总课时数、项目要求、课程名称、任务单号、专业编号、课程标准、考核类型、学习空间编号、用户类别、学习者特征、分组人数、首开时间、教学目的等。

班级类:主要负责班级的事务管理,主要属性包括班级编号、班级名称、专业编号等,对班级事务管理的主要操作有修改班级信息的方法modify()等。

学习空间类:主要负责理实一体化学习空间基本信息的事务管理,主要属性包括学习空间编号、学习空间名称、负责教师编号、房间号、容纳人数、电脑数、是否分配等,对学习空间事务管理的主要操作有修改学习空间信息的方法modify()。

院系类:主要负责系部信息管理,主要属性包括院/系编号、院/系名称等,对院/系事务管理的主要操作有修改院系信息的方法modify()等。

专业类:主要负责专业信息管理,主要属性包括专业编号、专业名称等,对专业事务管理的主要操作有修改专业信息的方法modify()等。

排课类:主要负责排课结束后的课表相关元素信息管理,主要属性包括学习空间编号、项目编号、教师编号、教学周次、教学日次、教学节次、项目批次、容纳上课人数等,对排课事务管理的主要操作有自动排课autoCourse()、手动排课manualCourse()、冲突检测conflictDetection()、统计分析statisAnalysis()、报表输出reportOut()等。

五、开放课堂教学管理系统中对象的动态建模

系统的动态建模的主要作用是描述个对象间消息的实时变换和相互作用等,开放课程教学管理系统,系统中内部对象间的通信采用UML建模方式进行描述,系统从用户的主要用例间的交互出发,在用例图的基础上建立时序图。具体的动态建模的流程是:系统管理员进行验证后登录系统,对学生、教师、课程的信息进行管理;学习空间管理员进行验证后登录系统,可查看课程、课程项目信息,审批预约申请,查询学习空间设备;学生进行验证后登录系统,可以对项目课程信息和考核成绩进行查询,就学生个人信息进行个性化设置等;教师进行验证后登录系统,可以查看项目课程、学生信息,同时也可对教师的个人信息进行个性化设置和实时观察学生的学习过程等。

六、结束语

开放课堂教学管理系统以高职院校理实一体化课程的学习空间为基础,结合学习空间教学管理的工作流程,开发Web应用系统,采用统一建模语言UML在系统中的应用,提出系统的静态和动态结构,系统经过反复调试使用,目前运行稳定,各基本条件设置较为满足,达到合理分配学习空间资源的效果,满足院校学习空间教学管理系统的优化与实现。

参考文献:

基于UML的开放式课堂教学管理系统建模 篇2

关键词:UML,用例图,类图,顺序图,协作图,网上考试系统

1 引言

考试是教学过程中的一个重要环节,也是检验教学效果的一个主要手段,但传统的考试方式,局限性大、资源浪费严重,不能适应远程教育的要求,取而代之的网上无纸化考试方式。基于网络的考试系统的应用,能减轻教师的评卷工作量,加快教学信息的反馈等,已成为一种发展趋势。

考试要求考试系统必须具有很强的稳定性、可维护性和可重用性。面向对象的系统分析方法被认为是最具发展潜力的分析方法。UML(Unified Modeling Language)[1,2]是Rational Software公司研制的一种基于面向对象技术的、定义良好、易于表达、功能强大且普遍适用的描述系统架构的建模语言。它涵盖了面向对象的分析、设计和实现,融合了早期面向对象建模方法和各种建模语言的优点,并融入了软件工程领域的新思想、新方法和新技术,为面向对象系统的开发、软件自动化工具与环境提供了丰富的、严谨的、扩充性强的表达方式。使用UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态的业务需求,能促进软件复用,使系统功能层次清楚,角色任务明确,便于团队沟通,可以提高工作效率,保证系统设计的可靠性。它使得整个软件分析设计相对传统E-R图来说更有助于提高开发效率。

本文以网上考试系统的分析为例,给出了基于UML的面向对象的系统建模的方法。通过使用UML建模语言和Rational Rose工具对系统进行建模,给出了考试系统的用例图、类图、顺序图和协作图,这对后期系统的开发和维护起到了很好的效果。

2 UML建模简介

UML是由著名的三位技术专家Gray Booch、Jim Rum baugh和Ivar Jacobson发起,在Booch、OMT和OOSE方法基础上的完善。它是一种可以对复杂系统的各个侧面进行可视化描述、构造系统模型以及建立和维护各种所需文档的标准的图形化建模语言,是汇集了多种面向对象建模技术的精华而发展起来并成为面向对象建模语言的工业标准。UML采用的是一种图形表示法,即它将模型中的信息用标准图形元素直观的显示。建立模型后,所有重要的信息将一目了然。例如,用户可以通过模型直观地看到用户与系统间的交互,分析人员可以看到系统对象间的交互,开发人员可以看到要开发的对象和每个对象的任务,测试人员可以看到对象间的交互并根据这些交互准备测试案例,项目管理人员可以看到整个系统各部分的交互。

UML可以对任何具有静态结构和动态行为的系统进行建模。UML共定义了10种模型图从静态与动态两方面来描述系统。静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系,表示静态结构的模型图有用例图、类图、对象图、组件图和部署图;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制,表示动态行为的模型图有顺序图、协作图、活动图和状态图。此外,UML还定义了一些关系:类与类之间的关系有关联、继承(泛化)、依赖和聚合,用例与用例之间的关系有包含、扩展和泛化。

UML定义的五类、共10种模型图如下[3]:

1)第一类是用例图。它从用户的角度描述系统的功能,并指出各功能的操作者。用例图有助于系统开发者与用户之间进行交流,以获取用户需求。

2)第二类是静态图,包括类图、对象图和包图。其中类图用于定义系统中的类,包括描述类之间的联系(如关联、依赖、聚合等)以及类的内部结构,即类的属性和操作;对象图显示类的对象实例,一个对象图是类图的一个实例;包图由包或类组成,主要表示包与包、或包与类之间的关系,用于描述系统的分层结构。

3)第三类是行为图,描述系统的动态模型和组成对象间的交互关系。一种是状态图,它描述一类对象的所有可能的状态以及事件发生时状态的转移条件;另一种是活动图,它描述为满足用例要求所要进行的活动以及活动间的约束关系。

4)第四类是交互图,它描述对象间的交互关系,系动态视图。一种称之为顺序图,用以显示对象之间的动态合作关系;另一种是协作图,它着重描述对象间的协作关系。

5)第五类是实现图,包括构件图和配置图。构件图描述代码部件的物理结构以及各部件之间的依赖关系;配置图定义系统中软硬件的物理体系结构。这些图为系统的分析、开发提供了多种图形表示,它们的有机结合就有可能分析与构造一个一致的系统。

另外,Rose是美国Rational公司的可视化UML建模工具,是UML市场上领先的重量级产品。可以用来先建模系统再编写代码,从而一开始就保证系统结构合理。利用模型可以更方便地捕获设计缺陷,从而以较低成本修正这些缺陷。Rational Rose还可以帮助开发人员产生框架代码,适用于多种程序开发语言。

下面以网上考试系统为例,介绍运用UML的建模机制来进行面向对象的系统建模的完整过程。

3 基于UML的网上考试系统建模过程

运用UML进行面向对象的系统分析设计,其过程通常由3个步骤组成:首先是描述需求,其次是根据需求建立系统的静态模型,以构造系统的结构,最后是描述系统的行为。其中前两步中所建立的模型都是静态的,而在第三步中所建立的模型或者是可以执行、或者是执行时的时序图或交互图,是动态的。

3.1 系统需求分析

需求分析的目的就是确定系统的功能,而UML的用例图能形象地描述系统的功能。用例图展示了系统的参与者(角色)、用例以及它们之间的相互关系。角色是指位于所工作的系统外部的人或其它系统。用例就是用户因某外部事件而与计算机进行的一次交互。建立用例图,首先要识别系统的使用者和相关外部系统,确立好角色(Actor),然后再依据系统功能来建立用例图。

在网上考试系统中系统的参与者有三种:一是系统管理员,二是教师,三是考生。系统管理员管理题库的增加、删除、修改和用户权限的分配。教师可以自主管理自己权限下的试题和试卷,对其进行添加、更改、删除、组卷以及批阅试卷等操作。学生则主要是进行考试。针对这三种用户,系统可以分为三大模块:用户管理模块、考试管理模块和试题管理模块。本文主要围绕考试管理模块进行建模。

由上述的需求分析,可以定义考试系统全局用例图,如图1所示。

3.2 系统总体设计

使用UML对系统进行总体设计,即建立系统的对象模型。系统的对象模型通常包括两个部分:静态模型和动态模型。在此阶段,由需求分析入手,建立系统的静态模型与动态模型。

3.2.1 系统静态模型

用例图只考虑系统应该提供什么样的功能,而对这些功能的内部运作情况不予考虑,为了揭示系统的内部关系,需要建立系统的静态模型。

系统静态模型主要是对系统静态结构的描述。在UML中,系统的静态结构主要用类图、包图及对象图进行描述。类图是对一类具有相同特征的对象的描述它定义了系统中的类以及类之间的联系,如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。由于类图描述的是一种静态关系,所以在系统的整个生命周期都是有效的。类图设计是面向对象方法的核心技术,通过类图将用例的实现具体到每个类中,从而完成设计走向细化的过程。

建立系统类图,主要找出系统中的类与对象以及它们之间的关系。即:首先需识别出系统中的对象,并进一步从对象中抽象出类,然后定义类的内部特征,最后找到类的外部关系。

根据系统用例图,可以确定系统中的主要类有:试题、试卷、教师、考生、系统管理员、考试。对于考试模块,它涉及到的主要类为:试题、试卷、考生、考试。“试卷”类和“试题”类之间存在聚合关系。“试卷”由一道道试题组成,每一道试题可能在多份试卷中。考生类和考试类有依赖关系,考试和试卷类之间是单向关联关系。考试模块的类图如图2所示。

3.2.2 系统动态模型

动态模型是对静态模型的补充。在UML中,动态模型主要用顺序图、协作图和状态图来描述。状态图描述一个对象所处的可能状态及状态之间的转换,并给出了状态变化序列的起点和终点。顺序图描述对象之间按照特定顺序发生的交互关系。协作图描述的是对象之间交互的语境与交互的对象的整体组织。UML通过顺序图、协作图和状态图来描述对象间的交互关系和交互顺序、对象的生命周期以及生命周期中对象可能存在的状态和状态间的转换约束[4,5]。

顺序图和协作图都是用来描述一个用例的行为,只是两者的侧重点不一样,顺序图着重体现交互的时间顺序,协作图主要表示对象与对象之间的连接。下面对网络考试系统的主要用例—考试用例建立顺序图和协作图。

1)顺序图。考试用例的顺序图如图3所示。

从这个顺序图中可以看出,参与考试过程有四个对象类:考生、考试、试卷、试题。考试开始时,考生登录系统、考试对象检查考生考试状态,然后试卷对象从试题对象中读取考试试题供考生作答。每答完一道题,试卷对象保存考生答案,同时考试对象保存与考试相关的一些信息:考试剩余时间、当前题目号等。答题完毕后,考生对象选择交卷从而完成考试。

2)协作图。它用于描述系统的行为是如何由系统的对象实现的。对考试系统的主要用例绘制协作图,以便深入地了解和表示系统的行为和各个对象的作用。考试用例协作图如图4所示。

4 结束语

网上考试系统实现了计算机考试整个过程的自动化,有很强的实用性。UML是一种面向对象的建模语言,可用于网络考试系统的建模。通过分析系统功能需求,得出系统的用户模型;通过分析并设计用例,得出系统的静态模型和动态模型;基于对系统的需求分析、总体设计,完成程序代码编写,最终实现系统的建立。使用UML建立系统模型,使开发流程变得十分清晰,提高了软件开发的效率和保证了软件设计的质量,有利于提高系统的稳定性、可维护性和可重用性,并为不同背景、不同领域下的专家、开发人员以及用户提供了一条标准的交流途径。

参考文献

[1]刘超,张莉.可视化面向对象建模技术[M].北京:北京航空航天大学出版社,1999.

[2]Larman C.UML和模式应用—面向对象分析与设计导论[M].姚淑珍,李虎,译.北京:机械工业出版社,2002.

[3]周伯生,张莉.标准建模语言UML及其支持环境[J].计算机世界,1998(43):24-25.

[4]翼振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.

基于UML的开放式课堂教学管理系统建模 篇3

关键词:ERP;销售管理系统;UML

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)16-30931-03

Modeling on the Sales Management System of ERP Based on UML

XIAO Wen-min, MENG Qing-guo, YAN Bing

(Department of Mechanism ,Tianjing University of Technology and Education,Tianjin 300222, China)

Abstract:ERP can plan resources transcending one enterprise to fulfill perfect management for the whole supply chains. As to moderate and small enterprise, it is urgent to control inner business. The paper are written to molding the sales management system by using UML which can accelerate the software’s development process and improve it’s quality.

Key words:ERP; sales management system; UML

1 引言

经济全球化发展趋势使得当前企业对ERP系统的需求日益增长,需求变化也越来越快。然而,中小型企业资金少,经营规模小,不能承受引进大型ERP系统所需的巨额费用,设计一种功能相对完善、成本较低、实用性较强、系统容易维护且功能容易扩展的ERP系统就为广大中小企业所期待。考虑到这样的系统仍然庞大而复杂, 内部各种数据流、资金流、业务流交错, 业务流程动态变化且管理方法不断更新, 使系统在设计阶段很难保证软件质量, 也很难预测后期的维护和升级开销。这就给软件的设计、开发和维护工作带来了很多困难。并且它的开发与单一模块的软件开发有着很大的区别,企业各个业务之间错综复杂的联系是ERP系统软件设计和开发工作必须攻克的难关[1]。

统一建模语言UML是面向对象技术领域内占主导地位的标准建模语言,可以对复杂的系统建立可视化系统模型,目前已经被工业标准组织OMG(Object Management Group)接受,得到了Microsoft, HP, IBM, Oracle等支持,在国际上应用日益广泛[2]。

本文将结合天津市某小型企业,通过对该企业ERP销售管理系统的分析与设计,阐述如何通过UML降低开发难度和提高开发效率。

2 销售管理系统的功能模块和基本特征

销售部门在企业的供需链中处于与市场与企业的供应链接口位置,主要职能是为客户与最终的用户提供产品及服务,从而实现企业的资金转换并获取利润,为企业提供生存与发展的动力源泉,并由此实现企业的社会价值。综合来说ERP的销售管理提供的销售预测、销售计划、销售订单是主生产计划的需求来源。销售管理子系统帮助企业的销售人员完成客户管理、产品价格管理、销售订单管理、销售发货、服务管理、发票管理等一系列销售事务。销售管理的主要结构可以划分5个主要功能模块: 销售计划管理、客户管理、订单管理、收发货管理以及销售服务管理。

本系统以“订单”为核心,构建出了以“客户”为中心的管理模式。

该系统具有以下一些特征:

(1)先进的系统结构,面向销售流程,能适应原有销售工作流程并进行合理的改进,从而更贴近实际的应用。

(2)系统提供的灵活的人员权限设置和全面的财务核算方式,实现真正的销售网络化办公。

(3)在实现订单的电子化、工作流程的数字化同时,帮助公司领导提高决策的科学化水平。

(4)通过对客户信息的管理,实现对不同客户情况统计和分析。

整个系统操作业务人员包括:销售员、销售经理、仓库管理员、审计员、销售主管、和系统管理员。各个角色承担不同的系统任务,通过网络和通信系统,连接到销售管理系统,使用统一的访问界面,进行日常的销售业务操作,最终实现销售部门业务的正常运转。

3 UML概述

UML是一种可视化建模语言,用于对软件系统进行描述、可视化处理,构造和建立软件系统制品的文档。它记录了对必须构造的系统的决策与理解,可用于对系统的理解、设计、浏览、配置和信息控制[3]。UML能够描述系统的静态结构和动态行为。静态结构定义了系统中的重要对象的属性和操作以及对象之间的相互关系,静态结构视图包括类图、用例图、组件图和部署图。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制,动态行为视图包括状态图、活动图、顺序图和协作图。

4 销售管理系统的建模分析

4.1 销售管理系统的业务建模和需求分析

业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个业务用例(Business Use Case)框图表达,根据销售系统的基本特征和功能可得到本系统的用例图(如图1所示)。

图1 销售订单管理子系统用例图

模型中的活动者代表外部与系统交互的单元,包括销售员、仓库管理员、维修人员、审计员、公司销售主管、和系统管理员;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,包括客户管理子系统、订单管理子系统、销售统计子系统、产品管理子系统、售后服务子系统。图1是销售管理系统层次的用例模型,只包含了最基本的用例模型,是系统的高层抽象。在开发过程中,随着对系统需求认识的不断加深,用例模型可以从顶向下不断细化,演化出更加详细的用例模型。

根据系统的用例图,可以对系统的持久对象进行设计,图2是本系统持久对象类及类之间关系图。

图2 核心业务对象类及类之间的关系

4.2 销售管理系统分析与设计

系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。设计模型包含了用例的实现,可以表现对象如何相互通信和运作来实现用例。对于系统的静态结构,可以通过类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描述。这些图在加上说明文档就构成完整的设计模型。

4.2.1系统架构设计

销售管理系统拥有大量销售信息资源,这些资源包括各种客户、订单、和产品等信息。其数据量大、信息变化快,非结构化信息与结构化信息共存。使用UML对销售管理系统进行基于面向对象的分析和实现,可以从开发的第一步开始,从系统的底层就把握住销售信息资源的特征,为下一步具体实现打好基础。在销售管理系统建立模型时要涉及到处理大量的模型元素,如类、接口、组件、节点、用例等,可以将语意上相近的模型元素组织在一起,这就构成了UML的包,包把这些建模元素按照逻辑功能分组,以便理解、反映它们之间的组成关系。

本系统在此将使用Java Web开发,系统主要有以下四个包:

(1)用户接口包(User Interface package)

用户接口包在其它包的顶层次,为系统用户提供访问信息和服务,即边界类。对于每一个参与者,都应该设置至少一个边界类,以表示参与者与系统进行的交互。

(2)业务逻辑包(Business Rule Package)

该包是销售管理系统业务的核心实现部分,包括客户管理、订单管理、产品管理等,其它包可以通过访问该包提供的接口,实现业务逻辑,如客户管理业务等。

(3)数据持久访问包(Data Persistence Package)

该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。

(4)通用工具包(Util Package)

该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。

4.2.2系统详细设计

详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。销售管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制序列(Sequence)框图和协作(Collaboration)框图来帮助观察和理解。此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。下面是客户管理子系统详细设计。

(1)客户管理子系统的基本结构建模:图3是客户管理子系统主要类极其关系的详细设计。

图3 客户管理子系统类的详细设计及类之间关系

(2)序列图:序列图是一种对象交互图,着重强调了时间序列,而不是静态对象的关系,通过序列图可以清楚地看到不同对象之间的实时行为。

图4是一个客户管理的序列框图例子。描述了先加载某个客户;显示某些状态;再更改某些属性值,最后更新数据库状态的一次执行过程。通过序列框图可以清晰看出系统用户、客户管理子系统的用户接口、数据库连接模块之间以时间为顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。

图4客户管理的序列图

(3)状态图适合描述一个对象穿越多个用例的行为。类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。图5描述了Customer对象的生命期中可能的状态及状态变化(从创建、更新到消亡的转变过程),其中ready用于加载客户信息,persist用于保存客户信息,save用于成功的保存成绩,error用于由于数据等的异常而未能成功的保存客户信息。

(4)协作图:协作图和序列图相似,两种图所表达的是同一种信息,可以互相转换。但两者是有区别的,序列图强调的是交互的时间序列,协作图强调的是交互的语境和参与交互的对象的整体组织。图6描述的是查询一个客户信息消息传递的过程。

(5)活动图:用于描述业务过程和类的操作,类似与流程图,显示出一个问题的活动(工作步骤)、判断点和分支。图7是反映了更新客户用例的活动图。

图5Customer对象状态图

图6 查询客户信息的协作图

图7 业务处理活动图

通过框图,可以确定需要开发的类、类之间的关系和每个类操作和责任。序列框图按照时间排序,用于通过情境检查逻辑流程。协作框图用于了解改变后的影响,可以很容易看出对象之间的通信,状态图描述了对象在系统中可能的状态,如果要改变对象,就可以方便地看到受影响的对象。

(6)软件系统一般由一组部件组成,换句话说,部件是相对独立的部分软件实施,有自己特有的功能,并可在系统中安装使用,系统中各部件相互协作,给系统提供完整的功能。图7是本系统运行时的主要部件。

图8 运行的部件图

4.2.3 销售管理系统的实现、测试和系统配置

系统采用五层逻辑结构:客户端只需中文浏览器;表示层用12个JSP(Java Server Page)文档实现动态页面以创建、操作业务对象;核心对象层用6个Java类以JavaBean形式构成业务处理的核心对象;连接层采用JDBC2提供两种连接方式:一种是基于DriverManager,主要支持Java应用和测试;另一种基于DataSource;资源层即数据库服务器。

经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行系统;进而需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试结果将确认所完成的系统可以真正使用;最后完成系统配置,其任务是在真实的运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

5 结束语

ERP系统的发展方兴未艾,我国中小企业目前正处于传统手工、半手工管理向数字化过渡的阶段,将 UML应用于销售管理系统的建设,可以加速开发进程,提高代码质量,支持动态的业务需求。从实际效果来看,UML可以保证软件开发的稳定性、鲁棒性,在实际应用中取得良好的效果。

参考文献:

[1]罗鸿. ERP原理·设计·实施[F].北京:电子工业出版社,2005.

[2]宋波,刘杰,杜庆东.UML面向对象技术与实践[TP].北京:科学出版社,2005.

[3]RUMBAUGH J,JACOBSON l,BOOCH G.姚淑珍,唐发根,等译.UML参考手册[M].北京:机械工业出版社,2001.

UML建模的要点总结 篇4

预备知识:

一、UML的特性与发展现状

UML是一种Language(语言)

UML是一种Modeling(建模)Language UML是Unified(统一)Modeling Language

1、已进入全面应用阶段的事实标准

2、应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域

3、成为“产生式编程”的重要支持技术:MDA、可执行UML等

二、建模的目的与原则

1、帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。

2、仅当需要模型时,才构建它。

3、选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理。

三、谁应该建模

1、业务建模:以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与

2、需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与

3、设计模型:高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。

4、实现模型:以资深开发人员(设计人员)为主,架构师提供总体指导。

5、数据库模型:以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。

正式开始

UML组成,三部分(构造块、规则、公共机制),关系如下图所示:

一、构造块

1、构造块是对模型中最具有代表性的成分的抽象

建模元素:UML中的名词,它是模型基本物理元素。

行为元素:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。

分组元素:UML中的容器,用来组织模型,使模型更加的结构化。

注释元素:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。

1.1、建模元素

类(class)和对象(object)

接口(interface)

主动类(active class)

用例(use case)

协作(collaboration)

构件(component)

节点(node)

类(class)和对象(object)

类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象

UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法

对象则是类的一个实例(object is a Instance of Class)

接口(interface)

接口是描述某个类或构件的一个服务操作集

主动类(active class)

主动类实际上是一种特殊的类。引用它的原因,实际上是在开发中需要有一些类能够起到 启动控制活动的作用

主动类是指其对象至少拥有一个进 程或线程,能够启动控制活动的类

用例(use case)

用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具

用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个 用例定义一组用例实例。

协作(collaboration)

协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构 成的一个群体。

对于某个用例的实现就可 以表示为一个协作

构件(component)

在实际的软件系统中,有许多要比“类”更大的实体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件)

构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换

节点(node)

为了能够有效地对部署的结构进行建模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件

节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力

1.2、行为元素

交互(interaction): 是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合

交互的表示法很简单,就是一条有向直线,并在上面标有操作名

状态机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列

在UML模型中将状态画为一个圆 角矩形,并在矩形内写出状态名称及其子状态

1.3、分组元素

对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标

1.4、注释元素

结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而注释事物则是用来锦上添花的,它是用来在UML模型上添加适当的解释部分

2、关系

UML模型的关系比较多,下图

2.1 关联关系

关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。

在UML中,使用一条实线来表示关联关系

在关联关系中,有两种比较特殊的关系:聚合和组合

聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系

如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述

组合是聚合的变种,加入了一些重要的语义。也就是说,在一个组合关系中一个对象一次就只是一个组合的一部分,“整体”负责“部分”的创建和破坏,当“整体”被破坏时,“部分”也随之消失

聚合就像汽车和车胎,汽车坏了胎还可以用。组合就像公司和下属部门,公司倒闭了部门也就不存在了!

2.2 泛化、实现与依赖

泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。

实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。

有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。

二、规则

命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符

范围:与类的作用域相似.可见性:Public,Protected,Private,Package

三、UML公共机制

1、规格描述

在图形表示法的每个部分后面都有一个规格描述(也称为详述),它用来对构造块的语法和语义进行文字叙述。这种构思,也就使可视化视图和文字视图的分离 :

2、UML修饰与通用划分

在为了更好的表示这些细节,UML中还提供了一些修饰符号,例如不同可视性的符号、用斜体字表示抽象类

UML通用划分:

1)类与对象的划分:类是一种抽象,对象是一个具体的实例

2)接口与实现的分离:接口是一种声明、是一个契约,也是服务的入口;实现则是负责实施接口提供的契约

3、UML扩展机制

这部分不容易描述,待改

构造型:在实际的建模过程中,可能会需要定义一些特定于某个领域或某个系统的构造块

标记值则是用来为事物添加新特性的。标记值的表示方法是用形如“{标记信息}”的字符串

约束是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。

4、UML视图和图

图名

功能

备注

类图

描述类、类的特性以及类之间的关系

对象图

描述一个时间点上系统中各个对象的一个快照

复合结构图

描述类的运行时刻的分解

构件图

描述构件的结构与连接

部署图

描述在各个节点上的部署

包图

描述编译时的层次结构

用例图

描述用户与系统如何交互

活动图

描述过程行为与并行行为

状态机图

描述事件如何改变对象生命周期

顺序图

描述对象之间的交互,重点在强调顺序

通信图

描述对象之间的交互,重点在于连接

定时图

描述对象之间的交互,重点在于定时

交互概观图

是一种顺序图与活动图的混合附:开发过程与图的对应关系

本文来自CSDN

客,转

标http://blog.csdn.net/Mac_cm/archive/2009/07/27/4384704.aspx

UML 1原有 UML 1非正式图

UML 2.0新增

UML 1原有

UML 1原有

UML中非正式图 UML 1原有 UML 1原有 UML 1原有 UML 1原有 UML 1中的协作图 UML 2.0 新增 UML 2.0新增 明

基于UML的网络购物系统的分析 篇5

摘要:论文简单的描述了UML的基本概念和发展历史,并且分析了目前运用UML存在的一些问题,通过在实际的设计开发中运用UML对网络购物系统的开发例子来阐述UML的一些实现原理。

关键词:对象管理组织统一建模语言 [Abstract]: [key words]:

1.UML简介和背景:

2.目前运用UML存在的一些问题:

自从OMG()提出UML以来,随着它的不断完善发展, UML逐渐被很多企业接受认可, 在很短的时间内,UML已经成为软件工业中占支配地位的建模语言。但目前在国内外UML的运用情况却不是很好。2002年6月底,BZ公司对226个个体进行了调查,结果是有34%的开发人员运用UML进行系统开发的建模,62%的开发人员不用UML进行开发,4%的开发人员不太确定[1].究其原因是UML1.4还存在以下几个方面的不足: 第一,目前UML很多地方运用难以解释的字符来描述系统的功能、系统的行为和计算,不易于理解。并且没有对数据操作进行定义,很多对象之间的行为过程没有加以说明,如:对象之间关系的操作(relationship manipulation),这些都迫切需要一个标准化的行为描述语言(Action Specification Language)来对系统的行为进行精确的描述。

第二,UML虽然是一种面向对象的软件系统设计的标准描述语言,但是在其状态图中用状态和迁移表示对象行为关联时用到了大量的不易于理解的注释字符,因此,系统的UML模型既不是可以执行的也是不和用编程语言开发的可执行程序相协调。

第三,在不同的技术实现平台上(如:实现语言,软件环境)对同样需求的系统建模时细节差别很大,系统构建模型的重用性就很低。这样在计算机技术正在向各个方向快速发展的今天,老的遗留系统必须和新技术的实施平台,开发技术相协调,使得新旧系统之间的集成或系统的演化面临不同的实现技术,老的遗留系统在运用新技术进行重构时,必然要浪费很多财力,人力进行系统模型的更新甚至完全重建系统。3.网络购物系统的分析:

3.1网络购物系统的需求分析:

1:普通用户可以登陆系统,成为登陆后用户。

2:普通用户只具有搜索产品、查看产品分类、查看产品项目、查看产品等几个基本权限。

3:除提供一般权限外,本系统还可为登陆后用户提供编辑帐号、购物车、定单、结算的功能和服务。

4:登陆后用户可修改购物数量。3.2 用例图的分析:确定执行者 1谁使用系统的主要功能?

2谁需要从系统获得对日常工作的支持和服务?

3需要谁维护管理系统的日常运行?

4公司的哪个部门使用系统?

5系统需要与其它哪些系统交互?

6谁需要使用系统产生的结果? 针对网上购物系统的前台系统,通过回答以上问题,可以得到执行者有两类,普通用户和登录后的用户。确定用例:

2系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?

4执行者是否需要对系统中的信息进行读、创建、修改、删除或存储? 绘制用例图如下,见图(1):

3.3类图的分析:画类图和理解类图时都应采用三个层次的观点。这些观点也适用于其它模型。三个层次的观点不是UML的组成部分,但对建造模型或评价模型都非常有用,且都可应用于UML.(1)概念层描述应用域中的概念,是对现实世界的直接描述,与实现它们的类有关但与实现方案和实现语言无关。(2)说明层描述软件的接口,而不是软件的实现。一个类型描述一个接口,但可能有多种实现。(3)实现层从实现的角度定义类及其实现,揭示了软件实现体的构成情况。

针对当前系统1产品类(Product)的主要操作:设置和获取每个属性值的方法。2产品类别类(Category)的主要操作:设置和获取每个属性值的方法。3产品项目类(Item)的主要操作:设置和获取每个属性值的方法

4订单类(Order)的主要操作:设置和获取每个属性值的方法、初始化订单(initOrder)、增加产品项目(addLineItem)等。

5购物车类(Cart)的主要操作:设置和获取每个属性值的方法、增加产品项目(addItem)、删除产品项目(removeItemById)等。

6购物车项目类(CartItem)的主要操作:设置和获取每个属性值的方法、统计金额(calculateTotal)等。

下面是系统的类图,见图(2):

4.系统的顺序图分析:顺序图可描述几个对象间的动态协作关系,它非常直观的展示了对象之间传递消息的时间顺序。反映了系统执行过程中某个特定时刻所发生的事情。在系统分析时,可对主要对象类绘制顺序图,以便分析系统的行为,验证和修改系统的静态结构,满足用户的需求,达到系统的目标。根据以上图(1)、图(2)的分析,可得网上购物系统如下,见图(3):

5.结束语:UML在软件工程中的运用是与OMG组织提出的MDA是相一致的,随着它的不断发展和完善,并且随着OMG使UML实现的标准化﹑统一化,最终基于UML的MDA软件开发过程将变为一个更加重用,更加快速,更加有效的软件开发方法,使软件开发方法向更高抽象层,更加可重用发展。6.参考文献:

基于UML的开放式课堂教学管理系统建模 篇6

文章提纲:

1.基于Air的课堂教学应用系统开发背景(白板和白板软件应用缺点)

(1)便于教师在白板上勾画、书写、画图等进行各种辅助讲授和教学的操作,但是独立于教材之外,教学媒体与教材相互孤立和割裂;无法在白板上直接对教材做信息化教学处理,比如,课本某部分内容的放大,勾画强调,直接批注等

(2)由于过多的教学媒体技术操作,导致教师被技术牵着走,分散了教学精力。学生的注意力也经常被技术所牵走

(3)需要寻找理论支持添加到此处,如认知负荷理论,认知空间维度等

2.课堂教学应用系统使用现状分析,(1)Vclass,封闭的局域网教学平台,教科书的正文文字被原文呈现,借助SURF软件可以在上面进行批注、评论等;但是书本上的其他内容,比如课前阅读提示,课后习题等没有,使得师生必须单独以纸本教材或者Vclass教学平台为中心展开教学活动,客观上教学媒体子系统依然存在,教材只是一部分融入教学媒体中,(2)在信息化教学中,教材不是唯一的学习内容和知识来源,学习对象和教学资源多样化; 网络课堂等的缺点,开放,可以利用的资源丰富无边,但是仍然没有原本原样的教材内容,师生在课堂上不得不在教材和信息化教学媒体二者之间不断切换,增加了操作量,也增加了教学子系统

3.基于Air的开放式课堂教学应用系统的系统设计

(1)指导思想:

开放,易用,便捷的课堂教学应用系统,(此处可以结合联通主义学习理论)

以数字化教材为中心来组织教学内容,教学资源,教学媒体(包括教材,预备用课件资源,课堂教学工具,搜索,广域网,资源共享和管理工具,等),并把这三个子系统有机的融合在一个系统中(画系统减少的平面图来说明),使用便利(此处描述需要进一步具体化、细致化,并配图)

教师不再需要费心费力的把教材内容制作到PPT等数字化资源课件中,而只需要在数字化教材对应的页面内容中自由添加额外的注音,解读,标记,遮罩等,教学过程不再受PPT预设的线性限制,而是可以根据课堂教学反馈随时方便的立体化动态调整

(2)系统框架设计

(3)核心功能描述

全版本数字教材功能

资源应用和管理功能

资源共建共享功能

后台机构管理功能

4.基于Air的课堂教学应用系统开发的课堂教学应用系统开发技术

本系统采用Flex3, 并整合()开发Air富客户端系统,后台使用Spring2.0, Hibernate3.2,Tomcat等J2EE技术开发,数据库采用MYSQL, 文件服务器采用Stratus, FMS, 其目标是发挥AIR技术的丰富表现力,开发兼有Web和桌面应用程序优势的开放课堂教学应用系统

5.系统关键问题及解决方案

基于UML的开放式课堂教学管理系统建模 篇7

20世纪80年代末起,各种面向 对象分析与设计方法[1]不断的涌现。然而不同的方法有着不同的建模符号体系,各有千秋,然而,这给软件工作者之间,软件工作者与客户之间的交流沟通带来了极大的 不便。UML(Unified Modeling Language)——统一建模语言,是一标准的建模语言,它的出现,实现了软件开发方法符号表示的统一。正因为UML吸取了别的建模方法的精髓,并且其本身具有清晰的概念、丰富的表达能力、广泛的适用范围等特别,使得它很快被人们所接受,并成为了标准。

1 UML 简介

现今,传统的软件开发方法已慢慢地退出历史舞台,取而代之的是一种全新的软件开发方法——面向对象分析与设计(OOAD)[2]方法,其已成为软件开发方法的主流。OOAD方法的核心路线是利用OO的概念及方法为系统建模。在面向对象的软件开发中,最常用的建模语言就是UML。UML是一个标准化的统一建模语言,其借助图形化的表达方式从不同角度去分析与设计系统,进而为系统建模。

UML借助视图来描述系统每一个方面的特性。一个完整的系统通常由多种视图从多个角度共同一起描述,只有这样系统才能被精确的定义。UML中具有四大类不同的视图[3],分别为 :用例视图、逻辑视图、进程视图和实现视图。

1.1 用例视图

用例视图用来描述系统要具有的功能,强调从用户的角度去考虑系统所需要的功能。用例视图为其余视图的核心视图,其余视图的开发都是围绕用例视图的内容来展开的,用例视图的改动势必会对其余视图造成影响。描述用例视图的是用例图。

1.2 逻辑视图

逻辑视图用来描述用例图所描述的系统功能的实现。较之用例视图,逻辑视图偏向系统的内部实现。主要从两个方面来描述系统内部实现 :系统的静态结构和系统的动态行为。其中,描述系统静态结构方面主要用类图、对象图和包图来实现 ;描述系统的动态行为方面主要用交互图、活动图和状态图来实现。

1.3 进程视图

进程视图也叫并发视图,它把系统划分成进程与处理器,借助这种方式用以分析设计系统是如何有效地利用资源,并行执行代码及处理来自系统环境中的异步事件。除了把系统划分成并发执行的线程之外,此视图还需解决线程的通信和同步问题。描述进程视图主要有状态机、活动图与协作图。

1.4 实现视图

实现视图又可细分为组件视图和部署视图。组件视图描述的是系统的代码模块及这些模块之间的相互关系。组件视图用组件图来实现。部署视图使用节点来显示系统的物理架构部署情况。部署视图用部署图来实现。

2 UML 在学生选课管理系统中的建模

2.1 业务需求

为福建工程学院软件学院的教务部开发的一个学生在线选课管理系统。教务部工作人员可以使用该系统管理课程信息、完成学生的选课工作和实现课表管理。利用本系统,学生可以随时查看课程信息及自己的选课情况,教师可以随时查看选课情况。

2.2UML 面向对象分析

1用例图

创建用例图的步骤可分成如下三个步骤 :

识别参与者

识别用例

绘制用例图,如图3.1所示,

2静态图

静态图有类图、对象图、包图来表示。在此只给出学生选课管理系统的类图,如图3.2所示,

3动态图

动态图有交互图、活动图和状态图,它们分别从不同的角度去建模系统动态的行为。在此,只给出顺序图,如图3.3所示。

3 结束语

基于UML的开放式课堂教学管理系统建模 篇8

关键词:UML;分析建模;雷达信号分选;图

中图分类号:TP872文献标识码:A文章编号:1009-3044(2007)12-21609-03

UML and it's Application to the Analysis Modeling of Radar Signal Sorting System

YONG Yuan-hong1,LI Li-ping1,LIU Nai-qi2

(1.School of E.E, UESTC, Chengdu 610054,China;2.School of C.S.E, UESTC, Chengdu 610054,China)

Abstract:UML (unified modeling language) is widely supported by software industry nowadays as a kind of standard modeling language in field of software engineering. It becomes more and more popular in systems analysis. Modeling is that people use diagrams to technically express functions of all aspects of system. Real-time UML represents one of development trends of radar software design. This paper briefly introduces UML and makes use of using case diagrams and activity diagrams of UML to process analysis modeling of software design of radar signal sorting system and to establish using case model, static model and dynamic model of software design of radar signal sorting system.

Key words:UML;analysis modeling;radar signal sorting system;diagram

1 引言

在现代战争中,雷达的大量使用形成了复杂的电磁环境。电子侦察的电磁环境的复杂、密集使雷达信号分选所遇到的挑战越来越大,雷达信号分选的实时性和识别的正确性是雷达信号分选遇到的最大挑战。这使信号分选软件设计的复杂程度也随之不断增加,而研发周期却在缩短。如何及时地开发出优质、高效、满足要求的系统性的软件是每个软件设计人员都面临的难题。此外,随着系统复杂性急剧增加,C语言对应的传统结构化设计方法已不能满足软件设计和开发的需要,能不能把面向对象开发与C语言的优点结合起来?对这个问题,已经有人提出过一些方法。主要集中在用C语言来实现C++的语法,如用结构来模拟类,用函数指针来表示成员函数。这些方法使得本来语法就已经很复杂的C语言更加麻烦,同时没有了C语言快速、高效的优点。这里提出一种新的方法,用面向对象方法进行分析和设计,最后直接用C语言进行编码。正是基于这一点,本文从软件工程学的角度将UML(Unified Modeling Language)应用到信号分选系统软件分析设计中来提高我们的开发效率,缩短研发周期。

2 UML概述

UML 通过事物、关系和图来描述建模内容。UML中有3种基本构造块。分别是事物、关系和图。事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物和注释事物。UML中有四种关系,分别是:依赖(表明对象之间的依赖性)、关联(表明对象与对象之间有联系)、泛化(一般元素和特殊元素之间的分类关系)和实现关系(规格说明与实现之间的关系)。通过事物和关系来描述客观事物的抽象。图是UML的核心;图是软件系统在不同角度上的投影;图是包含事物及其关系的组合。 UML采用多视图表示模型的不同侧面,表示各种元素和概念之间的划分,而每一类视图使用一种或两种特定图来可视化地表示视图中的概念。在UML中共定义五类、九种模型图。静态结构图(其中包括类图和对象图和用例图)、顺序图、协作图、状态图、活动图、实现图(其中包括构件图和配置图)。在开发过程中,可根据不同阶段的具体要求,选择不同的图形来描述系统的静态结构模型或者动态行为模型。

3 UML在分析建模中的优势

在工程分析与设计过程中,建模是促进开发人员对需求更好的理解、更清晰的设计、更容易维护的系统的最佳途径。它是从复杂信息中提取本质抽象的过程。而这种抽象指引着项目的方向、决定项目的成功。基于UML的分析建模,可以帮助设计和分析人员对问题的描述,以达到相同的理解,使分析的正确性得到保障。统一建模语言UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,主要适用于分析与设计阶段的系统建模。UML总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML能够描述系统的静态结构和动态行为,是一个绘制软件概念图的图形化记法。人们可以用它绘制图形,来表示一个计划进行的软件设计的问题域,或者用这些图来表示一个已经完成的软件实现。目前, UML作为可视化、详述和构造、文档化的通用建模语言得到了界的广泛支持,并日渐成为系统分析中的一种标准建模语言。UML在建模中的優势主要表现在:

(1)UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域的建模包括大型的、复杂的、实时的、分布式的、集中式数据或计算的、嵌入式的系统;

(2)在实现编程语言和开发平台方面。 UML可应用于运行各种不同的编程实现语言和开发平台的系统。其中包括程序设计语言、数据库、4GL、组织文档及固件等。在各种情况下,前部分工作应当相同或相似,后部分工作因各种开发媒介的不同而有某种程度上的不同。

(3)UML溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML最主要的特点是表达能力丰富,便于人员之间的交流,利于理清系统软件各部分之间的关系,减少语义差异。

4 UML在选系统软件设计中分析建模的应用

信号分选软件是系统性的软件,所以有必要将系统分解成多个容易被理解的块,以便能够理解和控制系统的复杂性,能从整体的角度把握一个完整的信号分选系统。我们使用UML对信号分选软件系统进行分析建模,分析建模必须清楚系统需求,这是建立软件设计的基础。因此在进行分析建模之前,给出系统的硬件结构图(如图1)以便更好地理解软件系统的设计。在信号分选系统软件设计中,实时性、并发性、健壮性和可靠性是雷达分选系统软件的特点和要求。UML2。0已经吸收了各种流行工具的优点,考虑到了实时性的要求。在分析阶段用UML对其进行建模分析能对我们更好理解分选系统软件的功能,确保软件的质量。

图1 信号分选系统EVM硬件总体框架

对软件需求的完全理解对软件开发工作的成功是至关重要的,系统需求就是明确待开发软件系统的目标和功能,雷达信号分选系统的目标和功能就是从侦察系统截获的大量交叠的脉冲流中分离出各个雷达脉冲列。在了解了分选系统的硬件框架和明确分选系统的功能和目标之后,即可进行分析建模。图2是本系统分析建模的分析过程流程图。在系统的静态和动态模型以及功能模型中,功能(用例)模型是系统的核心。它驱动着其他两个模型的开发。因此,可以采用如下建模过程:首先从系统功能需求建立用例模型,确定系统的功能;随后,利用用例模型和功能需求进行分析建立系统的静态模型,并且将系统的功能需求分解。然后,建立系统的动态模型,描述各个对象如何完成指定的功能;最后,需要对前面建立的三个模型进行一致性检验,确保系统模型的一致性。按照需求分析的过程,建模首先描述系统需求,对系统的功能进行建模,得到系统的用例模型;然后根据需求对系统静态建模,以构造系统静态结构模型;最后描述系统的行为,对系统动态建模,实现系统的行为模型。本文对在分析建模中应用的主要图形:用例图、类图和活动图,并结合信号分选系统软件的开发阐述UML在分析建模中的实践。

图2 基于的需求分析过程

4.1 建立信号分选系统软件的功能模型

在功能分析阶段,要明确雷达信号分选系统的功能,主要用UML的用例图,用例图是对一个角色使用系统的一项功能时进行的交互过程的一个描述,它形象,直观,便于交流。所有用例的集合表示了系统完整的功能。但它是一种黑盒子方法,只能看到外部的功能特征,看不到内部的实现细节。系统的功能模型用例图如图3。

4.2 建立信号分选系统软件的静态模型

创建静态模型时,主要完成数据的建模。静态模型是在功能建模的基础上从软件的体系结构角度描述系统各用例内部和之间数据的关系,由于信号分选系统软件不同与一般的商业软件,针对雷达分选系统的特点,面向对象的一些高级特性不能使用,动态创建对象、派生和多态这样的特性会大大降低系统速度并增大代码空间和数据空间。本系统采用结构化的数据模型,主要的数据类型有:就是利用到达时间(TOA)、到达方向(DOA)、脉冲宽度(PW)、脉冲重复周期(PRI)、载频(RF)、脉冲调制方式(PM)等参数形成每一部待分选雷达的脉冲描述字(PDW),控制类,显示类,环境设置类。同时建立雷达系统的已知数据库和未知数据库以及对已知数据库的更新,主要应用的是类图。UML 的标准扩展把类归为三种:边界类、控制类、实体类。这三种构造型化的类从本质上来说是三层体系结构思想的体现。配置性能参数,用静态类图建立系统的静态模型。静态类图如图4。

图3 信号分选系统的用例图

定义 4 个类及类中的方法和操作:

用户类:SystemManager

边界类:ConfigUI、

控制类:ConfigWorkflow

实体类:ConfigPerformanceParaDisposal

类中衍生的表 Config Table&performanceConfigTable

图4 系统的静态类图

4.3 建立信号分选系统软件的动态模型

系统的行为模型可在系统功能和整体结构模型基本确定之后即可建立。在UML中,用来表示动态模型的图形有状态转换图、顺序图、协作图、活动图等。本文选择用活动图建立动态模型,活动图描述系统中的各种活动,实质上是一种流程图,只不过表现的是从一个活动到另一个活动的控制流。活动图描述活动的序列,并且支持并发行为和条件行为。图5给出了用活动图表达的系统动态模型。

5 结论

UML作为软件工程学的一个重要的应用工具,其分析模型的可视化和直观性得到了广泛的认同,使分析的正确性得到保障。在商业性软件的开发方面得到了广泛的应用。但在一些特定的行业的应用还不是很多,使得分选系统的软件需求,系统不同模块的功能以及系统各模块的数据关系有了一个清晰的认识。在保证软件的正确性和健壮性起到了很大的作用。由于雷达信号分选软件的特殊性和复杂性,为了成功地开发出满足要求的软件,必须有好的建模工具帮助我们对对系统功能及其数据关系有清晰,完整的认识。以UML代表的软件建模技术代表着当今软件开发的发展趋势,它势必对提高雷达软件设计的质量,推动雷达软件的開发产生重要的作用。

图5 信号分选系统的活动图

参考文献:

[1]王庆育.软件工程[M].北京:清华大学出版社,2004(7)51-71.

[2]王枫,石冰心,罗莉敏.UML建模机制研究及在系统需求分析中的应用[J].计算机工程与设计,2005(4) Vol.26 No.4

[3]Ahmad,ALsaadi.A Performance Analysis Approach Based on the UML Class Diagram[J].ACM SIGSOFT Software Engineering NotesJan.2004,Vol.29 No.1

[4]A.Bertolino, E.Marchetti, R.Mirandola. Real-Time UML-based Performance Engineering to Aid Manager's Decisions in Multi-project Planning[A]. Software and Performance [C].Proceedings of the 3rd international workshop.Jul.2002;251-261.

[5]李合生, 韩宇,蔡英武, 陶荣辉.雷达信号分选关键技术研究综述[J].系统工程与电子技术,2005(12) Vol.27 No.12.

[6]刘连柱,苗秀梅.雷达信号分选、处理方法研究[J].电子对抗,2006 No.2

[7]翁力群.雷达设计的软件系统工程结构[J].现代雷达,2006(6) Vol.28 No.6.

[8]李海.基于实时UML的雷达软件设计[J].现代雷达.2006(8) Vol.28 No.8.

[9]王辉,陆荣国,秦小麟.UML在实时软件系统中的应用研究[J].计算机应用, 2004(2) Vol.24 No.2.

[10]郑孝洋,沈安文,陈光东.用UML建模开发嵌入式软件[J].单片机与嵌入式系统应用,2006(8).

基于UML的开放式课堂教学管理系统建模 篇9

决策支持系统(Decision Support System,简称DSS)是辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。决策支持系统的研究始于20世纪70年代初,美国麻省理工学院的S.Scott、Morton 等人开创了这方面的工作。目前,已在农业、工业、商业和贸易等方面建立了各类决策支持系统,为高层或基层的管理决策和策略的制定提供了辅助决策的工具。农业决策支持系统是在农业信息系统、作物模拟模型和农业专家系统的基础上发展起来的。统一建模语言(Unified Modeling Language,简称UML)是一种用于对软件密集型系统进行可视化、详述、构造和文档化的图形建模语言,主要用于分析与设计阶段的系统建模。笔者应用UML从功能角度对农业支持系统进行了建模,且开发了农业支持系统。

1 统一建模语言UML

UML 是OMG (Object Management Group、对象管理组织)所采纳的面向对象建模的标准语言,经过不断地使用、发展、修改和完善,目前已成为一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它统一了Booch、Rumbaugh 和Jacobson 的表示方法,融入了软件工程领域的新思想、新方法和新技术,不仅可以支持面向对象的分析和设计,更重要的是能够强有力地支持从需求分析开始的软件开发的全过程。典型的UML组成如图1所示。

标准建模语言UML定义了两类图和5种视图。第一类是静态图(Static Diagram), 包括类图、例图、对象图和部署图;第二类是动态图(Dynamic Diagram), 包括状态图、时序图、活动图和协作图。5种视图分别为:一是用例视图(Use Case View),也叫用户模型视图(Use Model View),表示从用户的角度看到的系统应有的外部功能;二是逻辑视图(Logical View),主要用类图和对象图来描述系统的表态结构,同时也描述对象间为实现给定功能发送消息时出现的动态协作关系;三是并发视图(Concurrent View),用于展示系统的动态行为及并发性;四是构件视图(Component View),展示系统实现的结构和行为特征;五是部署视图(Deployment View),显示系统的实现环境和构件被部署到物理结构中的映射。

2 UML建模工具-Rational Rose

目前的建模工具主要有IBM Rational Rose、visual UML和Macrosoft visio。最强大的是IBM的Rational Rose。

Rational Rose 是一个完全的、具有能满足所有建模环境(Web开发、数据建模、Visual Studio 和 C++ )需求能力和灵活性的一套解决方案。Rose 允许开发人员、项目经理、系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化、理解和精练。通过在软件开发周期内使用同一种建模工具可以确保更快更好地创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。Rational Rose产品家族被设计为软件开发者提供完整的用于开发客户端/服务器、分布式企业和实时系统环境中满足实际业务需求的牢固的、高效率的解决方案的可视化建模工具集合。Rational Rose产品共享全体通用的标准,使得希望建立业务流程模型的非程序员和建立应用程序逻辑模型的程序员可以相互理解。笔者选用Rational Rose工具对农业决策支持系统建模。

3 基于UML的农业决策支持系统的建模

3.1 农业决策支持系统

现代社会信息化程度越来越高,给农业信息化带来了机遇,农业决策支持系统是当前农业系统发展的必然需求。农业生产决策支持系统是指以区域农业经济为研究对象,以农业可持续发展为决策目标,综合运用计算机、管理科学、农学、农业系统工程、运筹学等多种科学知识,针对农业生产中的非结构化或半结构化决策问题,通过提供自然环境和社会环境的背景资料、协助明确问题、模型计算、列举可能方案等方式,为农业生产的管理者作正确决策提供帮助的计算机管理软件系统。

3.2 系统建模

建立模型是软件工程中最常使用的技术之一。无论软件分析或软件设计,都需要建立模型。从传统的软件工程到OO软件工程,出现了各种用于建模的工具,其中大多数是图形工具。UML就是OO软件工程使用的统一建模语言。它是一种图形化了的语言,主要用图形方式来表示。

对每个复杂系统通过一系列几乎独立的模型视图描述,会大大减少在编程时的盲目性和无绪性。在应用UML进行系统建模时,先应建立系统需求分析模型,即使用例图刻画系统的功能需求。用例图的基本组成部件是用例、 角色、 系统和关联。一个用例代表一个完整的功能, 描述软件系统和一个外部角色之间的一次交互;角色是系统进行交互的外部实体,可以是用户,也可以是其它系统或硬件设备;系统指与本用例模型相关的范围,并不指真正实现的软件系统。系统由一个矩形表示,上面标注系统名称,内部可包含一个或多个用例;用例由椭圆形表示,其中标上用例名称;角色用一个人形的符号表示;角色和用例之间或用例与用例之间的关联均用直线表示。笔者应用UML从功能角度对农业支持系统进行了建模。农业决策支持系统用例图,如图2所示。

4 结论

基于UML的系统建模,由于其固有的可视化、可逆向等优点,使得对于系统的分析、设计和实现能够进一步有机结合,规范性和实用性得到加强,同时也提高了系统的可扩展性。随着软件工程建模研究的深入和进一步的实践摸索,将不同的建模工具与新型软件技术在农业系统工程的应用将成为今后农业信息领域研究新热点,对我国农业信息化和现代化的发展具有推动作用。

参考文献

[1]Pierce Jones.Agricutural Applications of Expert System Con-cepts[J].Agricultural Systems,1989,31:3-18.

[2]Ken Lunn.UML软件开发[M].北京:电子工业出版社,2005.

[3]申红雪,何培英,韩哲新.基于UML的MIS系统开发[J].郑州轻工业学院学报(自然科学版),2002,17(1):67-70.

[4]Meyer B.The Future of Object Technology[J].Computer,1998(1):8-12.

上一篇:石油女职工演讲稿下一篇:情书给女朋友