随着软件开发过程中功能和复杂度的不断增加,软件的需求、分析、设计、开发等过程成为软件工程化开发的重要组成,这样不仅有助于学生理解和掌握面向对象的开发技术,而且为后续JaEE和框架技术的学习打好了基础,也为从事软件开发类职业岗位的学生增加了机会。
摘 要:在“软件工程”和“软件系统分析与设计”等课程传统理论教学中,参考CDIO教育思想,为了引入案例驱动、项目驱动以及团队合作等模式,结合 MOOCs授课特色,本文以一个实际项目为例,讨论了在教学中如何进行信息系统的建模。实践表明,这种教学方式取得了良好的教学效果。
关键词:发表职称论文,农业信息服务平台,Android,UML,教学改革
为此,鲁东大学鼓励学生入学后参与专业教师的科研项目,与课堂教学培养相辅相成,借鉴近年来流行的CDIO(构思、设计、实现、运作)工程教育模式 [1],探索工程教育改革的实践。本文结合项目驱动和案例驱动模式,在教学中以实际项目为案例,针对当前我省农业生产现状,结合农产品市场发展情况,按照 UML的“4+1”模型视图用例驱动的思想,对面向智能手机的农业信息综合服务平台进行了分析与设计,由业务领域获得用户需求后,围绕农业资讯、供求信息、专家诊断、三农论坛等重要模块,进行了用例建模、静态建模和动态建模。[2-3]
1 传统教学中存在的问题
“软件工程” 和“软件系统分析与设计”都是软件工程与计算机专业的必修课程,具有很强的实践性,它们的教学目的是提高学生的工程设计实践能力,更好地理解问题,更清晰地捕获需求并进行设计,以创建可扩展性强、可维护性好的软件系统。但是在实际教学过程中,学生经常因抽象的技术、方法、原理产生迷惑,无法运用到实际项目开发中,多数教师也缺少项目经验,教学过程的双向互动十分困难。
本文提出一种案例驱动与项目驱动相结合的教学模式,选择企业实际项目、成熟项目或者学生较为熟悉的项目,能够更好地激发学生的学习热情,促进知识的掌握和动手能力的培养,也符合CDIO大纲有关“个人专业能力与个人素质”的培养要求。下面以基于Android的农业信息服务平台作为案例进行描述。
2 案例的可视化建模
2.1 问题陈述与系统需求
针对农作物信息量巨大、多维、动态、地区差异大等特点,农户希望得到及时、全面的市场信息、技术资讯,获得供应环节中的农资价格信息、农资市场、新品信息以及销售环节中的农产品价格行情、农产品市场分析等。此外,还需要进行农业技术查询与科教视频点播。本文设计的农业信息服务平台需要提供以上内容。
由此,针对农业信息服务进行领域分析和业务过程分析,从原始需求得到系统的问题陈述(Problem statement),提炼系统的愿景,进行涉众(Stake holder)分析,进一步归纳出用户的功能需求与非功能需求,从中确定各个参与者(Actor)和对应的业务用例、系统用例(Use case)。
2.2 系统分析
2.2.1 体系结构分析
根据整个软件系统的结构,划分为数据层、应用层和客户层三部分。数据层由MySQL数据库服务器实现,包括数据存储层和数据访问层;应用层由J2EE服务器实现,包含基础服务层、业务逻辑层(Java类)和控制层(MVC框架)三部分;而客户层的Android程序由XML+Servlet Java Applet实现。
2.2.2 类的建模
分析阶段主要识别问题域相关的类,来自于领域知识、用户需求、领域模型或者业务模型。这里,根据问题陈述和系统需求,可以识别出用户类、管理员类、农业资讯类、供求信息类、三农论坛类、专家诊断类、帮助文档类等,找到类与类之间的关系后,可得到类模型图。
2.2.3 用例分析
描述用例模型中各个用例的事件的基本流、分支流和备选流,沿着不同的事件路径得到各个场景,对不同场景分别建立对应的交互图(UML2.0中分为顺序图和协作图),包括普通用户注册管理个人信息、普通用户登录、普通用户查看农业资讯、普通用户回帖、普通用户发表帖子、专家诊断、普通用户供求信息管理。(由于空间受限,交互图略去)
2.3 系统设计
根据需求分析阶段确定的农业平台的功能要求,设计出在计算机网络环境条件的实施方案。
2.3.1 用例设计
在用例设计中针对前面分析的用例通过协作图、顺序图(以及状态图)进行细化,以便于划分子系统及其接口,找出发生重用的部分,组织为设计模型。
2.3.2 静态建模
这里主要进行类图、对象图和包图的细化。在之前类建模的基础上,确定每个类的属性和方法,并重构类模型图。
2.3.3 动态建模
主要通过活动图和状态图来描述。
根据需求分析,为了描述用户在系统中的各种操作,将本系统主要划分为6个活动图,分别是与用户登录有关的活动图、与普通用户浏览农业资讯有关的活动图、与普通用户供求信息管理有关的活动图、与专家诊断有关的活动图、与用户发帖和回帖有关的活动图、与普通用户注册有关的活动图。
系统的状态图,依据角色的划分,可以得到与管理员有关的状态图和与用户有关的状态图。
2.4 实现模型
农业信息服务平台主要有农业资讯、供求信息、三农论坛、专家诊断和登录功能。另外,系统开发所需Android客户端(浏览农业信息)、服务器端(发布农业信息)的硬软件开发环境可以通过部署图表达,此处略去。
系统分前台用户端和后台管理员端,客户端采用Android技术进行开发,服务器端使用JavaWeb技术,数据库使用MySql。农业信息服务平台包括农业资讯、供求信息、三农论坛、科教视频、专家诊断等模块。用户通过注册账号登录系统,能够满足用户对新闻信息的浏览、供求管理、实时发布帖子和回帖、观看视频等。管理员对后台功能模块的管理主要是对数据的增加、删除、查询、修改操作。由此实现的软件功能正确,满足了预期需求。
3 结语
在课堂教学中,可以通过“智能手机农业信息服务平台”来演示如何使用UML的多种视图描述系统的需求、静态模型、动态模型与实现模型,来确定系统中对象的动态行为,为系统的实现奠定了良好的基础。
(鲁东大学信息与电气工程学院,山东烟台 264025)
参考文献:
[1]查建中.论“做中学”战略下的CDIO模式[J].高等工程教育研究,2008(5):35-37.
[2]彭莹琼,张永红,尹晴,黄大星.基于UML的农业决策支持系统建模研究[J].农机化研究,2008(9):156-157,161.
[3]田兆锋,阎楚良.基于UML和JSP的农业机械化装备信息网络平台[J].吉林大学学报(信息科学版),2006(11):648-655.