A. 如何写计算机专业的毕业论文
学术堂手把手得来教你如何写出一篇计算机专业的毕业论文:
首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个"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和Mybatis.
b. 客户登录状态保存的实现.这一部分可能会涉及到cookies,sessions以及http报文解析等等,都可以详解.
c. 后台商品管理的功能.这一部分可以根据管理员的后台管理功能进行描写.
d. 商品搜索功能.可以涉及到数据库的模糊搜索.
e. 数据库表格的设计.可以体现数据库表格设计的时候如何遵守三范式.
f. 可以写在开发过程中遇到的一些疑难杂症.
g. 可以写开发过程中使用到的一些比较具有亮点的语言特性.比如java的多线程、lambda表达式.又比如实现注册功能的时候使用的正则表达式.
……
等等数不胜数.
6.第五章:运行结果
这一部分非常好写了.截取一些关于你的系统的界面并且介绍一下功能,尽量说详细点,就ok了.
7.第六章:总结以及展望
这一部分也是比较水的一部分,但是也希望同学们认真写一写.可以写一下你开发这个项目的过程中学习到了什么,可以是XX技术,也可以是艰苦奋斗的精神…….展望可以写有望发展成另外一个淘宝……开玩笑开玩笑,总之劈里啪啦凑个几百字即可.
8.参考文献
把你开发过程中参考过的文章、论文贴进去之后,往往会发现参考文献不够,太少了!那怎么办呢?那就贴一些关于使用的技术的文章或者参考手册咯,虽然大部分是没看过的,但是还是希望大家可以多少看一看(正义之气跃然纸上).去知网查找参考文章然后添加到你的参考文献是非常方便的,只需要找到对应的文章并且选择"引用"功能,即可自动生成引用的文字,直接复制到你的论文中.
9.致谢
第一步,感谢你的导师,感谢你的院领导,感谢你的校领导.说的好听后可能答辩的时候不会太为难你……然后你要感谢你的家人你的舍友你的朋友或者是你家的狗(开玩笑),都可以的,这一部分又轻轻松松两百字.
B. java面向对象思想如何理解
从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
它可以有不同层次的理解:
从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。
从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。
从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
面向对象
面向对象(Object
Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object
Oriented
Analysis),面向对象的设计(OOD,Object
Oriented
Design)、以及我们经常说的面向对象的编程实现(OOP,Object
Oriented
Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。