公文素材库 首页

软件工程实训(java)总结报告

时间:2019-05-26 21:09:01 网站:公文素材库

软件工程实训(java)总结报告

华东交通大学软件学院软件工程实训总结报告

华东交通大学软件学院201*年6周软件工程实训总结报告

专业班级:09软件+电气4班学号:201*2110080402学生姓名:xx指导教师:xx所在项目:远程实验室管理系统项目经理:xx实训公司:江西微软技术中心实训周期:201*年11月5日至201*年12月14日

总结内容一、团队基本情况团队名称:AceTeam团队成员:陈忱、龙骁、田越、徐佳奇、朱成、翟胜、高杨、贺丽、汪晓玲、周启荣二、项目基本概况项目名称:远程实验室管理系统该项目是为学生提供个人虚拟化计算机,提供随时随地的远程服务,并且通过其管理系统能够方便校方相关管理员对实验室的监控与管理。适用对象:本项目将应用于各高校的机房实验室,为高校的老师学生和机房管理人员提供极大的便利,有很多的潜在用户;但由于网络上的不稳定因素,不排除用户使用时出现延迟等情况;本项目基于Vmware虚拟化技术将与实验室监控系统同时工作,为学生提供个人虚拟化计算机,并提供随时随地的远程服务,保证整个系统的运行,通过虚拟化实验室管理系统,方便校方相关管理员对实验室的监控与管理。三、本人在项目中的主要任务及完成情况1)主要任务简介及完成情况本人主要完成了数据库的设计,以及项目的核心编码、项目调研、人员分工等。项目调研完成100%;数据库设计完成100%;人员分工完成100%;项目核心编码完成60%,主要实现以下功能:1、虚拟机的创建2、虚拟机的启动3、Web端远程桌面连接4、关闭虚拟机1/5

华东交通大学软件学院软件工程实训总结报告

5、查看虚拟机进程(杀死指定进程正在开发中……)6、用户管理7、预约管理(学院、班级、年级管理)2)相关设计思路及实现成果数据库设计思路:主要对后台数据库的概念模型设计和物理模型设计做出了统一的规定和约束,同时确定了每一个表的数据字典结构,主键和外键约束。数据库名称:remotecontrol数据表命名规则:表前缀(t_)+表名(首字母大写)概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。逻辑结构设计:实现成果如下,表名t_usert_rolet_resourcest_user_rolet_role_resourcest_noticet_contractt_studentClasst_gradet_colleget_virtualMachinet_physicalMachinet_virtualMachineProcesst_fileSystemt_cput_memoryt_peratingSystemt_netinfo四、个人实训成果特点总结功能说明用户表,剥离了角色的所有用户的基本信息角色表,用户的角色,权限控制资源表,用户拥有角色后可以操作的资源用户-角色中间表,包括用户Id,角色Id角色-资源中间表,包括角色Id,资源Id公告表,存放公告信息预约表,存放老师预约实验室信息班级表,存放班级信息年级表,存放年级信息学院表,存放学院信息虚拟机表,虚拟机硬件信息,关联学生表(多对一),关联物理机物理机表,物理机硬件信息,关联文件系统,CPU,内存,操作虚拟机进程表,主要监测学生是否有游戏进程文件系统表,存放物理机虚拟机文件系统信息CPU表,存放物理机虚拟机cpu信息内存表,存放物理机虚拟机内存信息操作系统表,存放物理机虚拟机操作系统信息网络表,存放物理机虚拟机操作网络相关信息t_physicalMachineProcess物力机进程表特点1:一开始老师教学讲解比较细致。从web开发最基础的html,css到SSH框架以及web服务器介绍。学习了成套的知识体系,对java做web开发有了个初步的了解,随后通过项目实战对SSH框架有了个详细的了解,能实现一些基本的操作和需求的实现。2/华东交通大学软件学院软件工程实训总结报告

特点2:学习写了许多文档,对一个项目的大致流程有了深入了解。特点3:对项目的开发流程有了个基本的了解,从项目需求分析,调研,进度计划的制定到UI,数据库,架构设计,然后到编码实现,进度跟踪,每个阶段的评审报告,总体比较规范。特点4:通过对HTML+CSS以及SSH框架学习,对SSH框架的环境搭建,开发流程,项目部署有了基本的了解。特点5:通过这个比较由难度的项目还了解了IE下远程桌面连接控件,MINA通信框架,这些都比较由意思,开拓了视野。特点6:对项目管理有了一些切身的体会,例如人员分工,如何调动每个人的积极性,让合适的人做适合的事,都是一些需要考虑周全的事。项目计划的制定,需求实现的讨论例会等看似比较繁琐的事其实在项目中起到比较重要的作用。五、个人实训成果缺陷总结缺陷1:代码耦合度比较高产生原因:编码命名不规范,与合作小组沟通不够,代码没有注释,对ssh框架不熟悉。改进措施:编码前多想想后续是否需要扩展改进,与合作小组要沟通好命名规范,合理的注释。缺陷2:只支持IE浏览器产生原因:项目中的远程桌面插件只支持IE,HTML+CSS对其他浏览器的hackcode做的不够。改进措施:改进HTML+css在其他浏览器下的效果。缺陷3:用户不能得到友好的错误提示产生原因:容错性的交互做的不好,代码中对错误的捕获以及给出友好提示没有做。改进措施:在代码中对可遇见的错误给出友好的界面提示。六、心得与体会时间过得很快,为期6周的实训即将接近尾声。在这6周中,每天都过得很充实,从项目需求分析,调研,进度计划的制定到UI,数据库,架构设计,然后到编码实现,进度跟踪,每个阶段的评审报告,通过规范的软件开发流程让我收益匪浅。3/5

华东交通大学软件学院软件工程实训总结报告

与以前的个人开发,想到什么做什么改变很大,也让我对软件工程这门课程有了更深的理解。我们组做的系统:远程实验室管理系统,由2组合作进行。我们主要做B/S端功能的实现,通过对HTML+CSS以及SSH框架学习,对SSH框架的环境搭建,开发流程,项目部署有了基本的了解。而且通过这个比较由难度的项目还了解了IE下远程桌面连接控件,MINA通信框架,这些都比较由意思,开拓了视野。本人在小组担任项目经理,对项目管理有了一些切身的体会,例如人员分工,如何调动每个人的积极性,让合适的人做适合的事,都是一些需要考虑周全的事。项目计划的制定,需求实现的讨论例会等看似比较繁琐的事其实在项目中起到比较重要的作用。在项目中必须以身作则,带动大家一起参与到项目中来,让项目有条不紊的进行,更让我意识到一个团队最重要的就是队员间的合作。要做一个庞大的项目不能光靠一两个人,需要每个人都去认真对待并完成分配的任务。就像一台大型的机器,发动机是核心但也需每个小零部件的配合才能运转。更让我体会到一个完整项目的开发它所要经历的阶段包括:规划和用例说明、项目结构和风险评估、业务功能说明书、详细设计说明书、代码实现、测试、操作手册。一个项目的开发所需要的财力、人力都是大量的,如果没有一个好的远景规划,对以后的开发进度会产生很大的影响,严重时导致在预定时间内不能完成该项目或者完成的项目跟原先划所要实现的项目功能不符合。一份好的项目结构、业务功能和详细设计说明书对一个项目的开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。代码的实现是一个项目开发成功与否的关键,可以说,前面所做的事情就是为代码的实现做铺垫。JAVA项目开始有很大的难度,由于没有任何java基础,开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也无济于事,通过我们小组的积极努力协作,同时请教老师和其他同学,我们顺利的化解了一道道的障碍。这让我不断的对学习技术又有了新的认识,学习中我们必须边总结边学习,开始阶段对老师交代的任何方法和类都不要放过,不管是否简单与否都要乐于地接受,因为老师肯定有他的道理,相信老师走过的路比我们长,那么其经验也就肯定比我们丰富。上课时一定要专心听讲,一个关键的知识点听漏了,可能会使一个人在课下花很多时间去消化,这样也就会花掉做其他事情的大量时间,同时也使得学习不能和老师的讲的课程同步,以至出现以后就跟不上老师讲课的进度而掉队。所以学习中我们宁可4/5

华东交通大学软件学院软件工程实训总结报告

先劳其筋骨,苦其心志,饿其体肤,也不能掉队跟不上学习进度。我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了一定的java的基础知识,并且能应用到相应的项目开发中对项目开发的一些相关文档也有了一定的了解,能顺利实现项目的需求。还有一点关于代码学习的体会,通过看人家的代码能够加快自己的学习。这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。

学生签名:年月日

5/5

扩展阅读:第四小组《Java项目实训》软件工程系实训总结报告

课程实训报告书

技能实训(课程设计)

总结报告

实训项目Java项目实训系部软件工程系指导老师朱堂勋日期201*-1-5

201*180109卢徵

20201*0071李晓辉实训报告撰写注意事项

一、报告内容至少应包括以下项目:

1、具体实训内容;2、本次实训主要目的;

3、具体日程、实训地点、同组同学、指导老师等;

4、实验操作或技能训练步骤,课程设计还应包括设计任务书、原始参数、计算说明、图纸图表、程序清单等;

5、本次实训的主要收获与体会。

二、其余如报告的具体格式、篇幅等要求,视实训课程的区别由实训任课老师或课程设计指导教师按实训大纲,用《实训指导书》或《课程设计指导书》的形式具体规定。

教务处实训中心制

课程实训报告书

一、实训名称

《编写记事本程序》

二、实训项目的目的和功能

本次实训是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于J2SE的应用系统综合实例,以掌握Java语言编程技巧。

具体要求有以下几点:

1.问题的描述与程序将要实现的具体功能。

2.程序功能实现的具体设计思路或框架,并检查流程设计。3.代码实现。

4.程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。5.设计小结。

三、实训项目的开发环境和所使用的技术

使用Java核心API技术,利用Eclipse或NetBeans、JBuilder集成开发环境完成实训项目,界面友好,代码的可维护性好,有必要的注释和相应的文档。

四、实训地点、日程、分组情况

实训地点:2栋301机房分组情况:卢徵(组长)、李晓辉日程:

第一阶段:

1.班级分组,选定课题,查阅相关资料半天2.划分模块、小组成员分工半天3利用CASE工具进行系统设计和分析,并编制源程序3天第二阶段:上机调试,修改、调试、完善系统1天第三阶段:撰写、上交课程设计报告,上交课程设计作品源程序(每人一份)1天

五、小组分工李晓辉:负责代码编写卢徵:负责程序的测试与调试

实训成绩2

评语课程实训报告书

文本编辑器的设计和实现

1实训目的

1.1实训目的

本次实训是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于J2SE的应用系统综合实例,以掌握Java语言编程技巧。

1.2实训要求

具体要求有以下几点:

1.问题的描述与程序将要实现的具体功能。

2.程序功能实现的具体设计思路或框架,并检查流程设计。3.代码实现。

4.程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。5.

设计小结。

2文本编辑器系统的分析与设计

2.1系统功能描述

通过此系统可以实现如下功能:

1、可进行文件的新建、打开、保存、编辑等基本功能。2、支持复制、剪切和粘贴操作3、可进行查找和替换操作2.2系统模块设计

根据系统自带的文档编辑器的特征设计,包括如下的功能模块:一、整体结构框架包括:菜单栏和文档编辑区

二、每个框架分别包含不同的子框架,各个模块的具体框架:

菜单栏:文件、编辑、插入、格式、工具、帮助菜单栏中各个子菜单功能

文件:新建、打开、保存、另存、退出

编辑:撤销、剪切、复制、粘贴、删除、全选、查找、替换工具:字体统计帮助:版本

课程实训报告书

子菜单功能的实现主要的几个功能介绍

1)打开与另存为:两个窗体调用系统函数直接利用,注意格式的选择2)查找:查找内容、查找、查找下一个文本编辑区

监视文本内容是否改变、监听光标所在位置2.3数据库结构设计

1.程序E-R图

文件新建打开保存另存为退出课程实训报告书

删除全选查找编辑剪切复制粘贴工具字数统计帮助版本5

课程实训报告书

3主要代码清单

3.1生成菜单栏及菜单项

在窗体初始化时,自动添加菜单及其菜单项,用于在文本编辑器中对文本去内容进行操作,使用for语句循环生成菜单栏和菜单项。

classCextendsJFrame{//在文本区域内动态显示输入字符数Stringprefix="下面的文本域里现在共有";//统计窗体字数publicC(){

setTitle(prefix+"个字符。");

finalTextAreata=newTextArea();ta.addTextListener(newTextListener(){

publicvoidtextValueChanged(TextEvente){

setTitle(prefix+ta.getText().length()+"个字符。");}});

getContentPane().add(ta);pack();

setLocation(200,200);//显示窗体大小

setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);}}

publicclassMyNotepadimplementsActionListener{

privateJFrameframe=newJFrame("我的记事本");privateJTextAreajta=newJTextArea();//文件对话框privateStringresult="";

课程实训报告书

publicvoidaddString(JTextAreajta,Stringaddstr){

intposition=jta.getCaretPosition();Stringtext=jta.getText();

text=text.substring(0,position)+addstr+text.substring(position,text.length());jta.setText(text);

jta.setCaretPosition(position);}

privatebooleanflag=true;privateFilef;

privateJButtonjb=newJButton("开始");

privateJTextFieldjtf=newJTextField(15);privateJTextFieldjt=newJTextField(15);privateJButtonjbt=newJButton("替换为");privateJButtonjba=newJButton("全部替换");

privateIconic=newImageIcon("D:\\\\java课堂笔记\\\\GUI\\\\11.gif");privateStringvalue;privateintstart=0;

privateJFramejf=newJFrame("查找");privateJFramejfc=newJFrame("替换");@SuppressWarnings("unused")

privateJFramejfc1=newJFrame("文件");@SuppressWarnings("unused")privateJFileChooserfchooser;@SuppressWarnings("unused")privateFilefile;

@SuppressWarnings("unused")

privateJCheckBoxCheckeb_bold,checkb_italic;

3.2监听事件处理

注册监听事件,当进行操作时,监听事件活得事件源并选择相应的操作,对不同的事件调用不同的函数,得到文本操作的不同结果。

publicvoidactionPerformed(ActionEvente){//单击事件处理方法,单击菜单项Stringcomm=e.getActionCommand();

if("新建".equals(comm)){

if(!(frame.getTitle().equals("新记事本"))){if(!flag){

write();newNew();

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");

intreturnVal=jfc.showDialog(null,"保存为");

7

}else{课程实训报告书

if(returnVal==JFileChooser.APPROVE_OPTION){//显示打开文

本对话框且单击“另存为”按钮f=jfc.getSelectedFile();

}

flag=false;

write();

}

}elseif(!(jta.getText().isEmpty())){

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");intreturnVal=jfc.showDialog(null,"保存为");

if(returnVal==JFileChooser.APPROVE_OPTION){//显示打开文本对话框且单

击“保存为”按钮f=jfc.getSelectedFile();

flag=false;

write();newNew();

}}else{newNew();}

}elseif("打开".equals(comm)){

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);

if(returnVal==JFileChooser.APPROVE_OPTION){//显示打开文本对话框且单击“打

f=jfc.getSelectedFile();frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

开”按钮

}

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");if(flag){

intreturnVal=jfc.showDialog(null,"保存为");

if(returnVal==JFileChooser.APPROVE_OPTION){//显示打开文本对话框且单

}elseif("保存".equals(comm)){

击“保存为”按钮f=jfc.getSelectedFile();

flag=false;

write();

}

}else{

课程实训报告书

write();

}

}elseif("另存".equals(comm)){

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");intreturnVal=jfc.showDialog(null,"另存");if(returnVal==JFileChooser.APPROVE_OPTION){f=jfc.getSelectedFile();

write();

}

}elseif("退出".equals(comm)){System.exit(0);}elseif("撤销".equals(comm)){jta.setText(value);}elseif("剪切".equals(comm)){value=jta.getText();

jta.cut();

}elseif("复制".equals(comm)){jta.copy();}elseif("粘贴".equals(comm)){value=jta.getText();

jta.paste();

}elseif("删除".equals(comm)){value=jta.getText();

jta.replaceSelection(null);}elseif("全选".equals(comm)){jta.selectAll();

}elseif("查找".equals(comm)){

value=jta.getText();

}elseif("替换".equals(comm)){value=jta.getText();

GridLayoutgl=newGridLayout(3,3);JLabeljl1=newJLabel("查找内容:");

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);if(returnVal==JFileChooser.APPROVE_OPTION){}

f=jfc.getSelectedFile();frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

课程实训报告书

JLabeljl2=newJLabel("替换为:");jfc.setLayout(gl);jfc.add(jl1);jfc.add(jtf);jfc.add(jb);jfc.add(jl2);jfc.add(jt);jfc.add(jbt);

JLabeljl3=newJLabel();JLabeljl4=newJLabel();jfc.add(jl3);jfc.add(jl4);jfc.add(jba);

jfc.setLocation(300,300);jfc.setVisible(true);

JDialogjd=newJDialog(frame,"关于对话框");jd.setSize(200,200);

JLabell=newJLabel("版本:ISBN-8778746121524571746");jd.add(l,BorderLayout.CENTER);jd.setLocation(100,200);jd.setSize(600,600);jd.setVisible(true);jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}elseif("版本".equals(comm)){

}elseif("开始".equals(comm)||"下一个".equals(comm)){Stringtemp=jtf.getText();

ints=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());jta.setSelectedTextColor(Color.GREEN);start=s+1;

jb.setText("下一个");

value=value.substring(s+temp.length());//不能截取字串}else{}

JOptionPane.showMessageDialog(jf,"查找完毕!","提示",0,ic);jf.dispose();

}elseif("替换为".equals(comm)){Stringtemp=jtf.getText();

ints=value.indexOf(temp,start);if(value.indexOf(temp,start)!=-1){

课程实训报告书

}

finalJFrameztsz=newJFrame("字体设置...");//字体设置窗口

elseif("字体".equals(comm)){

//字体

ztsz.setLocation(150,200);ztsz.setSize(500,300);

jf.setEnabled(false);//文本编辑窗体不可用!finalJComboBoxjc=newJComboBox(

GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());jc.setLocation(30,80);

}

elseif("字数统计".equals(comm)){newC();

}}

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());jta.setSelectedTextColor(Color.GREEN);start=s+1;

jta.replaceSelection(jt.getText());

JOptionPane.showMessageDialog(jf,"查找完毕!","提示",0,ic);jf.dispose();

}else{

}elseif("全部替换".equals(comm)){Stringtemp=jta.getText();

temp=temp.replaceAll(jtf.getText(),jt.getText());jta.setText(temp);

}

elseif("文件".equals(comm)){jta.requestFocusInWindow();

JFileChooserjfc=newJFileChooser("D:\\\\java课堂笔记");jfc.setDialogType(JFileChooser.OPEN_DIALOG);intreturnVal=jfc.showOpenDialog(null);

if(returnVal==JFileChooser.APPROVE_OPTION){//选择文件后再执行下面的语句f=jfc.getSelectedFile();

frame.setTitle(f.getName());result=read();flag=false;value=result;

jta.setText(result);

课程实训报告书

//字形

String[]faceString={"正常","粗体","斜体","粗斜体"};

String[]sizeString={"初号","小初","一号","小一","二号","小二","三号","小三","四号","小四","五号","小五","六号","小六","七号",Containerc=ztsz.getContentPane();JPaneljp=newJPanel();jp.add(jc,newFlowLayout());

"八号

","5","8","9","10","11","12","14","16","18","20","22","24",

"26","28","36","48","72"};

finalJComboBoxzx=newJComboBox(faceString);finalJComboBoxdx=newJComboBox(sizeString);finalJButtonsure=newJButton("确定");sure.addActionListener(this);

finalJButtoncancel=newJButton("取消");cancel.addActionListener(this);

jp.add(zx);jp.add(dx);jp.add(sure);jp.add(cancel);c.add(jp);

ztsz.setVisible(true);

if(e.getSource()=="确定"){ztsz.setDefaultCloseOperation(ztsz.EXIT_ON_CLOSE);}

if(e.getSource()=="取消"){ztsz.setDefaultCloseOperation(ztsz.EXIT_ON_CLOSE);}

}}

4程序运行与测试

4.1文本区功能测试

a)字体的显示,开始的时候不做任何操作的时候显示的默认值,通过修改字体的属性来修改

字体。

b)对文本事件进行监听,如果文本编辑窗口中如果有事件触发,关闭时能够有必要的信息提

示。

课程实训报告书

c)状态栏的可以正常显示文本的状态信息。

4.2文件菜单功能测试

课程实训报告书

文件中的功能测试:

a)通过文件字符流读取文件,创建缓冲区存储文件流。

b)当保存文件时,先判断文件是否未被保存过,如果未被保存过,则创建新文件并通过

输出流来存储文件,当文件已经保存过再对文件进行修改时,则会提示保存的消息窗体。

c)另存为是通过不同的方法来创建一个新的文件。

4.3编辑菜单功能测试

复制前粘贴后

剪切、复制、粘贴功能的实现是在注册监听事件后,对文本去的文字进行操作时,系统调用文本类本身的库函数来处理文本去的文字操作,将选中的文本读入缓冲区。然后再等待不同的操作方法的调用。4.4工具菜单功能测试

功能描述:

查找需要先生成对应的窗体,使用相应的组件类来创建窗体,使用流布局管理器来对窗体中的

课程实训报告书

各个控件进行布局,对查找和查找下一个按钮注册监听事件并编写相应的处理方法。文本去的文字使用相应的处理方法进行比较和处理,并对光标位置进行判断是否到文本末尾,使用异常处理语句捕获异常并处理。

功能描述:

使用相应的组件类来创建窗体,使用流布局管理器来对窗体中的各个控件进行布局,对替换和清空按钮注册监听事件并编写相应的处理方法。

publicStringread(){

}

publicvoidwrite(){}

publicvoidnewNew(){

frame.dispose();newMyNotepad();try{}

FileOutputStreamfos=newFileOutputStream(f);//创建字符输出流对象fos.write(jta.getText().getBytes());//向文本输入字符串fos.close();

e.printStackTrace();Stringtemp="";try{}

returntemp;

FileInputStreamfis=newFileInputStream(f.getAbsolutePath());byte[]b=newbyte[1024];while(true){}

fis.close();

e1.printStackTrace();

intnum=fis.read(b);if(num==-1)break;

temp=temp+newString(b,0,num);

}catch(Exceptione1){

}catch(Exceptione){

课程实训报告书

}}

publicMyNotepad(){

JMenuBarjmb=newJMenuBar();

String[]menuLab={"文件","编辑","插入","格式","工具","帮助"};String[][]menuItemLab={{"新建","打开","保存","另存","退出"},

{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},{"文件"},

{"字体"},{"字数统计"},{"版本"}};for(inti=0;i课程实训报告书

并发现了自己的不足之处。

在编写代码时需要的是我们的细心,因为编写代码是一个烦琐的过程,我们如果一不小心,代码就很容易出现漏词、错词已经缺词,所以我们采用了先完整的思考整个程序的步骤、思想,然后采取分工合作,一个负责代码编写,而另一个负责程序的调试。这样既节省了时间,又提高了效率。同时这样还便于两人对遇到问题时能够加以讨论共同修改。

在窗体中需要加入文本编辑区来存储文本,这就需要创建文本对象并对其进行实例化,并且在编辑菜单中还需要多个方法来实现对文本的操作和处理,比如剪切和复制,用到本身的函数来操作。对于所有的菜单和菜单项以及控件所做才操作处理都需要注册其相应的监听事件来完成,而在文件菜单中,打开的操作用到了文件的输入流,保存则用到了文本的输出流。而在打开事件中所以遇到的错误在查阅了很多资料后在得以解决,并在此过程中学到了很多老师在课程中没有讲到的知识,是自己受益匪浅,在文件菜单中的保存中,需要用if语句进行相应的判断,来执行不同的代码实现,并与相应的异常处理语句相结合来完善程序,使代码具有健壮性和灵活性,减少程序运行时错误出现。

由于时间仓促,还有许多其他的功能没有,并在已实现的功能中也有不足的地方,还需要进一步对其进行修改。再次过程中不断加深对java程序设计的认识和理解,丰富自己的知识,了解自己的不足,加强自己的理解能力和学习能力,提高自己独立解决问题的能力。Java是一门全新的计算机语言,需要自己对其全新的理解,而java的很多功能都需要在学习中去发现和理解,应用到不同的设计中去,并结合网络这个以有利工具方便自己学习java的语言和强大的编码能力,以及在以后的设计中把程序不断完善。

友情提示:本文中关于《软件工程实训(java)总结报告》给出的范例仅供您参考拓展思维使用,软件工程实训(java)总结报告:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


软件工程实训(java)总结报告
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/446152.html
相关阅读
最近更新
推荐专题