论文发表百科

java毕业论文题目

发布时间:2024-07-03 10:41:11

java毕业论文题目

可以做啊。你要做成什么样子的,需要提供素材?

这个看你熟悉什么方向的去定,你可以去看看 51开源

你的论文准备往什么方向写,选题老师审核通过了没,有没有列个大纲让老师看一下写作方向? 老师有没有和你说论文往哪个方向写比较好?写论文之前,一定要写个大纲,这样老师,好确定了框架,避免以后论文修改过程中出现大改的情况!!学校的格式要求、写作规范要注意,否则很可能发回来重新改,你要还有什么不明白或不懂可以问我,希望你能够顺利毕业,迈向新的人生。 (一)选题毕业论文(设计)题目应符合本专业的培养目标和教学要求,具有综合性和创新性。本科生要根据自己的实际情况和专业特长,选择适当的论文题目,但所写论文要与本专业所学课程有关。(二)查阅资料、列出论文提纲题目选定后,要在指导教师指导下开展调研和进行实验,搜集、查阅有关资料,进行加工、提炼,然后列出详细的写作提纲。(三)完成初稿根据所列提纲,按指导教师的意见认真完成初稿。(四)定稿初稿须经指导教师审阅,并按其意见和要求进行修改,然后定稿。一般毕业论文题目的选择最好不要太泛,越具体越好,而且老师希望学生能结合自己学过的知识对问题进行分析和解决。不知道你是否确定了选题,确定选题了接下来你需要根据选题去查阅前辈们的相关论文,看看人家是怎么规划论文整体框架的;其次就是需要自己动手收集资料了,进而整理和分析资料得出自己的论文框架;最后就是按照框架去组织论文了。你如果需要什么参考资料和范文我可以提供给你。还有什么不了解的可以直接问我,希望可以帮到你,祝写作过程顺利毕业论文选题的方法: 一、尽快确定毕业论文的选题方向 在毕业论文工作布置后,每个人都应遵循选题的基本原则,在较短的时间内把选题的方向确定下来。从毕业论文题目的性质来看,基本上可以分为两大类:一类是社会主义现代化建设实践中提出的理论和实际问题;另一类是专业学科本身发展中存在的基本范畴和基本理论问题。大学生应根据自己的志趣和爱好,尽快从上述两大类中确定一个方向。二、在初步调查研究的基础上选定毕业论文的具体题目在选题的方向确定以后,还要经过一定的调查和研究,来进一步确定选题的范围,以至最后选定具体题目。下面介绍两种常见的选题方法。 浏览捕捉法 :这种方法就是通过对占有的文献资料快速地、大量地阅读,在比较中来确定论文题目地方法。浏览,一般是在资料占有达到一定数量时集中一段时间进行,这样便于对资料作集中的比较和鉴别。浏览的目的是在咀嚼消化已有资料的过程中,提出问题,寻找自己的研究课题。这就需要对收集到的材料作一全面的阅读研究,主要的、次要的、不同角度的、不同观点的都应了解,不能看了一些资料,有了一点看法,就到此为止,急于动笔。也不能“先入为主”,以自己头脑中原有的观点或看了第一篇资料后得到的看法去决定取舍。而应冷静地、客观地对所有资料作认真的分析思考。在浩如烟海,内容丰富的资料中吸取营养,反复思考琢磨许多时候之后,必然会有所发现,这是搞科学研究的人时常会碰到的情形。 浏览捕捉法一般可按以下步骤进行: 第一步,广泛地浏览资料。在浏览中要注意勤作笔录,随时记下资料的纲目,记下资料中对自己影响最深刻的观点、论据、论证方法等,记下脑海中涌现的点滴体会。当然,手抄笔录并不等于有言必录,有文必录,而是要做细心的选择,有目的、有重点地摘录,当详则详,当略则略,一些相同的或类似的观点和材料则不必重复摘录,只需记下资料来源及页码就行,以避免浪费时间和精力。 第二步,是将阅读所得到的方方面面的内容,进行分类、排列、组合,从中寻找问题、发现问题,材料可按纲目分类,如分成: 系统介绍有关问题研究发展概况的资料; 对某一个问题研究情况的资料; 对同一问题几种不同观点的资料; 对某一问题研究最新的资料和成果等等。 第三步,将自己在研究中的体会与资料分别加以比较,找出哪些体会在资料中没有或部分没有;哪些体会虽然资料已有,但自己对此有不同看法;哪些体会和资料是基本一致的;哪些体会是在资料基础上的深化和发挥等等。经过几番深思熟虑的思考过程,就容易萌生自己的想法。把这种想法及时捕捉住,再作进一步的思考,选题的目标也就会渐渐明确起来。

学术堂最新整理了十五个好写的计算机专业毕业论文题目,供大家参考:1、星连通圈网络和三角塔网络的若干性质研究2、中职《计算机应用基础》分层次教学研究3、基于MSP430单片机的电能质量检测仪设计4、光学遥感相机数据存储系统设计与实现5、基于单片机的级联型升压逆变器的设计及实现6、翻转课堂在职业学校《计算机应用基础》课程中的应用研究7、基于信息物理系统架构的微机接口远程实验系统设计与实现8、基于1553B总线的星务仿真系统设计9、曲面喷墨运动控制系统的研究10、项目教学法在中职计算机教学中的应用研究11、虚拟化在铁路数据中心的应用12、基于微信的学校学习支持服务的设计研究13、基于量化方法的高校师范生教学能力培养模式研究14、职业院校一体化课程教学模式研究15、应用于PowerPC处理器的乘法器设计与验证

java类论文题目

计算机毕业论文题目推荐如下:基于SpringBoot的个性化学习系统设计与实现。基于web的疫情期间物资分配管理系统的设计与实现。基于python的成都市二手房数据可视化系统的设计 基于SpringBoot的电子秤串口称重系统的设计与实现 基于Java的疫情防控服务平台的设计与实现 基于Web的开源协会服务平台的设计与实现 基于ssm的汽车租赁平台的设计与开发

基于Java的同城临期视频平台的设计与开发。基于SpringBoot的协同过滤就业系统的设计与实现。基于SpringMVC的互联网招聘求职网站的设计与实现。基于SrpingBoot+react的资源登记分享网站的设计与实现。基于Springboot的在线教育平台设计与实现。基于Springboot的货物管理系统的设计与实现

基于Springboot的医疗管理系统的设计与实现。基于Springboot的校园快递管理平台的设计与实现。基于Springboot的博课系统的设计与实现。基于web应用的互助型旅游网站系统开发基于SpringBoot的沉浸式在线视频学习系统设计与实现。基于Springboot的预约挂号系统的设计与实现。基于python的新冠疫情数据分析系统的设计与开发。

这个看你熟悉什么方向的去定,然后就是看你熟悉那种语言,比如:c#,java,PHP,c,c++等等还有就是功能那些都是需要确定好的,然后就是框架那些了,一般框架就有MVC,ssm,ssh等等我的建议是你最好选择网站或者系统类的选题为佳

可以使用springboot+vue开发一套简单系统,与工业设备进行结合,对数据预警,设备操作等。

你好, 计算机专业的毕设一般分为这两部分: 源码+论文

首先说选题, 毕设课题以javaweb居多, 框架可以选用ssm, ssh, 或者springboot, 可以选做一些管理系统, 下面是一些常见的命题

等等, 这些课题可以按照你自己的实力做, 如果技术好的化, 或者有一些成品, 可以做的复杂一些, 比如前端可以layui优化一下, 权限系统采用shiro来做等等

论文方面比较简单但是比较麻烦, 各种文库都有很多javaweb的论文,但是直接拷贝的化会过不了查重系统, 需要你自己认真的重构调整一下

关于java的论文题目

计算机毕业论文题目推荐如下:基于SpringBoot的个性化学习系统设计与实现。基于web的疫情期间物资分配管理系统的设计与实现。基于python的成都市二手房数据可视化系统的设计 基于SpringBoot的电子秤串口称重系统的设计与实现 基于Java的疫情防控服务平台的设计与实现 基于Web的开源协会服务平台的设计与实现 基于ssm的汽车租赁平台的设计与开发

基于Java的同城临期视频平台的设计与开发。基于SpringBoot的协同过滤就业系统的设计与实现。基于SpringMVC的互联网招聘求职网站的设计与实现。基于SrpingBoot+react的资源登记分享网站的设计与实现。基于Springboot的在线教育平台设计与实现。基于Springboot的货物管理系统的设计与实现

基于Springboot的医疗管理系统的设计与实现。基于Springboot的校园快递管理平台的设计与实现。基于Springboot的博课系统的设计与实现。基于web应用的互助型旅游网站系统开发基于SpringBoot的沉浸式在线视频学习系统设计与实现。基于Springboot的预约挂号系统的设计与实现。基于python的新冠疫情数据分析系统的设计与开发。

做一个简单的jsp网站比较简单吧,用mysql,用mvc,可以使用ssm框架等

一大堆题目源码,加我吧,这里说不清楚

扌分享一些题目给你基于SSM的酒店管理系统-java酒店管理系统基于SSM的勤工助学管理系统基于SSM的供应商管理系统基于springboot&mybatis的销售管理系统轻量级销售团队管理-java销售管理系统基于SSM的宠物领养系统-java宠物领养系统基于SSH的绿咖奶茶网站基于SSH的教务管理课程管理选课管理系统基于SSM的小区业主服务平台之垃圾回收信息管理系统基于SSM的科技项目评估及专家会议评审系统基于SSM&EasyUI的西服门店管理系统-java门店管理服装管理系统基于Mybatis的教学管理系统作业提交批改管理系统-java教学管理系统作业提交批改管理系统基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统基于Mybatis的教学管理系统作业提交批改管理系统-java教学管理系统作业提交批改管理系统基于SSM的驾校预约报名管理系统-java驾校预约报名管理系统基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统基于SSM的水质检测系统-java水质检测系统基于SSM的学生作业管理系统作业提交作业批改-java作业批改作业提交系统基于的易居二手房网站-房屋管理系统基于SSM的泉州信息工程学院教师测评系统-java教师测评系统基于SSM的超市进销存管理系统-java进销存管理

java毕业论文模板

是类似notepad的,还是网页版的?如果是前者,java的demo中就有一个!如果是后者,自己搜一下,jsp日记本,很多!

package ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;/*** Autho : showncx* time : Oct 14, 2008 8:31:00 AM* insert here....*/public class NoteBook extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;private JFileChooser fileDialog;private JTextArea content;private JDialog dialog;private JPopupMenu jpm;private JTextField rep_word1,rep_word2;private String rep_director,rep_newword;private JLabel rep_mes1,rep_mes2;// private boolean isUndo = false;private String fileInfo = null;private String[] menus = new String[]{"File","Edit","Format","View","Help"};private String[][] menuItems = new String[][]{{"new","open","save","anotherSave","","setter","print","exit"},{"undo","","cut","copy","paste","delete","","forward/replace","goto","","allselect","time/date"},{"auto_change","font"},{"status"},{"help"}};private String[] popItems = new String[]{"undo","","cut","copy","paste","delete","selectall","","a_it's so short want it longger..."};// private LinkedList oldContent = new LinkedList();private UndoManager undoManager;/*** the constructor*/public NoteBook(){super("NoteBook");initJPopMenu();undoManager = new UndoManager();fileDialog = new JFileChooser();(new File("E:\\")) ;content = new JTextArea();().addUndoableEditListener(undoManager);// ().addDocumentListener(new DocumentListener(){//// public void changedUpdate(DocumentEvent e) {// if(!isUndo){//// (());// isUndo = false;// }//// isUndo = false;// }//// public void insertUpdate(DocumentEvent e) {// if(!isUndo){//// (());// ("insert--update");// isUndo = false;// }// isUndo = false;// }//// public void removeUpdate(DocumentEvent e) {// if(!isUndo){//// (());// isUndo = false;// }//// isUndo = false;// }// });(new MouseAdapter(){@Overridepublic void mouseClicked(MouseEvent e) {if(() == 3){(content, (), ());}}});(new Font("font1",25,25));JScrollPane jsp = new JScrollPane(content);(jsp);(getMenuBar(menuItems,menus));();(500,400);(200,200);();(true);}//end constructor//------------------------------------------------------------------------------------------------------/*** for the pop_bar right click*/public void initJPopMenu(){jpm = new JPopupMenu();for(int i = 0 ; i < ; i ++){String popItemName = popItems[i];if("".equals(popItemName)){();}else{JMenuItem jmItem = new JMenuItem(popItemName);((0));(this);(jmItem);}}}//------------------------------------------------------------------------------------------------------//------------------------------------------------------------------------------------------------------/*** init the menuBar* */public JMenuBar getMenuBar(String[][] menuItens,String[] menus){JMenuBar jmb = new JMenuBar();for(int i = 0; i < ; i ++){String jmName = menus[i];JMenu jm = new JMenu(jmName);((0));for(int j = 0; j < menuItems[i].length ; j ++){if(!"".equals(menuItems[i][j])){String itemName = menuItems[i][j];JMenuItem jmItem = new JMenuItem(itemName) ;if("undo".equals(menuItems[i][j])){(());}else if("cut".equals(itemName)){(());}else if("copy".equals(itemName)){(());}else if("paste".equals(itemName)){(());}else if("forward/replace".equals(itemName)){(());}else if("selectall".equals(itemName)){(());}else if("new".equals(itemName)){(());}else if("open".equals(itemName)){(());}else if("save".equals(itemName)){(());}else if("font".equals(itemName)){(());}else if("exit".equals(itemName)){('e');}(this);(jmItem);}else{();}}(jm);}return jmb;}//-------------------------------------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------------------------/*** //create the forward/replace dialog*/public JDialog createDialog(){JDialog dialog = new JDialog(this,"forward/repalce");rep_mes1 = new JLabel("the word you want to replace..");rep_mes2 = new JLabel("the one replace to the oldone...");rep_word1 = new JTextField();rep_word2 = new JTextField();JButton rep_btn = new JButton("replace");(new ActionListener(){public void actionPerformed(ActionEvent e) {String contentAll = ();rep_director = ();rep_newword = ();(rep_newword, (rep_director), (rep_director)+());}});JButton rep_btn2 = new JButton("forward");(new ActionListener(){public void actionPerformed(ActionEvent e) {int selectEnd = ();if(selectEnd == 0 || selectEnd == -1 || selectEnd >= ().length()){selectEnd = 0;}rep_director = ();int nextStart = ().indexOf(rep_director,selectEnd);(nextStart);(nextStart+());}});(new GridLayout(4,1,2,2));(rep_mes1);(rep_word1);(rep_mes2);(rep_word2);(rep_btn);(rep_btn2);return dialog;}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){String currentOper = ();if("new".equals(currentOper)){String currentContent = ();if("".equals(currentContent) || currentContent == null){("");}else{/*** 关于新建的操作.....*/}}else if("open".equals(currentOper)){("");(this);File selectedFile = ();if(selectedFile != null){fileInfo = ();try {(());InputStream filein = new FileInputStream(selectedFile);byte[] temp = new byte[20];while(true){int i = (temp);if( i == -1) break;(()+new String(temp,0,i));}();} catch (FileNotFoundException e1) {();}catch (IOException e1) {();}}}else if("save".equals(currentOper)){// ();if( null != fileInfo){try {File currentFile = new File(fileInfo);OutputStream fileout = new FileOutputStream(currentFile);byte[] temp = ().getBytes();(temp);();} catch (FileNotFoundException e1) {();}catch (IOException e2) {();}}else{(this);String dir = ().getPath();String fileName = ().getName();if(!"".equals(fileName) && fileName != null){try {File currentFile = new File(dir,fileName);OutputStream fileout = new FileOutputStream(currentFile);byte[] temp = ().getBytes();(temp);();} catch (FileNotFoundException e1) {();}catch (IOException e2) {();}}}}else if("anotherSave".equals(currentOper)){(this);String dir = ().getPath();String fileName = ().getName();if(!"".equals(fileName) && fileName != null){try {File currentFile = new File(dir,fileName);OutputStream fileout = new FileOutputStream(currentFile);byte[] temp = ().getBytes();(temp);();} catch (FileNotFoundException e1) {();}catch (IOException e2) {();}}}else if("exit".equals(currentOper)){(0);}else if("undo".equals(currentOper)){if(()){();}/*isUndo = true;// ("undo之前的记录集合:--"+());if(() > 0){((()-2));// ("当前想要删除的字符串:--"+(()-1));// ("没有删除之前的记录集合长度:--"+());(()-1);// ("删除之后的记录集合长度:--"+()+"&&&&&");}("undo之后的记录集合:--"+());*/}else if("cut".equals(currentOper)){// (());();}else if("copy".equals(currentOper)){();}else if("paste".equals(currentOper)){();}else if("delete".equals(currentOper)){("");}else if("forward/replace".equals(currentOper)){dialog = createDialog();(300,150);(250, 250);(true);}else if("selectall".equals(currentOper)){(0);(().length());}else if("auto_change".equals(currentOper)){}else if("font".equals(currentOper)){TableDialogFont fontDlg = new TableDialogFont();Font f = ();(f,content);("设置字体");(null);(true);(true);}else if("help".equals(currentOper)){}}public static void main(String[] args) {// TODO Auto-generated method stubnew NoteBook();}}

以下是我的毕业论文要求,全国各个学校其实都是一样的.一、内容要求 毕业设计报告正文要求: (一)理、工科类专业毕业设计报告正文内容应包括:问题的提出;设计的指导思想;方案的选择和比较论证;根据任务书指出的内容和指标要求写出设计过程、课题所涉及元件结构和相关参数的设计计算,有关基本原理的说明与理论分析;给出所设计课题实际运行的数据或参数,并与理论设计参数进行比较和分析,说明产生误差的原因。最后要对所设计课题实用价值做出评估说明;设计过程中存在的问题,改进意见或其它更好的方案设想及未能采纳的原因等。 (二)经济、管理类专业毕业设计报告或论文正文应包括:问题的提出、设计的指导思想;设计方案提出的依据,设计方案的选择和比较;设计过程;所运用的技术经济分析指标和方法;数学模型及其依据,数据计算方法;对设计方案的实用性和经济效益等方面做出评估;对设计实施过程中存在的问题 ( 或可能发生的问题 ) 提出合理化建议。毕业论文的基本论点、主要论据;根据国家有关方针、政策及规定联系实际展开理论分析。 (三)文科类专业毕业设计报告或论文正文应包括:问题的提出、解决问题的指导思想;解决方案提出的依据,解决方案的选择和比较,结论。 二、论文印装 毕业论文用毕业设计专用纸打印。正文用宋体小四号字,行间距为24磅;版面页边距上3cm,下、左,右2cm。 三、论文结构、装订顺序及要求 毕业论文由以下部分组成: (一)封面。论文题目不得超过20个字,要简练、准确,可分为两行。 (二)内容。 1、毕业设计(论文)任务书。任务书由指导教师填写,经系主任、教务部审查签字后生效。 2、毕业设计(论文)开题报告; 3、毕业设计(论文)学生申请答辩表与指导教师毕业设计(论文)评审表; 4、毕业设计(论文)评阅人评审表; 5、毕业设计(论文)答辩表; 6、毕业设计(论文)成绩评定总表; 7、中英文内容摘要和关键词。 (1)摘要是论文内容的简要陈述,应尽量反映论文的主要信息,内容包括研究目的、方法、成果和结论,不含图表,不加注释,具有独立性和完整性。中文摘要一般为200-400字左右,英文摘要应与中文摘要内容完全相同。“摘要”字样位置居中。 (2)关键词是反映毕业设计(论文)主题内容的名词,是供检索使用的。主题词条应为通用技术词汇,不得自造关键词。关键词一般为3-5个,按词条外延层次(学科目录分类),由高至低顺序排列。关键词排在摘要正文部分下方。 (3)中文摘要与关键词在前,英文的在后。 8、目录。 目录按三级标题编写,要求层次清晰,且要与正文标题一致。主要包括绪论、正文主体、结论、致谢、主要参考文献及附录等。 9、正文。论文正文部分包括:绪论(或前言、序言)、论文主体及结论。 (1)绪论。综合评述前人工作,说明论文工作的选题目的和意义,国内外文献综述,以及论文所要研究的内容。 (2)论文主体。论文的主要组成部分,主要包括选题背景、方案论证、过程论述、结果分析、结论或总结等内容。要求层次清楚,文字简练、通顺,重点突出,毕业设计(论文)文字数,一般应不少于8000字(或20个页码)。外文翻译不少于3000字符,外文参考资料阅读量不少于3万字符。 中文论文撰写通行的题序层次采用以下格式: 1 格式是保证文章结构清晰、纲目分明的编辑手段,毕业论文所采用的格式必须符合上表规定,并前后统一,不得混杂使用。格式除题序层次外,还应包括分段、行距、字体和字号等。 第一层次(章)题序和标题居中放置,其余各层次(节、条、款)题序和标题一律沿版面左侧边线顶格安排。第一层次(章)题序和标题距下文双倍行距。段落开始后缩两个字。行与行之间,段落和层次标题以及各段落之间均为24磅行间距。 第一层次(章)题序和标题用小二号黑体字。题序和标题之间空两个字,不加标点,下同。 第二层次(节)题序和标题用小三号黑体字。 第三层次(条)题序和标题用四号黑体字。 第四层次及以下各层次题序及标题一律用小四号黑体字。 (3)结论(或结束语)。作为单独一章排列,但标题前不加“第XXX章”字样。结论是整个论文的总结,应以简练的文字说明论文所做的工作,一般不超过两页。 10、致谢。对导师和给予指导或协助完成毕业设计(论文)工作的组织和个人表示感谢。文字要简洁、实事求是,切忌浮夸和庸俗之词。 11、参考文献及引用资料目录(规范格式见附文)。 12、附录。 13、实验数据表、有关图纸(大于3#图幅时单独装订)。 (三)封底。 附:规范的参考文献格式 参考文献(即引文出处)的类型以单字母方式标识:M——专著,C——论文集,N——报纸文章,J——期刊文章,D——学位论文,R——报告,S——标准,P——专利;对于不属于上述的文献类型,采用字母“Z”标识。 参考文献一律置于文末。其格式为: 1、专著 示例 [1] 张志建.严复思想研究[M]. 桂林:广西师范大学出版社,1989. [2] 马克思恩格斯全集:第1卷[M]. 北京:人民出版社,1956. [3] [英]蔼理士.性心理学[M]. 潘光旦译注.北京:商务印书馆,1997. 2、论文集 示例 [1] 伍蠡甫.西方文论选[C]. 上海:上海译文出版社,1979. [2] 别林斯基.论俄国中篇小说和果戈里君的中篇小说[A]. 伍蠡甫.西方文论选:下册[C]. 上海:上海译文出版社,1979. 凡引专著的页码,加圆括号置于文中序号之后。 3、报纸文章 示例 [1] 李大伦.经济全球化的重要性[N]. 光明日报,1998-12-27,(3) 4、期刊文章 示例 [1] 郭英德.元明文学史观散论[J]. 北京师范大学学报(社会科学版),1995(3). 5、学位论文 示例 [1] 刘伟.汉字不同视觉识别方式的理论和实证研究[D]. 北京:北京师范大学心理系,1998. 6、报告 示例 [1] 白秀水,刘敢,任保平. 西安金融、人才、技术三大要素市场培育与发展研究[R]. 西安:陕西师范大学西北经济发展研究中心,1998. 7、对论文正文中某一特定内容的进一步解释或补充说明性的注释,置于本页地脚,前面用圈码标识。 8、其他要求 (1)文字 论文中汉字应采用严格执行汉字的规范。所有文字字面清晰,不得涂改。 (2)表格 论文的表格可以统一编序,也可以逐章单独编序,采用哪种方式应和插图及公式的编序方式统一。表序必须连续,不得重复或跳跃。表格的结构应简洁。 表格中各栏都应标注量和相应的单位。表格内数字须上下对齐,相邻栏内的数值相同时,不能用‘同上’、‘同左’和其它类似用词,应一一重新标注。 表序和表题置于表格上方中间位置,无表题的表序置于表格的左上方或右上方(同一篇论文位置应一致)。 (3)插图 插图要精选。图序可以连续编序,也可以逐章单独编序,采用哪种方式应与表格、公式的编序方式统一,图序必须连续,不得重复或跳跃。仅有一图时,在图题前加‘附图’字样。毕业设计(论文)中的插图以及图中文字符号应打印,无法打印时一律用钢笔绘制和标出。 由若干个分图组成的插图,分图用a,b,c,……标出。 图序和图题置于图下方中间位置。 (4)公式 论文中重要的或者后文中须重新提及的公式应注序号并加圆括号,序号一律用阿拉伯数字连续编序,或逐章编序,序号排在版面右侧,且距右边距离相等。公式与序号之间不加虚线。 (5)数字用法 公历世纪、年代、年、月、日、时间和各种计数、计量,均用阿拉伯数字。年份不能简写。数值的有效数字应全部写出。 (6)软件 软件流程图和源程序清单要按软件文档格式附在论文后面,特殊情况可在答辩时展示,不附在论文内。 (7)工程图按国标规定装订 图幅小于或等于3#图幅时应装订在论文内,大于3#图幅时按国标规定单独装订作为附图。 (8)艺术设计作品 无法用纸质文档保存的艺术设计作品应用光盘或照片保存。 (9)计量单位的定义和使用方法按国家计量局规定执行。

近年来,随着全球网际网路技术的普及、计算机技术的迅猛发展、数字技术的瞬息万变,计算机工程在人们生活、生产中的应用越来越广泛。下面是我为大家整理的计算机工程毕业论文,供大家参考。

计算机软体大体分为三类,一种是总述,一种是系统软体,一种是应用软体,系统软体的作用是促使各个硬体按照一定的规律协调工作,保证计算机处于正常运转状态。而应用软体的作用则是为了实现某种使用愿望而开发出来的软体。

1计算机软体工程专案管理的基本概念

工程专案管理的含义工程专案管理主要是业主通过委托从事工程专案管理的企业,签署相关协议,工程专案管理企业有义务和权力代表业主在工程专案进行的情况卜干预和服务。工程专案管理企业可以协助业主同项目工程总承包签订一系列合同,只是起到辅助性作用,不直接与总承包企业或者施工、勘察、供货和设计签署协议或合同,工程专案管理企业有责任在施工过程中监督合同的完成情况。

软体工程专案的概况

管理人员开展有序的专案计划

企业必须把人员管理放在重要位置,在软体工程专案的开发上人员的调配问题是保证工程顺利进行的重要因素,因此,专案能否成功和工作人员的工作能力、写作能力息息相关,针对工程专案的操作类别不同,可以分配成各个研究小组,进行科学合理的针对性开发和高效的协作,有利于工程的快速推进和更加完善。小组内的人员根据自身优势,确定自己的工作内容和工作时间。对专案进行正确的认识和对风险进行评估,与此同时从节约成木的方而出发,形成科学的人力资源调配机制,使专案得以顺利开展。

质量和配置管理工作

软体的质量管理工作是整个专案的核心工作,质量管理决定着计算机软体工程专案管理是否真正的成功,通过一系列保证质量的手段,有计划的编制、控制和保证专案质量。保证专案质量的方式可以通过定期的进行质量评估得以实现,在日常专案管理中要不断的对工作进行考查,对于专案不合格的地方要提出意见并且考虑整改措施,不断完善整个软体配置管理的记录工作,使专案的质量能有一定的检测体系,这样开发者会对专案工程的质量问题有比较深入的了解。

风险评估和管理工作

风险管理大致分为两种工作,一种是风险识别,另一种是风险评估。得到评估结果以后要针对问题提出相应的解决办法,定期检测计算机软体工程的好处是可以减小产生风险的概率,还可以避免一些因疏忽而产生风险,使专案的损失减少到最低,也减少了因专案风险而造成的一些相关责任人的利益冲突。

2计算机软体工程专案管理中存在的问题

管理团队的协作问题

分工合作是我们完成一个专案的基木因素,在软体开发方而更需要每个人的智慧一起凝聚出果实,共同享受成果,而目前在计算机软体工程专案管理方而资讯的交流方而存在一些问题,例如分工不清、团队不合作等问题。

需求分析和实际中的业务存在差距问题

计算机软体工程专案没有结合实际的活动需求,也没有调查有效的资料分析,因此计算机软体工程专案管理在开发出新的产品以后并没有取得理想的业务效果。

风险管理的问题

专案的风险工作是企业需要考虑的很重要的问题,如果风险没有相应科学管理,很容易带来巨大的损失,但是很多员工并不懂得如何规避风险,缺乏相应的专业知识,更是缺少对风险工作的管理,导致很多企业在风险来临时无法做出正确行动,造成巨大的经济损失。

3计算机软体工程专案管理的对策

对风险管理和工作进度进行有效管理

制定风险管理制度。计算机软体工程专案管理的工作人员必须具有一定的风险识别意识和相应的遇到风险的专业知识,并且能有效的控制风险的能力。在平时要做好风险评估的管理报告,针对可能发生的风险要及时预测并且做出相应的解决行动。设定专门的人员对计算机软体工程专案定期进行风险的评估和检查工作。在整个专案中,根据需要进行多次的风险管理工作,因为风险无时无刻都有可能存在,检查的目的是尽量减少风险发生,在一般情况卜处理风险的措施一般有三种:减缓、规避和转移。提高工程的进度,不断的推进工程的工作效率。要制定详细的工作计划表,并且尽可能达到最高的工作目标。工作人员有严谨的工作态度和高效的作息时间安排,管理人员要密切关注工程进度,不断的督促员工完成应做的工作量,有条理、高效的完成对员工的工作任务的监督工作。

建立完善的管理体系针对计算机软体工程的人员日常管理工作,要建立科学有效的管理方案。合理安排人才资源,确保在进行计算机软体专案工程时人员调配顺利进行。专业知识的培训对于工作人员来说

是必不可少的,可以极大的丰富计算机软体工程专案人员的专业水平和实践能力,减少工作上的失误,提高工作效率和工作人员的素质。奖罚制度是对企业员工优劣的衡量标准,所以在计算机软体工程专案管理方而采取奖罚制度可以极大程度上调动员工的积极性,使员工主动为企业创造效益,企业的发展才能有长远的未来。

建立合作的团队

在员工内部建立有效的交流机制。员工的内部工作经验交流是非常重要的,因此要完善沟通方法,开辟多种交流方式和渠道,不断的增强各个部门的沟通意识,使团队的力量不断凝聚起来。明确分工,责任落实到个人。计算机软体工程管理非常复杂,需要的人员也众多,因此必须要使每个员工明确自己的工作内容和范围,清晰的划分自己所需要负责的区域,清楚自己的责任,这样能够确保每一个步骤都井井有条,非常有秩序。调动整个团队的工作积极性。通过一些活动、奖励措施等使每一个工作人员全身心的投入到工作中去,愿意并想要去做的更好,不断激发团队的潜力和员工的协作能力,这样专案不仅会做的越来越好,员工内部也会越来越和谐并且充满正能量,企业的效益也会不断得到提升。

4结语

计算机软体工程专案管理的工作内容十分的复杂,要保证软体工程按照工程原计划进度顺利开展工作,并且要节约成木、保证质量,必须熟练对计算机软体进行操作,在现在的大多数生产计算机软体的企业中最为重要的就是软体工程专案的管理效率,软体工程专案的成功条件是软体专案要具有科学性和高效性,在此基础上企业的合理管理也是企业走向成功的关键。

1现状分析

培养高质量的软体开发人才一直是社会和行业关注的焦点。早在11年前,对于工程教育的迫切性就被人提出来[1]。工程教育本身也作为一个系统问题被讨论[2]。现在从国家层面在战略上建立了软体学院进行专门培养,各个高校也不断推出新的课程、新的措施方案。在这一领域虽然比过去似乎已经有了翻天覆地的变化,但来自企业的呼吁似乎一直反映出诸多不尽如人意。更多的思路希望将企业的力量直接引入到教学,比如实训基地等[3];而国家层面也非常关注实训[4]。但实际效果可能变得流于表面,因为企业往往难以将核心的工作拿给学生做,而其训练的专案也并未从更全面系统的角度去设计,其锻炼效果就有限了。在软体开发这一领域,由于其具有变化迅速,新技术不断涌现的特点,导致不少在教育内容上选择了追逐新技术、新语言、新平台,以能用会用这些流行主流技术为目标。典型的代表就是北大青鸟,有些二本的学生在毕业前专门花钱去青鸟学习,似乎可以看到这种教育的优势。但另一个矛盾的情况是,往往那些关注员工后劲的公司却不愿意招聘青鸟的学生。如果将目光投向国外的顶级大学,例如斯坦福,其教学上并没有去“依赖”校企合作,以及很热门的“实训”。其核心课程依然是过去的传统经典课程。以一个研究生为例,一学期能修2门课是正常,3门就很优秀。它并没有追逐所谓的新技术。但无人质疑其学生的工程能力、科研能力和创造能力。

2什么是计算机工程能力的核心

什么才是我们软体开发教育的核心知识架构,怎样才能培养学生可持续发展的核心竞争力?我们调查过一些非常高水准的软体开发者,发现他们往往在底层软体上持之以恒地进行长时间深刻的锻炼,然后在未接触的新领域才能非常迅速地掌握核心。例如,一个非计算机专业的系统分析员曾经“只”在DOS这种原始的作业系统下玩了10年,甚至自己写过一个汉化的DOS。他只有书本上的一点点网路知识时,就用一两天时间解决了一个学通讯的研究生1个月都不能解决的网路故障。这是一个典型的例子,他并没有“实际的”网路经验,什么使得他如此轻松地进入了新的领域呢?而另一个曾就职于vmware、google等顶级公司的程式设计师,在Unix下只用C语言做了10年系统级程式设计。当用Java,C++甚至是javascript时,其学习时间只是1天,很快就比做了几年专门java程式设计的程式设计师还精通。如何才是软体开发人员的本质力量?什么才能让他们在变化万千的新技术面前屹立不倒,乘风破浪?

计算机工程能力

我们认为计算机工程能力包含两方面的内容:1核心知识架构;2计算机的思维方式。什么是核心知识架构呢?是反应该领域最基本规律和支撑技术的知识。简单地说就是传统的作业系统、编译、资料库。作业系统将硬体、软体、高阶语言和汇编融汇在一起,它几乎包括了软体工程中所有重要的因素。举一个简单的例子,似乎只有面向物件这种“高阶东西”才有的虚拟函式运用,其实在Linux中就有相应的虚档案系统。作业系统是最为复杂的计算机工程之一。编译融汇了大量的演算法,而且能让大家真正看“穿”语言的外表,深入到其内里,体现了最根本的计算机技术。其优化技术,也深刻地和硬体交融在一起,很好体现了底层风范。资料库,不仅是运用演算法最多的地方,甚至是超越作业系统的一个复杂的系统,从快取技术到i/o优化,到索引,再到事务处理,无一不是反映计算机最深刻规律。大家可以发现,所谓核心知识架构,都具有两个特点,反映本质规律,体现软硬融汇交织。也只有这样,才能建立下面谈到的“计算机思维方式”。

核心知识架构

为什么我们没包括一些新兴的语言和技术呢?似乎它们很“实用”。而且已经出现的问题是,按照传统科目和方式学习后,学生在企业什么都不会。这也正是大家关注工程教育的初衷。为什么不强调这些新兴实用技术的教育还在强调“古老”的“基础”。计算机领域一个显著的特点是,表面上知识更新非常快,新技术、语言层出不穷。这很容易导致当我们发现学生能力欠缺时,将问题归罪于新技术的学习不得力,知识结构老化。但其实目前的问题可以从另外一个角度考虑,是否是基础教育不得力?分析国外著名大学,如斯坦福、伯克利的课程,我们发现两个特点:1关键的基础课程,如作业系统、编译原理、资料库,始终是其最重要的课程,并没有过分追逐各种“新潮”技术。2学生一学期能修的课程非常有限,一般为3门课。而国内却呈现相反的状况,比如编译原理被降到了选修课的角色,新潮课程层出不穷,一个学生二年级一学期要修13门课。在这种走马观花的状况下,计算机这种具有强烈“手艺”色彩和工程实践的学科,被完全纸上谈兵化。而一些可怜的实验内容,还被学生的复制拷贝所湮没。我们认为,恰恰是这种情况,使得基础核心知识教育没有工程化,没有充分动手,导致了基础知识教育某种程度上的巨大失败。从以下鲜明的对比可以窥见问题的端倪:国内学生反映作业系统课程是文科课程只需要背条款考试即可;而相对地,国外著名高校作业系统课程要求学生实现“小”作业系统。国内资料库只讲其应用如大量讲解sql等运用,sql即使非计算机专业人士也很容易学习,这也是它被发明的初衷。斯坦福的资料库课程中有一门需要实现一个数据库系统。在笔者走访的计算机工程上优秀的人才,发现其共同的特点就是在诸如作业系统或资料库上都有很深入的学习经历,比如前面提及的自己构建过汉化DOS系统,或者在Unix下,做核心以及驱动很多年等。而当他们接触新技术时,之前深刻的经验和淬炼的思维就让他们如虎添翼,快人一等。更有甚者,国外真正的最顶级专家,都是在这些领域有无与伦比水平的专家,从delphi的缔造者,转战到微软并入主平台的开发,也可看到雄厚的底层知识和能力的巨大作用。所以“老”知识并不是障碍,而是通向天堂的阶梯。究其原因,就涉及到工程能力的第2个方面,计算机思维方式。

计算机思维方式

对非专业人士它是很抽象的概念,而对真正专业人士,这又是一个非常鲜活的概念。这里限于篇幅,我们只举一个简单的例子。面对在C++中外部程式码如何直接修改私有变数的问题,计算机的思维方式就是:物件也是放在记忆体中,只要能拿到物件的地址,并知道物件的布局,那么就可修改。而没有建立这种思维的人,就完全被高阶语言的语法所左右,无从下手。一句话,无法看到本质,没有从下而上的底层思维。核心知识课程的有效深入教学和计算机思维方式建立有何直接关系呢?我们认为核心知识因为其反应了计算机本质规律,而且从底层建立起来,所以对其深入掌握运用后,它从开始的逼迫到最后的陶冶,最终潜移默化地让受众建立起“计算机思维方式”。而这正是计算机工程师安身立命之本,就如同音乐家有其独特的音乐思维方式一样。为什么诸如java之类的课程于建立计算机基本思维不太合适呢?因为它更高层,无法让学生看到最下面。而唯有彻底、深刻和系统的底层淬炼,才能真正建立起“计算机思维方式”。

3如何打造强大的计算机工程能力

大家一方面指责基础课程的“空洞”、“无用”、“陈旧”;另一方面在不断开设的海量新课和技术中压得学生更加远离程式设计,远离实践。即使能培养出熟悉某种语言的学生,也无法看到他们和培训学校有何不同。实训也似乎没有根本解决问题,我们在实践中发现,往往是那些自己醉心于程式设计的学生最后有着卓越的表现。让基础知识能支撑和指导实践,而非仅仅“符号”,并引导学生进行高效的实践。

“3块连一线”,4门基础课程整合打造核心知识架构

我们将4门基本课程进行贯通式整合,着力塑造学生的“计算机思维”。下层的是3门基础课在上一小节探讨了其在工程能力训练上不可替代的重要地位,对软体开发环境产生支撑。而软体开发环境又通过精心的设计和工程实践,从应用角度将3门课程所学的知识串联起来。从而将基础知识和工程开发更有机整合在一起。首先,阐述为什么将以上课程整合在一起的理由。要回答这个问题,必须先回答什么东西支撑了优秀程式设计师。在我们的调查人员中,无一例外地都具有很深厚的底层软体开发背景。有长期从DOS的Hack入手的;有长期从事Unix核心程式设计的;有从Windows的driver起步的;有以反汇编逆向为根基的。长期在最底层的经历,使他们建立了最真实和能触控的系统观,能以计算机的方式思考。所以面临新技术时,他们能透过新形式很快把握其精髓,深刻地把握其实质。“太阳下面没有真正的新事物”,例如号称21世纪最新的重要的软体技术AOPAspectOrientedProgramming,AOP,其实在20世纪60年代就出现在了汇编一级的软体技术中,它本质就是钩子技术的系统化。在底层的软体世界,我们不仅能够用到那些所谓的最新的技术,而且能看到其本质我们可能就是用机器码自己构建出来的,而不被新技术的华丽外衣障目。这些使得具有底层经验的开发者,更有创造力,更能创造,也更能洞察迷乱后的本质,庖丁解牛,解决那些异常复杂的工程问题。举一个笔者遇到的真例项子,一个具有深刻底层经验的程式设计师一直只有C语言和作业系统程式设计经验和一个只有深刻Java经验的程式设计师,在同时学习Javascript的闭包概念时,后者一个礼拜都还有些似是而非。前者很快就能自如运用,且最后指点了后者1个小时,后者顿时豁然开朗。这是典型的“新”与“老”,上层和底层经验在面对新事物时的对比。既然底层软体赋予我们如此强大的能力,那么哪些是底层软体呢?大家公认,作业系统、编译和资料库由来就是计算机工程自身的根基。所以,我们必须将这3门课涉及的知识好好淬炼。而如何将3门课的知识和我们日常的软体开发联络起来呢?如何用它们指导平时程式的开发呢我们大多数是开发使用者级软体,不会开发核心软体,因此许多人认为几乎整个在核心中的作业系统对使用者级软体开发无从指导?另一门课,《软体开发环境》解决了这一问题。它有一条主线,通过反汇编将C语言和汇编串联起来,让系统级的知识从高阶语言的面纱下展现出来。同时用逆向工程这把庖丁之刃,将编译、连结、面向物件等软体开发中的重要知识块剖剔,让底层与上层贯通一气。而逆向的技术技巧,本身也是非常高阶的软体开发技术。因此,我们用“3块连一线”来总结4门课的关系是最好不过了。为什么不纳入语言课程,比如C/C++语言?从我们的工程经验来看,语言只是计算机原理和思想的载体,是表述方式而已。为了表述形式而专门花大力气是不值得的。比如,国外的著名大学很多都不开设语言课,在其他课程作业中必须用C语言程式设计,学生们就在那里锻炼了。真正的语言的力量并非来自语言本身,而是底层知识为支撑的专案锻炼。我们的思路是以构建式完成大量的完整系统的编写,这样就很好锻炼了软体开发和工程能力。同时,“软体开发环境”本身从逆向层面也对语言有了深刻的剖析,这是纯粹的语言课难以完成的。另外,从大纲安排上,我们在大一就会让学生用C语言来初步接触程式编写,这时并不适合放入太高阶主题。而在教学中,语言的力量已经渗透到一个个工程构建中,随风潜入夜了。为什么不纳入演算法课程?从某种程度上,“程式就是演算法与资料结构吗”?我们认为在系统中运用演算法,演算法才具有生命力。而编译、作业系统、资料库以及我们专门设立的一些课程设计将全面运用各种演算法和资料结构。在实战中运用并学习提升才是王道。这也正是构建式学习的精髓所在,这也正是探索式学习培养学生的创造能力的精髓所在。演算法课已经为我们准备了元件,就看你怎么去组装甚至改造。

以构建主义的思路,深度实践的风格改革课程

前面我们论述了底层知识架构的重要性,那么怎么来将它们实际地建立在学生的工程实践中呢?简单地说就是“构建一个具体而微的系统”。讲作业系统就构建一个小作业系统,讲编译原理就构建一个我译器。同时,设计一些跨度较大的课程设计覆盖这些课程的一些重点内容。构建完整系统本身就可真实淬炼工程能力,而这些内容的复杂性、难度以及运用知识点的广度,本身就超越了简单的企业实训专案,在培养人才方面具有系统性、完整性、挑战性独特优点。我们需要的是运用团队的思路和现代软体工程的手段,将其开发过程管理发起来,从而熟悉企业级开发的工具链,将软体工程学到的知识贯通到实作中。这也回答了“和以前相似的强调基础课程教育,什么特点使得我们的做法能获得强大的工程能力?”这一问题。以前更多注重理论知识的学习,而现在的做法是回归计算机工程的自身科学规律———实践为王。

改革考核评价标准,充分强调动手实践

以前我们一直是卷面考试,实验分数只是象征性的点缀。这本身违反了计算机工程的特点。只有改变评价考核标准,才能真正驱动学生充分锻炼工程。在课程软体开发环境中,我们采取了平时的考试结合期末考试的方式,而两者均为软体编写。期末考试在实验室上机编撰指定题目。不强调对一些函式名等死知识点的记忆,可以用线上帮助。这本身也符合软体开发的规律。

4结束语

我们在计算机工程教育上试图做一些回归本质的工作,也取得了一些效果。比如在软体开发环境中,学生普遍认为:“似乎将3年学的程式课全学习了,收获很大”。更有同学,在外企公司的面试中,直接运用了课堂上的知识,这在传统的教学环节中是难以获取的。但整个工作尚在起步阶段,所以仍有很多工作需要做,许多环节需要优化。我们希望在以后的工作中更深入探索工程教育的规律和本质。

免费java毕业论文

目 录一、概要设计……………………………………………………………3二、程序整体设计说明…………………………………………….…..4三、程序部分源代码及注释…………………………………………….9四、测试结果………………………………………………………….24五、设计心得…………………………………………………………25六、致 谢…………………………………………………………25七、参考文献…………………………………………………………25【摘 要】该程序是一个图形界面的java文档编辑器,其界面主要采用了awt包, 程序实现了文本编辑器的基本功能有:新建文件、打开文件、文件保存、文件另存为、剪切、复制、粘贴、删除、查找/替换、改变字体大小,另外还利用Time类的schedule方法实现了文件的定时自动更新功能,并创建备份文件,由于该编辑器是用的awt包,所以在技术上没有实现将Java的关键字以不同颜色显示功能。【关键字】java 编辑器一、概要设计Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。二、程序整体设计说明、程序框架图、程序中所用类说明(1)用户自定义类类名:EditInstantiation作用:实例化对象继承的父类:WindowAdapter主要成员变量:Frame myFrm // 定义主窗体TextArea myText // 定义文本编辑区Dialog myDlgFind,myDlgFindont //查找及设置字体对话框TextField TFfind, TFreplace, TffontSize//查找对话框和字体窗体中的文本行Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮Label Lf, Lr, Ls //定义和创建各标签MenuBar Mbbar //定义和创建主菜单Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项Toolkit toolKitClipboard myCB //剪切板对象FileDialog myFDlg //定义文件对话框Choice ChfontName //定义和创建字体选择框private int VIindex = 1; //构成文件名后缀变量private String VSsubFixStr=".java"; //构成文件名扩展名变量private String VSmyFileName = "Document1",VSmyBFileName;//文件名及备份文件名变量private File VFmyFile=new File(VSmyFileName+VIindex+".java");//文件名变量private int VIsearchPosition=0; //查找位置指针private Timer VTtime; //实例化一个Time类private int VImin=1; // schedule方法中的一个时间参数private int VItype=;//提示对话框类型private String VStitle; //提示对话框标题private String VSmessage; //提示对话框信息private boolean VBchanged = true; //改变字体的一个标识private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; //设置字体大小及步长主要成员方法:public void init() //初始化各部件菜单的定义和事件的监听public void displayEdit ()//显示窗体及调用Time中的schedule方法public void windowClosing () //关闭窗体public void save //保存文件方法a.内部类类名:KeyEvents作用:实现菜单的事件的响应功能继承的父类:KeyAdapter主要成员变量:无成员方法:actionPerformed()、keyPressed()b.内部类类名:FindKeyEvent作用:实现查找中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:actionPerformed ()c.内部类类名:fontEvent作用:实现字体中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:ItemListener(),ActionListener()(2)用户自定义类与Java类的继承关系图如下:自定义类 Java 类线程使用说明、实现接口方法本程序用到的方法有:schedule其方法描述如下:schedule(事件,启动时间,间隔时间);、线程应用本程序为文本编辑器,为实现自动更新,应用到了线程,每隔1分钟对文件进行自动更新、异常处理说明(1)打开文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常(2)保存文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常、程序运行效果及存在的问题(1)程序运行主要界面如下:a、主界面b、打开文件对话框c、保存文件对话框d、另存为文件对话框e、查找/替换对话框f.字体对话框.程序尚还存在的问题我花费了近一个多星期的时间,查阅了许多相关的资料,终于把这个Java编辑器,程序基本实现了该课程设计的基本要求。但由于自己水平有限,使得程序还有不是很完善,首先,最重要的一点是该设计的最重要的功能自动改变java关键字的颜色没有实现。三、程序部分源代码及注释//****************************************************// class name :Edit// implements :none// extends :none// attribute :public// founction :entrance of the class//*****************************************************public class Edit{ //主类public static void main(String args[]){EditInstantiation myEdit= new EditInstantiation();(); //初始化(); //显示窗体}//****************************************************// class name :EditInstantiation// implements :none// extends :WindowAdapter// attribute :default// founction :EditInstantiation of the main class//*****************************************************class EditInstantiation extends WindowAdapter{ //默认属性类//define sources 定义各部件Frame myFrm=new Frame("我的编辑器"); //定义窗体TextArea myText=new TextArea(); //定义窗体Dialog myDlgFind=new Dialog(myFrm,"查找",true); //定义查找对话框Dialog myDlgFindont=new Dialog(myFrm,"字体",true); //定义字体对话框TextField TFfind=new TextField(30);//定义查找对话中的查找输入框TextField TFreplace=new TextField(30); //定义查找对话中的替换输入框TextField TFfontSize,TFfontDemo;//定义字体大小文本框和示例框Choice CHfontName;//定义字体大小选择框List LTfontSize; //定义字体大小标签Button BfontOK,BfontCancel; //定义字体大小对话中的确定及取消按钮Button Bfind=new Button("查找");//定义查找对话中的查找按钮Button Breplace=new Button("替换");//定义查找对话中的替换及取消按钮Button Bnext=new Button("下一个");//定义查找对话中的下一个及取消按钮Button Bcancel=new Button("取消");//定义查找对话中的确定及取消按钮Label Lf=new Label("查找内容:");Label Lr=new Label("替换为: ");Label Ls=new Label("字体大小:");FileDialog myFDlg;Clipboard myCB=().getSystemClipboard(); //剪切板对象Menu Mfile,Medit,Mformation,Mhelp;MenuBar MBbar;//define varities //定义各变量private int VIindex = 1;private String VSsubFixStr=".java";private String VSmyFileName = "Document1",VSmyBFileName;private File VFmyFile=new File(VSmyFileName+VIindex+".java");private int VIsearchPosition=0;private Timer VTtime;private int VImin=1; // parameter in time schedulprivate int VItype=;private String VStitle;private String VSmessage;// flag of the changeingprivate boolean VBchanged = true;// the scope of the fontprivate int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2;//************************************************//founction name:init()//parameter :none//attribute :public//founction :initia all compont//************************************************public void init(){ //初始化各部件//------------------ set menu ------------------MBbar=new MenuBar();(MBbar);Mfile=new Menu("文件");Medit=new Menu("编辑");Mformation=new Menu("格式");Mhelp=new Menu("帮助");(Mfile);(Medit);(Mformation);(Mhelp);//文件菜单 add File (new MenuItem("新建",new MenuShortcut()));(new MenuItem("打开",new MenuShortcut()));(new MenuItem("保存",new MenuShortcut()));(new MenuItem("另存为"));();//分隔线(new MenuItem("退出",new MenuShortcut()));//编辑菜单 add Edit (new MenuItem("剪切"));//,new MenuShortcut()));(new MenuItem("复制"));//new MenuShortcut()));(new MenuItem("粘贴"));//new MenuShortcut()));(new MenuItem("删除"));//new MenuShortcut()));();//分隔线(new MenuItem("查找/替换",new MenuShortcut()));();//分隔线(new MenuItem("全选",new MenuShortcut()));//格式菜单 add Formation (new MenuItem("字体",new MenuShortcut()));//帮助菜单 add Formation (new MenuItem("关于作者"));//----------------- menu add end -------------------------//add Menu Action (new KeyEvents());(new KeyEvents());(new KeyEvents());(new FindKeyEvent());//--------------------------- Find (350,115);(250,150);(new FlowLayout());();(false);(false);(false);(Lf);(TFfind);(Lr);(TFreplace);(Bfind);(Breplace);(Bnext);(Bcancel);(new WindowAdapter(){public void windowClosing(WindowEvent e){(false);}});//为查找对话框窗体注册事件监听(new KeyEvents());//注册事件监听(new FindKeyEvent());(new FindKeyEvent());(new FindKeyEvent());(new FindKeyEvent());//--------------- end add action listener ------------//================set font dialog ==============//font size text fieldTFfontSize = new TextField("8",14);();//font size list fieldLTfontSize = new (5, false);(new fontEvent());for(int i = VIfontSizeMin; i <= VIfontSizeMax; i = i + VIfontSizeChangedStep)(i + "");//添加字体大小(0);//two Button Ok CancelBfontOK = new Button("确定");(new fontEvent());BfontCancel = new Button("取消");(new fontEvent());//a TextField for demo the fontTFfontDemo = new TextField("Java awt",37);(false);// my font dialog设置字体对话框(new FlowLayout());();(Ls);(TFfontSize);(BfontOK);(BfontCancel);(LTfontSize);(TFfontDemo);(300,200);(300,200);(false);(new WindowAdapter() {public void windowClosing(WindowEvent e) {(false);}}); //为字体对话框窗体注册事件监听//=============end set font dialog// =======set Edit frame设置编辑器窗休(myText,);(500,400);();(this);(500,400);(200,100);("Java编辑器");}//************************************************//founction name:displayEdit()//parameter :none//attribute :public//founction :initial and display the frame//************************************************public void displayEdit(){ //显示窗体(true);//---------------------- auto save ---------------------VTtime = new Timer(true);(new (){public void run(){if(VSmyFileName!=null){save(VSmyFileName+".java");VSmyBFileName=VSmyFileName+".bak";} //添加自动保存功能save(VSmyBFileName);}}, VImin*60*1000,VImin*60*1000);//parament 1 the task//parament 2 when to start the task//parament 3 set the interval time }//****************************************************// class name :KeyEvents// implements :ActionListener// extends :KeyAdapter// attribute :default// founction :implement the mouse and key action//*****************************************************class KeyEvents extends KeyAdapter implements ActionListener{//********************************************************//founction name:actionPerformed()//parameter :none//attribute :public//return :void//founction :realize the key action in the menu//*********************************************************public void actionPerformed(ActionEvent e){//完成菜单事件的功能// File Menuif (()=="新建"){//remind youJFrame aFrame=new JFrame();();JOptionPane optionPane=new JOptionPane();String choices[]={"是","否","取消"};int n=(aFrame,"文件正文已更改,是否保存更改","文本编辑器",[0]);//保存文件后新建if(n==0){//若文件存在,保存在原文件中,再新建文件try{if(()){save(VSmyFileName); // call the save ("");VIindex++;}else{//若文件不存在,则保存后再新建myFDlg=new FileDialog(myFrm,"保存文件",);(VSmyFileName);();VSmyFileName=()+();save(VSmyFileName);("");VIindex++;}}catch(Exception ne){}}//不保存文件新建if(n==1){("");VIindex++;}//取消新建if(n==0){return;}}//打开菜单 Open Menuif (()=="打开") {myFDlg=new FileDialog(myFrm,"打开",);();if (()!="") {VFmyFile=new File(()+());VSmyFileName=()+();if( ()){try{FileReader fr=new FileReader(VFmyFile);BufferedReader br=new BufferedReader(fr);String text;("");while ((text=())!=null)(text+"\r\n");();();}catch(IOException ioe){VStitle="提示";VSmessage="打开文件出错";(myFrm,VSmessage,VStitle,VItype);}}}}//保存菜单 Save Menuif (()=="保存"){myFDlg=new FileDialog(myFrm,"保存文件",);(VSmyFileName);();VSmyFileName=();if(VSmyFileName!=null){VSmyFileName=()+();save(VSmyFileName);}}//另存为菜单 SaveAs Menuif (()=="另存为"){myFDlg=new FileDialog(myFrm,"文件另存为",1);(VSmyFileName);();VSmyFileName=();if(VSmyFileName!=null){VSmyFileName=()+();save(VSmyFileName);}}//退出菜单 exit Menuif (()=="退出")(0);//编辑 Edit Menuif (()=="剪切"){//CutString text =();StringSelection selection = new StringSelection(text);(selection, null);("",(),());}if (()=="复制"){//copyString text=();if(text!=null){StringSelection selection=new StringSelect

TAGS: 毕业论文 计算机 基于 远程 对象 RMI 方法 实现 调用 哪位老兄有计算机毕业设计论文啊?是基于java的,小弟急用,谢谢!用RMI开发基于Java的企业分布式应用我站还提供更多的免费计算机论文,但免费论文仅供参考,建议广大网友下载后不要轻易采用。摘要由于Java具有跨平台、代码可移植性、安全高效等广泛而强大的功能,因而在开发网络分布式应用的时候,可以用它自身的机制实现分布式计算,一种基于Java的远程方法调用(RMI)为我们开发企业分布式应用提供了行之有效的解决方案。关键词 Java RMI 企业分布式应用 1 概述随着电力企业信息化建设的不断深入和发展,企业内部和企业与企业之间对信息、对数据的交换量大大增加,这些信息与数据越来越需要在不同的计算机网络间传送和交流。同时,由于各单位、各部门之间的现存的计算机网络硬件设备与操作系统千差万别,应用水平也参差不齐,因此,开发出跨平台、可移植、高效安全的网络分布式应用来服务于电力企业,就显得尤为重要。在当今的编程术语里,分布式计算已经成为很常见的词,它将企业的业务数据和程序分布在网络的不同物理位置上,通过调动网络上多台计算机的处理能力,发挥远程调用数据的功能。远程方法调用(Remote Method Invocation ,RMI),可以在不同的Java虚拟机(JVM)之间实现对象与对象的通信。JVM可以位于相同或不同计算机上,在多个JVM中,一个JVM可以调用存储在其它JVM的对象的方法。本文主要介绍RMI的特点,分析应用RMI进行企业分布式计算的原理,以及利用RMI实现基于Java的企业分布式应用的具体步骤。2 远程方法调用(RMI)的特点 TCP编程的缺点由于Java编程语言设计之初就是面向对象和支持网络的,因此,基于对象的RMI机制已经内置在Java平台中。我们经常会在网络开发中使用TCP/IP编程,这样,自然而然地就会涉及到Socket(套接字)编程。但是,使用Socket编程需要大量重复编码,在复杂分布式操作时显得非常麻烦,而且易于出错。因此,如何快速、高效、安全、可扩展地进行网络分布式计算,是开发者们一贯追求和倡导的主题。直到RMI的出现,这种繁杂、低效的开发情况才有很大改观。 RMI编程的特点当我们利用对象序列化在网络上分配对象时,RMI提供了非Java平台无法匹敌的独特而强电子商务资料库)*!%267'$#7'455大的分布式计算模型,RMI主要有以下特点:? 客户机可以向本地方法一样调用远程服务器上的方法;? 可以根据接口指定客户机/服务器编程合约;? 可以从服务器对象缺省二进制类文件,自动生成调动/反调动代码;? 将Java编程模型扩展到机器边界(和Java虚拟机(JVM)边界之外),不需要任何特殊语法;? 还可以和一个远程方法调用中的数据同时传输行为(代码)。尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易实现的。 RMI与CORBA作为分布式应用程序框架的规范,COBRA首当其冲,它是由对象管理组织(OMG)开发的。与CORBA不同的是,CORBA能够利用不同编程语言(例如C/C++、Basic等)开发实现分布式应用,而RMI是一种纯Java解决方案。在RMI中,程序的所有部分都由Java语言编写,这样,开发出来的程序完全符合Java规范,便于实现跨平台访问、扩展和移植。按照笔者所在西北电力建设集团公司的情况看,服务器操作系统主要有Linux和Windows2000 Server,分别存在于公司和部门当中,它们是不同的系统平台;同时,公司下属各个工程项目部又距离很远,近的几十公里,远则达到上千公里甚至位于国外,因此跨平台和远程访问这两大功能在开发企业应用系统时就必须考虑,而RMI恰恰能够用它的自身特点来满足编程需要。3 RMI基本体系结构简介RMI通过TCP/IP在内部使用Socket,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。RMI的目的是让位于不同JVM中的对象,在外观及行为上都像是本地的对象。通常,我们把调用这种远程对象的JVM,称为客户机;而把包括这种远程对象的JVM,称为服务器。尽管对一个远程对象的引用和获得对本地对象的引用有所不同,但我们可以把远程对象像本地对象一样使用。应用程序并不知道一个对象是远程的还是本地的。实际上,远程对象上被调用的方法与本地对象上调用的方法,具有相同的语法结构。作为RMI的底层(会包含复杂的Socket操作),它会自动截获方法调用,找到远程对象,然后处理远程请求。笔者认为,RMI设计的重要之处,就在于不但在设计上实现了远程访问功能,而且实现了设计的透明性。RMI的基本体系结构,概括起来说,由三个抽象层组成: 存根/框架层(Stubs/Skeletons Layer)

Java学了用处小,赶紧考研,换个方向,别弄码农

(new MenuItem("剪切"));//,new MenuShortcut()));

相关百科
热门百科
首页
发表服务