学生信息管理系统课程设计_第1页
学生信息管理系统课程设计_第2页
学生信息管理系统课程设计_第3页
学生信息管理系统课程设计_第4页
学生信息管理系统课程设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE第24页课程设计说明书课程名称:JSP课程设计课程代码:题目:学生信息管理系统设计说明书年级/专业/班:12软件工程学生姓名:学号:指导教师:开题时间:2014年12月08日完成时间:2014年12月27目录TOC\o\h\z\t"标题7,7,标题8,8,标题9,9"一、引言 2二、设计目的与任务 2三、设计方案 3四、结论 11五、致谢 11六、参考文献 11。

课程设计引言随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java上的不凡造诣,又把人们引进JSP时代,JSP即JavaServerPage,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现基本的信息管理的小型动态网站——学生信息管理系统。设计目的与任务该系统为广大高校的学生提供学生信息管理平台。它作为现代化管理工具,把同学们的信息在网上实现信息的保存,修改,插入操作,有效提高了管理的效率。为了完成所选项目的任务,要求实现以下目标:向广大的同学们介绍本系统在管理方面的优越性,可靠性,实用性,必要性利用B/S的体系结构建立管理系统的理论模型使用jsp进行功能模块的定制和交互界面的具体开发系统的维护方案通过以上内容的研究,将开发出一套使用方便,功能型强的学生信息管理系统要完成的任务:根据系统的使用范围结合实际情况对系统需求分析文档进行编写根据需求分析,对系统的代码进行合理的编写代码的调试和运行三、设计方案3.1学生信息管理系统需求分析1、软件功能总体需求描述及各子系统功能要求2、系统角色分析按软件工程的方法完成系统所涉及角色的分析角色分为1种:(1)用户:对本系统拥有所有权限,包括增加,修改,查询,删除学生信息和班级信息的权限。3、系统用例分析及建模在这一节我们将以“体系结构”为中心,以“用例驱动”的分析方法采用UML来完成系统需求阶段模型的建立,在这一阶段的主要完成的任务是根据上一节中分析得出的系统参与者,从参与者的角度出发完成用例的分析,采用面向对象的方法用UML为系统建立用例模型(1)用户用例模型4、系统用例描述上一节从系统参与者的角度建立了整个系统的用例模型,下面我们将对前面得到的用例进行描述,在用例描述中我们将为每个用例进行编号,确定用例名称,对每个用例的功能进行简要的描述,明确每个用例的参与者以及执行该用例需要的前置条件和执行完用例的后置条件,并且会对每个用例的活动流程进行描述。学生信息管理学生信息增加用例描述用例编号:01用例名称:增加学生信息功能:向数据库中添加学生信息执行者:用户前置条件:用户已经登录本系统后置条件:增加的学生信息能够保存到数据库主事件流:1、登录学生信息管理系统;2、进入学生信息添加界面;3、确定信息无误后进行添加;3.2系统分析与设计1、系统总体设计从需求上来讲,学生信息管理系统在总体架构上并不复杂,因此可以使用简单的三层架构来实现。用户表示层用户表示层业务逻辑层数据访问层为用户提交操作界面(比如登录,注册,添加,删除,修改,查询等)负责数据的生成,处理及转换数据的插入,删除,修改以及数据库中读出数据等操作具体的系统逻辑架构图2、学生信息管理系统静态结构模型在本节中我们将根据前面定义的系统需求以及建立的学生信息管理系统用例模进行进一步的分析,寻找发现系统中存在的类、类的相关的属性和方法,并且找出这些类之间的关系,同时为学生信息管理系统建立系统的静态模型,最终得到完整的系统类图以及它们之间的关系,这个过程也是面向对象分析的基本任务[13]。(1)识别学生信息管理系统中的类用例识别法、实体识别法和名词识别法是在这阶段采用的主要方法,在这一阶段我们主要是对前面定义的需求以及建立的用例模型分析来找出系统中的持久类,持久类的确立也可以为我们后面的数据设计工作打下良好的基础。下面我们来描述学生信息管理系统涉及到的主要的实体类的属性和方法,主要包括了以下几种:用户信息类(StudentInformation)用户信息类描述了学生信息管理系统中用户的基本信息,包括:用户姓名、密码。系统用户界面类以上分析得到的是系统的实体类,在系统在完成这些实体类的操作用户还需要通过界面来完成,这些用户与系统之间的交互的界面也属于系统类,一般称为界面类,一个好的系统通常具备友好的图形用户界面,因此,还需要找出并定义系统中的界面类。3、学生信息管理系统动态模型的建立前面建立的用例模型和类模型只是对系统具备的功能和需要处理的数据进行了描述,而一个系统的这些功能是如何实现的,对数据如何操作的并不能体现出来,而要使一个系统描述更完整,在面向对象的分析方法中还需要采用动态模型从另一个角度来对系统进行描述,系统的动态模型图主要由以下几种图组成:协作图、时序图、状态图和活动图,它们对系统描述的侧重点各不相同,在接下来的分析中我们将采用状态图来描述对象在系统运行过程中状态的变化,用活动图和顺序图对系统用例进行进一步的描述[16]。(1)系统活动图1、登录活动图登录活动对任何一个系统来说都是最基本的活动之一,在学生信息管理系统中登录活动主要验证用户的用户名和密码如果验证通过就可以进入系统的主界面,根据需求及相关工作流程画出其活动图如图所示。图1登录活动图4、数据库设计1.概念设计2、逻辑设计设计数据库的逻辑结构,与具体的DBMS无关,主要反映业务逻辑。3、物理设计(1)确定数据的存储结构:顺序存储和链式存储(2)设计数据的存取路径:E:\学生信息管理系统(3)确定数据的存放位置:E:\学生信息管理系统\Database\(4)确定系统配置:MYSQL,ECLIPSE,WIN7系统4、数据库表设计数据库表结构设计如下所示:(1)用户信息表如下表所示:用户信息表列名:是否主键数据类型:长度备注:Id是int11本表主键,用户IduserName否Varchar20用户名password否Varchar20用户密码(2)学生表如下表所示:学生表列名:是否主键数据类型:长度备注:Id是int11本表主键,学生IdstuNo否varchar20学号sex否varchar5性别birthday否date生日gradeId否int11班级idEmail否varchar20邮箱stuDesc否varchar1000描述(3)班级表如下表所示:班级表列名是否主键数据类型长度备注:Id是int11班级idgradeName否varchar20班级名称gradeDesc否varchar1000班级描述学生信息管理系统的实现在系统实现部分主要完成两项工作:把前期面向对象设计的成果用jsp实现;测试并调试实现的程序。在代码实现阶段以前期的分析与设计为基础,以用例为驱动来实现各个功能模块,除了功能上与设计阶段的各功能保持一致之外还应该注重代码的风格和系统的界面设计,在代码实现时良好的程序风格比较重要同时系统的界面设计也应该得到重视,用户界面设计的一条总的原则是:以人为本,以用户的体验为准。学生信息管理系统部分功能模块的实现(1)学生信息管理系统登录功能模块该界面主要用来完成对登录用户身份的验证。运行系统首先进入登录界面,输入用户名、密码,验证通过后进入主界面。该模块通过对用户帐号和用户密码的验证来完成对用户登录身份的验证,登录界面如图所示。学生信息管理系统登录界面图核心代码:packagecom.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importcom.model.User;publicclassUserDao{ //登陆验证 publicUserlogin(Connectionconn,Useruser)throwsException{ UserresultUser=null; Stringsql="select*fromt_userwhereuserName=?andpassword=?"; PreparedStatementpstmt=conn.prepareStatement(sql); pstmt.setString(1,user.getUserName());//设置第一个问号的内容 pstmt.setString(2,user.getPassword()); ResultSetrs=pstmt.executeQuery(); if(rs.next()){ resultUser=newUser(); resultUser.setUserName(rs.getString("userName")); resultUser.setPassword(rs.getString("password")); } returnresultUser; }}packagecom.model;publicclassUser{ privateintid; privateStringuserName; privateStringpassword; publicUser(){ super(); //TODOAuto-generatedconstructorstub } publicUser(StringuserName,Stringpassword){ super(); this.userName=userName; this.password=password; } publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; }}packagecom.servlet;importjava.io.IOException;importjava.sql.Connection;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.dao.UserDao;importcom.model.User;importcom.util.DbUtil;importcom.util.StringUtil;publicclassLoginServletextendsHttpServlet{ DbUtildbUtil=newDbUtil(); UserDaouserDao=newUserDao(); @Override protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } @Override protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ StringuserName=request.getParameter("userName"); Stringpassword=request.getParameter("password"); request.setAttribute("userName",userName); request.setAttribute("password",password); if(StringUtil.isEmpty(userName)||StringUtil.isEmpty(password)){ request.setAttribute("error","用户名或密码为空!"); request.getRequestDispatcher("login.jsp").forward(request,response); return; } Useruser=newUser(userName,password); Connectionconn=null; try{ conn=dbUtil.getCon(); UsercurrentUser=userDao.login(conn,user); if(currentUser==null){ request.setAttribute("error","用户名或密码错误!"); //服务器端跳转 request.getRequestDispatcher("login.jsp").forward(request,response); }else{ //获取session HttpSessionsession=request.getSession(); session.setAttribute("currentUser",currentUser); //客服端跳转 response.sendRedirect("index.jsp"); } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ try{ dbUtil.closeCon(conn); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}(2)学生信息管理系统班级信息管理模块这部分能对班级的信息进行增,删,改,查,基本上满足动态网站的要求:班级信息管理界面图核心代码:packagecom.model;publicclassGrade{ privateintid; privateStringgradeName; privateStringgradeDesc; publicGrade(){ super(); //TODOAuto-generatedconstructorstub } publicGrade(StringgradeName,StringgradeDesc){ super(); this.gradeName=gradeName; this.gradeDesc=gradeDesc; } publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetGradeName(){ returngradeName; } publicvoidsetGradeName(StringgradeName){ this.gradeName=gradeName; } publicStringgetGradeDesc(){ returngradeDesc; } publicvoidsetGradeDesc(StringgradeDesc){ this.gradeDesc=gradeDesc; }}packagecom.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importcom.model.Grade;importcom.model.PageBean;importcom.util.StringUtil;publicclassGradeDao{ publicResultSetgradeList(Connectioncon,PageBeanpageBean,Gradegrade)throwsException{ StringBuffersb=newStringBuffer("select*fromt_grade"); if(grade!=null&&StringUtil.isNotEmpty(grade.getGradeName())){ sb.append("andgradeNamelike'%"+grade.getGradeName()+"%'"); } if(pageBean!=null){ sb.append("limit"+pageBean.getStart()+","+pageBean.getRows()); } PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and","where")); returnpstmt.executeQuery(); } publicintgradeCount(Connectioncon,Gradegrade)throwsException{ StringBuffersb=newStringBuffer("selectcount(*)astotalfromt_grade"); if(StringUtil.isNotEmpty(grade.getGradeName())){ sb.append("andgradeNamelike'%"+grade.getGradeName()+"%'"); } PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and","where")); ResultSetrs=pstmt.executeQuery(); if(rs.next()){ returnrs.getInt("total"); }else{ return0; } } /** *deletefromtableNamewherefieldin(1,3,5) *@paramcon *@paramdelIds *@return *@throwsException */ publicintgradeDelete(Connectioncon,StringdelIds)throwsException{ Stringsql="deletefromt_gradewhereidin("+delIds+")"; PreparedStatementpstmt=con.prepareStatement(sql); returnpstmt.executeUpdate(); } publicintgradeAdd(Connectioncon,Gradegrade)throwsException{ Stringsql="insertintot_gradevalues(null,?,?)"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,grade.getGradeName()); pstmt.setString(2,grade.getGradeDesc()); returnpstmt.executeUpdate(); } publicintgradeModify(Connectioncon,Gradegrade)throwsException{ Stringsql="updatet_gradesetgradeName=?,gradeDesc=?whereid=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,grade.getGradeName()); pstmt.setString(2,grade.getGradeDesc()); pstmt.setInt(3,grade.getId()); returnpstmt.executeUpdate(); } }packagecom.servlet;importjava.io.IOException;importjava.sql.Connection;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importcom.dao.GradeDao;importcom.model.Grade;importcom.model.PageBean;importcom.util.DbUtil;importcom.util.JsonUtil;importcom.util.ResponseUtil;publicclassGradeListServletextendsHttpServlet{ DbUtildbUtil=newDbUtil(); GradeDaogradeDao=newGradeDao(); @Override protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } @Override protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringpage=request.getParameter("page"); Stringrows=request.getParameter("rows"); StringgradeName=request.getParameter("gradeName"); if(gradeName==null){ gradeName=""; } Gradegrade=newGrade(); grade.setGradeName(gradeName); PageBeanpageBean=newPageBean(Integer.parseInt(page),Integer.parseInt(rows)); Connectioncon=null; try{ con=dbUtil.getCon(); JSONObjectresult=newJSONObject(); JSONArrayjsonArray=JsonUtil.formatRsToJsonArray(gradeDao.gradeList(con,pageBean,grade)); inttotal=gradeDao.gradeCount(con,grade); result.put("rows",jsonArray); result.put("total",total); ResponseUtil.write(response,result); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ dbUtil.closeCon(con); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}packagecom.servlet;importjava.io.IOException;importjava.sql.Connection;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importnet.sf.json.JSONObject;importcom.dao.GradeDao;importcom.dao.StudentDao;importcom.util.DbUtil;importcom.util.ResponseUtil;publicclassGradeDeleteServletextendsHttpServlet{ DbUtildbUtil=newDbUtil(); GradeDaogradeDao=newGradeDao(); StudentDaostudentDao=newStudentDao(); @Override protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } @Override protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ StringdelIds=request.getParameter("delIds"); Connectioncon=null; try{ con=dbUtil.getCon(); JSONObjectresult=newJSONObject(); Stringstr[]=delIds.split(","); for(inti=0;i<str.length;i++){ booleanf=studentDao.getStudentByGradeId(con,str[i]); if(f){ result.put("errorIndex",i); result.put("errorMsg","班级下面有学生,不能删除!"); ResponseUtil.write(response,result); return; } } intdelNums=gradeDao.gradeDelete(con,delIds); if(delNums>0){ result.put("success","true"); result.put("delNums",delNums); }else{ result.put("errorMsg","删除失败"); } ResponseUtil.write(response,result); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ dbUtil.closeCon(con); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}packagecom.servlet;importjava.io.IOException;importjava.sql.Connection;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importcom.dao.GradeDao;importcom.model.Grade;importcom.model.PageBean;importcom.util.DbUtil;importcom.util.JsonUtil;importcom.util.ResponseUtil;importcom.util.StringUtil;publicclassGradeSaveServletextendsHttpServlet{ DbUtildbUtil=newDbUtil(); GradeDaogradeDao=newGradeDao(); @Override protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } @Override protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); StringgradeName=request.getParameter("gradeName"); StringgradeDesc=request.getParameter("gradeDesc"); Stringid=request.getParameter("id"); Gradegrade=newGrade(gradeName,gradeDesc); if(StringUtil.isNotEmpty(id)){ grade.setId(Integer.parseInt(id)); } Connectioncon=null; try{ con=dbUtil.getCon(); intsaveNums=0; JSONObjectresult=newJSONObject(); if(StringUtil.isNotEmpty(id)){ saveNums=gradeDao.gradeModify(con,grade); }else{ saveNums=gradeDao.gradeAdd(con,grade); } if(saveNums>0){ result.put("success","true"); }else{ result.put("success","true"); result.put("errorMsg","保存失败"); } ResponseUtil.write(response,result); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ dbUtil.closeCon(con); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}四、结论本次JSP的课程设计对我们来说是一个很好地锻炼机会,是对我们语言组织能力和表达能力的一次考验。课程设计涉及到的知识有很多,包括程序流程图、功能结构图的建立、文字或图片的格式的调整、图片的插入、代码的编写、用例模型的搭建等。这次系统的开发花费了好长时间,虽然功能有限,但是我们收获颇丰。课程设计是一个任务量比较大的工作,需要有耐心去完成每一个步骤。在本次开发的学生信息管理系统中,完成了目标要求,具有添加,修改,删除,查询功能。基本满足大学生的需要,这是本系统的一个亮点吧。但是本系统也有部分不足的地方。其一,设计的界面友好性不够完善,用户体验性不足。其二,数据库中的密码采用明文存储,用户信息的安全性难以得到保障。总之,对本次课程设计进行总结,总结得与失,有何收获有何体会,哪些地方还没做好的需要完善的,等等内容。五、致谢系统的设计离不开小组成员的努力和支持,更离不开同学们和老师的指导和帮助。六、参考文献 [1]汪孝宜,刘中兵,徐佳晶等编著,JSP数据库开发实例精粹[M],北京:电子工业出版社,2005.[2]姚晓春,郑文清编著,Java编程技术教程[M],北京:清华大学出版社,1999.[3]吴逸贤,吴目诚编著,Java2程序设计[M],北京:科学出版社,2003.[4]飞思科技产品研发中心编著,Jsp应用开发详解[M],北京:电子工业出版社,2006.[5]周竞涛,赵寒,王明微,等编著,Eclipse完全手册[M],北京:电子工业出版社,2006.[6]张文静,林琪译,JSP程序设计,北京:人民邮电出版社[M],2006.[7]孙卫琴,李洪成著,Tomcat与JavaWeb开发技术祥解[M],北京:电子工业出版社,2006.[8]BruceEckel著,ThinkingInJava[M],北京:机械工业出版社,2006.[9]陈威,白伟明,李楠著,JSP工程应用与项目实践[M],北京,机械工业出版社,2005.[10]宋昆、李严著,SQLServer数据库开发实例解析[M],北京,机械工业出版社,2006

课程设计任务书及成绩评定设计名称:_学生信息管理系统设计说明书完成者:设计的目的与要求目的:方便高校对学生的信息进行管理要求:能实现登录后对学生的信息进行增,删,改,查等设计进度及完成情况3、成绩评定:设计成绩:(教师填写)指导老师:(签字)二00年月日基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究\t"_b

温馨提示

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

评论

0/150

提交评论