本篇博客包含了狗哥多年职业生涯对于软件项目的一丢丢理解,也讲述了对于大学生毕业设计的一些理解。如果你还是懵懵懂懂就要离开学校了,被老师告知不得不做出一套毕业设计的时候,希望你可以看到这篇博客,让你有点头绪,不再焦虑,通过这项考试。
毕业设计相关友情链接提示 |
手把手带你做一套毕业设计-征程开启 |
目录
一、 为什么要做毕业设计
1. 从小到大考试无处不在
2. 毕业设计也是一项考试
3. 通往软件开发工作的一个预习
二、软件类毕业设计包含哪些类型
1. 包含种类
2. 这些毕业设计的共通点
三、我得做成什么样才能通过
1. 毕业设计更像是一个软件外包项目
2. 如果你只想过关即可
3. 如果你想好好做
你是否有过这样的思考,我上学交钱,你教我知识,时间到了我也走社会了,你拿钱不办事啊,在这紧要关头卡着我。
其实可以发现,从小学开始,我们就不断的面临着考试。月考,期中考,期末考,小考,中考,高考。眼看大学毕业了,除了期末考,还要做毕业设计,写个论文啥的。其实你也不必惊慌,等你大学毕业了,还有会各种各样的考试,没事考个驾照,来个软考,想在职读个研究生啦,想考个教师资格证啦,身边经常有同事朋友面临这样的考试。
但如果这些你都不想参与,一旦你做了软件开发这个工作,又时常参加个面试,偶尔来个晋升答辩,时不时准备点材料跟大老板汇报点成果。无疑,这都是一项一项的考试,从小到大的考试接连不断,时常压得我们无法窜稀(chuanxi)。
可能你大学的时候学过很多门课程,多的数不过来了,我记得我当时学过C语言,还记得课本是红色封皮,谭浩强编的,后来这本书归大门口收书的商人所有了。学过单片机,带而非,数字短路,模拟短路,还有什么传感器,sqlserver,老师还让去买焊锡,电路板,让课上搞电焊。
有两件有意思的事,时常让我回忆起来。
老师希望大家可以用电路板做一个有意思的玩意儿,有个同学大伙喊他明哥,是个胖子。他的的思路是通过电路板和传感器的配合,可以感知附近烟雾的浓度,从而发出报警。老师问:我们课堂上没有烟雾,如何报警?然后只见明哥从兜里掏出一张纸,掏出烟丝袋子,开始卷烟。然后跟老师和大家说:散开。然后他就开始抽自己的卷烟,但2分钟过去了,电路板也没有报警。
还有数字电路的一次期末考试,我原本这个学期上课就摸鱼渡过的,一点也不会啊,于是我提前买通了平时爱学习的辉哥,我跟他说最后昨晚了,给我看看。他说好的。眼看离下课还有10分钟了,他把在两张纸上画的数字电路图给我看。我当时都有点不想抄了,这简直就是迷宫啊,大迷宫,超级大迷宫。
所以,毕业设计归根结底,还是一项考试。你上学的时候学了那么多知识,我们那么多优秀的老师教出来的,最后得验证一下啊。看看你所学的基础知识点,能否串联起来,做成一套系统。而且眼看大学要毕业了,他不再像小学中学那样考你单个知识点,更是希望从项目经验,从多方面的知识点结合出发,看你学的多少。
但课堂上所学毕竟有限,老师其实教的也有限,甚至有的老师都没做过几个软件项目。所以,更体现了那句师傅领进门,修行在个人。而且据我观察,其实日常可以来csdn平台学一学,发一些学习记录博客的已经算是很上进的开发同学了。但数百万的大学生,不知道有多少人,到快毕业了,都不知道自己的毕业了该去做什么,可能他也在疑惑,我毕业了是不是得去修冰箱,得去当电焊工;也有那么一些同学,眼看要毕业了,学了好几年的java,连一个java类都写不出来,他甚至不知道外面的java开发是什么样子的。但是他知道的也很多,CS如何蹲下再挑起别人打不着,DNF去哪里找外挂不会被和谐,打王者如何可以快速组团冲星耀。如此之下,拿到毕业设计需求的时候,不一脸懵是不可能的。
说的再直白点,就是衔接。现在从小孩子开始就有各种衔接,还没上幼儿园呢,就有衔接班告诉家长,你的孩子得参加我们的训练,要不上了幼儿园没法融入集体;还没上完幼儿园呢,又有衔接班告诉家长,现在的幼儿园啥也不教就是玩,你得参加我们的活动训练,让他更好的融入小学期间的学习。
所以,毕业设计项目,如果你准备将来做软件开发这个职业,我建议你重视起来。他就像是从大学所学基础知识,再到参加软件开发工作的一个衔接,也更像是老师在让你提前预习功课,以便更好的去应对后续的实习工作,要不你连个项目都没开发过,去了真实公司软件团队,干啥都是一脸懵,结果可想而知。
结合往届软件工程专业我遇到的毕业设计和今年有小伙伴跟我讲述的毕业设计需求,大概我汇总了那么一些,看你是否有类似的情况。
我汇总了几类吧,那么多学校,那么多老师,肯定不止这些,但后边我会总结一下这些系统的共通点。
比如汽车租赁类的,需求要求可以管理平台录入当前可租赁汽车信息,C端用户看到消息可进行租赁;
比如图书馆里系统,管理员可在管理平台录入图书信息,C端学生用户可以进行借阅;
比如网盘项目,管理员可以在管理平台上传文件,供C端用户下载;
比如在线招标系统,管理员在管理平台录入标的信息,C端用户可以提交申请;
比如访客咨询,知识管理,民宿网站,在线问卷,等等等等吧。
说共通点之前,有个小知识点。web1.0呢,网页最大的特点是只读,意思就是我们所看见的网页基本没什么交互,你就看新闻,浏览内容就好了。到了web2.0最大的特点呢,就是可交互性。意思就是你不仅可以看,还能交互。所以,更应该朝着这个可交互的方向去搞我们的毕业设计。
要说共通点,我举几个例子。这些毕业设计需求虽然看上去五花八门,但几乎都包含用户相关的,意思就是系统想和用户做交互,所以他们都有登录注册相关;都涉及到录入,列表,查看,删除,C端用户都需要去看列表信息,查询信息,而且最后对信息有一个评论之类的功能;都有管理员平台可以对C端用户进行管理,例如管理他们的账号,管理他们的申请。
其实如果实现了这3大块的主要功能,其余的就都是周边小功能点了,再看你的网站做的是否养眼,功能流程是否通顺,有没有bug,基本就算通过了。
我们现在很多人其实已经达成了一个共识,那就是60分的美妙。60分都一分则肥胖,少一分则瘦弱。60分是最美好的味道,味道这个东西只能闻却不能想,只有你再次闻到才能想起他的全部意蕴。
老师最初在拟定毕业设计需求的时候,其实希望同学们都可以重视起来,根据自己所学,再努力挖掘一下自己的潜力,做出一个非常优秀的项目。就像多年来的软件外包公司一样,甲方找到多一个乙方外包公司,希望他们可以战胜竞品,给自己做出最棒的项目。结果每个外包公司的销售人员都非常卖力,最后甲方终于敲定了一家外包公司。甲方本想要一件华丽大棉袄,但多数乙方给搞出一件袖珍小背心。
其实我们所看到的每一个市面上优秀的软件产品,无一不是一个团队众多人,长年累月,熬夜改进,不断精进修改,重复打磨的结果,所以这也就是外包公司的弊端之一,大多数都是一锤子买卖,项目做出来他还得赶紧做下一个呢,哪有功夫在这儿跟你打磨。
如果你只想通过这项考试,那也无可厚非,一个软件公司打磨一个软件项目都是非常难得,我们做为一个未出茅庐的学生,自己一个人做出一整个项目,能做出来已经非常不错了。
如果你只是想着把毕业设计这项考试通过,如果你毕业了不想再从事软件开发工作,如果你还有更紧急的事情要做,或者说你根本就很抗拒这件事。那么我觉得你能够和同学协作着搞出一套毕业设计,功能做完,流程顺畅,没有太多问题,就可以了。毕竟想把一个软件产品做好是一件不容易的事情,实在不行买一套,这也无可厚非。
因为可能还有更多重要的事情等着你,你是否准备考研,你是否在精心准备公考,你是否准备毕业后赶紧去从事其他职业,觉得做这个软件项目就是在浪费时间,你是否在精心准备着约好的面试。
如果你真的想毕业后从事软件开发工作,如果你想把这个毕业设计做为一个参加工作前的练手项目,如果你想在参加工作后更加的熟练,我真的建议你好好重视一下这个毕业设计项目。
其实说的直白一些,软件开发大多数时候就是那么些翻来覆去的工作,如果每个人每天都感觉我好难,我遇到的问题好难,那你一定是在走上坡路,一定是在飞速成长。
所以,好好的读一下老师下发的需求,请教一些大佬自己该如何下手,自己该如何搭建项目架构,自己的代码该如何下手,如何封装组件,如何使用第三方库,如何将第三方插件去自己实现,这些都是自己该重视起来的。
因为自己一个人的确是难以把控服务端和前端所有内容,可以考虑和同学协作开发,开发完了另一个人再根据自己的需求进行修改。
当然,也可以跟着狗哥和天哥的专栏一步一步往下敲。做完是第一任务,自己每一步是如何做的,为什么这么做,可以讲清楚是第二任务,如果自己还能提出一些见解,自己可以举一反三的去实现,那么我相信你将会是企业需要的那个开发小伙伴。