中小学数字化校园功能系统设计的研究黄骁(唐山市职业教育中心,河北唐山063000)摘要:数字化校园已引起社会广泛关注,国内外软硬件厂商从自身利益出发,提出各自的解决方案,令校方目不暇接,众方案千差万别,部分方案和学校现有校园网没有多大差别,到底哪种方案才适合自己?本文从数字化校园功能系统设计的角度,提出分层结构设计方法,并从软件工程的角度,以实例形式,先绘制各功能模块之间的涵盖关系结构图,业务逻辑图和数据流图,通过分析各功能模块之间的内聚与耦合,给出中小学数字化校园功能系统设计的一般方法。关键词:数字化校园;分层结构设计;数据流图;内聚;耦合中图分类号:G434;TP37文献标识码:A一、问题的提出在全球数字化浪潮的影响之下,全国各地中小学数字化校园已引起社会广泛关注,国内外软硬件厂商从自身利益出发,提出各自的解决方案,令校方目不暇接,众方案千差万别,部分方案和学校现有校园网没有多大差别,到底哪种方案才适合自己?另外,目前大部分中小学基本完成校园网建设,很多学校还架设了无线校园网,以覆盖整个校园,还在校园网部署了多媒体教学系统、办公管理系统、数字图书馆等应用,于是,很多学校认为自己已经实现数字化。尽管时过境迁,早在2004年,《中国计算机报》2004年第58期汪蔚所撰“什么是真正的数字校园?将打假进行到底”一文,曾提到以下两个情景,和当前学校状况相似。情景1:上午9时02分,某学校梯教室里坐满了嘈杂的学生,空气中还夹杂着牛奶和面包的气息,讲台上教授正面对着罢工的投影机发呆。在意识到自己对投影机束手无策时,才让一位学生去找技术人员。9时14分,技术人员来到,二十分钟之后才搞定。9:40,教授把教材的内容显示到投影幕上,开始授课。此时,离第一节下课已经很近了。情景2:下午2点半,教授因为职称评定的问题,要报批学校教务处。系里要把资料从机器里输出来,拿到教务处。等到了教务处后,教务处先核对教授的材料,发现教务处的材料和系里的材料不符。来回纠缠辩论半天之后,教务处要系里盖章证实教授个人材料的真实性,然后才能进行修改。上述案例的一个共同点,学校已经有多媒体教学资源,很多资料已经数字化(如存放在电脑中的电脑资料),但各功能模块没有任何联系,校园内各应用没有集成,数据不能在各功能模块中流动。因此,只能说这些学校已经实现或正在实现资料的数字化,离校园数字化还有一定的差距。学校该怎样利用现有的软硬件资源,才能实现真正的数字化校园?其实,数字化校园是一个复杂的系统,校方要避免盲目建设,重复建设,需要在功能模块设计上下功夫,本文从数字化校园功能系统设计的角度,提出数字化校园的建设的一般方法。二、数字化校园分层结构设计对学校来讲,校园网建设并不陌生,很多学校的校园网经历一代、二代、三代甚至四代建设,校园网建设很复杂,涉及到网络拓扑结构设计、综合布线,设备选型,系统调试,设备配置等工作。为了降低校园网建设的复杂度,比较典型的做法就是分层设计,把网络结构分为核心层、汇聚层和接入层是校园网建设中的典型分层方案。学校建数字化校园,也可仿照网络结构分层设计的思想,尤其是数字化校园的功能系统设计,其优点如下:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。可将数字化校园分为网络硬件支撑平台、数据流服务平台、公共服务平台、应用支撑平台、信息服务平台和虚拟校园等六个层次(图1),各层次的主体功能如下:图1(一)网络硬件支撑平台网络硬件支撑平台负责终端之间、终端与服务器之间、终端与外网、服务器与外网之间通信的网络硬件支撑平台包括服务器、网络设备、通信链路、存储、终端和操作系统,是校园数字化建设的硬件基础。(二)数据流服务平台数据流服务平台建立在通信链路平台之上,为公共服务平台或更高层次的应用提供通信保障。该层提供数据库服务支持,各功能模块所有的数据都来自数据库,数据在各功能模块之间流动,共享。(三)公共服务平台公共服务平台建立在数据流平台之上,为应用支撑平台或更高层次的数据流动提供接口和安全保障,是数据流动的基础,主要提供电子邮件、文件传输、信息发表、即时通信、身份认证、目录服务等公共服务。(四)应用支撑平台应用支撑平台建立在公共服务平台之上,为信息服务平台或更高层次的应用提供业务支撑,是数字化校园的核心支持系统,包括学籍管理、家校互动、办公事务管理、教务管理、在线考试、资源管理、校产管理、图书管理、档案管理等具体的应用。(五)信息服务平台信息服务平台建立在应用支撑平台之上,是应用支撑平台为最终用户(教师、学生和家长)提供的人机交互接口,是最终用户的使用界面,具体表现是信息查询、网页呈现、多媒体教学、论坛、博客等。(六)虚拟校园虚拟校园是校园数字化后功能的自然扩展,将校园的功能突破围墙的限制,成为一个可以覆盖网络范围的无疆域的大学。严格说来,虚拟校园不能单独算一层,当数字化校园的各类应用覆盖到学校工作的方方面面,并有足够的出口带宽,学生足不出户,也可享受学校提供的各项服务,包括网络课堂,在线答疑,在线考试,取得学分,毕业,继续学习等服务,虚拟校园就此实现了。三、软件平台功能系统设计即便学校有足够的财力或有比较强势的软件开发团队,都不可能一次性将学校的所有应用都设计出来,因为学校的工作在前进,应用在变化。学校在进行软件平台功能系统设计只要注意以下几点,学校就可以根据实际需要扩展功能模块了。(一)遵照分层结构的设计思想,各功能模块有统一的接口标准事实上,无论那种应用,都有业务逻辑和持久性两个概念,可以说,学校的所有应用是围绕着业务逻辑进行开展的。例如,学籍管理中的新生登记这一业务逻辑是新生录入→新生基本信息列表→新生审核→新生确认。从业务逻辑的底层实现来看,业务逻辑其实是对业务实体进行组织的过程。这一点对于面向对象的系统才成立,因为在面向对象的系统中,识别业务实体,并制定业务实体的行为是非常基础的工作,而不同的业务实体的组合就形成了业务逻辑。还有另一个重要的概念是持久性。例如,学生的档案数据最少有6年的生存期,其他数据,如教师、图书、资源库、教室等大部分的数据都是持久化的。目前最为通行的支持持久性的机制是数据库,尤其是关系性数据库-RDBMS。具体到功能系统设计,仍建议采用分层设计思想,这样可使上层的逻辑不需要了解所有的底层逻辑,它只需要了解和它邻接的那一层的细节。通过严格的区分层次,大大降低了层间的耦合度。在软件架构设计中有经典的三层理论:表示层:用于处理人机交互。目前主流的两种表示层是Windows格式和WebBrowser格式。它主要的责任是处理用户请求,例如鼠标点击、输入、HTTP请求等领域。逻辑层:模拟了企业中的实际活动,也可以认为是企业活动的模型。数据层:处理数据库、消息系统、事务系统。数据层可划分为集成层和资源层(图2)。图2软件不仅要采用分层设计,各功能模块还要提供统一的接口标准,采用统一的接口标准使软件更易于修改、维护、扩充模块和二次开发。(二)学校应用开发,功能模块形成尽管数字化校园不可能覆盖学校所有工作,但可以将学校工作罗列出来,同时参考校园网中部署的多媒体教学系统、办公管理系统、数字图书馆等应用,通过百度或Google等搜索引擎,搜索互联网中已有的学校管理系统,图3是安脉科技的安脉学校综合管理平台,通过搜索互联网资源,罗列的应用会更加全面。图3一旦学校工作的绝大部分应用都被罗列出来以后,就可以根据紧要程度对这些应用赋予权值,然后排序(图4)。学校再根据自己的财力或开发团队,决定先开发哪些应用,后开发哪些应用,那些应用可以被放弃。功能模块紧要程度功能模块紧要程度功能模块紧要程度学籍管理1选课系统2招生管理3教务管理1在线考试2德育管理3考务管理1备课管理2家校互动4排课系统1作业管理3科研管理4成绩管理2素质评价3考勤管理4试卷分析2资源管理3校产管理4教职工管理2教师研修3宿舍管理5办公事务管理2收费管理3图书管理5日常处理2实验室管理3档案管理5图4(三)绘制功能模块关系结构图学校的每项工作都不是孤立的,每项工作都要受人员、场地和其他各种条件的限制,有些工作在完成进度方面可能还有先后关系,即前面所提到的业务逻辑关系,因此,在开发数字化校园软件平台前,先将各功能模块之间的关系结构图绘制出来,使功能模块之间的联系更加清晰,开发人员分工与合作更加明了。1.构建模块涵盖关系结构图在罗列学校应用时,从涵盖关系来讲,有些模块是平行的,是兄弟关系,有些模块则隶属的另外的模块,属于父子关系。例如,图5是学籍管理模块中的某些子模块,“班主任评语”和“学期学年成绩”模块之间是平行的,属兄弟关系,“学籍管理”和“成绩与评估管理”、“成绩与评估管理”和“学期学年成绩”模块之间则属于父子关系。构建涵盖关系结构图,可以简化软件主页面,功能层次更清晰,开发设计更方便。图52.构建模块业务逻辑关系结构图前面已多次提到业务逻辑,根据学校的应用绘制业务逻辑关系图可以表达各功能模块之间的递进关系,业务逻辑关系结构图最终将成为软件开发流程图。图6是某校的教务管理业务逻辑关系图,此图反映了各模块之间的递进顺序,和软件流程图有些类似,业务逻辑结构图可以帮助软件开发人员尽快熟悉学校工作(图6)图63.绘制数据流图数据流图(DFD)从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法,图6是某校课程注册系统的数据流图。数据流程图包括:※指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;※指明对数据执行处理的处理符号,这些符号也可指明该处理所用到的机器功能;※指明几个处理和(或)数据媒体之间的数据流的流线符号;※便于读、写数据流程图的特殊符号。图7中小学数字化校园功能系统比较复杂,不能将整个学校的应用都绘制在一张图上,此时可绘制分层数据流图。根据层级数据流图分为顶层数据流图、中层数据流图和底层数据流图。除顶层数据流图外,其他数据流图从零开始编号。顶层数据流图只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。中层数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。底层数据流图是指其加工不能再分解的数据流图,其加工成为“原子加工”。如果所绘制的数据流图仍不能表达数据在系统内部的逻辑流向和变化过程,还可以绘制DFD片段(图8)。图8DFD片断很简单,容易理解。事实上,绘制数据流图的过程是先绘制DFD片断,再组合若干DFD片断,创建0层DFD,依此类推,一个完整的DFD也就构建出来了。四、各功能模块之间耦合与内聚很多中小学按高规格建设好了校园网,也配有很多实用的功能系统,由于这些学校仍然和本文开篇所描述的情景一样,各功能模块之间数据得不到共享,尽管资料已经数字化,但教授仍需要重新组织申报材料,把资料从电脑中拷贝出来,交教务处和系里审核。各功能模块之间分为块内联系(内聚)和块间联系(耦合)。(一)各功能模块的块内联系——模块内聚内聚程度的高低标志着模块构成的质量,从而直接影响系统设计的质量,高内聚模块可以简化设计和编码,提高系统的可修改性和可维护性。设计时应该力求做到高内聚。下面按耦合度高低对内聚方法进行分类:偶然内聚→逻辑内聚→时间内聚→步骤内聚→通信内聚→顺序内聚→功能内聚通过图9可以帮助我们判断模块之间到底采用了什么样的内聚方法,显然,功能内聚是最优的模块块内联系设计结构。图9提高功能内聚是非常必要的,例如,有A、B、C三人做一个项目,项目很简单,其软件架构设计:A需要调用B的接口,B再调用C的接口。由于B的原因,使项目搁浅至今,最近A才发现,A原来可以直接调用C的接口,事情才得以解决。在设计数字化校园的功能模块时,尽量采用内聚程度高,耦合程度低的内聚方法,其实很多架构设计是可以优化的,如:1.顺序内