操作系统网上实验系统设计与实现毕业论文

上传人:仙*** 文档编号:146488158 上传时间:2022-08-31 格式:DOC 页数:59 大小:1.47MB
收藏 版权申诉 举报 下载
操作系统网上实验系统设计与实现毕业论文_第1页
第1页 / 共59页
操作系统网上实验系统设计与实现毕业论文_第2页
第2页 / 共59页
操作系统网上实验系统设计与实现毕业论文_第3页
第3页 / 共59页
资源描述:

《操作系统网上实验系统设计与实现毕业论文》由会员分享,可在线阅读,更多相关《操作系统网上实验系统设计与实现毕业论文(59页珍藏版)》请在装配图网上搜索。

1、陕西理工学院毕业设计操作系统网上实验系统设计与实现作者:刘文攀(陕西理工学院 数学与计算机科学学院 网络工程 091班,陕西 汉中 723000)指导教师:王鹏摘要教育事业是人类社会高度发展的产物,是世世代代文明积累的结晶,也是世世代代相传下去的社会载体。传统教育的方式是以讲解理论知识为主,对特定的历史文化的高度解析,对于那些知识技能单一的文化来说,这种教育或许是人们比较容易接受的一种方式。然而,在现代高度发展的社会中,文化的多元化和学科的互相交叉的特性,特别是要求实践活动的科学学科,传统的教育模式已经不能满足现代教学的需求,也很难被学生所接受,所以这就需要寻找一种新的教学方法。在现在的教学实

2、践中,网络教学越来越受到师生的青睐,并且在不断的实践中,已经证实网络教育是补充传统教育不足的一种有效的方法。操作系统网上实验系统是以操作系统课程为实验对象设计和实现的网上实验系统,它属于网络教学的一部分,为了补充课堂教学中学生不能及时得到充足的实验材料进行实验验证自己的知识水平和自我查缺补漏,老师不能及时掌握学生对知识的掌握的熟练程度和对知识的应用能力从而对不同学生进行不同的程度和方式的教学提供可靠的依据等不足问题,同时也是适应潮流的发展,为教学中实验课的环节提供一种简单的,方便的,高效的工具。操作系统网上实验系统的的成功研发不仅只是应用在操作系统课程实验教学中,也能应用在其他各科学科的实验课

3、程上,他的不断完善和成功部署,或许会是网络教学的又一大补充和发展,推动教育事业前进的步伐。关键字 教育事业; 传统教育; 网络教学; 操作系统网上实验系统;工具Operating Systems Design and Implementation of experimental system onlineName: Liu Wen Pan(Grade09,Class2,Major Network Engineering,Institute of Mathematics and Computer Science Dept,Shanxi University of Technology,hanzh

4、ong 723001,Shanxi)Tutor: Wang PengAbstract: Education is the product of highly developed human society, the accumulation of crystals generations of civilization , but also the social carriers pass down from generation to generation . Traditional educational approach is to explain the theory of knowl

5、edge based on the height of a particular historical and cultural analysis , for those single cultural knowledge and skills , this education is perhaps one of the more easily accepted in a way. However, in modern highly developed societies, cultural diversity and cross-cutting disciplines characteris

6、tics, in particular scientific discipline requires practice , the traditional mode of education can not meet the needs of modern teaching , and it is difficult to be accepted by the student , so this needs to find a new teaching methods. In the current teaching practice, more and more online teachin

7、g are favored by students of all ages and teachers, and in the constant practice , it has been confirmed that online education is an effective approach to supplement the shortage of traditional education. Experimental system is based on the operating system online courses on operating system design

8、and implementation as experimental subjects online experiment system that belongs to the network as part of teaching , in order to supplement classroom teaching students unable to get enough material for experimental verification experiment their level of knowledge and self- check Network access, th

9、e teacher can not grasp students mastery of knowledge proficiency and ability to apply knowledge to students of different levels and different ways of teaching to provide a reliable basis for such shortage , but also adapt to the trend of development, providing a simple convenient and efficient tool

10、 for the teaching experimental class part . Operating system online successful development of the experimental system is not only used in the experimental teaching courses on operating system ,but also be applied to other disciplines experimental curriculum subjects , the continues improvement and s

11、uccessfully deployment of which will probably be another big online teaching complement and development, promoting education progress。Key words: Education;Traditional education;Experimental System operating system online;Tool目录引言11 系统概述21.1选题的目的和意义21.2 系统的功能概述21.3 实现系统的技术概述32 需求分析42.1 需求分析采用的方法42.2

12、可行性研究42.3 数据流图与数据字典52.3.1 数据流图52.3.2 数据字典62.4 系统功能需求分析72.4.1 系统功能结构分析72.4.2 学生用户功能分析82.4.3 老师用户功能分析92.5 系统约束要求93 系统设计与实现103.1 实现系统的工具或技术选择103.2 数据库系统的设计103.2.1 数据库设计103.2.2 MYSQL数据库在VC中的部署133.3 网络通信设计143.3.1 网络的基本构架143.3.2 TCP/IP数据包及通信模式153.3.3 SOCKET 网络传输程序的设计163.4 服务器端程序设计与实现173.4.1 服务器端程序流程图173.4

13、.2 服务器端程序的实现183.5 客户端程序的设计与实现203.5.1 主界面及登录界面的设计与实现203.5.2 操作界面的设计和实现214 系统测试244.1测试策略244.2模块测试244.2.1服务器端数据库与VC链接的操作测试244.2.2网络通信单元模块测试244.2.3客户端模块的测试254.3功能测试255 总结285.1系统设计实现总结285.2系统的进一步改进28致谢29参考文献30科技外文文献31科技外文文献翻译36附录A:源代码40附录B:使用说明书55引言计算机的发展给人们的生活、工作和学习带来了前所未有的方便,是人类社会发展的一次重要的改革。由于计算机技术的发展,

14、带动了其他很多产业的飞速前进,一些庞大的数据处理,在计算机的帮助下变得简单快捷,节省了大量的人力物力,并且正确率和准确率也得到了很大的提高,在计算机发展之前一些不可能实现的数据处理,在计算机的帮助下变得可能且简单。从大到航天航空,导弹航道计算等国家安全领域重大问题到小到电视机、电子手表等家庭日常生活,无处不见计算机技术的身影,可见计算机技术在人类社会已经非常的普及,并且得到了大部分人的认可和青睐。而在社会经济高速发展的今天,人们的生活水平得到了很大的提高,电子行业的快速发展,制造工艺和制造成本的大幅度降低,使得计算机等电子产品价格低廉,大部分的人们都有能力购买计算机等电子产品,而且越来越多的应

15、用在日常生活的或生产活动中,给人们创造了不菲的价值。在现代社会里,为了解决单独的计算机技术很难实现知识或技术等文化的传播、知识不能共享等问题,计算机网络得到了高速的发展,并且基本覆盖了地球的大部分地区。世界上的人们只要连接上网络,不管他来自何方,身在何处,都能应用网络技术访问外面的世界,掌握最新的知识和动态新闻,并且能够在网络上进行互操作,完成自己的工作或生活任务。现在的企业,人事机构,政府机关甚至单个家庭都有自己的网络系统,通过该网络系统实现自己内部的事业或人事的管理,和外界的交流。由于计算机的高效、准确等优点和网络的快速发展,各行各业都在应用网络或计算机技术进行各种操作。教育事业是人类社会

16、发展的文明象征,是人类社会高度发展的产物,是世世代代文明积累的结晶,他的发展直接影响到人类社会发展的脚步,也是科技技术的带头军,大力发展教育事业,推动知识的快速传播使我们每一个社会公民的责任。计算机网络技术在教育事业中的发展也非常的普遍,设计到学校管理的方方面面,而且这种校园网络管理技术还在不断的完善和发展之中,而且这种发展也是社会发展的趋势,是教育事业的一大潮流。操作系统网上实验系统也是属于教育事业网络化方面的一部分的内容,他是以操作系统作为实验的对象进行网上试验系统的设计和实现。现在的科学教育的一个重要的环节就是实践实验课程。而在传统的教育方式,只有到实验室在老师的统一指导下才能进行,这种

17、方式缺少灵活性,且实验时间短,实验素材有限等问题使得同学们很难把自己掌握得到的理论知识和社会实践相结合起来,特别是计算机学科,大量的实验和练习对于学生掌握知识和技能非常的重要,所以这就必须要完善实验体制。网络实验系统正是在这样的背景下提出的并进行设计和实施的,操作系统网上实验系统的的成功研发不仅只是应用在操作系统课程实验教学中,也能应用在其他各科学科的实验课程上,他的不断完善和成功部署,或许会是网络教学的又一大补充和发展,推动教育事业前进的步伐。操作系统网上试验系统,主要是以操作系统为实验对象进行网上实验系统的设计和实现。此论文将主要从对系统的认识概述,需求分析,软件结构设计,软件开发和实施,

18、软件测试与维护分析,用户操作手册等方方面面对该系统进行详细的说明,使用标准的软件开发流程进行全面的设计和开发。1 系统概述操作系统网上实验系统,采用C/S模式设计理念。该系统的使用范围定位在莫所高校莫个院系的所有专业的实验。其主要包括两部分的内容,一个服务器端和客户端。服务器端主要接收客户端发送的数据请求,对数据进行相应的处理,再把客服端需要的数据还回给客户端,客户端主要是接收用户数据,提交数据给服务器端,接收服务器端的数据,处理相应数据,显示数据等功能。该系统是一个简单的,完整的软件系统,基本包含了软件开发的各方面的基本要素。该系统也是一个课程科研项目,只进行简单的较为完整的设计和实施,并没

19、有也没有那个条件进行全面的项目研发和实地部署。1.1选题的目的和意义操作系统网上实验系统设计,主要是以操作系统课程为实验案例对象来研究和设计网上实验系统,该系统的研究主要用于课程实验的管理,方便老师及时的发布实验信息,提供给学生各种实验题材,学生根据老师提供的题材和实验的要求,进行各项实验,并及时把实验中遇到的自己不能解决的问题、疑惑、实验结果等反馈给指导老师。通过该系统,老师可以及时的了解学生对知识的掌握情况,针对各种问题有针对性的解答疑惑,使同学们更牢固的掌握所学的知识,提高自己的动手能力。1.2 系统的功能概述我们明白了操作系统网上实验系统的系统概述之后,需要对该系统有一个基本的功能构架

20、,进行简单的功能概述,我们知道,该系统主要又两部分组成,服务器端和客户端。服务器端和客户端我们采用TCP/IP进行基本的通信,而数据源我们需要一个数据库来保存数据和数据的更新。服务器端的主要功能是接收客户端的请求进行相应的处理,客户端数据通过TCP/IP协议,把数据传送给服务器端,服务器端根据客户端请求类型,进行相应的处理,对不同的请求对数据库进行不同的相应的操作,或者进行其他相应的处理,把处理后的结构,根据客户端的需求通过TCP/IP协议还回不同的值。客户端主要包括两种身份的客户,老师和学生,并且不同的登录角色有不同的操作权限。对于学生角色来说,其主要有两个模块的功能,个人基本信息管理和实验

21、资料管理。个人基本信息管理主要是对该生基本信息的查看,基本信息的修改,密码的修改等,实验资料管理主要有查看该生需要做的全部实验信息,包括实验说明书的查看,示例结果的查看和操作,统计已完成的实验,还需要完成的实验,需要重修的实验,老师对实验的评阅,和提交实验报告等功能。对于老师登录身份来说,其也有两个模块的功能,个人基本信息管理和实验资料管理。个人基本信息管理和学生身份登录相差不大,主要是对该老师基本信息的查看,基本信息的修改,密码的修改等,实验资料管理主要有查看该老师对不同专业上传的各专业相对应的实验资料(因为一位老师可能胜任不同专业的不同的课程),上传实验资料,查看学生实验情况,评阅学生的实

22、验,对学生的疑惑跟踪指导等功能模块。该系统的基本整体功能概述如图1.1所示。图1.1 整体功能描述图1.3 实现系统的技术概述操作系统网上实验系统设计解决的主要问题就是设计一个网上实验平台,通过这个平台,学生可以随时获取各种实验资料,进行各种练习,及时发现反馈各种疑惑、问题,和同学进行交流并得到老师的及时解答,方便师生交流。该系统将由两大部分组成,一个服务器端和一个客户端,服务器主要用于存储各种信息,客户端主要方便老师和同学的操作,其中主要用到的技术包括客户端应用程序的设计和开发,数据库系统的设计和开发,网络通信的设计和开发,多线程多进程的设计和实现等。2 需求分析在对系统进行了系统的概要描述

23、之后,我们需要对系统进行需求分析,来确定我们设计这个系统可行性,构架和成本效益,决定该系统需要做什么,不做什么。2.1 需求分析采用的方法为了获取客户的需求,需要拟定了需求分析的方法与步骤,其中包括访谈与会议讨论,观察用户的工作流程,建立讨论小组,调查其它相关类似软件。为了能更好的完成该操作系统网上试验系统,我们初步拟定了以下的需求分析的方法与步骤:(1)寻找一个相关的类似的软件系统(如教务管理),认真学习期相关知识,掌握其基本流程和实现方法。(2)查看资料或走访相关老师,了解教学过程中,实验课的操作步骤和方法。(3)设计详细调查计划、设计调查工作底稿。(4)走访教务处、相关老师,相关学生和实

24、验室管理人员,了解其组织机构、管理模式及内容、主要业务、国家标准、操作流程和实现方法、存在问题、需要完善的体制等,了解业务量大和问题多的业务。收集相关管理业务文件、国家标准样本。(5)进行可行性分析,估算成本和部署后的收益。(6)整理调查资料,写出主要业务分布图,与相关老师、学生和实验管理人员等相关人员交流,修改业务分布图、调整完善设计底稿,使用户可开发者意见达成一致。(7)根据业务分布图,与相关老师、学生等相关负责业务人员进行交流,进行输出数据流调查。了解主要内容及其数据的来源、组成、计算公式、审核公式等。收集实验资料(实验信息和实验说明书),了解实验环节的情况并统计其信息,找出其中的规律,

25、生成报表形式。(8)写出报表组成结构图,与相关负责人员交流,反复修改,使用户对其设计结构满意并且在程序设计可行的设计范围内。(9)根据业务分布图,与老师,学生等相关负责人员个进行交流,确定输入数据流。确定基础数据来源(根据生成的报表样式)、数据的组成(数据元素,属性,数据结构和数据关系)、数据的去向(确定输出报表)、数据处理(数据量、峰值、峰值时间等及数据流动中的时序关系),掌握有规律性的数据、需进行连续积累的历史数据、有变化的基础数据。(10)画出业务流程图、数据流程图、数据流动时序图及ER图,写出数据字典。(11)将设计好的各类图纸,文档等与相关负责人员进行交流后反复修改,双方共同签字确定

26、。(12)分析其实现的形式,编码的难度和需要攻破的技术关键。(13)画出数据流程图及ER实体图,写出数据字典。(14)根据ER图,进行数据库设计和部署分析,使满足3NF。(15)写出需求分析说明书。(16)进行需求分析评审。2.2 可行性研究在我们做任何事情之前都应该对该事情做一个可行性的研究,因为不是所有的项目都是能在有限的时间和当前知识背景之下可以解决的。如果所面对的问题没有一个可行的解,那么在这个项目中的任何的时间,人力,物力等资源的投入都将成为一种浪费。可行性分析做的好,我们可以用最小的代价在尽可能短的时间内确定问题的可行解,从而节约人力物力的效果,使投入最小,收益最高。在了解了操作系

27、统网上实验系统的设计和实现的基本定义和项目的描述之后,我们需要对其进行可行性的分析,研究该项目的可执行度,进一步分析和澄清问题的定义,从而导出该系统的逻辑模式。下面,我们主要从技术可行性,经济可行性,操作可行性,社会效益等方面对该系统做一次详细的可行性分析。(1)技术可行性为了开发这个系统,我们选择了VC+ 6.0 作为主要的开发工具,该开发工具有高度的封装性,MFC的内置控件功能非常的庞大,应用非常的方便,快捷,是软件开发的一种很好地选择。另外,在4年的大学学习期间,我们对C/C+基本知识有扎实的基础,熟悉数据结构,算法设计和分析的基本内容,良好的计算机网络方面的知识,熟练网络编程,多线程,

28、多进程等系统编程,对SQLServer 或MYSQL Server 数据库也有一定的学习和掌握。目前我们所掌握的知识和技能对操作系统网上实验系统的设计和实现是完全可以胜任的。(2)经济可行性经过小组的讨论,该项目的开发所需要的时间大概在一人30天左右,所需的硬件配置不高,开发成功之后,可以部署到校园的内部系统之中,不需要添加额外的硬件设备。开发成本较低,如果其系统功能得到认可在进一步完善和部署之后,将作为校园管理系统的一个补充部分受到同学们和老师们的广泛使用,将有很大的收益。(3)操作可行性该系统开发的重要一个理念就是操作尽量简单,尽量达到见文知意的效果。操作系统网上实验系统主要面对的使用的对

29、象是高校里面的老师和学生,他们都属于高级知识分子,基本不用进行任何的额外培训就可以掌握其基本的操作。(4)社会效益由于现在教学的特殊的需要和实际存在的一些的问题,网络教育的流行和推广,网上实验系统将也将作为网络教育的一部分得到大力的支持与推广。它的成功研发和部署,将改变现实教学课程中实验环节存在的问题,推动教育事业前进的步伐。2.3 数据流图与数据字典数据流图用来刻画数据流和转换的信息系统建模技术,数据字典用来描述数据的具体定义。在需求分析中,数据流图和数据字典是非常重要的环节,其设计的质量的好差,将直接影响到软件的质量和开发的效率,也是决定软件效益最关键的步骤之一。2.3.1 数据流图之前的

30、可行性分析表明,该系统是有可行的解,在与客户进行不断的交流和修改之后,我们得到了确定的信息,但是这些信息也是相对分散的,为此,我们需要把他们组织到一起,形成一个统一的结构,而数据流图是组织这些信息的一种最好的方法之一,如图2.1所示,操作系统网上试验系统的整体的数据流图。图2.1 网上实验系统数据流图2.3.2 数据字典数据流图和数据字典共同构成系统的逻辑模式,没有数据字典,数据流图就不严格,没有数据流图,数据字典就难以发挥其作用,他是对数据流图中包含的所有的元素的定义的集合,下面就是对图2.1数据流图的数据字典。名字:登录信息别名:登录账户定义:登录信息 = 登录账号+登录密码+用户角色描述

31、:登录信息用于登录时验证该用户是否是合法的用户,只有数据库里面注册过的用户才是合法的用户。登录账号4数字字符4 | 6数字字符6登录密码=6数字字符6用户角色=老师 | 学生 位置:启动软件登录系统名字:交互数据别名:定义:交互数据 = 客户端数据 | 服务器端数据描述:客户端和服务器端进行数据交付的时候,是连接两端的数据中心,接收客户端的数据到服务器端,也接收服务器端的数据到客户端。客户端数据 = 操作客户端产生的流向客户端的数据 | 操作客户端产生的流向服务器端的数据服务器端数据 = 服务器端产生的流向客服端的数据位置: 对软件操作时,数据处理中心,客户端到客户端的数据,客户端和服务器端交

32、流的数据2.4 系统功能需求分析系统功能分析指定系统必须提供的服务。在开发操作系统网上实验系统之前,首先要对其进行系统的功能分析。功能需求分析是软件设计中重要环节,也是决定性的一步,通过系统功能需求分析,才能把软件功能的总体概念描述为具体的软件需求规格说明,从而为开发出客户满意,功能完善的系统奠定了坚实基础。操作系统网上实验系统的需要实现的主要功能的分层图如图2.2所示。图2.2 网上实验系统功能层次图2.4.1 系统功能结构分析操作系统网上实验系统,从结构上分,由两大部分组成,服务器和客户端。服务器和客户端之间使用TCP/IP协议进行编程。服务器主要是接收客户端发送的各种数据请求,在对数据进

33、行一定的处理,把客户端的需求变换成有用的数据,再把数据通过socket网络编程传送给客户端。例如,当客户端需要查看当前用户的用户资料的时候,客户端在和服务器端连接之后,发送一个特殊的数据表明现在我需要进行查询工作,之后发送需要查询的条件,服务器根据客户的请求,到特定的mysql数据库中查找所需要的数据,获取数据之后,在对数据进行特殊的处理,再把数据通过socket传送给客户端,到此一次通信就结束了。和服务器对应的是客户端,客户端的主要的作用是人机交互的窗口,在登录成功之后,就可以进入到操作界面,当客户输入不同的指令的时候,客户端程序将发出不同的动作,执行不同的操作,之后把客户需要的数据通过一定

34、的方式提供给客户。例如,当用户点击修改密码按钮之后,就会相应的弹出一个对话框,提示用户输入原始密码,再输入新密码,当用户确认提交之后,如果程序执行过程都一切正常,当前用户的密码就修改为最新的密码,下次登录时就需要使用修改之后的 新密码。2.4.2 学生用户功能分析操作系统网上实验系统目前提供两种角色的登录状态,学生和老师,对于这两种用户,他们有不同的操作权限。而学生用户又有两个模块的功能,基本信息管理和实验信息管理,下面分别从这两个方面进行功能分析。(1)基本信息管理模块:1)基本信息查询,提供当前登录学生的基本信息。例如当一个同学登录成功后,需要查看自己的基本信息,点击查看基本信息之后,系统

35、就通过一个对话框视图,把该生的基本信息显示出来。2)修改密码,提供用户密码的修改更新。如当学生需要设置自己的新密码的时候,需要点击系统的修改密码按钮,之后系统将为客户提供一个操作提示对话框,用户需要输入原始密码,和两次新密码,当操作都正确之后,点击确定提交,如果程序运行正确,密码修改成功,下次登录系统是就西药使用新密码。3)修改基本信息,当用户基本信息有误的时候,该模块提供用户修改基本信息的窗口。用户只需点击系统的修改基本信息按钮,系统将提供一个提示对话框,显示需要修改的基本信息,用户可以改变其中的值,在确认之后,点击确定提交,如果程序运行正确,基本信息更新成功。(2)实验信息管理:1)检索实

36、验,提供该生查询该生所在专业班级的所有实验,也是该生需完成的实验。如果该生需要查看自己需要完成的实验有哪些,点击检索实验,系统将提供一个列表,在其中显示所有该生所在专业所有课程的实验信息。2)查看说明书,提供给学生对实验指导书的查阅。学生在做实验之前光有实验题目是远远不够的,没有实验说明书,就不明白该实验需要完成的内容及该实验的目的,学生需要选中一个实验,之后点击查看说明书,系统就会把该实验的实验说明书通过文本的形式显示出来,供学习查看。3)查看示例结果,提供单个实验的实验结果示例查看。有时候学生需要查看实验结果示例,了解该实验需要达到什么效果,完成什么功能,这个功能就显得非常的必要,学生需要

37、选中想要查看的实验,点击查看示例结果,系统就会给出给实验的示例结果,并且该示例结果是可以操作的。4)提交实验报告,提供学生向系统提交实验报告。当学生完成了该实验之后,需要把该实验提交给系统,之后,老师才会查看该实验报告,当学生点击提交实验报告的时候,系统提供一个提示对话框视图,需要用户提供必要的信息,例如输入实验编号,导入实验报告书,或实验结果文件,当对实验有任何的疑问的时候,也可以发表自己的任何看法,确认之后提交,如果系统运行正常,实验报告将会成功提交给系统。5)查看实验状态,提供实验的各种统计信息,其中包括已经完成的实验,没有完成的实验,需要重修的实验,查看老师的评阅等等。学生需要查看实验

38、的完成情况的时候,就需要对这一系列进行相应的操作,例如想查看已经完成的实验,点击已完成按钮,系统将把已经完成且成功上传到系统的该生的所有的实验通过列表的形式罗列出来,点击未完成按钮,系统将把该生需要完成且没有完成的所有的实验通过列表的形式罗列出来,点击重修实验按钮时,系统将把该生已经完成且成功上传到系统的且没有通过的所有的实验通过列表的形式罗列出来,点击查看评阅时,系统将把该生已经完成且成功上传到系统的且老师已经评阅的所有的实验的评阅信息通过列表的形式罗列出来。2.4.3 老师用户功能分析当使用老师角色登陆时,该用户就具有老师的操作权限,老师用户有两种模块的功能,基本信息管理和实验信息管理,其

39、中基本信息管理模块和学生角色登陆时功能基本相同,只是其中的信息都是老师的信息,信息显示的内容不同,在该处不做阐述,参考学生角色的基本信息管理的功能分析,下面主要对老师角色的实验管理方面的功能进行分析。(1)查看该老师上传的实验,该功能主要是统计该老师上传到系统的所有的实验。由于每位老师可能任教不同专业的不同的课程,操作系统网上实验系统针对的是莫所高校特定院系的所有专业,假设该院系有网络工程,计算机本科,计算机专科三个专业,为了统计的规律性,我们需要把三个专业分开统计,当需要查看该老师为网络工程学生上传的实验的时候,点击查看实验目录下的网络工程,系统将把该老师已经成功上传到系统的且属于网络工程专

40、业的实验信息通过列表的形式罗列出来,需要查看其它专业的实验信息,和网络工程进行相同的操作即可。(2)上传实验,实现该老师向系统添加新的实验内容。当老师需要添加新实验的时候,点击上传实验资料,系统将提供一个提示对话框视图,老师需要在该对话框填写一些必要的信息,上传实验说明书,实验结果示例,确认之后提交,如果系统运行正常,实验报告将会成功提交给系统。(3)查看学生实验完成情况,实现老师对学生完成他上传的实验的情况。由于每位老师可能任教不同专业的不同的课程,我们以查看老师上传的实验模块中假设的专业为例,当老师需要查看莫个专业的所有学生的实验完成情况(如网络工程)时,点击查看完成情况目录下的网络工程,

41、系统将把该专业所有完成的实验和该实验的评阅状态通过列表的形式罗列出来。(4)查看实验报告,实现老师查看莫位同学莫个实验的实验报告书或实验结果。实验报告书或实验结果是老师评阅实验的重要依据,老师需要选择一个实验,之后点击查看实验报告书或查看结果,系统就调出该学生该实验的实验报告或实验结果,显示或运行。(5)评阅实验,实验老师对莫个学生莫个实验的评阅。实验评阅是统计实验优劣的一种有效的手段,老师需要选中莫个实验,点击评阅按钮,之后系统将提供一个提示对话框,需要填入必要的信息,确认之后提交,如果系统运行正常,系统将把评阅信息成功提交给系统。2.5 系统约束要求为了保护数据的安全性和用户的操作的条理性

42、,需要对系统的功能做必要的约束要求。操作系统网上试验系统,主要有用户信息管理和实验信息管理两大块内容,下面分别从这两方面阐述系统的约束要求。(1)用户管理约束要求:由于学校里面的学生和老师变动性比较小,且主要信息要求保存完整,所以需要有特定的管理员对老师或同学的主要信息(如注册新学生或老师等)进行统一的管理。而操作系统网上实验系统是需要加载到校园管理系统中的,所以不需要进行特殊的额外的研发。但用户可以查看信息和修改一些基本的信息和修改密码,特定的用户只能查看自己的信息,密码必须是少于10个数字字符组成,且必须以密文表示,基本信息的修改不能改变关键的信息,如学号,所在专业等信息。(2)实验管理约

43、束要求:对于学生来说,检索的实验必须是其所在的专业的实验资料,如网络工程的学生不能查看计算机本科专业的实验信息,学生能查看的实验必须是老师向该生所在专业提交的实验资料,完成情况也必须是该生需要完成或已经完成的实验信息。对于老师来说,该老师只能查看自己上传的实验,其他老师上传的实验是不可见的,只能评阅或查看该老师提供的属于该老师当前学生的实验信息。3 系统设计与实现系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。操作系统网上实验系统主要包括数据库的设计,网络通信,客户操作界面等组成,下面我们分别对各模块进行设计和实现。3.1 实现系统的工具或技术选择工具

44、或技术的选择,是实现一个系统或工程的关键步骤之一,根据我们目前拥有你的条件或掌握的技能,实现操作系统网上试验系统需要的工具或技术选择如下清单所示:(1)计算机主要配置:内存:2G,主频:2.4GHZ,硬盘:500G/5400转/分(2)操作系统:Windows XP 专业版32位(3)编程语言:C/C+(4)编程工具:VC+ 6.0 /MFC组件(5)数据库:MYSQL Server 5.5 /SQLyog(MYSQL辅助工具)(6)网络通信协议:TCP/IP3.2 数据库系统的设计数据库系统是操作系统网上试验系统的数据中心,下面我们主要从数据库的设计和数据库在vc中的应用分别来说明数据库系统

45、的设计。3.2.1 数据库设计数据库设计包括对系统的分析,实体E_R图,数据表设计,约束条件的建立,视图的建立等方方面面的知识和技巧。(1)数据库系统实体E_R图。根据分析,操作系统网上试验系统的数据库系统主要存在三个实体即老师,学生和实验,老师和学生只能对实验或自己的实体进行操作,老师实体和学生实体之间没有任何直接的操作关系。老师可以查询、上传、评阅实验,学生可以查询、读取、上传实验报告,老师实体和实验实体之间存在多对多的关系,学生实体和实验实体也存在多对多的关系。如图3.1所示,为操作系统网上实验系统数据库系统方面的实体E_R图。图3.1 网上实验系统数据库系统E_R图(2)数据表的设计。

46、根据需求分析和网上试验系统的数据库系统的E_R图,操作系统网上实验系统总共需要设计数据表5张,分别为学生表,老师表,实验表,实验完成表,老师评阅表。以下清单是对应表的详细信息。学生表Field NameDatatypeLenDefaultPK?Not Null?CharsetCommentIDVarchar10Gb2312密码Varchar6000000Gb2312姓名Varchar10Gb2312性别Char2男Gb2312性别in (男,女)年龄Int20年龄 between 0 and 100所属院系Varchar6Gb2312所属专业Varchar6Gb2312所属专业 in (网络工

47、程,计本,计专)班级Varchar2Gb2312政治面貌Varchar2Gb2312入学时间Data宿舍Varchar4Gb2312联系方式Varchar11Gb2312家庭住址Varchar20Gb2312表3-1 学生表老师表Field NameDatatypeLenDefaultPK?Not Null?CharsetCommentIDVarchar5Gb2312密码Varchar6000000Gb2312姓名Varchar10Gb2312性别Char2男Gb2312性别in (男,女)年龄Int20年龄 between 0 and 100所属院系Varchar5Gb2312所属部门Var

48、char5Gb2312研究方向Varchar15Gb2312职务职称Varchar5Gb2312管理级别Int10管理级别 in (0,1)受雇时间Data联系方式Varchar11Gb2312办公地点Varchar10Gb2312表3-2 老师表注释:管理级别中的0表示是一般的教师,1表示具有管理员权限的教师实验表Field NameDatatypeLenDefaultPK?Not Null?CharsetCommentIDVarchar6Gb2312实验名Varchar15Gb2312类别Varchar10Gb2312执行专业Varchar5Gb2312执行专业 in (网络工程,计本,计

49、专)所属课程Varchar10Gb2312学时Int22指导老师Varchar5Gb2312指导老师 in (select ID from 老师表)实验级别Varchar5Gb2312完成时间Data2013-09-01说明书名Varchar300Gb2312示例结果Varchar30Gb2312表3-3 实验表实验完成表Field NameDatatypeLenDefaultPK?Not Null?CharsetComment学号Varchar6Gb2312学号 in (select ID from 学生表)实验号Varchar6Gb2312实验号in(select ID from 实验表)

50、完成时间Data实验报告Varchar30Gb2312实验结果Varchar30Gb2312疑惑记录Varchar1002表3-4 实验完成表实验评阅表Field NameDatatypeLenDefaultPK?Not Null?CharsetComment学号Varchar6Gb2312学号 in (select ID from 学生表)实验号Varchar5Gb2312实验号in(select ID from 实验表)老师工号Varchar5Gb2312老师工号 in(select ID from 老师表)评阅时间Data得分Int2重修意见Int11重修意见 in (1,0)点评Var

51、char100Gb2312表3-5 实验评阅表注释:重修意见1代表不重修,0表示重修。3.2.2 mysql数据库在vc中的部署在成功安装mysql数据库之后,将设计好的数据表等导入到mysql数据库中,之后就是数据库在vc创建的工程上的部署了。在操作系统网上实验系统中,我们使用ADO技术实现mysql与VC的链接。以下清单为在vc中部署mysql数据库的步骤。(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQ

52、L的include目录路径。(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下还有debug和opt两个目录,建议选debug。(3)将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。(4)在“Project settings-Link:Object/library modules”里面添加“libmysql.lib”。(5)在stdafx.h里面添加如下的内容:#includemysql.h#includewinsock.h#pragma co

53、mment(lib,libmySQL.lib)/ 如果在附加依赖项里已增加,则就不要添加了 。(6)初始化MYSQL结构,使用库函数mysql_init(),使用方法如下:MYSQL *mysql = NULL; mysql = mysql_init(mysql);(7)链接数据库,使用链接数据库函数mysql_real_connect()。该函数有8个参数,参数的含义以此为:初始化过的mysql地址;主机名或IP地址,如果是字符串“localhost”或NULL,连接将被视为与本地主机的连接;MYSQL登录用户名;MYSQL登录密码; 设计的数据库名称;端口号,与数据库的端口一致,一般设为3

54、306;字符串描述了应使用的套接字或命名管道,一般设为NULL;客户端描述符,一般设为0。(8)操作数据库,使用数据库函数mysql_real_query(),此函数基本可以实现对数据库的各项操作。该函数有三个参数,以此为mysql结构地址,数据库操作字符串,字符串长度。(9)获取数据库的内容,使用库函数mysql_store_result()和mysql_fetch_row()。此函数可以获取数据表每一行的数据(如果操作为非查询操作,9和10两步跳过)。应用方法如下:MYSQL_RES * res;MYSQL_ROW row;res = mysql_store_result(&mysql);

55、/结果集记录的集合While ( row = mysql_fetch_row(res)/逐行扫描检索记录集,为空时返回NULL(10)关闭数据的读取,使用库函数mysql_free_result(res)。(11)关闭数据库,使用库函数mysql_close()。注意事项,以上函数的使用方法可以查阅相关资料或网络查询,如果在操作中遇到汉语无法操作的时候在处理mysql_set_character_set(mysql,gb2312)来设置字符集。3.3 网络通信设计网络通信时操作系统网上实验系统的重要的一个环节,也是实现客户端与服务器端数据交流的中枢。用户客户端对数据的请求,必须通过网络通信才能

56、到达服务器端,进行相应的数据处理,之后把处理得到的数据通过网络通信返回给客户端。网络通信在系统集成或部署中占据着非常重要的地位。3.3.1 网络的基本构架ISO国际标准化组织对网络的结构提出了OSI七层参考模式,他们分别是:应用层,主要处理网际应用;表示层,用于数据表示;会话层,主要用于主机间的通信;传输层,主要用于端到端端的链接;网络层,主要是寻址和最短路劲;数据链路层,主要是介质访问接入;物理层,主要是将转化的二进制数据进行传输。虽然OSI七层模型比较完整和详细,但是该协议提出的时候,TCP/IP协议已经得到了很广泛的应用,所以,在现实中OSI七层模型只作为教学或实验中,很少应用到实际的生

57、成生活之中。在操作系统网上试验系统中,我们采用的是TCP/IP协议进行网络通信,TCP/IP网络协议栈和OSI七层模型不同,他只有四层,分别为应用层,传输层,网络层和链路层。OSI七层模式和TCP/IP协议栈的对应关系如图3.2所示。图3.2 OSI参考模式与TCP/IP的对应关系3.3.2 TCP/IP数据包及通信模式从客户端得到的数据不能直接从一台计算机传送到另一台计算机,必须经过一定的数据处理生成相应的二进制代码,才能传送,这个过程称为数据封转。TCP/IP协议栈的数据封转过程如图3.3所示。图3.3 TCP/IP数据封转过程数据封转之后,就可以在通信链路上进行数据的传输了。数据的传输是

58、一种透明的传输,服务器端的应用层把数据传送给传输层在传给网际层最后通过链路接口通过网络线路传给客户端,客户端的额接收方向和数据的发送方向是相对的,即由链路接口接收,依次经过网际层、传输层到达应用层,但在用户看来,这些过程是不可见的,感觉就好像是从服务器的应用层到客户端的应用层一样,图3.4所示,是以FTP服务为例,说明数据的通信模式。图3.4 TCP/IP的通信模式3.3.3 Socket 网络传输程序的设计在掌握了网络的基本知识和TCP/IP的数据结构或通信模式之后,就可以应用系统提供的socket API接口进行编程,实现网络的通信。其实现过程分为服务器和客户端。(1)对于服务器端,他的实

59、现过程如以下清单:1)使用socket() 建立套接字,初始化SOCKET 套接字,其中主要包括指定使用何种协议,地址,字节序的转换(因为网络字节序为大端形式而主机的字节序有大端也有小端,所以需要必须的转换)。2)通过bind(),绑定套接字和指定的地址。3)通过listen(),通知TCP服务器准备好接收链接。4)使用accept(),接收连接,等待客户端的链接。5)通过recv()/send()函数,读取客户端的数据或向客户端发送数据。6)使用closesocket(),关闭链接。7)使用closesocket(),关闭原始套接字,结束服务。(2)对于客户端,他的实现过程如以下清单:1)使

60、用socket() 建立套接字,初始化SOCKET 套接字,和服务器端相同2)使用connect(),与服务器建立链接。3)通过recv()/send()函数,读取服务器端的数据或向服务器端发送数据。4)使用closesocket(),关闭原始套接字,结束服务。TCP/IP协议实现通信的程序流程如图3.5所示。图3.5 基于TCP/IP网络套接字的实现3.4 服务器端程序设计与实现操作系统网上试验系统的服务器端主要由数据库和socket网络编程的服务器方组成,再对数据库和服务器方进行封装之后再进行合理的组织就组成了操作系统网上试验系统的服务器端。3.4.1 服务器端程序流程图其大致流程是:当服

61、务器接收到数据请求时,判断是何种请求,根据请求类型寻找到相应的数据请求条件,再对该条件进行相应的处理,更新或查询数据库系统或对服务器本身做相应的处理,获取返回的数据信息,再根据需要把相应的信息换回给客户端或反馈给服务器。如图3.6所示,为服务器端程序设计的整体流程。当然,在实现的时候,还要设计很多的判决条件,以保证系统的健壮性。图3.6 服务器端程序整体流程图3.4.2 服务器端程序的实现根据前面对数据库和网络通信的详细设计,将数据库与VC的链接和服务器方封转成类CMyMySQL和CServer两个类,通过一定的接口可以对这两个类进行方便的操作,并且能实现基本的需求。(1)CMyMySQL类的具体函数和功能如下清单所示:public:BOOL DB_SELECT(char *); /执行对数据库的查询操作,传入查询字符串,如果操作成功返回TURE 失败返回 FALSEBOO

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!