《网络多媒体课件设计的分析.doc》由会员分享,可在线阅读,更多相关《网络多媒体课件设计的分析.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络多媒体课件设计的分析Network multimedia courseware design analysis作者:xxxxxxx学院诚 信 声 明诚信是中华民族的传统美德,诚信是做人立世的道德根本。作为一名当代大学生,我即将踏向社会去创立我未来的事业。古人云:“民无信不立”。在竞争激烈的社会中,我将恪守诚信的生存理念。毕业论文是对我大学四年学习的总结和检阅,在毕业论文的选题、写作和定稿过程中,我认真对待每一个环节,在导师的悉心指导下,由我独立完成,没有抄袭他人之作或由他人代写等不诚信的行为。其中参阅了大量书籍、报刊和网上资料,但这些资料都经过本人认真整理,在理解的基础上参考使用,并在文中
2、说明,在文后一一列出,我对他们的辛苦劳动表示尊重和感谢。母校希望自己的每一个学生都是诚实守信的,我作为一个毕业生,对母校也将是真诚无伪的。如果发现我的毕业论文有抄袭、代笔等不诚信行为,我将接受学校对我的处罚,推迟毕业,重新写作。我声明:我是诚实的,我将无愧于我的毕业文凭,无愧于母校多年的培养! 声明人: 2010年5月20日指导教师对毕业论文(设计)的评语Advisors Comments on Graduation Thesis (Design)评语: 指导教师(签章) Signature of Advisor 日期 Date评阅人意见评阅人姓名:职称:选项标准: A很同意 B同意 C基本同
3、意 D不同意分项评价评价项目ABCD选题质量1选题符合专业培养目标,体现综合训练基本要求2题目难易适度3题目工作量适当4有理论意义或实际价值能力水平5查阅文献资料能力强6综合运用知识能力强7研究方案的设计能力强8研究方法和手段的运用能力强9外文应用能力强成果质量10文题相符11写作水平高12写作规范13篇幅适度14成果有理论或实际价值总体评价: 优 良 中 及格 不及格 评阅人评语 评阅人签字: 年 月 日答辩(评审)委员会意见Appraisal of Defence Commission答辩(评审)成绩Mark of Defence鉴定意见Appraisal & Comments 主任(签章
4、) Signature of Dean 日期Date教学管理系统摘要教学信息管理系统是校园信息管理重要的组成部分。本论文设计的系统主要是满二级学院教学信息管理的需求。采用了现今流行的Java编程技术。基于强大的Client/Server,可以实现数据的高效、动态、交互访问。本系统以Java SE,Oracle 10g为主要开发平台,从用户的角度出发,实现了基本的教学管理系统的功能。数据库主要采用Oracle作为关系数据库的开发工具。在数据库的连接上采用了JDBC的数据库访问技术。本论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程,包括系统设计的重点,设计思想,难点技术和解决方案。关键
5、词: Java;Oracle;教学管理系统;数据库Teaching Management SystemAbstract: Campus teaching information management system is an important component of information management. In this thesis, the system is mainly designed to meet the Secondary College teaching information management needs. Using the now popular Jav
6、a programming technology. Based on the powerful Client / Server, data can be efficient, dynamic, interactive access. The system to Java SE, Oracle 10 as the main development platform, from the user point of view, to achieve the basic function of education management system.Mainly uses the Oracle dat
7、abase as the relational database development tools. Connection in the database using JDBC database access technology. This paper mainly introduces the topic development background, must complete the function and the development process, including the focus of system design, design ideas, difficult t
8、echnology and solutions.Key words: Java Oracle Teaching Management System Database目 录教学管理系统5第一章 前 言81.1 项目背景82.1 项目研究内容8第二章 技术介绍92.1 面向对象编程92.2 C/S模式92.3 Oracle 数据库102.4 开发及运行环境10第三章 总体系统设计103.1 系统功能设置113.2 系统功能模块11第四章 数据库设计124.1 数据库需求分析124.2 数据库概念结构设计124.3 数据库逻辑结构设计12第五章 程序源码(网络部分)245.1 服务器端SeverSo
9、cket设计245.2 服务器端客户服务线程255.3 客户端Socket设计28结 论31致谢语32参考文献:33 第一章 前 言1.1 项目背景 当今社会,科学技术飞速发展,知识更替日新月异。随着计算机应用在全世界的普遍推广,各大中专院校都逐渐实现了计算机化管理,并且视野已经深入到Internet领域,实现了网络化管理。如果说学生管理是为学习环境提供强大的后勤保障,那么教学管理就可以说是学校发展的强劲动力。加强教学管理,实现计算机化管理,不仅能使大中专院教学水平上了一个新台阶,而且方便了教学管理人员对学院教学、教师授课、学生学习等几大环节的深入了解和全面掌握。在学校实现教学管理的计算机化,
10、是学校建设的一个重要的方面。2.1 项目研究内容 教学管理系统主要实现了对教师、学生的相关信息查询和维护,教学计划的设计维护,排课的设计维护,以及师生交互平台的设计和维护。其中老师信息管理部分主要实现了对老师信息的查询和维护以及授课工作量的计算、统计报表(工作量汇总)、成绩录入等功能;学生信息的管理部分实现了对学生信息的查询、维护,包括选课、成绩、课表、课程以及考研、考证、公务员等相关信息的查询,新增了自助服务平台:学生创新学分的获得,勤工俭学的申请,师生交流的平台等功能;教学计划部分主要涉及课程的查询、维护,工作量的统计,课程修改、选修课上报的审批等功能。排课系统实现了课表的生成,查询,调课
11、,教室管理等功能。而通过师生交互平台则可实现师生之间的沟通交流,学生可通过此平台向老师提出问题,而老师也可以回馈学生,达到了课外互动的功能。此平台涉及数据量较大,对数据库操作频繁,主要数据来源于学校、学生和老师的个体相关信息。通过此平台,师生可以合理的查看和维护相关信息,完成学校各项教学计划的任务,从而提高学校各方面信息处理。第二章 技术介绍2.1 面向对象编程 面向对象程序设计(Object-Oriented Programming)是一种起源于六十年代,发展已经将近三十年的程序设计思想。其自身理论已十分完善,并被多种面向对象程序设计语言(Object-Oriented Programmin
12、g Language,以下简称OOPL)实现。对象是对现实世界实体的模拟,由现实实体的过程或信息牲来定义。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。这些对象操作有时称为方法。区别面向对象的开发和传统过程的开发的要素有:对象识别和抽象、封装、多态性和继承。 OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,结果编程就更加富有人性化。2.2 C/S模式在网络连接模式中,除对等
13、网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。2.3 Oracle 数据库 Oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大
14、批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不如。Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。 Oracle数据库是基于“客户端服务器”模式结构。客户端应用程序执行与用户进行
15、交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。 Oracle数据库有支持多用户、大事务量的事务处理 数据安全性和完整性的有效控制 、支持分布式数据处理 、可移植性强的特点 Oracle体系庞大,对于初学者来说,大体上要明白定位思想:Oracle大体上分两大块,一块是应用开发,一块是系统管理。 开发主要是写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力。管理则需要对Oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会
16、丢失整个数据库,相对前者来说,后者更看重经验。2.4 开发及运行环境本系统的开发环境是Myeclipse6.5 ,JAVA开发包是JDK,版本:1.6及以上 ,数据库软件是oracle10g。本系统的运行环境是JAVA开发包是JRE,版本:1.6及以上。第三章 总体系统设计3.1 系统功能设置3.1.1 学生信息管理平台:模块功能说明: 本平台主要实现学生信息的查询,和学生其他相关信息的展示,主要包括:学生个人档案信息的查询、成绩查询,成绩预警,账户信息修改等等。 3.1.2 教师信息管理平台: 模块功能说明: 本平台主要实现教师信息的查询,以及相关工作信息的查询展示,主要包括:教师个人档案信
17、息的查询、学生成绩录入和查询,院部信息等等。 3.1.3 管理员登陆平台 模块功能说明: 本平台主要实现管理员对系统的数据查询统计,服务的开启关闭,创建和修改角色信息等等。3.2 系统功能模块系统各功能模块如图所示:用户登录主信息展示学生个人平台教师个人平台管理员平台其他信息基本信息学习信息工作信息用户管理考试登录结束其它信息数据查询统计第四章 数据库设计4.1 数据库需求分析4.2 数据库概念结构设计4.3 数据库逻辑结构设计 根据上面的流程图,需要用户登录表,学生基本信息表,教师基本信息表等等。需要对不同的登录人员进行密码认证和权限的限制,以防止信息的泄漏和越权的行为。用户名、密码和权限单
18、独保存在一个数据表中。所涉及到的数据表的结构如下:用户登录表(ACCOUNT)字段名称字段类型字段长度字段名称含义用户编号(ACC_ID)数字10必填 用户姓名(ACC_NAME)字符10必填 用户账号(ACC_USERNAME)字符20必填用户密码(ACC_PASSWORD)字符20必填用户在线标志(ACC_ISONLINE)数字10用户级别(ACC_LEVEL)数字10必填学生基本信息表:(stu_basic)字段名称字段类型字段长度字段名称含义学号(stu_id)字符20必填,主键姓名(stu_name)字符20必填性别(stu_sex)数字10必填民族(stu_nation)数字10必
19、填班级(stu_grade)数字10必填入学专业数字60OOO是否调专业数字10OOO调换专业时间日期20OOO专业(stu_spedality)数字20院系(stu_xy)数字10必填是否调院系数字10OOO院系调整时间日期20OOO现在所属院系数字10-OOO政治面貌(stu_polstatus)数字10必填出生时间(stu_brith)日期20必填家庭联系方式(stu_home)字符20必填籍贯(stu_native)字符200祖籍所在地名称;必填家庭住址(stu_address)字符200家庭住址名称;必填入学时间(stu_jdata)日期20必填学制(stu_year)数字10必填在
20、校期间获得的证书(STU_CERT)数字10在校期间受到的奖励(STU_RP_GOOD)数字10在校期间受到的处分(STU_RP_BAD)数字10备注(stu_comments)字符200性 别 (sex)SEX_IDSEX_NAME1男0女政治面貌 (polstatus)POL_IDPOL_NAME1团员2党员3无学历(degree)DEG_IDDEG_NAME1本科2专科3硕士民族(nation)NAT_IDNAT_NAME1汉族2蒙古族3回族4藏族5维吾尔族6苗族7彝族8壮族9布依族10朝鲜族11满族12侗族13瑶族14白族15土家族16哈尼族17哈萨克族18傣族19黎族20傈僳族21佤
21、族22畲族23高山族24拉祜族25水族26东乡族27纳西族28景颇族29柯尔克孜族30土族31达斡尔族32仫佬族33羌族34布朗族35撒拉族36毛南族37仡佬族38锡伯族39阿昌族40普米族41塔吉克族42怒族43乌孜别克族44俄罗斯族45鄂温克族46德昂族47保安族48裕固族49京族50塔塔尔族51独龙族52鄂伦春族53赫哲族54门巴族55珞巴族56基诺族学生证书信息表:(STU_CERT_FILE)字段名称字段类型字段长度字段名称含义姓名(NAME)字符20必填证书信息ID(CERT_ID)字符20必填证书名称(CERT_NAME)字符50必填证书颁发日期(CERT_BDATE)日期必填证
22、书有效日期(CERT_EDATE)日期备注(CERT_COMMENTS)字符150学生奖惩信息表:(RP)字段名称字段类型字段长度字段名称含义学生奖惩信息ID(RP_ID)数字10必填 姓名(name)字符20必填奖励名称(rp_name)字符30必填奖励时间(rp_data)日期荣誉称号和荣誉奖章(rp_zz)数字30奖励部门(rp_part)字符20处分类型(rp_type)字符20纪律处分(rp_chufen)数字10接受处分时间(rp_bdata)日期处分撤销时间(rp_edata)日期处分文件(rp_files)字符150备注(rp_comments)字符150学生成绩表:(grad
23、e)字段名称字段类型字段长度字段名称含义学生学号(STU_ID)字符15必填姓名(STU_NAME)字符10必填学期(TERM)数字10必填课程代号(COUR_ID)数字10必填课程名称(COUR_NAME)字符20必填代课教师(TER_NAME)字符10必填成绩(GRATE)字符10必填学分(COUR_CREDIT)数字10必填备注(GRA_REMARK)字符150 课程表:(COURSE)字段名称字段类型字段长度字段名称含义课程编号(COUR_ID)字符15必填课程名称(COUR_NAME)字符30必填课程类型(COUR_TYPE)数字10 0为公共基础课, 1为群基, 2为专业基础课,3
24、选修课学分(COUR_CREDIT)数字10必填考试类型(COUR_EXAM)数字100为考试课,1为考察课课程类型表:(COU_TYPE)字段名称字段类型字段长度字段名称含义类型代码(TYPE_ID)数字10必填类型名称(TYPE_NAME)字符10必填考试类型表:(EX_TYPE)字段名称字段类型字段长度字段名称含义类型代码(EX_ID)数字10必填类型名称(EX_NAME)字符10必填 班级表(class)字段名称字段类型字段长度字段名称含义班级代码(CLASS_ID)数字10必填 用户姓名(CLASS_NAME)字符10必填 用户账号(CLASS_NUM)数字20必填用户密码(SPE_
25、ID)字符20必填院系表(XY)字段名称字段类型字段长度字段名称含义 学院编码(XY_ID)数字20必填 学院名称(XY_NAME)字符40必填 学院等级(XY_LEVEL)数字10必填专业信息表(SPECIALITY)字段名称字段类型字段长度字段名称含义专业代码(SPE_ID)字符20必填专业名称(SPE_NAME)字符20必填设置日期(SPE_BDATE)字符50必填撤销日期(SPE_EDATE)日期所属院系代码(XY_ID)日期必填教师基本信息表(teacher)字段名称字段类型字段长度字段名称含义教师工号(TEA_ID)字符20必填,主键教师姓名(TEA_NAME)字符20必填身份证号
26、码(TEA_CARD)字符10必填所在部门(TEA_DEPT)字符10必填出生日期(TEA_DATE)日期10必填民族(TEA_NATION)数字60必填籍贯(TEA_NATIVE)字符10必填户口所在地(TEA_REG)字符20必填出生地(TEA_HOMEPLACE)字符20必填邮编(TEA_PC)数字10家庭住址(TEA_PLACE)字符10性别(SEX)数字必填第五章 程序源码(网络部分)5.1 服务器端SeverSocket设计protected void initServer()throws ExceptionserverAddress=new InetSocketAddress(M
27、sgConfigPool.getServerHost(),MsgConfigPool.getServerPort();this.bind(serverAddress);Server.clientNums=0;sockets.clear();clientsThreads.clear();isAcceptting=true;control=new JFrame(服务器端);control.setLayout(new FlowLayout();screenWid=control.getToolkit().getScreenSize().width;screenHei=control.getToolk
28、it().getScreenSize().height;control.setSize(500,400);control.setLocation(screenWid-500)/2,(screenHei-400)/2-20);ready=new JButton(开启);ready.setActionCommand(start);ready.addActionListener(this);control.add(ready);close=new JButton(关闭);reset=new JButton(设置);reset.setActionCommand(reset);reset.addActi
29、onListener(this);close.setActionCommand(close);close.addActionListener(this);control.add(close);control.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);control.setVisible(true);server=null;private class Service extends Threadprivate int acceptNums=0;public Service()public void run()Socket s;Str
30、ing host;ClientThread cs;while(isAcceptted()tryacceptNums=acceptNums+1;if(listener!=null&!listener.isClosed()s=listener.accept();listener.sockets.add(s);Server.clientNums+=1;host=s.getInetAddress().getHostAddress();cs=new ClientThread(s);cs.setClientHost(host);Server.putClient(host,cs);cs.start();ca
31、tch(Exception e)e.printStackTrace();LogUtil.logError(e);5.2 服务器端客户服务线程public void sendMessage(AbstractMessage message)throws Exceptionif(message=null|message.isEmpty()return;this.sendMessage(message.buildSendMessage();public void sendMessage(String message)throws Exceptionif(message.equals(exit)isSe
32、rving=false;Server.clearSocket(socket.getInetAddress().getHostAddress();closeServer();if(message.startsWith(AccountMessage)String oN=message.substring(message.indexOf(,)+1);oN=oN.substring(0,oN.indexOf(,);if(oN.equals(用户名或密码错误)else if(oN.equals(登录权限不足)else if(oN.equals(该用户已登录)else if(oN.equals(exit)
33、elsethis.setOperName(oN);if(socket=null|socket.isClosed()|!socket.isConnected()|message=null|message.equals()return;if(os!=null)b=message.getBytes();os.write(b);os.flush();elseos=socket.getOutputStream();sendMessage(message);public AbstractMessage loadMessage(String message)AbstractMessage am=null;S
34、tring msgName=null;String msg=null;if(message=null|message.equals()return null;if(message.startsWith()&message.endsWith()String temp=message.substring(1,message.length()-1);msgName=temp.substring(0,temp.indexOf(,);msg=temp.substring(temp.indexOf(,)+1);try am=(AbstractMessage)loader.loadClass(this.me
35、ssagePackage+msgName).getConstructor(String.class).newInstance(msg); catch (Exception e) LogUtil.logError(e);e.printStackTrace();return am;public void run()while(isServing)if(socket=null|socket.isClosed()isServing=false;continue;else if(socket.isConnected()tryString message=this.getFullMessage();Thr
36、ead.sleep(3000);msg=this.loadMessage(message);sendMessage(msg);catch(Exception ex)LogUtil.logError(ex);ex.printStackTrace();String error=ex.toString();if(error.equals(.SocketException: Connection reset)LogUtil.logAccountLogin(用户:+this.getOperName()+-异常退出!);closeServer();elsecloseServer();5.3 客户端Sock
37、et设计protected void initClient()b=new byte2048;tryisRun=true;InetAddress localAdd=InetAddress.getLocalHost();this.localAddress=new InetSocketAddress(localAdd,MsgConfigPool.getServerPort();this.bind(localAddress);catch(Exception e)e.printStackTrace();isRun=false;public void closeConnection()throws ExceptionString exit=ExitMessage,+this.getOperName()+,exit;if(out!=null)this.sendMessage(exit);out.close();if(in!=null)in.close();super.close();public void connect(String userName,String password,int ope