又是一年一度毕业季,前阵子经常有一些师弟来问我,毕设选题应该怎么选,毕业论文应该怎么写,感觉大家都挺迷茫的,那我就跟大家稍微分享一下我自己的经验吧。首先声明,此文章针对小白,为那些没有写过论文并且不知道如何下手的同学,大神莫喷哈。关于计算机基础薄弱的同学如何快速的写一篇毕业论文,我个人的建议是:做工程性的毕业设计和论文,别选算法类型的论文,并不是因为算法文章不好水过去,其实算法的文章也非常好水过去,但是有风险,当你做的非常水的时候,例如直接从github摘抄一个算法然后把算法的公式哔哩吧啦讲了一遍,老师都是一眼就看明白的,他想放过你可以让你过,但是假设他心情不好或者跟你关系一般想要为难你,那就比较难搞了。而且选一个算法方向的毕业设计并且水过去的话,对你本身来说是没有任何帮助的。那选择工程性的毕业设计和论文有什么好处呢?真的可以学的到东西,对于大部分想找开发岗位的同学的就业来说也是有帮助了。文章比较好写,逻辑非常明确,不用担心凑不到字数。说了这么多,下面就来讲如何写一篇关于计算机的论文(工程性的设计)。首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个“XX系统的设计与开发”,这样的选题就是符合我们前面的假设和预想的。盘他!假设我现在选了一个题目是“基于SSM的XX网上商城的设计与开发”。选完题目就面临着一个问题:是先做开发还是先写文章,或者是一边写一边开发。我的建议是一边写一边开发。原因是:开发的过程是需要写一些文案的,比如需求分析、数据库的表结构的关系、整个系统的交互逻辑等等。而这些文案是可以出现在我们的论文当中的。那接下来就说一下如何开发和写文论,当然某些开发过程我只能粗略的说一下。摘要:这是所有论文的第一个小title,说他恶心有时候也恶心,说他简单也是蛮简单的。那么这一部分究竟是要写什么的?由于这一部分需要展现出做这个系统的必要性、开发这个系统的实现方式、系统的功能和系统的作用。所以可以这样写:随着中国经济的高速发展以及网络技术的普及,互联网的技术得到全面的发展,中国的各行各业都在互联网的影响下发生了变革。互联网的快速发展催生了许多产业,其中最具代表性的便是电子商务,电子商务使得企业和客户的营销关系由实体店销售准换为网络电子商务营销。马云曾说:“让天底下没有难做的生意”,越来越多的店家选择在网上开店,使得交易不再限制于天南地北,同时也大大降低了店家的经营成本,在提高收益的同时,也方便了客户,本课题正式在这种背景下应运而生。本课题介绍了“基于SSM的XX网上商城”的开发环境、需求分析、界面设计和数据库设计以及涉及到的框架。本系统采用了B/S架构,使用了Java、HTML、JS等语言,使用了主流的后台开发框架SSM(spring+springMVC+Mybatis),以及采用了开源的轻量级数据库Mysql进行开发,为网络商城提供了前端展示和后台管理的模块,实现了注册、登录以及购物等主要功能,为消费者提供了便捷快速的购物体验,以及为提高了店家的销售效率。关键字:网上商城,SSM,Java,HTML,JS,MySQL(关键字一般就是把摘要中提及到的关键性技术提取出来,让阅读者一目了然,知道哪些是重点)Abstract:(英文摘要建议谷歌翻译,然后把明显错误的地方修改一下即可)第一章:引言这一部分也是比虚的,其实随便扯一扯就可以了,一般包含以下几部分背景研究内容。其中背景主要讲一些关于社会发展的趋势导致了一些什么问题,而这些问题又应该如何去解决,多说几句,写到两三百字即可。研究内容就是针对上述的背景我们如何进行改进。细心的同学可能会说,感觉跟摘要有些重复。是的!这两部分内容其实是挺重复的,但是没关系,不过不要使用完完全全一样的话去描述,因为最后论文查重的时候会对文章自引用进行查重的。这一部分也是三五百字即可。第二章:系统的开发技术介绍这一部分是需要我们在正式开发之前做好的技术调研,然后对这一部分的技术进行详细的介绍。这一部分我不可能细讲,因为内容太多了,而且对于不同的项目有不同的内容,在查阅资料的过程也是提升技术的一个重要的环节,你可以真真切切的了解到开发一个工程是需要哪方面的知识,因此我就对我所选的这个课题应该使用到的技术栈进行一下介绍,也算是抛砖引玉,各位同学可以根据自己的实际情况进行撰写。开发不同的系统虽然涉及到的业务逻辑不同,处理方式也千差万别,但是本质上都是一样的,都是前端界面通过服务器跟数据库进行数据交互的一个过程,涉及到的内容也无非就是前端、后台和服务器。但是有一个需要注意的点,就是不要把HTML、JAVA等使用的语言介绍也给堆在这里,老师没细看还好,细看还是会显得太水字数了,记住,写工程性的课题不怕没字数。那问题来了,语言介绍不给写那应该些什么呢?应该写涉及到的框架、使用的工具。这些就够了,随随便便就几千字了。下面举例简单说明一下。 前端强调一下,不要把HTML、CSS等一下前端的规范展开来写,可以轻描淡写,但篇幅不能过多。这里可以写前端框架的使用,比如使用npm管理包(可以介绍一下npm以及在工程中的使用)、vue的使用(同样可以介绍vue框架以及应用)、element(element以及使用他的好处)等等。也希望同学在做毕设的过程中要真的去了解这些技术并且去使用它,相信我,看完再去用你的技术会有质的飞跃。 后台这一部分是重点,对于本课题来说,标题就写了是基于SSM的。对于这个java框架并不熟悉的同学来说建议先去查一下资料,而且很多同学会有疑问,使用技术框架的目的就是为了让开发更加的便捷和快速,但是为什么我们自己在开发的过程中会感觉好像变得更加复杂?很负责任的告诉你,是正常的。因为框架不仅会帮我们封装好一些常用的方法,而且会考虑到更新迭代以及代码可读性等等的一系列的问题,某些规定和配置我们之所以没有感受到他的好处是因为这种校园内的开发并不涉及生产问题,也不会有很多的更新迭代,更加不会考虑到代码的可读性。例如spring的工厂,一开始使用的时候很多同学会觉得为什么我new一个类的时候还要去改配置文件,直接new不香吗?直接new是很香,但是你考虑到真正去工作的时候,假设你要改类的一些关系的时候,还要去改代码,当工程一大,代码去哪里找呢?一个一个文件看吗?显然是非常不可取的,效率非常低,这个时候配置文件的优势就发挥出来了,直接修改配置文件,不需要更改代码,耦合性也大大的降低。好像跑题了,说了这么多就告诉同学们,要沉住气,理解框架这样设计背后的原因,对大家自身技术的提高非常的有帮助!那这一部分我们就可以介绍spring(包括spring的IOC、spring的工厂、spring的AOP等等,并且可以在论文中强调如何应用到我们的系统当中)、springMVC(这一部分可以讲解srpingMVC作为一个连接前端和数据库的工具在实际工作过程中的具体流程,也可以讲述springMVC的分层的概念以及如何应用)、Mybatis(包括跟JDBC的关系、mybatis依赖的配置、使用到的接口、动态代理、一级缓存和二级缓存以及延迟加载等等的一些技术问题) 服务器和数据库这一部分可以介绍一下用来搭建服务器的工具和所使用的数据库。假设你是使用了云服务器来搭建了,可以详细介绍一下云服务器的搭建过程包括防火墙、端口等等内容。一般服务器使用tomcat进行搭建,可以把tomcat介绍一下并且介绍一下tomcat是如何监听和解析用户请求的具体流程。一般小型的项目采用MySQL作为数据库,可以详细说一下选择MySQL的原因,比如相对于Oracle的好处。可以介绍一下MySQL数据库的一些特点包括分页、是否支持事务等等。第三章:需求分析这一部分是针对具体的业务场景来分析需要开发哪些功能,这一部分可以让你感受一下产品经理的职责,只不过不需要跟程序员对接,因为你自己就是程序员哈哈。一般来说分成两部分就可以了,一部分是对于前端的业务流程,另一部分就是后台服务器的业务流程,可以使用一些软件来绘画流程图,想图个方便可以直接使用word自带的图形进行编写,也不至于难看,就比较简约。想做的好看点的话个人推荐使用xmind,非常简单,可以快速做出美观的流程图。如果没有什么思路,那前端就按照着使用者的逻辑去写,比如用户需要注册、登录、找回密码、购物、退货等操作,那后端就对应着这些前端逻辑需要有相应的业务处理。个人感觉这一部分比较好写,就不再赘述。第四章:系统的设计和实现这一部分可以挑选一些有代表性的功能出来细讲,有些同学可能会有疑问,论文可不可以贴代码呢?答案是可以的。但是我个人的建议是贴伪代码,不要把你写的长篇大论的代码全部放进去,不好看而且逻辑混乱,应该做的是把代码抽取为伪代码,贴代码的目的是为了让阅读者清晰地读懂你是如何实现这个功能的,他并不会在意你的语法你的命名。下面列举若干个可以写的内容,并不限于此。 SSM框架的整合。如何使用Spring来整合并且管理SpringMVC和M 客户登录状态保存的实现。这一部分可能会涉及到cookies,sessions以及http报文解析等等,都可以详解。 后台商品管理的功能。这一部分可以根据管理员的后台管理功能进行描写。 商品搜索功能。可以涉及到数据库的模糊搜索。 数据库表格的设计。可以体现数据库表格设计的时候如何遵守三范式。 可以写在开发过程中遇到的一些疑难杂症。 可以写开发过程中使用到的一些比较具有亮点的语言特性。比如java的多线程、lambda表达式。又比如实现注册功能的时候使用的正则表达式。……等等数不胜数。第五章:运行结果这一部分非常好写了。截取一些关于你的系统的界面并且介绍一下功能,尽量说详细点,就ok了。第六章:总结以及展望这一部分也是比较水的一部分,但是也希望同学们认真写一写。可以写一下你开发这个项目的过程中学习到了什么,可以是XX技术,也可以是艰苦奋斗的精神……。展望可以写有望发展成另外一个淘宝……开玩笑开玩笑,总之劈里啪啦凑个几百字即可。参考文献把你开发过程中参考过的文章、论文贴进去之后,往往会发现参考文献不够,太少了!那怎么办呢?那就贴一些关于使用的技术的文章或者参考手册咯,虽然大部分是没看过的,但是还是希望大家可以多少看一看(正义之气跃然纸上)。去知网查找参考文章然后添加到你的参考文献是非常方便的,只需要找到对应的文章并且选择“引用”功能,即可自动生成引用的文字,直接复制到你的论文中。致谢第一步,感谢你的导师,感谢你的院领导,感谢你的校领导。说的好听后可能答辩的时候不会太为难你……然后你要感谢你的家人你的舍友你的朋友或者是你家的狗(开玩笑),都可以的,这一部分又轻轻松松两百字。至此,一篇论文就写完了,是不是觉得挺简单的呢?呸!简单个鬼,明明就这么多字,还要看这么多资料,还要自己写代码。确实,要认真完成不是一件简单的事情。但是我前面强调过了,这是针对那些基础一般但是想学东西的同学。当你独自完成这个课题后,你会发现自己的东西简直太多太多了。而且春招即将来临,许多问题在你面试的过程中也会遇到,而且也不至于跟面试官说我什么项目都没做过……