首页 城市公交查询系统的设计

城市公交查询系统的设计

举报
开通vip

城市公交查询系统的设计城市公交查询系统的设计 城市公交查询系统的设计   关键词:J2EE;最短路径算法;公交查询;车次管理 摘要:公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。首先,实现多种查询功能,包括根据地点名称、公交车号、日常站点、和任意两个站点查询乘车路线。其次,采用最短路径算法查找任意两个站点之间的最短乘车路线。最后,提供了用户留言的功能、用户管理功能、新闻发布功能和后台车次管理功能。   Desi...

城市公交查询系统的设计
城市公交查询系统的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计

城市公交查询系统的设计

  关键词:J2EE;最短路径算法;公交查询;车次管理
摘要:公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。首先,实现多种查询功能,包括根据地点名称、公交车号、日常站点、和任意两个站点查询乘车路线。其次,采用最短路径算法查找任意两个站点之间的最短乘车路线。最后,提供了用户留言的功能、用户管理功能、新闻发布功能和后台车次管理功能。


  Design of Urban Public Transport Query System
  Ma Yufeng
  (Northwest National University,Mathematics &Computer Science College,Lanzhou730030,China)
  Abstract:Public Transport Route System is an important part of urban development,is the inevitable outcome of the national life,and the social production and circulation of the key link Firstly,the various query functions,Include the name under places, public transportation vehicle number, the daily site, and any two sites check travel routes.Secondly,the shortest path algorithm adopts two sites for the shortest bus line between.Finally,provides the user message,user management function.
  Keywords:J2EE;The shortest path algorithm;Public transport route system;Train management
  一、背景及意义
  对于公交车,人们希望能够在最短的时间内到达目的地,因此如何能够让人们在最短时间里,得到公交行车路线,并且该路线是最节约时间的,那么这个系统就是人们所需要的。
  本设计采用Dijkstra算法,主要是考虑到自己所能研究到的深度,以及实用性上来考虑,Dijkstra算法较适合于本设计。针对实际情况,本研究的公交查询系统的设计,探讨以换乘次数最少为目标的公交查询系统的 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
  二、研究内容
  对公交查询系统进行系统功能需求分析,并进行系统功能模块设计,并设计其相关的换乘方法。由于该系统的功能模块不仅仅限制于公交车的查询,除此以外,还可以提供一些很实用的功能模块,比如最近的最热的新闻,以及留言系统,这样,能较大限度的满足用户的需要。采用的方法是,使用最短路径算法-迪杰斯特拉算法作为程序的中心算法。
  三、公交查询系统总体设计
  (一)总体结构及说明
  如图1所示,总体来说,系统总共分成6大部分,分别是首页、本站导航、高级搜索、公交新闻、留言板和系统维护。加入了统计客流量的计数器。搜索方式有四种,分别是车次查询、站点查询、精确查询和高级搜索。
  (二)数据库设计
  数据库用的是微软公司的Access数据库。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化。
  建立的数据库名为nbos.mdb,有四个功能模块需要用到数据库,首先是公交车信息,接着是管理员信息、留言板信息、新闻,分别对应bus、ManagerMessages和News这四个表。
  bus表的意义在于当用户进入到查询系统界面或者管理员进入到车次管理界面的时候,系统将和bus表进行数据的交互。
  Manager表的意义在于,管理员进行管理员登陆的时候,需要验证管理员的信息,此时,在验证窗口中,管理员需要输入相关的信息。
  这四个表之间是独立的,相互之间没有很大影响,用户一登陆上网站,可以到任意一个模块中。
  由于用到的是Access数据库,因此连接数据库用的代码是标准的微软链接代码。首先,建立数据库表格,这一步在之前已经做好了。接下来,在“控制面板”→“管理工具”→“数据源 (ODBC)”中,将数据库nbos.mdb添加到数据源中,这一步是添加到系统DSN中的。
  接着在程序中添加如下代码:
  Try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Microsoft连接Access标准代码
  }
   catch(ClassNotFoundException e){}//抛出异常
  try{
   con=DriverManager.getConnection("jdbc:odbc:nbos","","");//连接Access的Url
   }
  测试连接,如若连接成功,数据库正式建立。在接下来的调用字段名中,用到的代码为:select * from bus ;//bus是表名
  (三)算法分析
  本设计用的最短路径算法是迪杰斯特拉(Dijkstra)算法,该算法按照路径长度递增的次序来产生最短路径。迪杰斯特拉算法用于求解一个有向图(也可以是无向图,无向图是有向图的一种特例)的一个点(称之为原点)到其余各点(称之为周边点)的最短路径问题。该算法的原理是,引进一个辅助向量D,它的每个分量D表示当前所找到的从始点v到每个终点vi的最短路径的长度。如D[3]=2表示从始点v到终点3的路径相对最小长度为2。这里强调相对就是说在算法过程中D的值是在不断逼近最终结果但在过程中不一定就等于最短路径长度。它的初始状态为:若从v到vi有弧,则D为弧上的权值;否则置D为∞。显然,长度为:D[j]=Min{D | vi∈V}
  的路径就是从v出发的长度最短的一条最短路径。下一条最短路径(设其终点为X)或者是弧(v,x),或者是中间只经过S中的顶点而最后到达顶点X的路径。
  算法的具体描述为:首先,用arcs表示弧上的权值。若不存在,则置arcs为∞(在本程序中为MAXCOST)。S为已找到从v出发的最短路径的终点的集合,初始状态为空集。那么,从v出发到图上其余各顶点vi可能达到的最短路径长度的初值为
  D=arcs[Locate Vex(G,v),i] vi∈V。
  接着,选择vj,使得
  D[j]=Min{D | vi∈V-S}
  最后,修改从v出发到集合V-S上任一顶点vk可达的最短路径长度。
  迪杰斯特拉算法中的一个主要循环如下:
  //每次求得V0到某个V顶点的最短路径,并加V到S集
  For(i=1;i  Min=INFINITY;//当前所知离V0定点最近的距离
  For(w=0;w  If(!final[w])//W顶点在V-S中
   If(D[w]  Final[v]=TRUE;//离V0顶点最近的V加入S集
  }
  For(w=0;w  If(!final[w])&&(min+G.arcs[v][w]   D[w]=min+G.arcs[v][w];
   P[w]=p[v];p[w][w]=TRUE; //p[w]=P[v]+[w]
  }
  }
  }
  根据带权矩阵,再按照迪杰斯特拉算法,由于除去起点,剩下5-1=4个顶点,故i  参考文献:
  [1]刘敏恒,孙涛,陈继努.基于VB.NET的智能公交管理系统软件平台的开发[J].重庆邮电学院学报(自然科学版),2006(增刊):153-155
  [2]王庆平,张兴芳,宋颖等.城市公交换乘的数学模型及其算法实现[J].计算机工程与应用,2008,44(7):246-248
  [3]李旭华.公交线路网络分析关键技术研究[D].太原:中北大学,2005,35(12);145-150

摘要:本文总结了国内外一些一流大学操作系统课实验项目的设置情况,分析了各类项目的特点、难点及效果,介绍了相应的实验环境建设的方法以及为客观地评价学生实验成果而设计的评价准则。
  关键词
本文来自:计算机毕业网 :操作系统;实验项目;实验平台
      
  1引言
  
  操作系统课程是一门内容丰富,包含许多概念、方法、算法的课程,解决好理论与实践相结合的问题是提高操作系统教学质量的关键。例如,如果在讲解同步机制前先指导学生设计并发运行的多线程程序,当他们直接观察到由于缺乏同步机制导致程序结果出错的情景,就会激发出对解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的学习热情。国内外许多大学针对操作系统课的实践环节提出了丰富的多层次的实验方案,下面分别从实验内容、实验环境、考核方法与标准等方面进行分析介绍。
  
  2实验内容
  
  对于操作系统课程实验,实验平台在很大程度上决定了实验的内容和难度以及效果,所以我们下面主要按照实验平台或实现层次划分项目的类型。
  1.1教学用操作系统
  这类实验又可以分为基于模拟器的和直接运行于裸机上的实际OS源代码。基于模拟器的有伯克利的OPS、To y、Nachos、MPX、OPS、上海交大开发的MOS操作系统等。直接运行于裸机上有MINIX、XINU等。基于模拟器的系统是面向实验设计的,会设置一些便于的调试与项目管理的特征。例如,OPS系统允许学生周期地查看系统的状态信息,包括设备表、PCB池、事件队列等。学生也有机会修改模拟参数[1]。OPS的项目产生器能自动生成模板文件,包含过程头和所需的数据结构声明,只由学生完成过程体。
  作为一个教学用操作系统,Nachos的目标不是展示一个成功的操作系统,而是提供一个便于扩展的框架。例如它的文件系统实现了所有必要的数据结构,只是在很多方面做了一定的限制,可将实验项目内容设置为消除某些限制。
  MINIX是一个虽小但完整的教学用操作系统,可运行于实际的机器硬件上。与基于模拟器上的系统比,它可以给学生更切实的感受。包含有3000行注释的12000行源代码使整个系统较为容易阅读和理解,MINIX“小”到学生可以理解它的主体部分,“大”到足够让学生体会到一处小小的修改会影响到表面上看起来不相关的函数里。学生项目可以是修改调度器或增加新的文件系统等。但是从教学的角度看,上万行的代码仍过于庞大,并且MINIX的“完整”也限制它的扩展余地。所以近年来出现了面向“简单、真实、容易理解的”的雏型操作系统,例如瑞士ETHZ大学的Topsy、美国马里兰大学的GeekOS,以及北京大学的PTOS等。
  除了用于操作系统课的教学,近年来随着嵌入式系统的兴起,教学类操作系统正由于规模小而受到越来越多的关注。
  1.2通用操作系统内核
  由于Linux操作系统是开放源码的,所以这类实验通常以Linux作为目标平台。此类实验较早的提倡者是Gary Nutt[2],他提出的一些实验项目内容被许多学校沿用、发展,在美国有10多所大学采用修改Linux内核的实验[3]。分析Linux源代码能锻炼学生分析大型软件代码的能力,对高质量代码分析、理解的过程也同时是一个学习好的编程风格和设计思想的过程。所以虽然它们是操作系统类的实验,但从某种程度上也是软件工程类的实验。
  基于Linux的修改内核实验通常包含如下几类内容:
  ●Linux内核编译与配置方法
  ●在分析阅读源代码基础上修改调度算法
  ●实现新的同步原语
  ●增加系统调用
  ●增加可动态加载模块
  ●驱动程序设计
  1.3仿真实验
  这类项目通常采取仿真实现操作系统中的一些典型技术,如进程调度算法,但实现中涉及的资源和数据结构都是虚拟的,实现程序并不需要对实际资源进行真正的访问。国内大多数高校都设置这类的实验[2]。这类实验不需特定的支撑平台,教师避免了安装和配置支撑平台软件的工作,学生避免了花在熟悉实验平台方面的时间,通常调试也更容易一些。而且教师可选择更广范围的OS概念来分配项目。学生可以在任意计算机上使用任意程序设计语言来编程实现。
  这类实验最大的缺点是通常只要求实现一个孤立的模块,无法体现操作系统系统各模块之间复杂的联系,只关注于某一个功能的实现,实际上相当于简化了问题。设想一个实现进程调度算法的模块,如果只是实现一个单独的调度策略,而不是像一个实际的系统中那样会综合运用多个策略;如果简化系统的状态为只是运行与就绪;如果不考虑响应信号会影响状态转换;如果系统调度的时机只是运行完与时钟中断;如果不考虑实现定时唤醒机制;如果不考虑核心数据的保护等等;这样的一个实现与实际系统中的复杂性不可同日而语,对辅助学习操作系统理论的效果很有限。
  所以,为了能够真切体会操作系统作为一个大型系统软件的复杂性,仿真实验项目内容的选择与设计很重要。我们认为操作系统内核中的底层功能模块不适合做这类实验的题目,因为考虑到实现的效率,通常很难将它们孤立地设计。反之,高层功能模块因为本来就设计为系统可灵活配置与扩展的部分,与其他部分处于较松散的连接方式。这样既能体会操作系统针对某一功能的设计思想,又避免纠缠于硬件相关的细节。例如,用户空间的文件管理器就是这样的项目[4],实验内容的实现通过系统调用使用内核中文件物理组织和设备管理模块,项目的内容聚焦在文件和目录的管理方面。
  1.4系统程序设计
  系统程序设计是指编写与操作系统紧密相关的程序,这些称为系统软件的模块可看成是操作系统的外围部分。为了编制这些系统程序,需要详细考察操作系统内核提供的相关资源和服务,所以此类编程实践能促使学生对系统调用和相关数据结构的深入理解。为强调系统程序设计与操作系统教学的紧密联系,美国斯坦福和加州伯克利大学没有设置单独的操作系统课,而是操作系统和系统程序设计课。UNIX类操作系统的命令解释器的实现就是这类项目。在理论课程中只介绍命令解释器所处的层次与功能,正好可以在实验中讲解它的实现方法,使学生进一步领会fork、exec、wait等系统调用设计上的精妙之处。
  用户空间的线程库的实现也是这种实验项目。在理论课程中通常只介绍用户级线程与内核级线程的不同,而对用户级线程怎样在内核不察觉的情形下进行切换,学生往往感到困惑。通过这个实验既可以帮助学生进一步理解线程的概念,内容本身也可以归类为对内核调度机制的仿真。怎样既不失去仿真的“真”,又能够控制实现的难度,通过提供支持库实现对CPU寄存器的处理是一个比较好的方案[6]。这样学生在实现线程库时就可以不用汇编语言,在没有简化问题的前提下,只采用高级语言就能完成项目。
  1.5系统体验
  这类实验是在指定的操作系统下进行,侧重于系统的管理及应用程序设计。与仿真实验一样,项目内容局限在用户空间,侧重点在于操作系统的使用。这类项目的内容通常有shell命令、shell程序、进程通信、线程与同步等内容。这类项目的设计目标主要是开发特定操作系统之上的高级应用程序,这些应用程序会充分利用操作系统的各种支持,是运行效率高的应用程序。生产者消费者问题、读者写者问题等就是这类的项目。在教学中,指明这类典型问题与实际应用问题直接的联系,才能使学生明了这些实验的现实意义,是提高学生兴趣的关键。


  3课程设置以及辅助教学环境建设
  
  近年来,许多大学加大了操作系统相关课程的教学力度,例如北京大学14周的“操作系统实习”课在2005年以前为选修课,2005年开始为本科生必修课。2010年起美国加州圣地亚哥大学新设置了“操作系统结构与实现”课,与“操作系统原理”和“操作系统实习”一起构成了系列课程。
  现在,开放源码的操作系统不仅仅是争得了一席之地,而且成了商业产品的有力竞争者。所以操作系统的实验对象也更多地转向了此类能提供高质量产品级源码的系统。此类系统由于功能的完整,导致系统庞大不适合在虚拟机上运行,所以许多大学都设置了专用的操作系统实验室。但是由于修改操作系统内核的实验有可能导致系统崩溃,为了避免系统崩溃,指导教师会专门指导编译内核时相关设置的方法,但是这种预防的方法是无法保证一定不会发生系统崩溃,而且由于修改内核需要超级用户的权限,这可能引起其他安全问题。例如机器上的所有文件的所有权和完整性都可能受到威胁。这意味着相应的实验用计算机由于不稳定与公开性无法共享使用。当系统无意中受到破坏时,应当有快速修复的方法。一个超级用户可能有意无意地以大量发送数据包的方式影响网络通信,造成拒绝服务攻击。所以有必要研究相应的管理方法。
  一个比较全面的解决方案是这样的[7]:
  ●设置专人管理专用的操作系统实验室,他同时是操作系统课的助教。
  ●实验用机通过一个服务器才能访问网络,服务器上设防火墙。服务器在WPI网上,实验用机在内网里。
  ●实验用机的快速恢复系统脚本程序制成可启动CD。恢复方式应有多种选项。
  ●每一个实验组指定一台计算机,他们有root 权限。每个机器设三类账户:教师账户,本组账户和客人账户。
  ●为防止有人用软盘启动其他组的计算机,设置BIOS使机器的启动顺序为硬盘、CD-ROM,并用密码保护BIOS设置。
  ●每个学生在服务器上设置一个账户,用于备份项目代码以及在实验室以外访问实验机。
  ●为避免通过网络窃取密码,只允许安全的方式(SSH、slogin、scp)连接服务器。
  ●每个学生都能在其他实验用机上启动所属机器的X会话。这样组中多人可同时工作。
  因为相当部分的操作系统实验项目难度大,所以师生之间、学生之间的讨论、交流信息非常重要。许多课程建设了网络互动教学环境以适应这种需要,通常以学习交流论坛(BBS论坛)和新闻组的方式 本文中,我们以独立学院“操作系统”精品课程建设实践为基础,来讨论应用型精品课程建设的一些认识基础,探索计算机专业课程的教学新方法。
  作为计算机科学技术及其相关专业的重要基础,“操作系统原理”(也称“操作系统”)是一门承上启下的重要课程。该课程帮助学生理解操作系统的工作原理和技术,熟悉操作系统内核,能够运用操作系统深层次功能来解释和开发更好的中间件和应用程序,等。此外,无论是为新设备编写驱动程序、创建新的微内核服务器,还是提供能够高效处理发展需求的新系统,等等,都需要理解基本的操作系统原理和技术。一些学校的专业学生甚至还需要掌握操作系统的分析、开发和设计技术。而另一方面,应用型、教学型高等院校(尤其是本科院校)计算机专业毕业的学生虽然很少直接从事操作系统软件的开发,但其操作系统原理的知识水平,直接或间接地影响其专业水平和系统设计与开发能力,是他们与其他非计算机专业的用户和应用者的分水岭。
  
  1 “操作系统原理”已经有完整的知识结构与内容
  
  鉴于其重要性,各个学校,尤其是研究型大学的计算机专业,都一贯重视“操作系统原理”的课程建设。例如,我们利用Google (谷歌)搜索引擎,对“操作系统精品课程”关键字进行搜索,得到“简体中文网页中,约有880, 000项符合‘操作系统精品课程’的查询结果”(2010.10.9查询。作为比较,同样是重要的专业基础课程,“数据结构精品课程”有290, 000项;“软件工程精品课程”有594, 000项) 。
  又例如,我们在图书的专业网站“互动出版网”(http://www.china-pub.com) 进行相关搜索,在该网站的“计算机书店”中,“操作系统”类图书信息有2, 251条(2010.10.9查询。作为对照,“数据结构”类图书信息有433条;“软件工程及软件方法学”类图书信息有1270条)。
  可见,在解决操作系统课程教学的重点难点问题方面,我们不乏优秀论文和优秀成果,也有很多优秀的教学前辈和教学典范;另一方面,从宏观上讲,我们不缺教材,也不缺好的“操作系统原理”教材。在长期的专业建设和教学实践中,通过引进、消化吸收以及教改创新,许多优秀的、具有方方面面特色的国内外“操作系统原理”教材得以建设、出版和发行。
  但是,在精品课程的建设过程中,我们认识到,应用型院校的学科建设应该有其自身的特点和特色。传统的精英教育模式即使仍然优秀与先进,也不能完全适应普及高等教育的需要,新的高等教育形势呼唤新的教学方法和新的教学模式。这一点,在当下的众多精品课程建设中,无论是建设者,还是评判者,都很少顾及,往往还是用传统的方法,用精英模式的方法来建设和评价应用型院校的项目。
  在实践中,我们认为兄弟院校做到的我们要努力学习积极争取做到,更重要的是,应用型“操作系统原理”精品课程建设还应该包括对本课程教育对象 (例如独立学院本专业学生的学习状况和认知特点) 的正确认识、对教学目的(例如独立学院培养“应用型”“本科”人才)的深刻理解和对新的教学方法的改革与发展,等。
  
  2正确理解教育对象,建设应用型人才培养环境
  
  孔子曾经提出过不少至今仍然具有教育意义的人本思想,他的“有教无类”观点的理论基础是其“性相近也,习相远也”的人性论。“性相近”说明人皆有成才成德的可能性,而“习相远”又说明了实施教育的重要性。正是基于“人皆可以通过教育成才成德”认识,才有了“有教无类”的教育原则。
  认识“有教无类”,对于教师来说,就要真心地爱学生,真心地热爱教师这个职业。由基本的对岗位和对学生的“爱”为出发点,去理解学生,思考问题,寻找解决之道。亦即:要尊重学生,用科学的态度分析和认识学生中存在和出现的问题;根据学生群体的认知习惯来设计、调整、改变和发展自己的教学方法。通过师生的共同努力,建设新的、更加积极的良好学风。
  就像池塘养鱼。不同的鱼种有不同水深分层次生活的习性,所以,池塘养鱼一般是分层次确定投放鱼种的。在社会生活中,对于计算机专业人才的需要也是分不同层面而产生不同需求的。研究型院校主要培养学科精英,教学型院校主要培养优秀应用人才,甚至是高职高专的应用型人才,都各有各的用武之地,重要的是,应该以不同的角度去看待他们,理解和认识他们,教育和培养他们,而不是一刀切。
  在精品课程建设过程中,我们逐渐认识到:学校学习氛围的变化主要缘于学生结构和学生对象的改变。事实上,教学对象变了,教学目标变了,教师“单一”的教学方法已经成为亟待解决的关键。
  
  3着眼于应用性教育目标,倡导教学内容的分层次设计
  
  大多数大专院校都设置有计算机科学技术及其相关专业,我们至少可以认为:根据所在院校的办学类型不同、培养目标不同、所在地及其周边地区社会需求的不同,这些计算机专业的教学内容应该有所不同,这些计算机专业对于“操作系统原理”这门课程的教学内容也应该是有所不同的。
  我们认为:对于大多数计算机专业的学生,尤其是非研究型院校的学生,应该把“操作系统原理”的学习定位在理解、熟悉和能够灵活运用操作系统原理,来解释计算机运行的现象和开发更好的应用程序与新设备驱动程序等这样的层面,而把那些“考研”所需要的更深层次理论性内容放在选修或者考研复习阶段来解决。从长远看,应该对各层次院校的计算机专业所开设的“操作系统原理”课程的教学内容进行研究,在特定的范围内形成一定的相关共识。
  换句话说,在教材建设中要很好地把握编写内容的“度”,要完整、全面;而在具体教学过程中,要很好地把握灵活的“度”,在符合培养目标的前提下,授课要生动、能理解,要引导学生产生对课程内容的浓厚兴趣,千万不要满堂深灌而读僵读死。“操作系统原理”课程虽然有鲜明的应用性和实践性,但也有对基础课程和对理论深度的很高要求,因此,教学方法需要很好地设计,需要明了教学过程中学生的学习状况,积极进行调整和引导。
  
  4注重因材施教,重视教学方法改革与创新
  
  孔子非常注重因材施教,他研究人的方法是以承认人与人的存在差别为前提的,他对每个学生的性格和特长都很了解,并且要求学生把学和思、学和行结合起来。
  孔子的教育观点体现了教书育人的精神。从“教书”来讲,就是要培养有能力有学问的贤才;从“育人”来讲,就是要塑造理想的人格。孔子不把“圣人”作为教育的目标,而把重点放在培养君子人格上。在《论语》中,孔子所描绘的君子是仪表端庄、崇德向善、慎言敏行、学以致道、善于交际、爱才惠民、安贫乐道的人。在孔子那里,君子的标准可高可低,高到德、才、智全面发展,低到能具备某些优点就行了。君子既要求完美,又不尽完美。孔子培养学生的君子人格、就是在对学生的优点和不足有了全面了解的基础上进行的。
  正因为此,“因材施教”就成为教师应该遵循的基本原则。教师要尊重学生的个性,发挥学生的专长,通过因材施教,使广大学生成为各方面的“贤才君子”。在应用型“操作系统原理”精品课程建设过程中,我们的一个侧重点,就是探索学生能够喜欢、能够接受的教学方法。
  传统模式的教学方法可以简单地概括为“先说 (课堂理论教学) 后做(验证性实验)”和“光说不做”。但是,在大众化高等教育背景下,课堂教学效果普遍出现滑坡,客观上淡化了“验证性”实验的基础,因而严重影响了课程的教学质量。这一点,在“操作系统原理”课的教学中尤其如此。

我们在教学实践中摸索出一套“把实验实践环节与理论教学相融合,抓实验实践教学促进学科理论知识学习”的教学方法,有效地提高了学生的学习兴趣,以此来提高大众化高等教育背景下“操作系统原理”以及其他专业课程的教学效果和质量。这个教学方法可以简单地概括为“先做后说”和“边做边做”。这里的“先做”,就是教师依据相关课程的知识体系和教学要求,精心设计前导实验,学生在实验设计的指导下,通过实验方法来了解和实践课程知识;这里的“后说”,就是在学生具备了一定的感性认识的基础上,在课堂教学环节中答疑解惑,系统地提高学科知识的理论水平。
  例如,“操作系统原理”课程一向都有实验教学的要求,但实验内容通常是根据操作系统原理的思想,运用某种程序设计语言来实现操作系统的部分功能,或者分析诸如Linux操作系统某个版本的开放源代码,等,带有强烈的“验证性”色彩。但是,(1) 由于低年级程序设计语言教与学所存在的问题,学生普遍不能顺利地运用程序设计语言工具;(2) 对于应用型院校的学生来说,学习操作系统原理的主要目的应该不是设计新的操作系统,而是在理解的基础之上更好地运用操作系统。
  因此,应用型“操作系统原理”的课程建设尤其要重视建设实验、实践和应用等环节,让学生通过实验认识问题所在,通过实践理解问题的解决方法,通过体会到应用价值而喜爱本课程的教学内容。
  操作系统软件肯定是我们所见到的最优秀、最复杂和最庞大的软件之一,所以,真正领会操作系统课程所介绍的概念、原理、方法和技巧,对很多学生来说是困难的。我们需要为学生提供了一个研究操作系统内核的学习方法,使学生可以由此来体验操作系统内核及其设计技巧。可以在不修改任何代码的情况下,了解操作系统内部状态的各个方面;也可以通过编写新的代码来阅读内核的数据结构和了解操作系统运作方式,等等。
  根据以上思考,我们在实验内容的选择、实验步骤的设计和实验文档的组织等方面都作了精心的考虑和安排,结合精品课程建设,尝试为“操作系统原理”课程编写了实验教材《操作系统原理实验》(2003年科学出版社出版,2010年修订)。该实验教材依据课程教学大纲,充分理解课程的大多数教材,遵循课程教学的规律和节奏,体现了 摘要:本文研究了本科生的软件工程综合实践教学环节的改革,提出相关的解决方案,实践证明,这些解决方案对于解决学生的动手能力有利。
  关键词
本文来自:计算机毕业网 :软件工程;教学改革;课程实验;综合实践
      
  1引言
  
  我系原有的教学计划[1]中,软件工程课程体现设置上仅有“软件工程导论”一门课程,在大四上学期开设。这一教学安排的思路是,在前面基础课程学习完成后,为学生在大四开始毕业设计做准备。当时做此设计的思路有两个出发点:第一,这一教学设计是针对大学扩招之前的,因此是适用的。但自从高校扩招以后,特别是在近几年,由于就业的压力越来越大,企业对学生动手能力和项目实践能力要求越来越高,与这一教学设计相关的综合实践教学环节越来越不适应社会发展的需要;第二,这一教学设计在传统的以手工方式逐行编写应用程序的背景和需求相适应,但随着大型软件工程工具和环境的出现,以及应用系统的规模越来越大,应用越来越复杂,这一传统的软件工程教学无法适应这一形势,这反映在这一教学设计所提供的知识、体系等等,远远无法适应社会要求学生不仅掌握软件工程技术层面的知识和技能,还要掌握与软件工程相关的项目管理等方面的知识化技能这一需要。这意味着,原有的软件工程综合实践教学环节急需要进行改革。本文将阐述我们在这一环节改革中的一些思考和做法。
  
  2软件工程理论教学环节的改革
  
  在新的教学计划[2]中,我们强化了软件工程课程教学,我们的思想是将原有的单一软件工程课程分解为多层次、多方位的软件工程课程,在教学活动中,以交互式启发式教学为手段,以案例教学贯串整个过程。这一点主要可以体现在以下几个环节和方面。
  第一,将软件工程的思想贯串本科生专业学习过程。在学生学习了程序设计语言和数据结构等基础课程之后,我们在大二下学期开始开设“软件工程导论”,课程内容以软件工程思想的建立为目标,在以结构化方法学为主线的讲授软件工程技术核心内容的同时,引入软件项目管理基础,使得学生在技术学习的同时,注意到项目管理在软件开发中的重要作用。
  第二,在大三下学期开设面向对象软件工程。在这一学期,由于学生已经学习了C++面向对象程序设计等课程和软件工程导论等课程,因此涉及到面向对象中的概念已经不再是学习中的难点,这样我们可以将教学的重点放在以UML(统一建模语言)和RUP(统一建模过程)的学习与使用上,在此基础上,我们将教学的重点放在面向对象的需求获取和需求分析、面向对象的系统设计、对象设计和面向对象测试等方面。在技术学习的同时依旧重视项目管理,并引入配置管理(如版本管理)等进一步的管理知识。
  第三,在大四上学期开设软件工程课程设计课程。这一课程的教学将以案例分析和最终系统实现为目标。这一阶段的实践活动将大三面向对象软件工程中已经初具规模的系统加以实现。在教学活动的组织上,我们以交互式和启发式教学为主导,我们会在课堂上将部分时间留给学生讨论,教师则启发学生讨论并点评学生的过程,在课程的后半段时间还会专门留出时间给以项目组为主体团队演示自己的系统。
  第四,在大四下学期开学,将安排学生参加为期一月左右的实训。在选择培训公司上,我们坚持选择大型、有项目经验的公司作为依托,以其一线工程师作为实训教师,并坚持按公司 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 对学生以项目团队形式进行管理,并按公司指定的软件工程文档模板作为学生项目的文档写作依据,按公司对员工的方式管理、验收和评价学生的项目,让学生真正体会到IT公司的企业文化,这为学生的就业面试奠定了良好的基础。
  第五,为配合上述教学活动,我们在整个专业教学中增加了很多软件工程类的选修课程,如软件项目管理、基于构件的软件开发、软件测试与软件质量保障等。这些课程极大丰富了学生的知识,开扩了学生的眼界。
  第六,配合软件工程课程群教学,大力开展ACM/ICPC竞赛活动,吸引更多的本科生参加到以程序设计为主的专业学习中来,这不仅能够为学校选拔更多的优秀人才参加亚洲区国际大学生程序设计竞赛,而且对于本科生学风的改善起到积极的推动作用。现在,有越来越多的学生参加到ACM竞赛这项活动中来,其优秀者代表学校参赛,两次取得了亚洲区ACM/ICPC比赛铜牌,极大提高了学校和系里的声誉,也为我系学生的就业起到了积极作用。
  
  3软件工程课程实验教学环节的改革
  
  为了配合软件工程理论课程教学改革,我们强化和改革了软件工程综合实践环节。针对上述四个不同学期,安排不同层次的实验内容和实践活动。
  针对大二下学期开始开设“软件工程导论”,我们在这一阶段的教学实验以小型应用项目和小型团队为主,主要开发工具是高级程序设计语言,学生描述处理对象的主要依据是数据结构的基础知识(如正文编辑器开发)和以文件存放数据为主的学生管理系统等。这一阶段的实验教学目标是学生通过课程上机熟悉理论知识,并熟悉和掌握各种CASE工具的使用,建立软件工程的概念和思想,培养学生的团队合作精神和项目管理的基本概念。
  针对大三下学期开设面向对象软件工程,我们在这一阶段的教学实验以中型项目为背景,结合相关Rational产品和技术,通过实际的系统项目实践和大量上机实验,让学生在开发实际项目的过程中,掌握软件工程生命周期各阶段的理论和方法,了解基于RUP开发信息系统的过程、工具和方法。进一步加强学生的对软件工程理论的理解,提高学生的工程实践能力。具体实验教学内容覆盖项目管理、配置管理、需求分析、系统分析设计、测试、部署各阶段实验,及相应的主流工具(如MS Project、Rational Rose、ClearCase、Test Manager)的使用。但本阶段已经将项目的开发重点放在了需求分析、系统和对象设计、测试用例的设计上。整个实验环节将以团队开发活动和过程改进为主,实现方面并不要求学生实现整个系统功能。由于课程实践部分在面向对象软件工程的教学中占有非常重要的地位,对学生理解和掌握面向对象软件工程思想和理论有十分重要的作用,故本课程实验成绩占总课程成绩的40%。通过让学生提交开发过程中的各种模型、制品,及审查实验报告等方式,按各个实验模块及其所占分值的比例加权求和,给出学生的实验成绩。
  大四上学期开设的软件工程课程设计我们在教学方式上采用案例式教学法,即设计采用了一个具有代表性的、结合软件工程生命周期各阶段理论的实际案例——某大学的选课系统,使其贯穿于整个教学过程当中。通过实际案例的演示,激发了学生的学习热情,让学生积极去思考问题,通过课堂讨论、教师点评等方式,变被动接受为主动思考、积极参与的学习模式,提高了学生的学习自主性和创新能力。在本课程的课程实践中,我们将学生分成4人左右的小组,以实现一个完整的应用系统为主。在这一过程中,我们始终贯串以团队为合作前提,以交互和启发为手段,以交流和通透为主线,以完成一个完整的项目为最终目标,以真正实现一个项目。本课程实验项目的设计力图能为学生留有充分的创新空间,积极鼓励学生进行创新设计。考核的方法以开发文档审核、程序现场演示与答辩等方式进行综合考核评定,激发学生的学习成就感,培养工程化软件素养,强化交流表达能力等综合素质的提高。
  在大四下学期开学的实训,我们更是将学生置身于实际的公司所营造的企业文化氛围之中,让学生经历一次实践洗礼。通过毕业设计实践,让学生在毕业设计中,深入体会和掌握软件工程的思想,实践相应领域的开发过程、方法和工具,提高对所学技术和方法的掌握和应用能力,为成为职业优秀的软件开发人员或进一步深造打下坚实的基础。


  4软件工程综合实践教学环节的改革
  
  在本节所介绍的综合实践教学环节主要指实训环节。计算机专业本科生的综合实践环节非常重要,但也是实际教学管理中一个非常困难的环节。我系的综合实践环节存在着多种运作模式的演化。
  在2002年以前,本科生的综合实践环节主要是在系内完成,这一阶段的主要情况是学生人数不多,且总体素质和基础较好,每一位指导教师指导的学生人数平均在4人左右,而老师也能够就自己的研究或课题提出若干可以研究的内容交给学生进行研究和实现,在这一实践环节的支持下,学生的毕业论文也能够写得较为深入,论文总体质量较高。从2003年开始,由于应届学生人数的激增,出现了一位指导教师需同时指导10人左右的局面,这时的学生从总体上看,其基础和能力弱于往届。我们采用与前面相同的指导制度,但效果并不理想。从2004年开始,为了配合本科教学评估,学校要求将毕业生全部置于校外实训/实习基地进行综合实践。我们在当地和外地分别建立了4个较大基地,将大部分学生遣入其中进行实习。其结果是,除了少数负责任的单位外,很多实习单位将学生用在“打杂”上。小部分自己找实习单位的学生还存在着作弊的现象。为此,我们在2005年的开始,修改了软件工程综合实践教学环节,针对全体学生,在市内选择合格企业在校外进行实训,其实训内容和安排由系教学委员会认定,将考核权利下放给实训单位,这一改革极大地提高了学生的积极性和参与意识,使得学生正式和企业进行了直接接触,初步感受到了企业文化。但由于该企业实训用的场地较少,全系学生分6批次才完成整个实训,这加大了我们在管理上的难度。从2006年开始,我们又进一步改革了软件工程综合实践环节,选择了实力更强的校外IT企业进行合作,在校内使用我系的大型机房和设备,完全按照企业岗前培训的模式,在整个实训过程中融入企业文化,而实训不仅讲技术和工具方面的内容,还引入企业管理模式和竞争机制。这极大提高了学生的团队合作精神和学生使用实际工具的能力,也迅速地将学生所学理论和知识转化为实战能力,提 摘要:本文提出突破传统的实验教学模式是提高教学质量的关键,将理论性强、比较枯燥、不容易理解的专业课通过“理论-实验-互动”的教学方法提高学生自主学习的积极性,激发和培养有创意的人才。文中以访问控制技术为例阐述实践教学是培养学生创新能力的关键。
  关键词
本文来自:计算机毕业网 :信息安全;访问控制技术;实验教学
      
  信息安全专业的实验教学是本专业教学的一个突出环节,很多课程都是以实验教学为基础。作为实践性强和应用性广泛的专业课程,实验环节显得尤为重要。现代实验教学的主要目的不仅仅是“理论验证和掌握实际技能”,更重要的是培养学生的应变和创意能力,也是学生树立正确人生观和价值观的重要途径。访问控制技术作为网络安全的关键技术,是主流网络安全产品采用的重要技术之一。本文针对信息安全专业的本科生,就在实验教学中如何使学生更好地理解和掌握访问控制技术、调动学习的积极性和主动参与的热情等方面进行探讨。
  
  1定位专业培养目标是社会需求和学科发展的基础
  
  信息安全专业是计算机、通信工程、数学等领域的交叉学科,它是一门理论性强、应用广泛、知识面宽和涉及多领域的新兴学科。对于这一新兴学科的实验教学模式和课程设置,各高校普遍缺乏经验。从根本上讲,我们应该认清专业类型方面的差别,如:计算机工程专业方向和软件工程专业方向是一种工程型培养模式,其培养目标是工程师;信息技术与安全(信息安全)专业方向则是一种应用型培养模式,其培养目标是有创意、设计型人才。这些专业在知识结构、能力要求、工作方法等方面都有较大的差别,要适应新学科的发展和突出信息安全专业的特性,就要在实验教学环节进行改革,突出实验教学的创新特点。实验教学改革应从以下几个方面考虑:
  1.1因地制宜定位专业特色
  北京工业大学计算机学院如何体现这个新专业的特色?首先,我们必须确定专业方向和培养规格,其特色应该以本学院的优势学科来做支撑点,培养目标应该由与自身相适应的社会人才需求类型来定位(主导类型);将学科优势作为支撑点和主导类型结合在一起,构成该专业的特色。其次,专业的特色还要与办学条件和地域人才需求相关。办学条件主要涉及师资和实验条件,它是人才培养的基础;地域人才需求主要涉及学生的出路,它是人才培养的目标。
  1.2社会需求定位专业特色
  北京工业大学肩负着为北京市经济发展建设培养和输送方方面面具有创新意识的应用技术型人才的重担,因此,专业教学内容是培养的关键。专业实验教学应该综合现代科技发展的新知识、新技术和新教学方法,选择应用性强、具有先进性、代表性和方向性的实验来激发学生的求知欲,培养学生综合把握和运用学科知识和方法的能力。
  
  2突破传统的实验教学模式是提高教学质量的关键
  
  信息安全学科是理论性强、比较枯燥、不容易理解但又非常实用的学科。如何调动学生学习的积极性和主动性,以实用性强和应用广泛的经典实例为实验教学的基础,加大实验环节显得尤为重要。教师在教学中采取了“理论-实践-互动”开放实验教学的方式,在讲授理论知识的同时将实验内容及时插入到教学中,进一步提高和巩固理论知识。我们以其中一个实验为例来阐述如何在实验教学中培养学生的创新能力。实验内容为访问控制技术,因为随着信息化建设的深入,各种互联网的应用不断增多,安全的需求也日新月异。目前网络访问控制技术主要解决的是网络安全方面的问题(防火墙也是网络安全应用中必不可少的安全设备) ,随着网络技术的发展和网络应用的普及,加强网络安全管理、防范入侵和攻击的同时提出了一个新的课题:如何净化网络空间,更好地运用访问控制技术。因此我们在实验教学内容设计时将网络访问控制技术作为实验教学中的重要内容之一。
  2.1实验理论内容
  (1) 访问控制策略
  访问控制技术是网络安全的关键技术,是实现数据保护的有效手段。在30多年的发展过程中,先后出现了多种重要的访问控制技术策略:如自主访问控制(discretionary access control,简称DAC)、强制访问控制(mandatory access control,简称MAC)和基于角色访问控制(role-based access control,简称RBAC),它们的基本目的都是防止非法用户进入系统和合法用户对系统资源的非法使用,是保证信息安全和数据完整性的关键技术。
  (2) 访问控制列表ACL
  自主访问控制(DAC)是目前计算机系统中实现最多的访问控制机制,访问控制列表(access control list,简称ACL)是实现自主访问控制最好的方法。ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息,如源地址、目的地址、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。访问控制系统通过检测ACL来决定访问是否被授权或被拒绝。
  (3) 标准ACL
  ACL分很多种:如标准ACL、扩展ACL和命名ACL。标准ACL最简单,是通过使用IP包中的地址进行过滤,作为控制网络流量的手段,表号范围1~99或1300~1999。
  2.2实验内容
  A) 本实验按照拓扑图在八台PC机和三台路由器端口上配置IP地址及相应的网关;在三台路由器上配置路由 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 并保证各子网间、路由器间的连通性,实验拓扑图如图1所示。
  B) 本实验拒绝PC1、PC2、PC3所在网段访问路由器R2,拒绝PC4、PC5、PC6所在网段访问路由器R1,同时允许R1和R2子网的PC能从路由器R3网段的FTP服务器server上下载文件,但不能上传文件,而且不能访问PC7。
  C) 网络路由协议采用EIGRP协议。
  
  图1 实验拓扑图
  
  2.3实验目的
  学会使用ACL作为控制网络流量的手段,并了解ACL是如何用做安全解决方案的一部分。
  2.4实验要求及环境(硬件设备)
  A) 4人一组,自己连接实验物理环境;
  B) 每组一个实验平台(实验平台内有Cisco 25 系列路由器5台;Cisco T2950-24型交换机2台);集线器一个;568B、568A网线缆若干;PC机数量随意。
  2.5实验中的技术要点
  A) 访问控制列表表项的检查按自上而下的顺序进行,并且从第一个表项开始,所以必须考虑在访问控制列表中定义语句的次序;
  B) 路由器不对自身产生的IP数据包进行过滤;
  C) 每一个路由器接口的每一个方向,每一种协议只能创建一个ACL;
  D) 当控制一种应用协议时,不能采用标准ACL,而应使用扩展ACL。
  在本次实验中采用了“理论—实践—互动”式的教学方式,先由教师讲授ACL的使用方法,标准ACL和扩展ACL的区别等关键点,然后由学生完成实验。这种教学方式激发了学生的学习兴趣,课堂气氛非常活跃,学生自己连接物理实验环境,共同讨论设计方案,按照不同的分工完成自己的一份任务,最后统一调试和验证。如果哪个部分出现了问题,全组的同学一起排查找原因或者与老师讨论请教。教师与学生交流互动的气氛异常活跃和谐。教师下到各个实验小组与学生交流讨论,整个实验过程没有一个闲置的学生。老师与学生、学生与学生、同组与异组之间讨论非常热烈。学生经历了失败和挫折,信心始终不减直到最后圆满完成实验。学生们说“没上安全专业实验之前,从来没见过路由器和交换机,更没有想到能人手一台Cisco路由器,自己连接物理实验环境、自己配置路由器,实验内容既实际又应用广泛,非常贴近现实生活很有意义,更重要的是理论课没有弄明白或模糊的地方通过实践都明白了”。这次实验突破传统的实验教学模式,使教师和学生的距离拉近,更利于教学效果。
  
  3结束语
  
  随着国家信息化步伐的加快高等教育规模不断发展和扩充,信息安全专业实验教学应该综合现代科技发展的新知识、新技术和新实验教学方法,突破传统的实验教学模式是提高教学质量的关键。激发和培养有创意的人才是社会需求和专业发展的动力,适应社会的需求是高校培养人才的根本目标。
  
  参考文献
  [1] 林闯,封富君,李俊山. 新型网络环境下的访问控制技术[J]. 软件学报,2010,18(4):955-966.<

本文档为【城市公交查询系统的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_052712
暂无简介~
格式:doc
大小:80KB
软件:Word
页数:16
分类:经济学
上传时间:2012-04-18
浏览量:58