信息系统开发课程群的统一案例教学模式研究与实践*

2021-04-27 13:04李文敬
关键词:程序设计信息系统数据库

黎 英, 李文敬

(南宁师范大学 物流管理与工程学院,广西 南宁 530299)

0 引言

熟练掌握信息系统开发是信息管理与信息系统(简称信管)专业的核心培养能力,但是由于该专业开设课程比较杂,信息系统开发相关课程课时不足,并且授课教师来自多个专业,掌握信息系统开发能力的师资不足,信息系统相关课程教学方法效率不高,导致信管专业大多数学生的信息系统开发能力都比较弱。如何提高信管专业信息系统开发能力培养水平是教学改革研究中一直都需要探索的问题。

目前对信息管理专业课程群的建设研究开展较多,例如,敖希琴等[1]通过对信息管理专业学生成绩进行相关性分析和关联性挖掘来研究课程的关联性,并结合大数据时代对信息管理专业学生的能力要求,将能力培养和课程教学结合一起,形成专业课程群。杨健[2]以智慧物流对物联网技术的需求为导向,识别物联网知识内容并进行再组织形成知识体系,在现有课程体系和实践教学体系基础上,规划一个覆盖物联网知识体系的课程群。刘平山等[3]为了培养社会需求的移动信息系统开发人才,从移动信息系统开发能力要求出发,探讨了移动信息系统课程群的构建。宁禄乔等[4]探索了信息系统设计与开发课程群建设,整合碎片化专业课程与实验项目,进行了课程群总体设计,并引入 CDIO 工程教育模式。王广民等[5]基于课程群建设,构建了一个实践教学平台,并提出其建设方案。对信管专业信息系统开发相关课程的教学法也有研究,例如,吕永林等[6]结合管理信息系统课程的特点,根据地方院校管理类专业的培养目标,从教学原则、案例设计与选择、教学组织与控制等方面,对该课程的案例教学进行了分析和探讨;杜来红等[7]把CDIO 案例教学用在信息系统开发类课程,制定实施 CDIO 理念的案例教学方法及策略。从整体上研究信管专业信息系统开发课程群的教学研究较少,宁禄乔等把 CDIO 工程教育模式引入信息系统设计开发课程群是有益的探索。由于如何对课程群的整体教学进行统一规划和设计研究较少,因此本研究提出信息系统开发课程群的统一案例教学模式,对该课程群的课程授课内容及教学进行统一规划和设计,用以增强课程群的整体教学效果,提高培养信管学生信息系统开发能力水平。

1 课程群构建

为了培养信管学生的信息系统开发能力,把培养该能力的若干门核心课程以一定结构聚集成群,形成一个有机整体,这就是信息系统开发课程群。该课程群构建后,可以从整体上对课程群的所有课程的教学内容和教学方法进行统一规划和设计,目的是更有效地培养学生的信息系统开发能力,达到“1+1>2”的效果。

信息系统开发需要掌握数据库技术、程序设计语言、信息系统分析与设计方法。数据库技术提供SQL语言及数据库设计方法,SQL语言可以嵌入到程序代码对数据进行操纵,数据库设计方法在信息系统设计阶段用来设计系统的数据库;程序设计语言在信息系统实现阶段用来编写实现信息系统各项功能的程序代码;信息系统分析与设计方法用来分析和设计系统,得到信息系统分析和设计文档,在系统实现阶段提供开发说明书。综上所述,信息系统开发课程群至少应包含三门课程:数据库技术、程序设计语言、信息系统分析与设计,还可以根据需要添加其他课程。

2 课程群的统一案例教学模式的提出及构建

2.1 信息系统开发课程群的统一案例教学模式概念的提出

统一案例教学模式是针对一个课程群中的所有课程使用同一个案例进行教学,目的是通过统一案例贯穿课程群中的所有课程,让各门课程紧密连接和有机融合,并从整体上规划课程群的教学内容,从而帮助提高整个课程群的教学效果。所谓“同一个案例”指的是复杂案例,可以分成多个相互有关联的部分,不同部分使用在不同课程,或者是某个部分用在多门课程。

2.2 课程群的统一案例教学模式构建

信息系统开发课程群的统一案例是某企业或组织的一般业务活动和管理活动的信息管理系统。针对该企业或组织的业务需求,分析其业务流程,设计其管理信息系统数据库。这个数据库提供给数据库课程作为数据库案例讲解及实战练习,可以在其上进行SQL语言练习,也可以将其作为课程考核的数据库。该数据库还提供给程序设计语言课程,在进行信息系统开发实践中作为信息系统的数据库。该企业或组织的业务流程提供给程序设计语言课程,为其信息系统开发提供详细的程序流程说明。该企业或组织的信息系统作为信息系统分析与设计课程的案例,进行系统分析、系统设计和系统实现,其中数据库设计部分已经在数据库设计课程出现,系统实现部分在程序语言设计课程中出现。通过某企业或组织的管理信息系统这一案例,就可以把信息系统开发课程群中的所有课程进行无缝衔接和有机融合。同一个案例在多门课程的使用,让学生更加熟悉案例,更能深入理解案例,更能理解信息系统开发相关技术是如何被综合运用来解决实际问题。统一案例把信息系统开发课程群的多门课程连接起来,学生可以从一门课的学习顺利过渡到另一门课的学习,他们学到的知识是相互衔接的,这非常有利于培养学生综合掌握知识和运用知识的能力。多门课程使用同一个案例,还可以把案例做得复杂且精细,能够覆盖课程的重要知识点,让学生学习一个案例就学会多个知识点的多个应用,达到举一反三的效果。

数据库技术课程所需的数据库案例中,所设计的数据库至少要符合三范式且符合逻辑,授课过程中使用的例题及综合性和设计性实验都要涵盖SQL的数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。

程序设计语言课程所需的信息系统案例中,信息系统软件具有表现层、控制层、业务逻辑层和数据层这样的架构,程序代码书写符合规范;该系统软件能够覆盖该门程序设计语言课程中和信息系统开发相关的重要语法知识。该信息系统还应该预留部分功能给学生做练习和进行二次开发。该信息系统最好由授课教师编写,以便根据需要进行修改以符合不断变化的教学要求。

信息系统分析与设计课程所需案例的要求要根据采用哪种系统分析与设计方法来规定。如果授课内容是结构化分析方法,那么信息系统案例就应该能够涵盖结构化分析方法的重点教学内容,例如分析阶段的业务流程图、数据流程图、数据字典等;如果采用面向对象分析方法,那么信息系统案例就要覆盖该方法的重点内容,例如分析阶段的需求模型、基本模型、辅助模型和设计阶段的问题域部分设计、人机交互部分设计、数据接口部分设计、控制驱动部分设计,以及掌握统一建模语言(UML)以便用来绘制的所需各种图。

还要注意课程群统一案例用于不同课程的一致性。数据库课程使用的数据库案例要和程序设计语言课程用的信息系统案例的数据库是一致的,并且和信息系统分析与设计课程所用案例中的数据库也是一致的。信息系统分析与设计课程中的案例的实现要和程序设计语言课程使用的信息系统相一致。这样才能实现案例在多门课程中真正意义上的统一。信息系统开发课程群及统一案例的关系如图1所示。

图1 课程群及统一案例关系

图1中,虚直线表示案例各部分有联系,数据库是根据数据库设计文档创建的,信息系统代码是根据业务流程图或活动图来实现功能的,信息系统代码是要访问数据库的;实直线表示课程使用了案例的各部分。带省略号的圆圈表示信息系统分析与设计的其他文档。

3 课程群的统一案例教学实践

经过几年的实践,信息系统开发课程群的具体构建、统一案例的内容设计及实践有明显的效果。

3.1 课程群构建实践

《数据库原理与应用》是信息系统开发课程群的基础课程,采用开源数据库管理软件且适用于中小规模数据库的MySQL数据库管理系统作为该门课程的实践平台。程序设计语言选择《Java程序设计》和《JSP网络编程》两门课程。Java程序设计语言是纯面向对象语言,能够培养学生的面向对象思想和面向对象编程能力。JSP技术用来开发Web应用,需要Java语言作为基础。随着因特网的普及,现在的管理信息系统多以Web应用的形式出现,因此把JSP技术选入信息系统开发课程群。《Java程序设计》和《JSP网络编程》两门课程均使用开源软件eclipse作为软件开发平台。信息系统开发与设计选择《管理信息系统分析与设计》课程,主要授课内容是面向对象的分析、设计和实现。信息系统开发课程群的结构如图2所示。

图2 信息系统开发课程群的结构

3.2 课程群的统一案例构建实践

统一案例采用某商业企业管理信息系统。企业的业务围绕采购、销售、仓储这三个核心业务展开。这三个核心业务对应采购管理、销售管理、仓储管理,围绕这些业务的管理功能还有类别管理、商品管理、供应商管理、职员管理、客户管理、价格管理,还有数据分析功能以帮助进行业务决策,并支持高层管理决策。

3.2.1 数据库案例

对销售企业的核心业务及相关管理功能进行分析,得到该企业信息系统的数据库。该数据库的信息包括:类别信息、商品信息、采购信息、销售订单信息、仓储信息、供应商信息、职员信息、客户信息、价格信息,分别对应九张表,这些表之间通过公共字段进行关联。例如,销售订单表通过商品编码和商品表关联,并通过客户编码和客户表关联。

该数据库案例提供数据库说明书给学生进行建立数据库、建立表及表之间的主外键关联等数据定义(DDL);进行各类信息的添加、删除、修改等数据操纵(DML);进行各类信息表的单表查询、多表联合查询,使用聚集函数对各种数据进行统计查询等数据查询(DQL);把数据库对象授权给不同角色等数据控制(DCL)。该数据库的实体完整性、参照完整性和用户定义的完整性需求还可以提供给学生编写触发器。销售企业的业务或管理需求还可以提供给学生编写存储过程。该数据库的设计过程还可以作为数据库设计案例进行讲授。可见,一个销售企业的数据库案例就可以作为整门数据库课程的整体案例。《数据库原理与应用》课程的知识点和案例之间的对应关系(表1)。

表1 《数据库原理与应用》课程的知识点和案例之间的对应关系

3.2.2 使用Java程序设计语言开发的商业企业管理信息系统案例

使用Java语言来编写商业企业管理系统,需要覆盖类、对象、类的特性、继承、抽象类、接口、包等基本的面向对象概念相关的语法,还有异常处理、图形界面设计、事件处理、JDBC技术、MVC架构等。

采用MVC框架设计商业企业管理信息系统,把业务逻辑、数据和界面显示分离开。在数据层把各类信息封装成Bean类,各类信息在数据库中分别对应不同的数据表;在业务逻辑层中,把对各类信息的添加、删除、修改、查询操作封装成数据访问类;在表现层中,把对各类信息的操作需求设计成各种窗体类。数据访问类中包含嵌入的SQL,其中包括调用存储过程,用来添加、删除、修改和查询数据。《Java程序设计》课程中各知识点和商业企业管理信息系统实例的对应关系(表2)。

表2 《Java程序设计》课程的知识点和案例的对应关系

3.2.3 使用JSP技术开发的商业企业管理信息系统案例

使用JSP编写商业企业管理信息系统Web应用,需要覆盖JSP文件结构、JSP指令元素、动作元素等基本语法;包括request、response、out、session、application等内置对象;JavaBean和表单处理;读写文本文件、文件的上传和下载等文件操作;数据库查询结果的分页显示;Servlet技术及使用Servlet过滤器;还有JSTL标准标签库。

商业企业管理信息系统Web应用分为四层:表现层、控制层、业务逻辑层、数据层。在数据层,为了安全且方便在各层传递数据,用JavaBean类封装各种信息,这些信息对应商业企业管理信息系统数据库的各类数据表。在业务逻辑层,用各种数据访问类封装对各类信息的添加、删除、修改和查询操作。在控制层,用过滤器和各类信息处理Servelt类对来自表现层的请求进行处理。在表现层,把HTML+CSS+JavaScript技术应用到JSP页面和HTML页面,为用户提供各种信息操作需求的界面。《JSP网络编程》课程中各知识点和商业企业管理信息系统实例的对应关系(表3)。

表3 《JSP网络编程》课程的知识点和案例的对应关系

JSP编写的商业企业管理信息系统Web应用和Java编写的商业企业管理信息系统GUI应用的共同点是前者的数据层和业务逻辑层是相同的,不同点是前者的控制层是Servlet,表现层是各种网页,而后者的控制层和表现层都在继承了JFrame窗体类和实现各种事件接口的类中。这两个版本的商业企业管理信息系统体现了良好的继承性,JSP版本的继承了Java版本的大多数代码,只需要编写控制层Servlet类和表现层的各种页面。这非常有利于学生学习的延续性,他们先学习《Java程序设计语言》并开发了商业企业管理信息系统的部分功能,然后再学习《JSP网络编程》就容易多了。首先是学习语法知识内容较少,对JSP的数据库编程就可以忽略,因为JSP数据库编程和Java数据库编程使用的都是JDBC技术。二是可以专注于JSP核心技术的学习,当学生使用JSP技术再次开发商业企业管理信息系统时,已经熟悉了企业业务流程,业务逻辑实现代码无需编写,只需专注于表现层页面编写和控制层Servlet编写,以及用Servlet编写过滤器,文件的上传和下载。

3.2.4 使用面向对象方法分析与设计的商业企业管理信息系统案例

使用面向对象的分析与设计方法对销售企业进行分析与设计,面向对象分析与设计工具方面需要覆盖的重点知识是统一建模语言UML,面向对象分析需要覆盖的重点知识包括建立需求模型;建立基本模型,包括发现对象和定义对象类、定义对象的属性和操作、建立对象间的关系,还有建立包图、顺序图、活动图、状态机图、构建图等主要辅助模型;面向对象设计需要覆盖的重点知识包括问题域部分设计、人机交互部分设计、控制驱动部分设计、数据接口部分设计。

使用面向对象分析与设计方法对商业企业管理系统进行分析与设计。在面向对象分析阶段,首先要完成需求模型,最终以用例图及其描述说明书来展示商业企业管理的各种用例,例如商品管理、订单管理、仓储管理、职员管理、客户管理、供应商管理等用例,还有一些公共用例:身份验证、修改密码、查询订单、查询商品信息等。需求模型完成后就可以建立基本模型了,用类图及其说明来展示基本模型,类图又由类和类间联系来显示,主要包括商品类、订单类、库存类、职员类、客户类、供应商类等。基本模型之后要建立必要的辅助模型,建立了商品维护状态图、订单维护活动图、还建立了商业企业管理信息系统的构件图和部署图。在面向对象设计阶段,在问题域部分,进行了改进性能的设计,并因封装原则增加设立对象操作。在人机交互部分,设计了商品管理、价格管理、订单管理、库存管理、职员管理、客户管理、供应商管理等界面类。在数据接口部分,进行了数据规范化设计,从订单类中分离出订单明细类,从商品类中分离出价格类,并重新绘制类图,使得类图中各类对应的数据表符合三范式;关系数据库不能直接存储对象,需要编写程序把对象的属性保存到数据库中,因而定义了数据访问类,包括商品管理DAO类、价格管理DAO类、订单管理DAO类、仓储管理DAO类、职员管理DAO类、客户管理DAO类、供应商管理DAO类等。在控制驱动部分,设计了商业企业管理信息系统的浏览器/服务器结构,用JSP+Servlet+JavaBean技术来实现,采用包括表现层、控制层、业务层、数据层的四层架构设计,以JSP页面和HTML页面为表现层,以Servlet作为控制层、以数据访问对象(DAO)为业务层、以JavaBean为数据层。《管理信息系统分析与设计》课程的各知识点和商业企业管理信息系统实例的对应关系,见表4。

表4 《管理信息系统分析与设计》课程的知识点和案例的对应关系

使用面向对象分析与设计方法分析和设计的商业企业管理信息系统,它的实现和用JSP编写商业企业管理信息系统Web应用是完全可以对应的,这就把《管理信息系统分析与设计》和《JSP网络编程》这两门课进行了无缝衔接。如果在控制驱动部分设计中,使用Java技术来实现商业企业管理信息系统,也可以完全把《管理信息系统分析与设计》和《Java程序设计语言》进行无缝衔接。同时,数据接口部分设计得到的类图和《数据库原理与应用》课程的数据库设计得到的商业企业管理信息系统数据库结构是对应的,这样又可以把《管理信息系统分析与设计》和《数据库原理与应用》联系起来。

3.3 实践结果

信息系统开发课程群的统一案例教学模式的实践效果最直接的体现是学生的课程学习效果和学生的毕业设计质量。该效果还延伸体现在学生在课外参加的与信息系统开发相关的活动上,例如学生参加大学生创新创业项目(简称“大创项目”)及互联网+大学生创新创业大赛。该效果还间接体现在学生入职IT行业或信息系统开发相关行业。可从从课程学习、毕业设计、课外活动、就业等四方面进一步分析。

在课程学习方面,由于针对信息系统开发课程群采用统一案例教学模式,案例覆盖了课程的教学重点知识,学生不仅能够学习理论知识,还能够学习如何运用理论知识来解决实际问题,提高了理论联系实际的能力;采用具体案例进行教学,生动具体,调动了学生的学习积极性;学生能够模仿案例信息系统已经完成的功能进行新功能设计和实现,实践着“学中用、用中学”,增强了程序设计语言的学习能力,提高了信息系统开发的自信心。

在毕业设计方面,信息系统开发课程群采用统一案例教学,让学生能够模仿案例信息系统进行新信息系统的分析、设计与实现,并在此基础上进行各种优化,提高了毕业设计作品的质量。

在课外活动方面,由于学生能够熟练进行信息系统开发,有能力完成大学生创新创业项目中的信息系统开发,因而积极申报大项目。项目获批后,学生运用所学信息系统开发综合知识完成项目所需软件开发,提高了项目完成质量。

在就业方面,学生在学习信息系统课程群时已经完成程序设计语言课程要求的信息系统开发,在学习信息系统分析与设计课程时又完成另一个信息系统开发,毕业设计又有一个信息系统。这样临近毕业,学生至少有3个信息系统开发经验,这对他们从事信息系统开发相关工作奠定了坚实的基础。学生入职IT行业或其他行业信息相关职位的人数明显增加,职位更加多样化,包括系统分析、软件开发、软件维护等职位。

4 结论

信息系统开发课程群的统一案例教学模式的提出和实践,对课程群统一教学方法进行了有益探索,丰富了信息系统开发相关课程的教学方法。统一案例的信息系统开发推动了新教材开发及双师型教师的培养,提升了培养信管专业学生的信息系统开发能力的水平。该教学模式详细具体,可操作性强,易于在课程群的各门课程实施。该教学模式体现了信息系统开发知识在实际应用上的连续性,能够无缝衔接课程群的所有课程,通过统一案例对课程群从整体上进行教学内容和教学方法的统一规划和设计,学生易于接受,提高了授课效果。该教学模式的实践结果表明,学生的信息系统分析、设计及实现能力都得到了提高,学生的系统开发相关课程的自学能力得到了提升,学生的信息系统开发综合知识运用能力也得到了显著提高。

猜你喜欢
程序设计信息系统数据库
医学专业“Python程序设计”课程教学改革总结与思考
基于排队论的信息系统装备维修保障效能分析
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
数据库
高职高专院校C语言程序设计教学改革探索
数据库
数据库