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

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

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

今天我就以我曾经的的毕业设计为例(我这个案例是基于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 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

Hadoop离线数据分析平台实战——420订单分析Hadoop离线数据分析平台实战——420订单分析

Hadoop离线数据分析平台实战——420订单分析 项目进度 模块名称 完成情况 用户基本信息分析(MR)� 完成 浏览器信息分析(MR) 完...

2906
来自专栏Golang语言社区

简单实用的网游服务器架构 - GameRes游戏新闻网

简单实用的网游服务器架构 此文并不是聚润堂所在公司当前运营的网游游戏服务器架构,而是在看过了近十个商业网游的架构,在现阶段心目中规划的简单实用的网游服务器架...

3015
来自专栏java一日一条

为什么我要写自己的框架?

其实说白了框架就是使用别人造好的轮子。在软件开发里面就是command+C/command+V。

601
来自专栏iOSDevLog

github 合集Top 3集合列表原文:https://github.com/collections

2887
来自专栏程序员互动联盟

【编程基础】 linux基础入门--linux为何物?

接触linux是在大二的时候,那时候迷上了嵌入式linux,把电脑换成了linux系统,学习linux基础知识,学习linux命令,学习shell,泡论坛,就这...

34514
来自专栏大数据钻研

为什么整个互联网行业都缺前端工程师?

现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,上市公司乃至巨头,这个问题也一样存在。没错,优秀的前端工程师简直比大熊猫还稀少。 每天,100o...

2735
来自专栏Golang语言社区

简单实用的网游服务器架构 - GameRes游戏新闻网

简单实用的网游服务器架构 此文并不是聚润堂所在公司当前运营的网游游戏服务器架构,而是在看过了近十个商业网游的架构,在现阶段心目中规划的简单实用的网游服务器架...

2587
来自专栏WebHub

我与Linux野史

我,Um..,目前还在读这个pathetic的网络工程,但是关于什么是计算机什么是软件技术,在读大学以前我对这些概念是一无所知的, 因为从小到大接触电脑的时间都...

672
来自专栏BeJavaGod

Netty+MUI从零打造一个仿微信的高性能聊天项目,兼容iPhone/iPad/安卓

要说到微信,我相信是个人都应该知道,几乎人人都会安装这款社交APP吧,它已经成为了我们生活中不可缺少的一份子。

1141
来自专栏数据和云

Oracle DBaaS服务三月推出

最近收到 Oracle Server Technologies 部门的邮件,邀请加入Oracle DBaaS服务队列。自去年OOW宣布将推出该平台以来,这是最新...

2575

扫码关注云+社区