学校在线二手交易平台-服务器模块(本科生毕业设计)

今天给大家介绍一下毕业设计是如何从无到有规划设计出来的。

对于这个过程我不会介绍某个具体的技术应用,而是会从总体的思路层面上面给大家总得分析介绍一下。

今天我就以我曾经的的毕业设计为例(我这个案例是基于B/S的学校在线二手交易平台-服务器模块),给大家介绍这个流程具体过程是怎么样的,希望能给大家一些启发。

学校做毕业的毕业设计肯定没有公司那么正规,一般以实现功能为主,在系统的安全、稳定性方面肯定不是特别好。不过这些都没关系,毕竟大家可能能力有限做不出那么尽善尽美,这也是情有可原的嘛。但是这肯定不能成为大家不去实现目标的理由,我们再做毕业设计之前就应该要有这样的精神。尽自己所能,尽可能能把自己的项目做得完美一点。所谓的完美可以从这几个方面来实现:界面精美、系统功能接近于真实的情况、系统稳定不容易崩溃,所用技术先进追随技术潮流等等之类的。

1.首先每个毕业设计都有一个选题,这个选题可是是学校老师提供的,也可以是自己提出来的。例如向我的选题就是学校在线二手交易平台-服务器模块(本科生毕业设计),从题目中就可以看出来这个毕业设计主要是一款基于B/S的后台管理系统。

2.在选题确定下来的时候,就会有毕业设计需要完成的功能需求了。当然这个功能需求你可以和老师们沟通,不然就有可能发生功能需求过于庞大导致自己完成不了的情况。因为大学的老师并不是很了解每个学生的个人能力是怎么样的,他们会以一个平均的水平来衡量每个同学。

这里给大家看一下我的需求说明:

3.需求出来之后就要根据需求说明来设计数据库,设计数据库包括数据库的表,表中字段,字段的具体属性等等之类的。建议大家可以在这个流程中多花点时间研究数据库到底要如何设计才算合理,是否要遵循数据库三大设计范式之类的问题。

这里我想给大家一些建议:

1.数据库设计不一定要完全遵守三大范式,有时候也要考虑采用反范式的数据库设计。

2.表中关联关系一定要搞明白,到底是一对多、多对一、一对一、多对多这四种的哪一种。然后在维护这些关联关系的时候是采用数据库本身去维护还是利用代码去维护好这些关联关系。这些都是要好好考虑的。

3.数据库中表的名称一定要根据具体需求来命名,字段也是一样的,要根据具体的需求来设计合理的字段以及字段的范围。

4.刚开始不要过分的纠结一些并发所导致的问题,例如时数据冗余,脏数据,幻读之类的问题。这些问题可以先不要太过分的去考虑,因为在开发的过程中很少会遇到,就算遇到的时候在去考虑,也不会有太大的问题。

在数据库设计完之后就要将数据库的ER图画出来,使数据库的设计能够图形化的显示出来,下面是我项目中的ER图:

4.数据库设计完之后就要将项目的界面原型设计出来。界面原型设计这就要根据大家的想象力来设计了,在满足功能需求的前提下,将界面设计更加人性化。在设计界面原型的时候一般要根据这几点来:

1.项目的主题是什么类型的,就用什么 类型的主题颜色。

2.左侧菜单栏目要分几级,或者菜单打开关闭的规则是什么。

3.数据报表展示的时候要用什么样的形式,是否分页之类的。

4.表单要如何设计才能更加符合主题,更加人性化之类的。

对于毕业设计的界面原型大家可以不用自己从零开始搭建实现,因为这样确实不太现实,不仅花时间而且结果也不会很好看。大家可以去网上找一些模板,然后对模板进行修改。这种方法是最高效而且也是最实用的,当然如果你界面设计能力很强的话,那还是自己设计比较完美。下面看看我的项目的界面原型:

6.界面设计完之后就要考虑使用什么框架来实现这个功能了,这里具体使用一般设计文档里面都有要求。不过每个项目都有设计难点或者技术难点之类的,这也是整个项目的亮点。所以我建议大家在开发前尽量多想想自己这个项目的亮点到底有哪些,这些亮点我需要什么技术来实现,这些亮点做的好的话就可以用来区分优秀和一般的项目了。这里我介绍一下我项目中的亮点以及这些亮点实现的具体技术:

1.项目具备全文搜索功能,采用Lucene技术实现。

2.项目具备邮件发送接收的功能,采用James邮件服务器实现。

3.项目具备报表功能,采用百度的EChart技术实现。

加入这些亮点技术,明显可以使项目光环增加,为毕业项目增加一定的分数。但是一定要在自己力所能及的基础上面进行,不要天马行空的设计技术难点。一定是要那种可以在规定的时间内实现的那种技术亮点,否则之后给人一种浮夸的感觉。

7.接下来就是系统实现了,毕业设计不仅仅是完成一个可运行的项目就可以了,还需要编写各种文档、画各种各样图文之类的。这里一般会有:类图、时序图、用例图、系统流程图等等之类的。

8.以上都准备完之后就可以开始正式进行编码了,这个过程其实是最累人的,当然也是最重要的。因为这个过程是真正考验你技术的一个模块,像毕业设计一般会全面的考验一个学生的综合能力。例如项目的总体设计就可以考验学生的系统设计能力,功能的具体实现就可以考验学生对SQL命令的熟悉程度等等之类的。这个流程我建议大家不要投机取巧,尽量一步步完成。不懂的可以问问老师同学,或者上网查询都可以。

这样一个总的流程就基本走一遍了,当然大家在实际应用的时候肯定不仅仅只有这些过程。这些过程只是个大概的范围,具体在完成过程中肯定不仅仅只有这些过程,肯定还有很多细小的地方。例如:选用什么编程工具,选择什么语言进行开发,选择什么框架进行开发等等之类的。这些就需要大家自己去决定了,我这里只是将我完成的过程中一些流程和一些意见给大家介绍一下,希望能给大家一些启发。

如果大家想要项目源代码+项目讲解PPT+毕业论文+各种技术文档+项目运行视频介绍等等之类的,可以加我微信:qiang220316

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

架构的演进,阿里资深Java工程师表述架构的腐化之谜

新技术层出不穷。过去十年时间里,我们经历了许多激动人心的新技术,包括那些新的框架、语言、平台、编程模型等等。这些新技术极大地改善了开发人员的工作环境,缩短了产品...

41310
来自专栏ThoughtWorks

我们真的缺前端工程师吗? | TW洞见

今日洞见 文章作者来自ThoughtWorks:邱俊涛。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或...

35914
来自专栏SEO

「思考」5个方面解析什么是百度眼中的优质内容

31212
来自专栏游戏杂谈

推荐ThinkJS

之前在学习node.js时,写过一些例子和demo,偶尔也会有人发email问我node.js的一些问题。因为是二三年前写的东西,当时使用的第三方库和node....

632
来自专栏WeTest质量开放平台团队的专栏

WeTest-玩转手游自动化测试

目前针对普通APP应用的自动化测试已经有很多,并且Android4.1版本后也已经支持UIAutomator,可以做自动化测试。还有比较成熟的开源自动化框架Ro...

692
来自专栏互联网数据官iCDO

Facebook广告的15种优化方法

译者:吕东昊 审校:董梁 本文长度为4359字,预估阅读时间8分钟。 我们今天要向大家介绍的是Facebook广告的15种优化方法 Facebook广告对您来...

4234
来自专栏钱塘大数据

【推荐阅读】顶尖数据工程师的五种思维模式

《THe Effective Engineer》的作者Edmond Lau采访了很多硅谷顶级科技公司的顶尖软件工程师。他发现这些给世界带来巨大影响的的工程师们至...

3327
来自专栏企鹅号快讯

成为好程序员必须避免的5个坏习惯

当你开始成为一个程序员的时候,在编程的时候很容易陷入下面所述的一些坏习惯。 作为一名程序员,犯错误不可避免,这是你学习编程课程中的一部分。在你的职业生涯中你会犯...

1655
来自专栏ytkah

微信公开课发布微信官方教程:教你用好微信JS-SDK接口

微信公众平台开放JS-SDK(微信内网页开发工具包),说明文档已经有相关使用方法和示例了,很多同学觉得不是很直观,为此微信公开课发布微信官方教程:教你用好微信...

2584
来自专栏张善友的专栏

怎样维护成功的开源项目

开源可不仅仅是将代码扔到网上就万事大吉了,将开源项目变成能让自己引以为豪的东西才算成功。那么,你需要注意哪些方面呢? 写好指导性文字 每一个开源项目有三样东西是...

1758

扫码关注云+社区