admin 管理员组文章数量: 1184232
2024年3月28日发(作者:form和table的区别)
教学与教育信息化
信息与电脑
China Computer&Communication
2017年第2期
JAVA教学中软件分层架构思维方式的引导
杨晴雯 王晓莉 赵 楷 郑 炅
(新疆大学 信息科学与技术学院,新疆 乌鲁木齐 830046)
摘 要:
笔者介绍了在JAVA教学中,对于学生编程代码结构混乱问题,引入软件开发行业通用软件架构——分层架
构设计开发思想,在一步步引导学生,采用这种架构设计系统的过程中,既规范了学生的编码习惯,又开拓了软件系统
架构的思维方式,取得了很好的教学效果。
关键词:
JAVA教学;软件分层架构;思维方式
中图分类
号:TP311.52 文献标识码:A 文章编号:1003-9767(2017)02-0226-03
Guide of Thinking of Software Layered Architecture in JAVA Teaching
Yang Qingwen, Wang Xiaoli, Zhao Kai, Zheng Jiong
Abstract:
The author analyzes the students’ programming code structure problems in the JAVA teaching, and introduces one
general software architecture in software development industry: layered architecture design and development ideas, In the process
of using this architecture to design the system, it not only standardizes students' habit of encoding, but also exploits thinking model
of the software system architecture, which made a very good teaching effect.
Key words:
Java teaching; layered software architecture; thinking model
JAVA语言作为一门流行程序设计语言,从2009年以来一
直高居世界编程语言排行榜首,软件行业对JAVA开发人员的需
求非常大。新疆大学计算机专业的JAVA课程开设在《C++面向
对象程序设计》之后,在讲授这门课时,对于学习第二门面向对
象程序设计的学生来说,理解面向对象设计的概念难度不大,
但在教学中仍会存在诸多问题,如只会做老师设定好的小题目,
开发大型项目代码结构混乱,随意性过强,只专注于功能的实
现,模块间过度耦合,难以应对变化,缺乏软件结构的整体设计,
与软件开发行业对从业人员的要求甚远。究其原因,是因为学生
缺乏软件架构设计的思想,未进行这方面的专业指导与训练。
通过教学实践,笔者在Swing窗口设计部分
[1]
,将中
小型项目引入实际教学中,通过大量的代码分析和演示,让
学生在潜移默化中充分理解软件分层架构思想的优势及必要
图1 分层架构结构图
(
College of
Information Science and Technology, Xinjiang University, Urumqi Xinjiang 830046, China)
性,从而设计出符合软件行业规范的代码。
1 概述
软件分层架构也叫N层架构
[2]
,是目前软件体系架构中
使用最为广泛的一种架构模型,特别是大多数J2EE应用的
实际标准。在分层架构中,软件组件根据功能被划分为若干
个平行的层次,如视图层、业务服务层、数据库访问层,即
常见三层架构,如图1所示。对于一些复杂度更高的大型应用,
可再细分出更多的层次。
基金项目:
本文系新疆大学“21世纪高等教育教学改革工程”四期项目成果(项目编号1:XJU2015JGY29,项目编号2:
XJU2015JGY67)给出项目编号1与2对应的项目名称
作者简介:
杨晴雯(1978-),女,湖南郴州人,硕士研究生,讲师。研究方向:自然语言处理、软件工程。
王晓莉(1971-),女,河南南阳人,硕士研究生,讲师。研究方向:自然语言处理。
赵楷(1976-),男,安徽合肥人,硕士研究生,副教授。研究方向:软件工程。
郑炅(1977-),女,湖南岳阳人,硕士研究生,副教授。研究方向:软件工程。
— 226 —
2017年第2期
信息与电脑
China Computer&Communication
教学与教育信息化
2 分层架构
在分层架构中每一层对于整个应用都有特定的职能。视
图层主要负责数据的展示和人机交互,业务服务层负责处理
用户特定的业务请求,数据库访问层负责对数据库表数据进
行增删改查操作,为业务服务层的具体业务提供数据操作服
务。在分层模型中,视图层不用关心如何获取结果数据,只
专注于接收用户交互信息并显示业务层返回数据,如何以更
适合方式显示数据是其关注重点。业务层作为中间层,不用
关心数据显示和数据从哪里来,只需按业务需求调用特定的
数据访问层组件。数据库访问层,则专注于简单的对数据表
的细粒度访问,并对获取的数据库中的数据,根据业务层的
需求适度封装传回业务服务层。
在多层架构中,各层只需关注本层功能,各司其职,为
其服务层提供本层应有服务。其分层思想如计算机网络的设
计思想。这样设计出的软件,层次清晰,模块间的耦合性大
大降低,提高了系统的可读性、可维护性和灵活性。
信息,窗口将获取所有课程信息的业务需求发送给业务层
CourseService组件,CourseService接收到这个业务请求后,
向DAO层的CourseDAO发送一个查询所有课程的请求,
CourseDAO接收到这个请求后,完成对课程表Course的查询,
将所有的课程记录进行适度封装成List
CourseService。各层组件间的交互时序图如图3所示。
3 以项目驱动帮助学生深入理解分层架构设计
以简化的学生选课系统为例讲解分层软件架构的设计思
想,可以让学生在项目中真实感受分层架构的好处并加深理
解。学生选课系统包括三种角色:学生、教师、教务管理员。
学生角色涉及的业务功能有:登录、查看可选课程、查看已
选课程、选课、退选课程、修改登录密码、查看成绩、注销
等。教师角色涉及的业务功能包含登录、成绩录入、查看成
绩、注销等。教务管理员角色包含登录、课程信息维护、学
生信息维护等业务功能。根据系统的业务需求,主要包含学
生、课程、分数、教师、管理员五类持久化对象的存储管理。
在视图层,每种业务功能对应一个视图层组件,用于和每种
角色交互,完成具体的业务功能。在业务服务层,将视图层
的业务需求根据业务需求种类分配到具体业务服务层组件,
如将学生登录、学生注册、学生退/选课等业务分配到业务
服务层组件完成。这样,整个系统划分出学生业务服务组件
(StudentService)、课程服务组件(CourseService)、分数
业务组件(ScoreService)、教师业务服务组件(TeacherService)
和管理员业务服务组件(ManagerService),为视图层的
业务请求提供服务。数据访问层,按访问的数据种类的不
同划分到不同的访问组件中,由此可设定学生数据访问组
件(StduentDAO)、课程数据访问组件(CourseDAO)、
分数数据访问组件(ScoreDAO)、教师数据访问组件
(TeacherDAO)和管理员数据访问组件(ManagerDAO)。
所有的数据访问层组件负责为业务层提供数据操作的服务。
各层组件的层次结构描述如图2所示:
如学生查询所有课程功能中,视图层以窗口方式为学
生显示所有课程,课程信息列表要求必须获取所有的课程
图2 分层架构各层组件描述
图3 查询课程业务各层组件交互时序图
4 学生的疑问及解答
在这个功能抽象分层的过程中,视图层、DAO层都有明
确的职能。有些学生会认为业务服务层功能过于简单,只是
简单调用DAO层方法并向视图层返回数据,没有存在的必
要性。学生的这种想法是理所当然的,也是对的。我们演示
一个简化了的小型项目,若是一个大型项目,或业务功能较
复杂的项目,一个复杂业务的实现,可能涉及多个DAO层
对象的调用,而且需要在业务层统一完成数据库的事务管理
功能,这时,业务层的划分就很有必要了。
5 分层架构的优点
分层架构的一个特性就是关注分离(Separation of
Concerns)和层隔离(Layers of Isolation)。关注分离使得
— 227 —
教学与教育信息化
信息与电脑
China Computer&Communication
2017年第2期
各层中的组件只负责本层的角色和职责,易理解并实现复杂
逻辑、测试管理和软件维护。层隔离意味着你改变任何一层
都不会影响其他层,也无需了解其他层的具体实现,只需享
用服务层为本层提供的服务即可。比如业务层不需知道持久
层是由哪种数据库实现的,或是采用哪种实现技术,通用
JDBC、Hibernate或MyBatis实现对业务层都没有影响,项
目灵活性更高。这种结构更适合大型项目分组协同开发。
为学生将来走上工作岗位,在团队开发中,很快进入并适应
这种分工协作、代码的规范化、理解软件系统架构等方面都
有好处。课程进行的过程中,获得了学生一致的好评,这对
新疆大学的实践教学也有一定的借鉴作用。
参考文献
[1]耿祥义,张跃平.Java面向对象程序设计(第二版)[M].
北京:北京清华大学出版社,2010:269-273.
[2]周勇,岳静.Java教学中三层架构讲授技巧[J].教育
与教学研究,2009(2):127-129.
6 结 语
通过项目实训开发,学生在一步步设计实现系统的过程
中,充分体会、理解并认同这种成熟且经典的软件体系架构,
(上接第223页)
例如木马病毒、黑客病毒、脚本病毒、宏病毒和后门病毒等,
这些病毒的存在会严重影响计算机网络的办公自动化安全。
因此,在办公室的工作中,要对计算机进行系统防护,提高
计算机的检测功能、防御功能和修复能力,防止网络病毒的
入侵和感染,在一定程度上提高我国计算机网络办公自动化
的水平。
4.2 建立健全计算机的安全预警系统
随着计算机技术的快速发展,计算机终端也面临着众多
的安全威胁,很多计算机用户的数据、资料等易泄漏。在这
种情况下,必须要建立健全计算机的安全预警系统,定期对
计算机进行杀毒,保证计算机的安全性。与此同时,可以为
计算机安装必要的安全预警软件和防火墙,例如,360安全
卫士、电脑管家等,通过开启电脑的防护功能来提高计算机
的安全性,从而发挥计算机网络在办公室工作中的重要作用,
提高计算机网络办公自动化的安全水平。
4.3 提高计算机用户的安全意识,增强其计算机操作能力
要保证计算机网络办公自动化的安全,就必须提高计算
机用户即办公室人员的安全意识,增强办公室人员的计算机
操作能力。第一,办公室管理人员要注重培养办公室工作人
员的安全意识,严格贯彻实施网络操作规范,在一定程度上
提高计算机网络在办公室工作中的效用。第二,办公室工作
人员还应约束自己的上网行为,增强自身的信息保护意识,
提高自身的计算机操作能力,为网络办公自动化贡献自己的
一份力量,促进办公室工作的顺利进行。
5 结 语
计算机网络办公自动化是现代社会进步和科技发展的一
个重要体现。为了保证我国经济的健康发展和科学技术的创
造创新,必须注重计算机网络办公自动化的安全。因此,在
办公室工作的过程中,要将计算机网络办公自动化的安全保
证工作放在首位,提高办公室工作人员的办公素质和计算机
操作能力,增强计算机网络在我国办公室工作中的实用性。
参考文献
[1]郭胜召.计算机网络办公自动化及安全策略探究[J].
通讯世界,2017(1):14-15.
[2]韩慧.计算机网络办公自动化及安全策略研究[J].信
息技术与信息化,2015(11):114-116.
[3]马玉红.对计算机办公自动化网络构建的分析[J].科
技展望,2015(13):2-3.
[4]葛雪雁,王海斌.办公自动化网络安全策略探讨[J].
电脑知识与技术:学术交流,2007(11):1257-1258.
— 228 —
版权声明:本文标题:JAVA教学中软件分层架构思维方式的引导 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711634428a602878.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论