计算机专业毕业设计指导

来源:互联网 发布:gpu与matlab混合编程 编辑:程序博客网 时间:2024/05/16 11:55


计算机专业毕业设计指导[2016]

刘培强(2016)

0前言软件就是个焦油坑

史前史中,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。大型软件就是个焦油坑,我们需要有足够的智慧和足够的方法对处理它。为了处理这个大焦油坑,我们需要团队合作,我们需要有力的、规范的设计方式、方法。

1关于分组团结就是力量

【注:如果是几个人组成一个小组,完面一介项目,请参考此小节】

团队合作(team work)对于软件开发来讲是必要的、必要的。在毕业设计中要锻炼学生的合作精神,当然要尽力团队中个别人的懒隋的滋生,一方面要告学生的自觉,另一方面的是要有相关的制度消除懒惰存在土壤,如要求学生在文档中详细确定的指出分工情况,如在项目计划(Project schedule)和程序计划(Program schedule)中指明分工情况。如下表所示:

Project schedule

Schedule

Estimate

Actual

Team Members

Starting date

Dec 20th 2008

Dec 22nd 2008

Which one, which one…

...

...

...

..

    

建议每四个学生一组,每组推举组长(team leader)一名,组长负责项目(project)的组织管理(the leader guide the whole team),组中的每一个成员,都要学会团队合做(…learn to howwork with the team);每个项目组指导教师(supervisor)一名。项目的来源可以是指导教师给,也可以是学生商议后自定。

2主要参资料要善于站在巨人的肩膀上

  • 数据结构
  • 面向对象技术
  • 数据库
  • 软件工程
  • 操作系统

以上几本书是是做毕业设计时的重要参考资料。当然也要参考其他资料。

3关于调研巧妇难做无米之炊

如果对项目所涉及的业务,如业务流程、业务数据等不熟悉,不可能做出一个好的软件来。要熟悉现实生活(real life)中要做的项目倒底是如何运转的。调研是熟悉业务的必要过程。学生对所做项目的内容可能不十分了解,因此,在做设计之前,应该做详细的调研。调研可以是直接的(direct)也可以是间接的(in direct),直接的包括与相关企业的相关工作人员的交谈(interview)或是用email与其交流,获取相关的业务流程。

4论文的结构真把式是要会说()

从整体看,象是软件的文档,但不完全等同于文档,一定要体现出“设计”二字来。

4.1所用到基本知识的讲解水有源,树有根

讲解项目来源、项目所用到的基本知识、所选开发环境(C++C#Java)的原因、优点等。

4.2系统设计不要说外行话

写论文,切记不要讲外行话。什么是内行话呀?内行话就是指术语要标准确,图表要规范,遵循相应的标准。举个例子:先前的毕业生的论文中经常见到物件导向这个术语,这术语的英文原词是” Object Oriented”,在大陆一般译作面向对象,显然用物件导向是不恰当的。

系统设计中的分析(analysing)可以用两种范式来写:DFDData Flow Diagram)或UMLOOD)。

DFD参见SAD chapter 2,3,4。画DFD时注意从top level(顶层)level 1, level 2的逐层的展开及对应。要注意其中的任务分解(break down),分解要恰当。下图是一个例子。

OOD:参见SAD chapter 4OOD chapter 14UML主要有12种图(diagram),分静态图和动态图两种。在做毕业设计时,主要用其中的四种就可以了,当然如果能用到其它的图进行描述更好了,前提是要用的恰当。四种主要的UML图:

  • 类图,class diagram
  • 序列图,Sequence diagram
  • 用例图,Use case diagram
  • 状态图,Stat diagram

4.3数据库设计

如果项目中用到了数据库,可以用简单的access或是oracleSQL Server等大型数据库。在设计时要遵循范式要求,一般到第三范式就很好了(needed to develop)。可以用ER图表述数据库。

4.4关于软件的使用再努力一下吧,系统毕竟是交给用户用的

【此部分简写即可】

用户(user)对你的系统一无所知,需要写用户指导手册帮助用户使用系统。

其中包括所需要的软硬件运和环境,如何安装、配置等

4.5其它做软件真不是一件轻而易举的事

其它的还有

  • 软件测试,
  • 软件局限性,学生还不是一个职业(professional)软件开发人员,局限在所难免。

一个好的论文(good documentation),要图表清晰美观,格式良好。这不但可以给论文增色,关键是可以得到加分。同样的一篇论文内容如果是80分,那么图表清晰美观,格式良好的论文,可能最终分是85分。

5项目/软件计划(schedule三思而后行

能不能不思而行,或是行后再思,当然可以,不果,N多前辈的实践告诉我们,不思而行的结果是:软件真得变成了焦油坑,你变了焦油坑中的恐龙、猛犸象、剑齿虎,再回顾下前言吧。如果你要选择变成焦油坑中的恐龙、猛犸象、剑齿虎,是件比做出一个好的毕业设容易多的事。你自己选择啦。

6最后的答辩会做会说的才是真把式

会说不会做的是假把式,会做不会说的是哑把式,会做会说的才是真把式。在公司做事的人都真道,如何向上司report是很重要的事情。学生要学会如何表达自己的思想(how to present their topic),把自己做的东西清晰准确的表达出来。

 

7.不要出现在如下情况。
(1)论文,程序明显是copy来的。
(2)
论文,程序类同。
(3)
虽然论文较好,但组中某成员的工作量太小,几乎没做什么,此成员可能会被关。
(4)
论文中有太多明显的错误。这样的错误例子:拿历史当现在,如讲386计算机或是VB6如何如何。
(5)
论文,程序太简单。只用了三、五个库表;库表间没有联系;库表设计不符合范式;对库表的操作只是简单的取出、编辑、保存,连基本的查询都没有。论文是否简单的一个标准是论文及程序是否对得起近半年的工作量。
(6)
不能熟练使用所选的开发工具(包括所用的数据库)。象是程序编写与调试,数据库表的建立,SQL语句等。
(7)
对自己所使用的程序开发范型知之甚少,如程序用C++Java编程,却不知继承是何物。
(8)
从程序中找一段代码,不会做正确的准确的分析。
(9)
不能应答辩老师的要求改代码以达到某效果.
(10)
答辩时,回答不上问题,答非所问。


0 0
原创粉丝点击