又到了一年毕业季,小刘(化名)又在挑灯夜战,期待自己的毕业论文顺利通过指导教师、评阅教师、答辩组老师的审阅,自己能够顺利毕业。但指导教师一遍一遍对自己的论文做着修改,小刘改论文改的头晕脑胀。
看到他写论文这么的辛苦,顺其自然【起这个名字就是希望能够顺其自然、顺顺利利的毕业】就做一些总结工作,抛砖引玉,希望和小刘初次写作毕业论文的同学们能够少走弯路、少犯一些错误,轻松愉快的完成毕业论文(设计)、通过毕业答辩。
论文选题应该选择自己熟悉的语言来实现一个系统、一个大系统中的子系统、一个算法、算法的优化等等。
1.实现一个系统:例如图书馆管理系统、销售订单管理系统等等。
2.一个大系统中的子系统:例如基于SpringBoot的智能家居系统web端的设计与开发、基于Hadoop的智能交通大数据分析子系统等等。
3.一个算法:基于××的图像去雾算法、基于××的智能人脸识别等等(一般院校本科生如果没有在实验室深入学习过、科研积累不深不建议选择)
4.算法的优化:例如某同学对语音识别率提高了0.1个百分点这种也可以写。
摘要重点论述自己设计的背景、自己的工作、用到的技术,基本是三段式(也有两段式)。
关键词以摘要中出现的论文相关的词,范围由大到小写,基本写三个左右。
例如论文题目是基于Spring技术的图书馆管理系统,关键词可能就是如下:管理系统;图书馆;Spring
摘要论文内容不加注释和评论的简短陈述,是一篇完整的短文,是全文的精华,是对一项科学研究工作或技术实践的总结,对研究目的、方法和研究结果的概括。它应具有独立性和自含性,即不阅读论文的全文,就能获得必要的信息。
字数一般300字左右,以第三人称过去式来论述。
前言主要写自己的研究综述,提出自己论文的研究范围和研究观点以及本论文的主要内容组成。
写一写自己主要使用了哪些技术与工具,与其它技术和工具比较起来有什么优点,对自己使用的技术做详细描述。
例如自己使用Spring做的系统,会说一说java的spring和SSH、php、vc#.net的区别,卫视么会使用Spring来完成自己的设计,他有什么优点巴拉巴拉。最后讲一讲自己用的spring版本、tomcat版本、mysql版本、idea版本等等。
自己这个设计开发的背景是什么,做一个阐述。比如名称为“多多在线商城”,商城开发的背景是什么,“多多”的含义是什么,可能是能卖出去很多很多,或者能很方便的买入很多很多:)
可行性主要指的是经济可行性、技术可行性、操作可行性,这三个可行性是本科论文查重时最容易重复的地方。
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
当落笔想写需求分析的时候,却突然发现关于需求分析部分大家的理解、最后的实现是五花八门,逼得顺其自然有上网一顿学习,最后发现还是要落地到结构化分析和面向对象的分析上。
浅谈软件需求建模中对结构化分析和面向对象分析做了说明,觉得挺好的,同学们为了顺利毕业建议好好看看,免得老师答辩时对你一顿问。
结构化分析包含3层建模:数据建模(ER图)、功能建模(DFD图)以及行为建模(STD图)。同学们的论文里常常会看到的是ER图和DFD图(可能是受软件设计师的影响吧)。
面向对象分析包含3层建模:结构建模(类图、构件图、部署图)、行为建模(活动图)和功能建模(用例图)。
讲述一下自己系统的功能性需求,常见的一个MIS、CRM系统至少要有前台、后台管理模块吧,需要登录、注册吧。如果是商城,买家需要购买商品、对购物车进行整理(商品的添加、删除),后台商铺用户需要发货、与买家沟通商品的问题、统计自己的利润等,管理员可以对商铺用户、买家进行管理等,这些都要在功能性需求部分做出描述。
对功能性需求、非功能性需求如何实现的要详细的写一写,一个论文里对系统需求分析、系统设计这两章所占的篇幅是有明确要求的,至少2/3及以上,如果论文正文是40页,这两章需要多少,小刘可要算清楚了。这里也是最能够看出学生工作量是否饱满的地方。
小刘最简单的想法就是一个图、一句话,把注册、登录、订单管理、后台管理各个功能模块就写完了,长出一口气,“我的论文写完了”。轻松愉快的发给了指导老师,指导老师看了论文,扫到了系统设计部分,一看一个图、一句话,二话不说,直接又发给了小刘。“小刘同学啊,你的论文系统设计部分不合格啊,太简单了。仅仅一句话一个图是不能参加答辩的,就是参加也无法通过”。小刘直接一脸懵,“好的,老师,我再重新修改。。。”:(
同学们请注意,如果论文一个图、一句话就能搞定的话,那计算机相关专业还有什么好学的,是不是会计专业、英语专业也能随随便便就写出来了。自己的实现部分仅能算作产品使用说明书好么。
对相关的功能模块做些类的说明、类中方法的说明、时序图的调用与使用方法的说明、活动图的说明,这些都可以写嘛,轻轻松松N多页就出来了。
例如商城通过微信支付模块吧,自己的系统想想如何进行支付的,支付之前的界面是什么样子【截个图】,支付时是什么样子【截个图】,支付成功是什么样子【截个图】,支付失败是什么样子【截个图】,同学们发现没有,随随便便四个图出来了。你还会觉得系统设计(实现)部分没什么写的么?
软件测试方案网上是有模板的,小刘想偷懒写了用户登录、用户注册测试了一下,写了都通过以为就没事了,指导教师有拎着这个测试的问题好好批评了小刘一顿,测试要完整,主要功能都要测试到,要看着前面的需求进行测试才可以。
结束语是对自己的论文设计最后做出的总结与展望,主要写自己的设计使用什么技术或者方法、完成了什么功能(总结);自己的系统还有哪些可以完善的地方(自己的设计别浪费,可以完善的地方就是学弟、学妹应该继续深入研究的方向)。
例如:
总结:自己设计了一个新型的图书管理系统,这个系统目前采用了最新的Spring相关技术做的微服务、前端vue做到了前后端分离,实现了图书借阅功能、图书查询功能、××功能(巴拉巴拉一大堆功能)。
展望:学妹学弟们可以继续完成微信小程序端的开发做到微信中图书借阅、查询等功能。
写在文章的最后,小刘在论文写作的过程中得到了自己宿舍好友、自己的发小、自己的老师的指导,回忆这个过程感慨良多,在这里就对自己有帮助的同学、好友、老师等表示一下谢意。
致谢要写的诚恳、语句得体,夸张用语不要太多,张老师也不要谢成李老师,不然张老师也是挺郁闷的。。。
面向过程程序设计方法(结构化方法):
结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP),我们平时见到的程序流程图就是结构化程序设计中的内容。
面向对象程序设计方法:
1.毕业论文摘要、前言、结论、致谢辞的写法
2.百度百科:需求分析
3.浅谈软件需求建模
4.面向对象需求分析方法实践
5.软件工程专业毕业设计指导规范(面向对象)
6.结构化分析与面向对象分析的区别
7.软件测试方案模板