UML结合软件工程教学改革探讨
摘要:结合本校计算机专业的实际教学情况,深入分析UML课程教学内容,并结合软件工程教学,以汽车销售管理系统为例,通过分析汽车销售管理系统,并在设计过程中融入软件工程思想,将软件工程与UML完美结合起来。以UML作为基础,增强学生对开发项目的兴趣和感性认识,提高他们分析和解决实际问题的能力,从而达到UML与软件工程教学共赢的目的。
关键词:UML技术;软件工程;面向对象;教学改革
1研究背景
国内大部分高校的UML课程理论与实践教学尚处在一种探索和发展阶段。在教学过程中,仍然以教师带领学生进行知识学习的思路为主[1]。学生缺少自主思考,仍然处于被动接受知识状态,很难有机会体会到一个完整的软件项目开发过程。这种教学方法培养的学生,在实际工作中很有可能不知道如何开展项目,更不懂得如何推进项目和维护项目[2]。另外,UML课程的考试大多以笔试为主,这在很大程度上导致学生在UML课程学习中轻实践重理论[3]。同时,软件工程课程讲授的原理、技术、方法都是抽象的,在教学过程中也遇到了同样的问题[4]。
为了使学生能够深刻理解UML方法与软件工程思想,我们在教学中引入教学案例,用具体教学案例解释抽象复杂的概念,收到了事半功倍的效果[5-6],我们以“汽车销售管理系统”作为教学案例,要求学生根据所学的数据库原理与程序设计的知识,针对一个小型的汽车管理系统进行系统的需求分析、系统设计、数据库设计、程序编码、软件测试等,完成题目要求的功能,加深学生对数据库系原理、软件工程、程序设计语言的理论知识理解和应用水平。学生通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,达到UML与软件工程教学结合的目的。这样变抽象为具体,将实际项目训练与枯燥的课堂理论紧密结合,有利于学生充分理解和掌握各个理论知识点。同时,我们在项目训练期间安排一次教学案例讨论课,将学生分成几个小组,每组成员分别扮演开发者与用户的角色,运用所学知识展开讨论,模拟实际项目开发过程。讨论结束后,学生再根据讨论整理出相应的需求分析文档。这个过程增强了学生对软件项目开发的兴趣与感性认识,提高了他们分析以及解决问题的能力,取得良好的教学效果。
2教学实例选择与分析
目前,大多数厂商忽略了汽车销售管理系统的重要性,而本系统专为具有一定规模和经济条件的大型汽车厂设计。从进货管理、车辆采购、车辆入库、销售管理到车辆销售、收益统计等,为每个环节明确分工,并通过可视化的软件支持,有效减小了人为差错的概率,代之以高效、便捷、准确的数字化服务系统,使汽车销售管理更加规范化。首先进行项目需求分析,调查用户的实际要求,与用户达成需求共识,最后分析与表达这些需求。调查各部门与厂商需求的具体步骤如下:
1) 调查厂商情况。主要包括了解厂商的各个部门组成情况、各部门的职责等。
2) 调查各部门的业务情况。主要包括了解各个部门使用什么数据,如何处理这些数据,输出什么信息,这是调查的重点。
3) 在第二步的基础上,协助目标用户明确对系统的要求。主要包括信息要求、信息处理要求、完整性与安全性要求,这也是调查的重点。
4) 确定边界。对调查结果进行分析,确定哪些功能哪些活动由人工完成,哪些由计算机完成或将来准备让计算机完成。
调查本地从事汽车销售的企业,根据企业汽车销售的情况,设计用于汽车销售的管理系统,主要功能如下:
1) 基础信息管理。厂商信息、车型信息和客户信息。
2) 进货管理。车辆采购、车辆入库。
3) 销售管理。车辆销售(处理车辆销售单)、销售代办(处理销售代办单)、车辆查询、销售日记录、销售月记录。
4) 仓库管理。库存车辆、仓库明细、进销存统计。
5) 系统维护。如数据安全管理(含备份与恢复)、操作员管理、权限设置等。
3总体分析与设计
3.1系统需求分析
首先将汽车信息入库,经销商通过与汽车需求商(即客户)的交易活动,将相关信息存入库,然后经销商通过销售信息的查询获得汽车销售的盈亏情况,通过库存查询获得公司目前的库存情况。由此可分析系统需要达到以下目标:
1) 能很好地完成汽车的售前管理。售前管理包括供应商信息、需求商信息和汽车基本信息的入库作业。
2) 能详细地记录汽车供应商和公司之间的交易过程,即进货或退货过程。
3) 能详细地记录需求商与公司之间的交易过程,即订车和退车过程。
4) 能够对各种经济结算进行相应的记录。包括对进货结账、退货结账、订车结账、退车结账等。
5) 能够对不同权限的用户进行合理的管理。包括添加用户、删除用户、用户账号和密码管理等。
3.1.1识别参与者
系统有3个参与者,经理(系统管理员)、仓库管理员、销售员。3个参与者的功能如下:
1) 经理。经理在登录后可以使用系统内提供的所有功能,包括用户管理、客户信息管理、员工信息管理等一系列的操作。
2) 仓库管理员。仓库管理员在登录后可以对入库单、库存信息、退库单、产品信息进行操作,同时也可以查询员工的信息。
3) 销售员。销售员登录后可以对销售管理模块和零售管理模块进行操作,其中包括对库存的查询、销售业务的办理等。
3.1.2画出用例图
通过以上的需求分析,我们做出如图1所示的系统用例图。
3.1.3建立类图
实体类之间的关系与实体类和数据库类的交互如图2所示。
3.2动态行为模型
1) 用户进行信息系统管理的状态图如图3所示。
2) 用户进行数据添加、数据修改、数据删除的操作状态图如图4所示。
4数据库的分析与设计
4.1系统E-R图设计
系统E-R图如图5所示。
4.2逻辑结构设计
由于版面所限制,这里只是列出了重要的相 关表。
1) 车辆基本表。
车辆基本表如表1所示。
2) 车辆销售基本表。
车辆销售基本表如表2所示。
3) 订单表。
订单表如表3所示。
5结论
经过开展本次实例教学,学生学会了自己书写设计文档的方法与步骤,用面向对象的知识来分析和设计系统,通过画出用例图和类图进行系统的总体设计。在最后的系统实现时,学生对面向对象分析与设计的思想以及对软件工程有了更深入的理解。
参考文献:
[1] 邵维忠. 统一建模语言UML述评[J]. 计算机研究与发展,1999(4): 36-40.
[2] Grady Booch, Robert A Maksimchuk, Jim Conallen. 面向对象分析与设计[M].3版.王海鹏,潘加宇,译. 北京:人民邮电出版社,2009.
[3] 王珊,萨师煊. 数据库系统概论[M]. 4版. 北京:高等教育出版社,2006.
[4] 张海藩.软件工程导论[M]. 5版. 北京:清华大学出版社,2010.
[5] 杨晨影. 软件工程课程教学改革初探[J]. 教育与职业,2009,12(1):122-123.
[6] 崔寅生. 谈谈软件工程教学改革的实践[J]. 成人教育,2009,12(3):85-86.
Reform on Integration of UML and Software Engineering Teaching
XU Bo, CHEN Xiaolong
(Department of Computer Science and Technology, Guangdong University of Petrochemical Technology, Maoming 525000, China)
Abstract: With the actual school teaching in Computer Science, in-depth analysis of UML teaching content, combined with software engineering education, we take car sales management system for example, through systems analysis, and integration of the software engineering ideas in design process, the Software Engineering perfect combination with the UML. UML as a basis to enhance student perceptions of software development projects and interests, enhance their problem analysis and problem solving skills, so as to achieve win-win UML and software engineering teaching purposes.
Key words: UML techniques; Software Engineering; object-oriented; teaching reform
(编辑:张玥)
上一篇:计算机专业本科毕业设计的思考