基于Web开发的软件工程课程实践教学互动平台

时间:2024-04-05 点赞:46899 浏览:94184 作者原创标记本站原创

本文是一篇数据库论文范文,关于数据库毕业论文格式范文,关于基于Web开发的软件工程课程实践教学互动平台相关硕士论文范文。适合数据库及软件开发及软件工程方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:将软件工程课件放到网上让学生通过计算机来学习,可以使学生更好地理解软件工程这门课程的真谛,以此培养学生开发计算机应用系统的实际能力.为此设计了一个软件工程课程实践教学互动平台,给出了其各功能的详细设计.该平台结合了Ja、HTML语言与Struts2框架,提供了一种软件工程新的学习方法.案例提供者将案例传到网上,学生即可对其进行模拟实践,并对实践的分析结果进行记录,以便再次学习或者提供给他人学习.学生还可以在平台上互相交流,互相帮助.

关 键 词:Web;Struts2;Ja;HTML;软件工程;模拟实践

中图分类号:TP311.1文献标志码:A文章编号:1006-8228(2013)12-35-03

ImplementationofsoftwareengineeringpracticeteachinginteractionplatformbasedonWeb

GuLiang1,ChenJinyuan2,XuJincai2,YanMeng2

(1.HangzhouDianziUniversity,Hangzhou,Zhejiang310018,China;2.ZhejiangTopcheerInformationTechnologyCo.,Ltd)

Abstract:Itisnecessarytomakeareformoftheteachingwaysinordertoachievethehigherefficiency.Puttingthematerialsofsoftwareengineeringonthewebsiteandlettingstudentslearnonputerswillmakestudentsheabetterunderstandingofthecourseandastrongerskillofdevelopingtheputerapplications.Inthispaper,asoftwareengineeringpracticeteachinginteractionplatformisdesigned,whichbinesthelanguageofJaandHTMLwiththeframeworkofStruts2well.Whencaseproviderssubmitcasestothewebsites,studentscanmakeasimulativepracticeofthecasesandnotedowntheanalysisresultsofpractice.Alltheserecordscanbestudiedagainaswellasbeofferedforothers.Studentscanalsomunicatewitheachotheronthewebsites.Allthefunctionsofthissystemaresosimpleanddevelopedindetailthatstudentscanstudyiteasily.


Keywords:Web;Struts2;Ja;HTML;softwareengineering;simulationpractice

0引言

软件工程是计算机专业一门重要的专业核心课程,对学生今后从事计算机软件相关工作岗位具有很强的实践性.该课程着眼于从全局角度出发分析和解决问题,对于培养学生的工程能力、系统能力、实践创新能力、规范化工作能力、沟通能力、表达与文档能力、自我学习能力有着极其重要的意义.

目前,国内高校对于该类课程的传统做法是以教师课堂授课为主,学生被动地听课,教学内容一般是重理论而轻实践[1].即使配备课程实验,学生也只是编写一些规定的文档,其开发方式和手段基本上与软件工程的要求脱节.很多学生在学习该课程时,感到内容抽象枯燥,常常是似懂非懂,甚至觉得本课程没什么实用价值,不太喜欢学.因此必须对该课程进行改革.采用案例教学和研究性教学模式,能突出实践环节,培养学生开发计算机应用系统的实际能力[2].本文设计了一个基于Web开发的软件工程课程实践教学互动平台,将教学与实践很好地结合起来,并增加了互动交流的环节.学生将通过软件开发实践实验真实地体会到软件开发的整个过程,通过贴近自己的命题更能够激发兴趣,同时可以增强团队意识,提高交流及沟通能力.通过项目管理意识和内容的引入,可以使学生真正感受到软件开发的复杂性和所需要的严谨思维及态度.

1技术简介

1.1JSP技术

JSP(JaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准[3].JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.,*.)中插入Ja程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp).用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行.

1.2JaScript技术

Jascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言所遗留的速度问题,为客户提供更流畅的浏览效果.1.3XML技术

XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言).Xml是Inter环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具.XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立.虽然XML比二进制数据要占用更多的空间,但XML极其简单,易于掌握和使用.XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身;而HTML是用来定义数据的,重在数据的显示模式.

1.4Struts2框架

Struts2是一个成熟的支持MVC模式的Web应用程序开发工具,利用它开发MVC模式的Web应用时可以大大降低开发难度,加快开发速度[4].同时,Struts也是一个可重用、易扩展、成熟的软件开发框架.它的优点主要体现在两个方面:TagLib和页面导航.TagLib是Struts的标签库,其目的是简化JSP表现层代码,提高表现层的开发效率;页面导航是Struts的核心思想,它使得Web应用系统的脉络更加清晰(通过一个配置文件,即可把握整个系统各部分之间的联系),这正是MVC模式的体现形式.Struts2的体系结构如图1所示.

图1Struts2的体系结构图

1.5JQuery技术

JQuery[5]是继prototype之后又一个优秀的Jascript框架.它是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+).JQuery使用户能更方便地处理HTMLdocuments、events,实现动画效果,并且方便地为网站提供AJAX交互.JQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择.JQuery能够使用户的页保持代码与内容分离.

1.6Mybatis框架

MyBatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Ja的POJOs(PlainOldJaObjects,普通的Ja对象)映射成数据库中的记录.

2软件工程课程实践教学互动平台的设计

2.1系统结构设计

MySQL教学互动平台基本可分为案例学习模块,FAQ模块,角色扮演模块,上传资料模块,师生交互模块和登录、退出等七大块功能.上传资料模块可以进行资料上传;角色扮演模块可以让学生扮作各种身份,如工程师、架构师等;网上评审模块学生以所扮演的身份对他人的实践进行评审;案例学习的六块功能是对案例进行的操作;添加问题与添加回复分别是实现提问与回答的功能;师生交流能让学生和教师在平台上进行交流,与提问、回答类似.

2.2系统架构设计

2.2.1系统总体架构设计

本系统采用MVC模式,分为模型(Model)层、视图(View)层和控制(Controller)层.三层体系将业务规则、数据访问等工作放在中间层处理,客户端不直接与数据库交互,而是通过控制层与中间层建立连接,再由中间层与数据库交互.以下就是MVC的三层结构:

⑴模型层

模型表示企业数据和业务规则.被模型返回的数据是中立的,就是说模型与数据格式无关,这样的模型能为多个视图提供数据.由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性.具体包括PO(persistantobject,持久对象),DAO(存放方法的接口与实现该接口的实现类).

本系统中,包括6个PO包与6个DAO包,分别为学生、问题、回答、项目、实践、个性思考.PO包中存放两个文件:一个是*.ja的持久化对象类,即与表中字段名字相同的变量以及它们的get()、set()方法;另一个是*.xml的这些变量的映射文件,映射文件会加载持久化对象类.DAO中存放*DAO.interface的接口与*DAOImpl.ja的实现类,接口中写需要用到的方法,实现类则实现接口中的方法.

⑵视图层

视图是用户看到并与之交互的、由HTML元素组成的界面,通俗地说,就是能在浏览器上看到的,本系统中用到的是JSP文件.由于功能的需要,本系统设计的页面相对来说不多,主要包括登陆界面和主界面.其中有一个公共页面即导航栏,需要包含在各个页面中,让它在每个页面中存在,以方便点击链接.

⑶控制层

控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西,不做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据.

本系统中,控制层为struts.xml与action包里的action类,根据不同的功能写不同的action方法,有些为了方便起见,比如,一个链接要实现多个功能,那么会将多个功能写在一个action方法中,但是一般而言,为了看得明白,一个action方法对应一个功能.

2.2.2系统总体流程

本系统中,通过使用Struts2,提供了良好的MVC模式,所有的用户请求都由Struts2的Action负责拦截,进入相应的Action类中的方法,在该方法内实例化DAO接口中某个实现类,实现类中通过session工厂加载Mybatis配置文件,然后再用之前实例化的那个对象调用实现类对应的方法,再调用相应的增、删、改、查语句,进入数据库进行操作,最后通过Action返回给页面.2.3数据库设计

2.3.1E-R图设计

通过分析本系统所涉及到的主体主要为学生信息、教师信息、问题信息、案例信息,分析这些实体之间的关系和联系,得出系统的简易E-R图,如图2所示.

[回答][老师][提问][问题][学生][操作][名字][][案例][需求][技术][步骤][名字][][主题][内容][m][n][m][n][l][n]

图2E-R图

图2中的矩形表示实体,椭圆表示该实体所具有的属性,如一个问题信息应具有主题、内容等属性,菱形表示实体之间的关系,而用夹着数字的实线表示它们之间的对应关系.

2.3.2

本文是一篇数据库论文范文,关于数据库毕业论文格式范文,关于基于Web开发的软件工程课程实践教学互动平台相关硕士论文范文。适合数据库及软件开发及软件工程方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

数据库物理结构

对上面的E-R进行详细的分析,尤其是对每个实体的属性进行合理的设置,得到简单的表结构,然后对各个表之间的依赖关系进行分析.

表里面的字段代表E-R图里面的属性,表中的带实线的箭头代表表之间的依赖.

2.3.3数据库表结构

⑴学生表字段名包括:studentid、studentname、studentpsw、studentbirth、college和major,相应的字段描述为:学生id、姓名、、生日、学院和专业.其中主键为studentid.

⑵问题表字段名包括:questionid、qtitle、qcontent、qdate和studentname,相应的字段描述为:问题id、标题、内容、提问日期和提问者.其中主键为questiontid.

⑶案例表字段名包括:projectid、xuqiufenxi、process、head、introduction、goal和technical,相应的字段描述为:案例id、需求分析、开发步骤、标题、引言、系统目标和设计技术.其中主键为projecttid.

⑷需求分析表字段名包括:xuqiufenxiid、projectid、xstep1和xdetail1,相应的字段描述为:需求id、案例id、步骤一和详细一.其中主键为xuqiufenxiid.

3软件工程课程实践教学互动平台的实现

3.1系统框架搭建

⑴搭建struts框架

创建一个WebProject之后在Web.xml中会自动生成Struts2的配置信息.

在scr目录下,会生成Struts.xml的配置文件,定义,就好像一个过滤器,可以把不想要或不想显示的内容过滤掉,可以减轻代码冗余,提高重用率.设置内容如下:

Struts.xml会加载.pub.InstanceInterceptor类中的intercept方法,该方法的作用是生成实现类对象、销毁实现类对象.

⑵设置数据库连接文件

创建datebase.properties国际资源化文件,加入如下代码:

driver等于oracle.jdbc.OracleDriverurl等于jdbc:oracle:thin:@127.0.0.1:1521:orcl

username等于rwbpassword等于rwb

添加oracle的驱动与url以及自己数据库用户名和,连接到Oracle数据库.

⑶设置Mybatis框架

创建mybatisconfig.xml的配置文件,在文件中加入Mybatis的头元素,这样就可以进行Mybatis的配置了,代码如下:

<!DOCTYPEconfigurationPUBLIC

"-//mybatis.//DTDConfig3.0//EN"

"http://mybatis./dtd/mybatis-3-config.dtd">

之后添加配置信息,在properties中加载数据库连接文件;添加数据源,就是把database.properties的值传进来,driver,url,username,password分别对应database.properties中的数据;mappers用来加载po的映射文件,映射文件必须放入mappers中才能被系统读取.

⑷创建InstanceInterceptor类

在Src目录下创建一个包.pub,创建一个InstanceInterceptor.ja的类,进行的配置,该类的方法在加载struts.xml文件的时候会被执行.首先在开头创建一个接口的对象,如LoginDAOldao.

该类中有三个方法:destory()方法用于销毁这个对象ldao等于null;init()方法用于实例化该对象ldao等于LoginDAOImpl();intercept()方法用于设置request来进行传值,如request.setAttribute("ldao",ldao);第二个参数为之前实例化的对象,第一个参数用来调用第二个参数.

创建MybatisSQLSessionFactory类.

在.pub包中创建MybatisSQLSessionFactory.ja,该类用于加载Mybatisconfig.xml文件.

这样,两个框架跟数据库的配置都基本完成了.

3.2功能实现

3.2.1登陆模块

启动系统程序后,首先进入系统登录界面.在登录平台的时候,系统会要求用户输入账号及身份作为验证信息,这是为了防止非法用户输入正常信息后便可以使用本系统,若用户输入有误,将提示错误信息.

3.2.2导航栏

导航栏显示了整个系统具有的功能模块,并有各功能的链接.

3.2.3各功能模块

⑴添加案例:案例添加共分为六个部分,分别为:标题、引言、系统目标、需求分析、开发步骤、涉及技术,分别填写其内容.重置键将清空所用内容,所以应谨慎使用.

⑵显示案例:显示系统中自带的案例,可以点击详情查看具体信息,通过foreach显示所有案例.

⑶查看案例:点击案例后面的“详细”,即可查看案例的详细内容.

⑷案例分解:在案例详细内容的界面中,点击“项目分解”,即可对案例进行分解,就能查看各部分内容.进入页面时所有内容都是隐藏的,点击“详细”才能看到该部分的详细内容,这样以便清楚观察每个步骤.详细内容后面点击“细节分析”可以查看作者对该步骤的细节分析.继续点击“实践”,则观察者可对该步骤进行实践.

⑸模拟实践:点击“实践”,会弹出一个小窗口,该窗口用JQuery实现,学生可对该步骤进行模拟实践.

⑹FAQ:点击导航栏中的知识管理库-->FAQ,可进入FAQ库,里面罗列了所有的问题,在下面的文本框中,可以添加所需要的问题,实现方法跟案例的显示一样.点击“详细”,可进入查看问题的详细信息以及该问题对应的回答,下面的文本框可对该问题进行回答.

⑺资料库:资料库中存放着一些文件,学生可以对其进行下载.

4结束语

本文设计实现了一个基于Web开发的软件工程课程实践教学互动平台.通过该平台学习,学生将能够较好地理解并掌握软件工程项目的开发理论和方法.通过参与完成一个具体的工程项目,将极大地激发学生的学习兴趣,提高学习的主动性,使得从事软件项目开发的专业能力得到增强.该系统将教学与实践很好地结合起来,并增加了互动交流的环节.学生通过软件开发实践实验真实的体会到软件开发的整个过程;通过贴近自己的命题激发学习兴趣,增强团队意识,提高交流及沟通能力;通过项目管理意识和内容的引入使学生真正感受到软件开发的复杂性和所需要的严谨思维和态度.

相关论文

非计算机专业软件工程课程的教学

本文是一篇软件工程论文范文,软件工程方面有关在职研究生毕业论文,关于非计算机专业软件工程课程的教学相关学士学位论文范文。适合软件工程。

软件工程专业实践教学体系改革

本文是一篇实践教学论文范文,实践教学有关研究生毕业论文开题报告,关于软件工程专业实践教学体系改革相关本科论文范文。适合实践教学及软件。

软件工程专业实践教学体系

本文是一篇实践教学论文范文,关于实践教学毕业论文开题报告范文,关于软件工程专业实践教学体系相关专科毕业论文范文。适合实践教学及软件工。

软件工程课程设计的改革与实践

本文是一篇软件工程论文范文,关于软件工程相关电大毕业论文,关于软件工程课程设计的改革与实践相关毕业论文格式范文。适合软件工程及计算机。

软件工程课程设计实践教学

本文是一篇课程设计论文范文,课程设计类毕业论文模板,关于软件工程课程设计实践教学相关毕业论文参考文献格式范文。适合课程设计及软件工程。

基于CDIO的软件工程课程教学实践

本文是一篇软件工程论文范文,关于软件工程在职研究生毕业论文,关于基于CDIO的软件工程课程教学实践相关毕业论文题目范文。适合软件工程及软。