毕业设计管理系统资料整理_第1页
毕业设计管理系统资料整理_第2页
毕业设计管理系统资料整理_第3页
毕业设计管理系统资料整理_第4页
毕业设计管理系统资料整理_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

PAGE3目录TOC\o"1-2"\h\z\u一、系统开发的背景 1二、系统分析与设计 1(一)系统功能要求 1(二)系统模块结构设计 1三、系统的设计与实现 2(一)学生基本信息浏览:basic_b() 2(二)……………… 2四、系统测试 2(一)测试main_form()函数 2(二)…………. 3五、总结 3六、附件(代码、部分图表) 3必须自动生成目录。必须自动生成目录。宋体,二号,加粗。毕业设计管理宋体,二号,加粗。一、系统开发的背景随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。毕业设计作为大学生四年学习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担,简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。因此,设计一种毕业设计综合管理系统是我校教学管理发展的一项任务,也是各院校教学发展的趋势。该系统为学生、教师、管理员提供一个交互的接口,大大方便了学生、老师及管理员的管理人员。毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理论知识的一个重要环节。本设计从课题的申报、课题的审核、学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个流程的管理工作。系统实现了学生自主选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。随着网络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教师、学生提供接口。二、系统分析与设计系统功能要求宋体,小三,加粗。宋体,小三,加粗。根据功能分为教师、学生的前台操作和管理员的综合管理。系统有三个主要的角色组成:学生、教师、管理人员。1.教师完成的操作:个人信息的管理;课题的申报、修改、选择学生,设计期间与学生的交流与辅导、实习/指导、评阅和答辩成绩的评定。2.学生完成的操作:个人信息的管理,选择课题,查询成绩。3.管理人员:对教师、学生的信息查询,添加和删除;系统开放管理;选课期间调。E-R图:系统模块结构设计通过对系统功能的分析,毕业设计管理系统功能如图2.2所示。图宋体,小四。图名在图的下方,表名在表的上方。图、表不跨页。2.2毕业设计管理系统功能图宋体,小四。图名在图的下方,表名在表的上方。图、表不跨页。通过上图的功能分析,把整个系统划分为5个模块:1、文件新建:新建窗口;打开:打开本地图片;保存:保存图形;退出:关闭窗体2、编辑撤销重做3、帮助关于4、工具栏:如上图所示。5、状态栏:显示鼠标位置、显示本地时间、作者三、系统的设计与实现概要设计3.1.1系统数据流程设计概要设计阶段的基本目标是用比较抽象的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。从数据流图出发设想完成系统功能的若干种合理的物理方案,从中选择一个最佳方案。然后进行软件结构设计,确定软件由哪些模块组成以及这些模块的动态调用关系。本设计包括管理员、学生模块功能的设计。首先管理员登录系统,对系统进行初始化,并可设置系统的开放与关闭。系统初始化后教师可以出题,教师出题完毕管理员审核课题,审核通过后学生才可进行选题,学生选题完后教师可以选择符合题目要求的学生,形成双向选择。如当出题选题完毕,教师和学生建立了双向的关系后,进入到做题阶段。管理员和教师通过文件上传与下载、留言板、新闻发布和邮箱联系等方式对学生完成毕设的情况进行监督。指导教师指导学生完成设计后,进入到评阅阶段。管理员分配评阅教师后。系统数据流图如下:图3-1系统数据流图3.1.2数据字典设计1.管理员信息数据字典表3-1管理员信息数据字典名字:管理员信息别名:person描述:管理员的相关信息定义:管理员信息=管理员id+管理员name+管理员password位置:存于数据库,在维护系统时应用2.教师信息数据字典表3-2教师信息数据字典名字:教师信息别名:teacher描述:教师的相关信息定义:教师信息=教师id+教师姓名位置:存于数据库,在出题和进程控制时应用表3-3学生信息数据字典名字:学生信息别名:student描述:学生的相关信息定义:学生信息=学生id+学生姓名+学生性别+学生密码位置:存于数据库,在选题和进程控制时应用表3-4课题信息数据字典名字:课题信息别名:title描述:课题的相关信息定义:课题信息=课题id+课题名+出题教师+需求人数+课题要求位置:存于数据库,在出题、选题时应用详细设计3.2.1系统概述详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。设计的模块有出题、选题子系统、系统维护子系统和评阅答辩管理等。最初时管理员应对系统进行初始化,初始化完后,教师拥有权限进行出题操作,教师出题完毕,管理员应对该课题进行审核,审核通过后学生这时拥有权限进行选课操作,学生选课操作完毕,这时,教师可以从选择他所出课题的学生中选择适合该课题的学生,达到一种双向的自主选择。操作完毕后,可能存在某些学生没有选上题目,这时可以通过管理员的调剂操作来处理,把没选题的学生调剂到缺少人数的课题或者重新出题来满足要求,是每个学生都有题可做。这时,指导教师应指导学生完成毕业设计,完成后应由评阅教师进行评阅。选题阶段首先由学生通过登录自己的界面,可以看到题目的全部信息并且进行选择。在达到限定时间后,由管理员通过人工干预的方式确定最终的选题结果。在确定的时间内和学生完成选题后,由管理员根据题目和学生的具体情况,通过人工干预的方式,进行处理,确定每一个学生的题目,协调学生和题目之间的关系。开始开始是否登录成功?选题选题成功?结束YYNN图4-4选题流程图3.2.2系统流程图图4-7系统流程图查看课题信息查看课题信息审核课题提交课题课题通过确定课题选择学生NYNY开始登录成功?结束成功?YNNY四、系统测试管理员功能测试该按钮的使用方法,测试的具体步骤,测试用例的选取,测试的结果。(如图4.1-4.4)4.1\4.24.3图4.4学生模块功能测试测试模块的使用方法,测试该按钮实现的功能,测试的结果。(如图4.2.1).1图4.2..24.2.3五、总结系统完成了可画“三角形、四边形、圆形、直线、弧形”等;可选择画图线条颜色;可画图线条粗细;可按钮清除所画图形;可撤销,重做功能。系统唯一的缺点就是在鼠标指针点击画笔和橡皮擦工具时指针无法变成画笔和橡皮擦的图标。在这两周的编程过程中,我的的确确学到了不少的东西,无论是从课外书,还是网上资料,或是同学给我的帮助,都大有收获。对于我们大一新生来说,学到的东西本来就不算不多,跟别谈运用了,这样的实习给我们的收获远远是书上所不能给的。只有当真真正正运用的时候,才是查漏补缺的最佳时机,知道自己有哪些不足和知识点的遗漏。并且知识是需要自己去总结的,一本书上的知识是远远不够的,只有从多本书中总结出对自己有用的信息,才能最大的学习到知识。在这周的实习课中我还总结出了,学习不单单是学习书本上的知识,更重要的是付诸于实践,实践能让我们学到更多更实用的东西,在实践中我能感受到学到的东西不一定会运用,所以,我希望我们能够把实践与学习相结合,让我们能够全面发展。六、附件(代码、部分图表)usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Drawing.Imaging;namespace课设picturebox{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privateboolf=false;privateGraphicsig;privateintx1,y1,x2,y2,x3,y3,x4,y4;privatePenpen,eraser;privateBitmapbt,sbt;privateinttype=0;privateColorpencolor=Color.Black;privateColorbgcolor=Color.White;privateintpenwidth=1;privateCursorcurearser,curpen;privateStack<Bitmap>history,now;privatevoidForm1_Load(objectsender,EventArgse){Graphicsg1=pictureBox1.CreateGraphics();pen=newPen(pencolor,penwidth);eraser=newPen(bgcolor,30);bt=newBitmap(pictureBox1.Width,pictureBox1.Height,g1);ig=Graphics.FromImage(bt);pictureBox1.Cursor=curpen;//设置picturebox的光标为铅笔history=newStack<Bitmap>();now=newStack<Bitmap>();}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){Application.Exit();}//打开图片格式的文件privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse){OpenFileDialogopenPic=newOpenFileDialog();openPic.InitialDirectory="C:\\users\\public\\pictures";//打开文件的途径openPic.Filter="ImageFiles(*.jpg,*.png,*.gif,*.bmp)|*.jpg;*.png;*.gif;*.bmp|AllFiles(*.*)|*.*";//打开文件的格式openPic.FilterIndex=2;openPic.RestoreDirectory=true;if(openPic.ShowDialog()==DialogResult.OK){bt=newBitmap(openPic.FileName);pictureBox1.Image=bt;ig=Graphics.FromImage(bt);}}//新建画板privatevoid新建ToolStripMenuItem_Click(objectsender,EventArgse){pictureBox1.Refresh();Graphicsg=pictureBox1.CreateGraphics();g.Clear(bgcolor);ig.Clear(bgcolor);toolStripStatusLabel2.Text=“新建画板”;}//保存文件privatevoid保存ToolStripMenuItem_Click(objectsender,EventArgse){SaveFileDialogsvImg=newSaveFileDialog();svImg.InitialDirectory="C:\\users\\public\\pictures";svImg.Filter="BMP文件(*.bmp)|*.bmp";svImg.FilterIndex=2;svImg.RestoreDirectory=true;if(svImg.ShowDialog()==DialogResult.OK){pictureBox1.Image.Save(svImg.FileName);}}privatevoidpictureBox1_MouseMove(objectsender,MouseEventArgse){intx,y,w,h;if(toolStrip1.Enabled==true){toolStripStatusLabel3.Text=string.Format("x:{0},y:{1}",e.X,e.Y);//显示鼠标位置}if(f){switch(type){//初始画笔case0:x2=e.X;y2=e.Y;ig.DrawLine(pen,x1,y1,x2,y2);x1=x2;y1=y2;pictureBox1.Image=bt;break;//画三角形case1:x2=e.X;y2=e.Y;x3=x1*2-x2;y3=y2;ig.Clear(bgcolor);ig.DrawImage(sbt,0,0);ig.DrawLine(pen,x1,y1,x2,y2);ig.DrawLine(pen,x1,y1,x3,y3);ig.DrawLine(pen,x2,y2,x3,y3);pictureBox1.Image=bt;break;//画矩形case2:x2=e.X;y2=e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt,0,0);x=x1<x2?x1:x2;y=y1<y2?y1:y2;w=Math.Abs(x1-x2);h=Math.Abs(y1-y2);ig.DrawRectangle(pen,x,y,w,h);pictureBox1.Image=bt;break;//画圆case3:x2=e.X;y2=e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt,0,0);x=x1<x2?x1:x2;y=y1<y2?y1:y2;w=Math.Abs(x1-x2);h=Math.Abs(y1-y2);ig.DrawEllipse(pen,x,y,w,h);pictureBox1.Image=bt;break;//画直线case4:x2=e.X;y2=e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt,0,0);ig.DrawLine(pen,x1,y1,x2,y2);pictureBox1.Image=bt;break;//画弧线case5:x2=e.X;y2=e.Y;x3=x1*2-x2;y3=y2;x4=x3;y4=y3*2-y2;ig.Clear(bgcolor);ig.DrawImage(sbt,0,0);ig.DrawBezier(pen,x1,y1,x2,y2,x3,y3,x4,y4);pictureBox1.Image=bt;break;//橡皮case6:x2=e.X;y2=e.Y;eraser.Color=bgcolor;ig.DrawLine(eraser,x1,y1,x2,y2);x1=x2;y1=y2;pictureBox1.Image=bt;break;}}}privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse){Bitmapmjl=newBitmap(bt);history.Push(mjl);f=true;x1=e.X;y1=e.Y;//给坐标变量赋值if(type!=0)sbt=newBitmap(bt);}privatevoidpictureBox1_MouseUp(objectsender,MouseEventArgse){f=false;//当stack中包含的元素不为0时撤销和重做图标可用if(now.Count!=0){撤销ToolStripMenuItem.Enabled=true;撤销toolStripButton.Enabled=true;}if(history.Count!=0){重做ToolStripMenuItem.Enabled=true;重做toolStripButton.Enabled=true;}}privatevoidtoolStripButton1_Click(objectsender,EventArgse){//实先画三角形功能,并点击三角形图标后背景颜色为绿色type=1;pictureBox1.Cursor=curpen;toolStripButton1.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text="三角形”;}privatevoidtoolStripButton2_Click(objectsender,EventArgse){//实现画矩形功能,并点击矩形图标后背景颜色为绿色type=2;pictureBox1.Cursor=curpen;toolStripButton2.BackColor=Color.LawnGreen;toolStripButton1.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text=“矩形”;}privatevoidtoolStripButton3_Click(objectsender,EventArgse){//实现画圆功能,并点击圆图标后背景颜色为绿色type=3;pictureBox1.Cursor=curpen;toolStripButton3.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton1.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text="圆";}privatevoidtoolStripButton4_Click(objectsender,EventArgse){//实现画直线功能,并点击直线图标后背景颜色为绿色type=4;pictureBox1.Cursor=curpen;toolStripButton4.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton1.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text="直线";}privatevoidtoolStripButton5_Click(objectsender,EventArgse){//实现画弧线功能,并点击弧线图标后背景颜色为绿色toolStripButton5.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton1.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text="曲线";type=5;pictureBox1.Cursor=curpen;}privatevoidtoolStripButton11_Click(objectsender,EventArgse){//实现铅笔画任意线功能,并点击铅笔图标后背景颜色为绿色type=0;pictureBox1.Cursor=curpen;toolStripButton11.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton1.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripButton9.BackColor=Color.Transparent;toolStripStatusLabel2.Text="铅笔";}privatevoidtoolStripButton9_Click(objectsender,EventArgse){//实现橡皮功能,并点击橡皮图标后背景颜色为绿色type=6;pictureBox1.Cursor=curearser;toolStripButton9.BackColor=Color.LawnGreen;toolStripButton2.BackColor=Color.Transparent;toolStripButton3.BackColor=Color.Transparent;toolStripButton4.BackColor=Color.Transparent;toolStripButton1.BackColor=Color.Transparent;toolStripButton11.BackColor=Color.Transparent;toolStripButton5.BackColor=Color.Transparent;toolStripStatusLabel2.Text="橡皮";}//实现撤销功能,上一步privatevoid撤销ToolStripMenuItem_Click(objectsender,EventArgse){Bitmapmjl=newBitmap(bt);now.Push(mjl);//将对象移动到stack的顶部bt=history.Pop();//移除并返回位于Stack顶部的对象pictureBox1.Image=bt;ig=Graphics.FromImage(bt);pictureBox1.Refresh();//如果stack中的元素为0,则撤销图标不可用if(history.Count==0){撤销ToolStripMenuItem.Enabled=false;}}//实现重做功能,下一步privatevoid重做ToolStripMenuItem_Click(objectsender,EventArgse){Bitmapmjl=newBitmap(bt);history.Push(mjl);bt=now.Pop();pictureBox1.Image=bt;ig=Graphics.FromImage(bt);pictureBox1.Refresh();if(now.Count==0){重做ToolStripMenuItem.Enabled=false;}}//撤销快捷按钮privatevoidtoolStripButton12_Click(objectsender,EventArgse){Bitmapmjl=newBitmap(bt);now.Push(mjl);bt=history.Pop();pictureBox1.Image=bt;ig=Graphics.FromImage(bt);pictureBox1.Refresh();if(history.Count==0){撤销toolStripButton.Enabled=false;}}//重做快捷按钮privatevoid重做toolStripButton_Click(objectsender,EventArgse){Bitmapmjl=newBitmap(bt);history.Push(mjl);bt=now.Pop();pictureBox1.Image=bt;ig=Graphics.FromImage(bt);pictureBox1.Refresh();if(now.Count==0){重做toolStripButton.Enabled=false;}

温馨提示

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

评论

0/150

提交评论