计算机专业毕业设计论文文档格式.docx
《计算机专业毕业设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业设计论文文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
对象方法 方法方法 对象
方法方法
方法方法
对象
1-2面向对象的程序设计
本软件的开发就使用面向对象的方法。
1.3软件的开发方法
面向对象的方法经由系统分析、设计和试验等阶段,遵从软件生命周期的规律。
所谓软件的生命周期是指一个软件从它的发生到其消亡的过程。
以下是利用生命周期法开发软件的各个阶段的具体内容:
(1)系统规划阶段:
其主要任务是明确软件开发的请求,并进行初步的调查,通过可行性研究确定下一阶段的实施。
可行性分析的任务是确定项目开发是否必要和可行。
也就是要对问题定义阶段中所提出的问题进行分析,以决定所提出的问题是否有“可行”的解。
所谓可行,首先在技术上要可行,即现有技术能否解决所提出的问题;
其次是经济上可行,即用户能否支付实施项目所需要的费用,项目建成后能否取得预期的经济效益;
最后进行操作上和法律上的可行性研究。
综合这些方面的论证,最终决定是否实施该项目。
当然,这项工作就是建立在初步调查的基础上。
(2)用户需求分析阶段:
在这个阶段中,就是了解用户的需求,准确的确定用户需要的功能,明确为了实现这些功能,需要哪些处理,需要处理什么数据;
需要存储哪些数据文件;
得到哪些信息;
输入输出数据的格式以及有关处理的具体算法等。
此外需要找出为了实现既定功能所需要的约束条件,典型的约束为成本约束和时间约束。
另一个重要任务是要规定系统的生效准则,规定在目标系统建成后验收目标系统的一些原则以及具体的验收方法等。
具体工作包括:
1详细调查
其具体的调查内容包括:
清楚当前市面上现存的背单词工具所具备的功能和实现方法,了解使用者在使用过程中存在的问题和希望使用的功能。
2提出新系统的逻辑设计
系统分析结束时,应完成系统分析报告,交上级审批.系统分析报告是系统设计的依据,是与用户交流的工具,是应用软件的重要组成部分。
其内容包括:
原系统分析部分、新系统逻辑模型、新系统信息量的估计。
(3)系统设计阶段:
其任务是在系统分析的基础上,按照逻辑模型的要求,科学合理地进行系统的总体设计和具体的物理设计,为下一阶段的系统实施提供必要的技术资料。
具体分为:
总体设计阶段和详细设计阶段。
1总体设计阶段:
这个阶段中的主要任务是得到一个能够实现用户需求的理想的系统结构。
所谓理想的结构指的是:
能够实现需求阶段中规定的功能;
系统容易设计和实现;
系统易于维护。
设计内容包括划分子系统、设计规范制定、数据流程图设计、功能结构图设计、系统物理配置方案设计。
2详细设计阶段:
在这个阶段中的任务是进行系统所需要的数据结构设计和数据库的物理设计。
输入输出设计、编写程序模块设计说明书。
系统设计工作结束后,要提交系统设计报告。
若系统设计被审查批准,整个系统开发工作便进入系统实施阶段。
(4)系统实施阶段:
这是软件系统的实现阶段,要进行模块编码和模块测试。
模块测试又称为单元测试。
模块编码要严格按详细设计阶段开发的模块逻辑进行。
模块程序设计完成之后,应经过严格的测试。
程序测试应该采用科学的方法。
主要是黑盒法和白盒法进行测试,从而尽可能多地发现模块中错误,并加以改正。
把经过彻底测试的模块组装起来形成需要的应用系统。
再进行集成测试,采用的是黑盒测试方法,集成的方法可采用自顶向下集成或自底向上集成,或者二者结合的方法。
(5)维护阶段:
主要包括改正性维护、适应性维护和完善性维护:
改正性维护是改正程序中所遗漏的错误,保证用户程序能正常运行;
完善性维护是增加程序的功能以满足用户的进一步需求;
适应性维护是当用户改变硬件或软件支持环境时,满足程序需要的修改工作。
维护阶段是一个非常重要的阶段,维护工作的好坏直接影响到用户的满意程度[6]。
1.4系统开发环境的选取
根据软件所要完成的功能和结合当前情况,我选择了Java语言。
Java语言诞生于1991年,是由SUNMicroSystem公司的JameGosling,BillJoe等人为在电视、控制烤面包箱等家用电子产品上进行交互式操作而开发的一个名为Oak的软件,1995年下半年正式以Java这个名字推出,并引起轰动[2]。
Java语言是一种完全的面向对象的编程语言。
在Java语言中,对象是表现事物,消息传递是事物间的相互关系,类和继承分别是相似行为对象的抽象和类之间的关系,方法是允许作用于类对象上的各种操作。
面向对象程序设计有三个基本的特征:
封装(Encapsulation)、继承(Inheritance)与多态(Polymorphism)[2]。
所谓封装,就是用一个自主式框架把对象的数据和方法连在一起形成一个整体。
可以说,对象是支持封装的手段,是封装的基本单位。
Java语言的封装性较强,因为Java无全程变量,无主方法,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。
而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。
多态性就是多种表现形式,具体来说,可以用一个对外接口,多个内在实现“方法”表示。
继承是指一个对象直接使用另一对象的属性和方法。
Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承超类的属性和方法。
与另外一些面向对象编程语言不同,Java只支持单一继承。
作为一种计算机语言,Java相当的优秀,最为显著的优点是它与平台无关,同样的代码可以不用改动就可以在各种软硬件平台上运行。
这种平台无关性对于开发Internet应用程序来说是非常重要的。
Java有以下基本特点:
简单性:
“我们用Java来设计应用系统时,程序员不需要非常专业的训练,并且这种语言应该和当前所流行的技术一致,因此,虽然我们发现C++并不是这样的语言,但Java还是被设计成为尽可能和C++类似。
只有这样Java才易于理解。
我们将C++中那些很少使用、难于理解以及令人迷惑的东西去掉形成Java,这些被去掉的C++特性在我们看来,带来的好处远不如它们可能造成的痛苦。
”——《Java语言白皮书》
面向对象:
分布式:
分布式包括数据分布和操作分布。
数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。
强健性:
Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。
Java虽然源于C++,但它消除了许多C++的不可靠因素,可以防止许多编程错误。
安全性:
一种编程语言,尤其是网络编程语言,与跨平台性随之而来的还有另一大特性:
安全性。
在网络上,如果网络语言不十分可靠,极有可能被人有意或无意地造成恶果。
为防止利用Java程序攻击其他人的系统,Java主要的编译和运行时系统中采取了防护措施,为Java代码筑起了两道坚实的防护屏障。
跨平台:
所谓跨平台,就是指应用程序与计算机系统硬件结构的无关性,更直观的说就是用Java编写的应用程序不和修改就可在不同的软硬件平台同样的运行。
可移植性:
同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。
解释方式执行:
Java字节码可以在任何装有Java解释器的机器上直接执行。
高效率:
“虽然字节码的运行效率通常已经能够满足应用要求,但还有一些要求很高运行效率的场合,在这些情况下,字节码可以‘即时’地被翻译为特定宿主机的机器码。
多线程:
Java语言的多线程机制使应用程序能够并发执行,而且,它的同步机制保证了对共享数据的正确操作,
动态可扩充性:
Java的设计使它适合于一个不断发展的环境。
在类库中可以自由地加入新的方法和实例变量而不会影响应用程序的执行。
并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。
Java的众多优点,使我对它产生了浓厚的兴趣,让我觉得不去学习它是不行的。
也许编写工具软件并不能完全体现Java语言的优势,但我想通过此次实践走进Java。
“工欲善其事,必先利其器”,使用合适的工具是提高软件开发效率的重要途径。
Java的开发工具分成三大类,分别为:
文本编辑器、Web开发工具和集成开发工具[8]。
我采用的是美国Borland公司推出的可视化集成开发工具——JBuilder,以及文本编辑工具——UltraEdit。
Jbuilder是目前使用最广泛的Java开发工具之一,支持开发人员构建标准的Java应用系统。
其开放的环境、丰富的Java开发向导和基于组件的开发方式,极大地简化了开发人员的工作,使得开发更为快捷和简便,加快了项目的进度。
数据库方面采用MicrosoftAccess,Access功能足够强大,足以应付一般的数据管理及处理需要,而且它易于掌握。
采用Windows200中文版作为开发、测试和运行的平台。
硬件选择IntelPentiumⅡ,256内存,40G硬盘等。
第二章 系统规划
2.1软件开发中的主要问题
凡事预则立,不预则废。
科学的规划对于任何需要经过较长时间努力才能实现的事情都是非常重要的。
规划,一般是指对较长时期的活动进行总体的、全面的计划。
作为一个背单词的工具,是一名英语学习者学习的助手。
而无论是谁,习惯一旦养成就不容易改变使用背单词工具也是一样,选择好了,在之后很长一段时间之内也不会更换。
所以说如何使使用者能使用的方便、舒服,并且真正实现“助手”的含义就是重中之重。
考虑到学习者的水平不同,要求掌握的单词级别也就不同,所以就要有词库选择的功能;
考虑到避免重复练习的问题,所以就要有改变单词出现次序和记录不同用户的测试进度的功能;
考虑到要有反馈练习成效的问题,所以就要有测试的功能;
考虑到要有单词查找的问题,所以就要有字典的功能;
考虑到不可能将所有单词都收录到库中,所以就要有词库维护的功能,另外还需要加设一些听力方面的辅助功能。
在现存的一些背单词软件中,往往对以上问题考虑的或多或少有一些欠缺,其中一个主要原因就是人们更多地关心软件的经济效益,用很多花俏的东西代替了切实有用的功能,而对于使用者的需求又了解过少,对于软件的具体方案考虑较少,对总体方案与发展战略问题不够重视。
总之,软件开发中,往往缺乏科学的、有效的系统规划。
2.2软件开发目标
力求实现一个小巧精悍的绿色英语单词辅助记忆软件。
拥有一定的信息量,软件功能具有人性化,可以设定单词浏览速度的自动浏览,又可手动浏览;
按照正序/逆序/随机/默认浏览记忆;
随时查找单词和进行测试;
能够播放听力文件;
可以进行词库维护,使其成为您背诵英语单词的“利器”。
世界上有许多难事,但是没有完成不了的难事,背单词就是其中的一种,只要努力,人定胜天,人生终将辉煌!
第三章系统分析
3.1系统的初步调查
系统的初步调查是系统分析阶段的第一项活动,初步调查阶段的主要目标是从分析人员的角度看新项目开发有无必要和可能。
初步调查的内容包括两方面:
调查内容和分析内容。
前者包括调查有关工作的信息,包括主要输入、主要输出、主要处理功能;
后者主要分析现有什么,需要什么、在现有资源下能提供什么、此项目有无必要和可能进一步的调查与开发。
本软件开发的初步调查采用的主要方式是与英语学习者(包括使用和未使用过背单词工具的)进行交流,把握第一手资料。
经过初步调查了解到,现在很多学习者还停留在“字典—纸—笔”的古老背单词方式上,用书写次数来达到记住的目的,这种方式不但花的功夫多,而且收效还不好,可以说是事倍功半。
而那些现在正在使用计算机背单词的学习者,从不同方面反映了他们在使用背单词工具中所存在的问题,总觉得在不同程度上不够理想。
现存背单词软件的主要问题包括:
有些设计的过于繁琐,难于操作,并不实用或是使用起来不够灵活;
有些则又过于简单,不能满足使用者的需求,比如说单词从头到尾,顺序固定,即不能变换次序又不能分级别记忆,反来复去总是记开头那么几个;
测试功能不够健全,无法真正检测使用者的学习情况等等。
所以说,各方面的人,都需要一个切实好用的英语背单词工具,提高英语学习效率。
3.2系统的可行性分析
可行性研究是以相对短的时间和相对低的成本来确定给定的问题是否有解。
这里相对短和相对低是指和实现建议系统所需时间和成本相比较而言。
可行性研究主要从下述4个方面进行研究:
技术可行性、经济可行性、操作可行性和调度可行性[5]。
(1)技术可行性:
技术可行性的考虑集中在现存的计算机硬件能否支持被研究的系统,首先关心的是该组织是否有相应的软件和硬件能够支持处理建议的应用程序。
其次考虑在规定平台之上,利用现有的成熟技术是否能够实现这个应用。
现代计算机硬、软件技术的飞速发展,为系统建设提供了技术条件。
计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了坚实基础。
(2)经济可行性:
这是经典的并且是最常使用的评价计算机系统的方法。
这个评价的结果称为成本/效益分析。
简单地说,经济可行性研究是确定得自新系统的节省和利益,将这些利益和系统的实现成本相比较,如果利益超过成本,则开发新系统的决策是肯定的;
否则的话,除非有其他特殊原因,这个决策将是否定的。
本软件的实现是作为考核学生学习情况的手段,不存在经济可行性的问题。
(3)操作可行性:
是指人员的手工操作而不是指计算机系统操作是否可行,也就是说在实现了建议的计算机系统后,所需要的配合的手工操作是否可行。
作为新时代的学生,几乎人人都具备计算机的基本操作能力,而本软件的使用又十分简单方便,所以具备操作可行性。
(4)调度可行性:
指的是建议的计算机系统能否在规定的期限内交付给用户。
基于本软件,经过上述的分析,可以在规定的期限内完成。
除了上面讨论的4个方面的可行性论证,有些产品的开发可能会涉及现存法律方面的问题,即需要进行法律可行性论证。
从当前情况来看,本软件的开发是可行的。
3.3对现存软件的研究
对现存软件进行详细研究是了解系统需求和进行系统分析与设计的重要基础工作,因此要进行全面、细致而充分的研究。
通过研究,发现现存背单词工具各自存在以上一点或几点问题:
(1)单词一起存放,不能根据不同层次的用户选择词库;
(2)单词练习方式单一;
(3)没有单词测试功能,或测试功能不全面;
(4)没有记录用户个人信息的功能;
(5)没有单词查询的功能;
(6)无法向库中添加单词;
通过分析,可以看出这些问题,都是需要进行改进的。
3.4新系统逻辑方案的提出
建议的计算机系统是基于现存软件之上建立的,这应该是现行系统的完善与提高。
用户所提供的信息往往是现行系统的缺陷,而不是整个系统的功能与行为。
在问题定义阶段对建议的功能、规模和约束条件等已经作了规定。
在可行性研究阶段通过和使用者的交流,对用户的需求有了初步的了解。
因此在这个阶段中,设计者应该进一步澄清问题定义中的模糊部分,更正错误部分。
通过这个活动,清楚地描述新系统的主要功能,主要的数据输出与输入数据的来源,以及所需要的特殊处理。
本软件的逻辑模型主要是以数据流程图为主要描述工具。
(1)数据流程图(简称为DFD)
数据流程图是在对系统调研阶段绘制的业务流程图进行分析的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述新系统应具有地数据加工功能、数据输入、数据输出、数据存储及数据来源和去向。
数据流图是组织中信息运动的抽象,是逻辑模型的主要形式[5]。
数据流程图的图例如下:
数据的源点或终点 数据处理
数据存储 数据流
“攻破单词”数据流程图如图3-1所示。
7.0
添加
第四章 系统设计
4.1目的与任务
此阶段的任务就是根据用户需求分析阶段得到的目标系统的物理模型确定一个合理的软件系统的体系结构。
这个体系结构的确定包括合理地划分组成系统的模块,模块间的调用关系及模块间的接口关系。
软件的体系结构从总的方面决定了软件系统的可扩充性、可维护性以及系统的性能。
并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保总体目标的实现。
4.2系统的总体结构设计
总体设计的任务是确定软件的体系结构,软件体系结构指的是软件的总体结构以及该结构提供系统的功能的方式,也说是说软件体系结构是程序的一些部件(模块)的层次结构,这些部件相互作用的方式以及这些部件使用的数据结构[5]。
“攻破单词”的功能结构图如图4-1所示。
如图所示,系统由用户信息管理、单词和美音赏析三大模块组成。
其中各功能模块又包含子模块。
下面对各大模块分别进行描述。
(1)用户管理模块:
这个模块主要是进行用户进入的身份验证和记录用户的个人信息。
新用户必须进行注册,方可使用本软件;
原有用户也要在输入了用户ID和密码之后才能进入练习阶段,当然,作为一名已注册用户是可以进行密码修改的。
加入此功能目的是为了让系统能记录不同用户的练习情况,统计测试成绩,这样一来,使用者可以很方便的知道自己在何时进行了测试,并且取得了怎样的成绩。
方便用户了解自己的学习情况,统筹安排。
(2)单词模块:
这是本软件的核心部分,也是关键所在。
其中包括四个子模块:
词库设置模块:
在这里用户可以选择词库、选择开始位置、确定每次的练习单词个数、选择自动浏览的浏览速度、单词的排列次序:
分为顺序/逆序/随机几在种。
在单词练习方面,可以选择单词的显示模式,分为隐藏单词/隐藏词
攻破单词
测试
字典
单 词
用户信息管理
美音欣赏
关闭
选择文件
词库维护
词库设置
个人信息管理
用户修改密码
新用户注册
用户登陆
图4-1“攻破单词”功能模块图
义/单词大写几种。
浏览方式分为自动和手动两种。
测试模块:
用于进行单词测试,并统计测试结果。
字典模块:
用于进行单词查找,分为“英译汉”和“汉译英”,其中“汉译英”支持模糊查询。
维护模块:
用于向词库中添加单词。
(3)美音赏析模块:
用于播放英语听力文件,通过打开文件对话框,选择一个文件进行播放。
因为目前JAVA支持的音频文件格式有:
AIFF、AU、WAV、type0和type1的MIDI,以及RMF[1]。
所以在程序中对文件选择的格式进行了限制,只有符合格式的,才可能被选定。
4.3系统的物理结构设计
从系统本身看,只需要制作成单机使用即可,使用者在自己的计算机上运行本软件,就可以进行单词的练习和使用相关功能。
数据库是数据管理的最新技术,是计算机科学的重要分支。
现在普遍使用的大中型数据库有IBMDB2,Oracle,SQLServer,SyBase,Informix等。
常用的小型数据库有Access,Paradox,foxpro等。
个人用户常用的主要是基于中小型数据库的MicroSoftSQL和Access。
由于微软的Access使用简单,而且又是世界上最流行的桌面数据管理系统[5],更加因为它适用于本软件,所以本软件使用Access数据库完成单词的存储等多项任务。
4.4系统运行的软硬件环境
考虑到本系统的运行的稳定及性能要求,本系统系统配置如下:
硬件配置:
CPU:
PentiumⅡ以上
内存:
64M以上
硬盘:
剩余空间以上
多媒体机器(若无声卡,则无法收听声音文件)。
软件环境需求:
操作系统:
数据库:
MicroSoft Access
软件:
装有JDK
4.5数据库设计
(1)数据库设计的主要任务是针对一个给定的应用环境,在给定的硬件环境、操作系统、以及数据库管理信息系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户地各类需求[5]。
(2)概念设计
在系统的数据库设计中,先要对系统分析得到的数据存储进行分析,分析数据存储之间的关系,然后得出系统关系模式。
(3)逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为与选用的具体机器上的数据库管理系统产品所支持的数据模型相符合的逻辑结
WORD
word_eng
word_id
test_id
word_numm
book_id
bood_name
book_info
user_pws
test_date
BOOK
Belongto
Do_Test
USER
word_chn
n1
m
n
test_right_count
test_err