一切一切…网上搜搜…给我分吧…回答者: 不知道吧哈哈哈 - 高级魔法师 七级 5-11 08:53这个不知道吧哈哈哈就是垃圾厚脸皮跟人家要分
你可以到七七计算机毕业论文的毕业设计题目列表中找一份。有完整的论文和源码等,很详细
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)
目 录一、概要设计……………………………………………………………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
四、政府知识管理系统实例分析 下面以由苏州欧索软件公司开发的“Bluten政府知识管理平台”③为主导,结合北京俊和在线网络科技有限公司的知识管理系统④作实例分析,这两家公司的政府知识管理系统基本上可以代表当前我国政府知识管理系统的现状。 经过归纳可以得到“Bluten政府知识管理平台”主要功能模块及特点是: 第一个主模块是政务中心,这是系统的主导功能,下设五个子功能: 一是公文管理(发文、收文、档案管理),特点是支持语音录入、手写录入,能实现收发公文流程的自由设置和流程监控;二是事务管理(人事办公事务和财务事务),特点是能够规范和固化行政办公流程,实现各项事务的自助处理;三是日程管理(有多种方式,如邮件提醒、短消息提醒、BP机提醒、电话提醒),特点是按日、周、月显示日程,并可对日程进行公布、存储、查询;四是会议管理(会议室管理、会议通知管理),特点是能与日程管理紧密联系,可进行会议提醒,可进行会议纪要管理;五是邮件管理(电子邮件收发、扩展Web访问)。 第二个主模块是资源中心,下设以下五个子功能:新闻发布、公告发布、政策法规办事指南、其他信息(包括各种交通信息及其共享信息)。第三个主模块是管理中心,能实现无线应用、消息提醒、流程自定义、图形化设计工具、多组织结构、流程监控分析、自定义表单、用户管理、图形化的用户权限管理等功能。 “Bluten政府知识管理平台”代表了当前大部分电子政务管理软件的主要功能。但是,应当说它的政府知识获取、传播共享、利用测评功能不够充分,基本上可以说还是一种办公管理,偏重于政务管理,而不是知识管理和公共服务。 相比之下,俊和在线的一站式电子政务应用解决方案除了具备上表所列的欧索软件中的大部分功能以外,还突出了知识管理功能。该方案基于门户系统与内容管理、虚拟网站集群,以及中间件平台等支撑系统的整合而成,包括“一站式”所必须具备的单点登录、统一认证、应用分布、虚拟站点集群、集中管理功能,同时还包括门户服务通常应具备的搜索引擎、消息引擎、个性化展现、知识导航、应用集成等功能。 从该方案的“一站式信息门户”有“消息沟通”模块,包括分类论坛、在线交流、在线聊天、在线调查、信访管理等功能;“一站式协同办公”平台的办公应用层中的特别有一个“办公协作平台”模块,其中有信息发布、数据文档共享、视频会议、论坛服务、远程办公等功能。事务管理模块中还有“辅助决策”功能等,在此都体现了知识管理的特征。 从上文提出的政府知识管理系统的三大功能需求,到俊和在线的知识管理系统这一阶段,政府的知识管理系统已经取得了很大进展:如知识门户开始形成、协同办公成效显著。但这些系统大多还只是停留在知识的简单获取、传播和利用阶段,需要加强的知识管理功能还有很多:隐性知识的获取难度仍然较大,需要引入适当的激励机制激发共享;知识交流的过程基本上还是在对知识的外化,真正内化的很少;对知识培训、推送考虑的也不多;知识贡献较少;也没有良好的知识测评机制。综上所述,当前已有的政府知识管理系统与从理论上设计的理想需求模型还有差距,在实践中,系统设计人员可以参考知识管理的功能需求,从公务员的个人知识管理做起,培养知识分享和交流的组织文化,培育实践社区,确定办公领域中的关键知识,重视信息门户的知识沉淀,并结合实际情况设计出适合政府的知识管理系统,培养政府创新能力。 ①以外促内,内强则外优——政府、公共事业单位知 识管理的导入.http://www.amteam.org/static/54235.hnn1. [访问日期:2007—2—3】 ② 刘武,朱明富.构建知识管理系统的探讨.计算机应用研究.2002(4):35—37. ③ 苏州欧索软件公司.Bluten知识平台解决方案.http://www.oceanso~:.com.cn/document/knowledge.doc. 【访问日期:2006-12-10】 ④北京俊和在线网络科技有限公司.成功方案:一站式电子政务应用解决方案.http://www.wits.com.cn/wits/news/news_show.asp?id=94&kind= 公司动态&trade=政府信息化.【访问日期:2007—3—9】
基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件基于C++的即时通信软件设计 毕业论文+项目源码
哈哈,又是我的一个小学弟
我的论文题目是 基于hnc的智能搜索引擎的设计
比你的要难,你的信息检索很好做的啊,是我其中的一个小小的部分,链一个简单的数据库就可以了啊,呵呵
毕业论文要求很多,很难写的,网上是没的下,只能自己写,就算下载了你也不能用,因为如果有雷同,你就别想拿学位了
看到你的消息了,但是我不能使用消息,被封了。
我想帮你写是不太可能,因为毕业论文起码要6000字以上,内容覆盖也很广,恐怕没时间帮你写。而且就算你用我写的,到时候答辩很可能挂,因为你都不知道里面的相关知识。所以你还是自己写,多查些资料,你论文内容和我以前的比较相近,有问题问我,我回答就可以了。
(new MenuItem("剪切"));//,new MenuShortcut()));
学术堂手把手得来教你如何写出一篇计算机专业的毕业论文:首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个"XX系统的设计与开发",这样的选题就是符合我们前面的假设和预想的.盘他!假设我现在选了一个题目是"基于SSM的XX网上商城的设计与开发".选完题目就面临着一个问题:是先做开发还是先写文章,或者是一边写一边开发.我的建议是一边写一边开发.原因是:开发的过程是需要写一些文案的,比如需求分析、数据库的表结构的关系、整个系统的交互逻辑等等.而这些文案是可以出现在我们的论文当中的.那接下来就说一下如何开发和写文论,当然某些开发过程我只能粗略的说一下.1.摘要:这是所有论文的第一个小title,说他恶心有时候也恶心,说他简单也是蛮简单的.那么这一部分究竟是要写什么的?由于这一部分需要展现出做这个系统的必要性、开发这个系统的实现方式、系统的功能和系统的作用.所以可以这样写:?随着中国经济的高速发展以及网络技术的普及,互联网的技术得到全面的发展,中国的各行各业都在互联网的影响下发生了变革.互联网的快速发展催生了许多产业,其中最具代表性的便是电子商务,电子商务使得企业和客户的营销关系由实体店销售准换为网络电子商务营销.马云曾说:"让天底下没有难做的生意",越来越多的店家选择在网上开店,使得交易不再限制于天南地北,同时也大大降低了店家的经营成本,在提高收益的同时,也方便了客户,本课题正式在这种背景下应运而生.本课题介绍了"基于SSM的XX网上商城"的开发环境、需求分析、界面设计和数据库设计以及涉及到的框架.本系统采用了B/S架构,使用了Java、HTML、JS等语言,使用了主流的后台开发框架SSM(spring+springMVC+Mybatis),以及采用了开源的轻量级数据库Mysql进行开发,为网络商城提供了前端展示和后台管理的模块,实现了注册、登录以及购物等主要功能,为消费者提供了便捷快速的购物体验,以及为提高了店家的销售效率.关键字:网上商城,SSM,Java,HTML,JS,MySQL(关键字一般就是把摘要中提及到的关键性技术提取出来,让阅读者一目了然,知道哪些是重点)Abstract:......(英文摘要建议谷歌翻译,然后把明显错误的地方修改一下即可)2.第一章:引言这一部分也是比虚的,其实随便扯一扯就可以了,一般包含以下几部分1.背景2.研究内容.其中背景主要讲一些关于社会发展的趋势导致了一些什么问题,而这些问题又应该如何去解决,多说几句,写到两三百字即可.研究内容就是针对上述的背景我们如何进行改进.细心的同学可能会说,感觉跟摘要有些重复.是的!这两部分内容其实是挺重复的,但是没关系,不过不要使用完完全全一样的话去描述,因为最后论文查重的时候会对文章自引用进行查重的.这一部分也是三五百字即可.3.第二章:系统的开发技术介绍这一部分是需要我们在正式开发之前做好的技术调研,然后对这一部分的技术进行详细的介绍.这一部分我不可能细讲,因为内容太多了,而且对于不同的项目有不同的内容,在查阅资料的过程也是提升技术的一个重要的环节,你可以真真切切的了解到开发一个工程是需要哪方面的知识,因此我就对我所选的这个课题应该使用到的技术栈进行一下介绍,也算是抛砖引玉,各位同学可以根据自己的实际情况进行撰写.开发不同的系统虽然涉及到的业务逻辑不同,处理方式也千差万别,但是本质上都是一样的,都是前端界面通过服务器跟数据库进行数据交互的一个过程,涉及到的内容也无非就是前端、后台和服务器.但是有一个需要注意的点,就是不要把HTML、JAVA等使用的语言介绍也给堆在这里,老师没细看还好,细看还是会显得太水字数了,记住,写工程性的课题不怕没字数.那问题来了,语言介绍不给写那应该些什么呢?应该写涉及到的框架、使用的工具.这些就够了,随随便便就几千字了.下面举例简单说明一下.a. 前端强调一下,不要把HTML、CSS等一下前端的规范展开来写,可以轻描淡写,但篇幅不能过多.这里可以写前端框架的使用,比如使用npm管理包(可以介绍一下npm以及在工程中的使用)、vue的使用(同样可以介绍vue框架以及应用)、element(element以及使用他的好处)等等.也希望同学在做毕设的过程中要真的去了解这些技术并且去使用它,相信我,看完再去用你的技术会有质的飞跃.b. 后台这一部分是重点,对于本课题来说,标题就写了是基于SSM的.对于这个java框架并不熟悉的同学来说建议先去查一下资料,而且很多同学会有疑问,使用技术框架的目的就是为了让开发更加的便捷和快速,但是为什么我们自己在开发的过程中会感觉好像变得更加复杂?很负责任的告诉你,是正常的.因为框架不仅会帮我们封装好一些常用的方法,而且会考虑到更新迭代以及代码可读性等等的一系列的问题,某些规定和配置我们之所以没有感受到他的好处是因为这种校园内的开发并不涉及生产问题,也不会有很多的更新迭代,更加不会考虑到代码的可读性.例如spring的工厂,一开始使用的时候很多同学会觉得为什么我new一个类的时候还要去改配置文件,直接new不香吗?直接new是很香,但是你考虑到真正去工作的时候,假设你要改类的一些关系的时候,还要去改代码,当工程一大,代码去哪里找呢?一个一个文件看吗?显然是非常不可取的,效率非常低,这个时候配置文件的优势就发挥出来了,直接修改配置文件,不需要更改代码,耦合性也大大的降低.好像跑题了,说了这么多就告诉同学们,要沉住气,理解框架这样设计背后的原因,对大家自身技术的提高非常的有帮助!那这一部分我们就可以介绍spring(包括spring的IOC、spring的工厂、spring的AOP等等,并且可以在论文中强调如何应用到我们的系统当中)、springMVC(这一部分可以讲解srpingMVC作为一个连接前端和数据库的工具在实际工作过程中的具体流程,也可以讲述springMVC的分层的概念以及如何应用)、Mybatis(包括跟JDBC的关系、mybatis依赖的配置、使用到的接口、动态代理、一级缓存和二级缓存以及延迟加载等等的一些技术问题)c. 服务器和数据库这一部分可以介绍一下用来搭建服务器的工具和所使用的数据库.假设你是使用了云服务器来搭建了,可以详细介绍一下云服务器的搭建过程包括防火墙、端口等等内容.一般服务器使用tomcat进行搭建,可以把tomcat介绍一下并且介绍一下tomcat是如何监听和解析用户请求的具体流程.一般小型的项目采用MySQL作为数据库,可以详细说一下选择MySQL的原因,比如相对于Oracle的好处.可以介绍一下MySQL数据库的一些特点包括分页、是否支持事务等等.4.第三章:需求分析这一部分是针对具体的业务场景来分析需要开发哪些功能,这一部分可以让你感受一下产品经理的职责,只不过不需要跟程序员对接,因为你自己就是程序员哈哈.一般来说分成两部分就可以了,一部分是对于前端的业务流程,另一部分就是后台服务器的业务流程,可以使用一些软件来绘画流程图,想图个方便可以直接使用word自带的图形进行编写,也不至于难看,就比较简约.想做的好看点的话个人推荐使用xmind,非常简单,可以快速做出美观的流程图.如果没有什么思路,那前端就按照着使用者的逻辑去写,比如用户需要注册、登录、找回密码、购物、退货等操作,那后端就对应着这些前端逻辑需要有相应的业务处理.个人感觉这一部分比较好写,就不再赘述.5.第四章:系统的设计和实现这一部分可以挑选一些有代表性的功能出来细讲,有些同学可能会有疑问,论文可不可以贴代码呢?答案是可以的.但是我个人的建议是贴伪代码,不要把你写的长篇大论的代码全部放进去,不好看而且逻辑混乱,应该做的是把代码抽取为伪代码,贴代码的目的是为了让阅读者清晰地读懂你是如何实现这个功能的,他并不会在意你的语法你的命名.下面列举若干个可以写的内容,并不限于此.a. SSM框架的整合.如何使用Spring来整合并且管理SpringMVC和. 客户登录状态保存的实现.这一部分可能会涉及到cookies,sessions以及http报文解析等等,都可以详解.c. 后台商品管理的功能.这一部分可以根据管理员的后台管理功能进行描写.d. 商品搜索功能.可以涉及到数据库的模糊搜索.e. 数据库表格的设计.可以体现数据库表格设计的时候如何遵守三范式.f. 可以写在开发过程中遇到的一些疑难杂症.g. 可以写开发过程中使用到的一些比较具有亮点的语言特性.比如java的多线程、lambda表达式.又比如实现注册功能的时候使用的正则表达式.……等等数不胜数.6.第五章:运行结果这一部分非常好写了.截取一些关于你的系统的界面并且介绍一下功能,尽量说详细点,就ok了.7.第六章:总结以及展望这一部分也是比较水的一部分,但是也希望同学们认真写一写.可以写一下你开发这个项目的过程中学习到了什么,可以是XX技术,也可以是艰苦奋斗的精神…….展望可以写有望发展成另外一个淘宝……开玩笑开玩笑,总之劈里啪啦凑个几百字即可.8.参考文献把你开发过程中参考过的文章、论文贴进去之后,往往会发现参考文献不够,太少了!那怎么办呢?那就贴一些关于使用的技术的文章或者参考手册咯,虽然大部分是没看过的,但是还是希望大家可以多少看一看(正义之气跃然纸上).去知网查找参考文章然后添加到你的参考文献是非常方便的,只需要找到对应的文章并且选择"引用"功能,即可自动生成引用的文字,直接复制到你的论文中.9.致谢第一步,感谢你的导师,感谢你的院领导,感谢你的校领导.说的好听后可能答辩的时候不会太为难你……然后你要感谢你的家人你的舍友你的朋友或者是你家的狗(开玩笑),都可以的,这一部分又轻轻松松两百字.
这其实并不难,首先在设计题目时,不要过于笼统广泛,要多从自身的角度出发,要结合你们当前所处的生活环境、城市等进行思考,从中找出其中一个点进行扩展,千万不要涉及的太大,那样就没有突出点。然后就是在确定要做具体点的时候,还要在自己的设计中添加一个相对新颖的功能,最重要还是要和你的导师多走动走动,商量你自己设计的项目,寻求一些比较擅长的同学的帮助,实在搞不定的时候,就只能找别人代做了,但你要先了解行情,避免自己踩坑,详情可以找六月雪毕业设计咨询,那里的质量都是不错的
327 浏览 6 回答
344 浏览 6 回答
187 浏览 9 回答
232 浏览 2 回答
321 浏览 9 回答
350 浏览 3 回答
178 浏览 3 回答
343 浏览 4 回答
352 浏览 3 回答
157 浏览 4 回答
325 浏览 9 回答
155 浏览 8 回答
271 浏览 10 回答
169 浏览 6 回答
261 浏览 6 回答