当前位置:文档之家› 计算机专业毕业设计论文

计算机专业毕业设计论文

目录第一章绪论 (1)1.1 系统开发的背景 (1)1.2 软件开发的策略 (1)1.3 软件的开发方法 (3)1.4 系统开发环境的选取 (4)第二章系统规划 (7)2.1 软件开发中的主要问题 (7)2.2 软件开发目标 (7)第三章系统分析 (8)3.1 系统的初步调查 (8)3.2 系统的可行性分析 (8)3.3 对现存软件的研究 (9)3.4 新系统逻辑方案的提出 (9)第四章系统设计 (12)4.1 目的与任务 (12)4.2 系统的总体结构设计 (12)4.3 系统的物理结构设计 (13)4.4 系统运行的软硬件环境 (14)4.5数据库设计 (14)4.6用户界面设计 (17)第五章系统实现 (19)5.1 与数据库的连接 (19)5.2 线程的设计 (21)5.3具体的功能实现 (22)5.4 系统测试 (34)第六章系统运行与维护 (36)6.1 系统的运行 (36)6.2 系统的维护 (36)第七章结论 (37)7.1本软件的特点 (37)7.2本软件的缺点 (37)结束语 (38)致谢 (38)参考文献 (39)第一章绪论1.1 系统开发的背景在科技日益发达的今天,社会对每个身处其中的分子要求越来越高,懂得一门外语只是基本的要求。

而学习外语也要讲究一定的方法,一些辅助的工具也是必不可少的。

回顾过去背单词的方式,大家都是对着一本厚厚的字典,用笔在纸上反来复去的写,力求用次数来达到记忆的目的。

可这种方式太浪费时间,一些单词被背了又背,一些单词却未被问津,自己都不知道哪些是已经记下来的,哪些是还不会的。

把时间都白白的浪费掉了,真是得不偿失,因此,改变这种方式势在必行!使用计算机编写的背单词工具就改变了这种状况,使背单词也变得“轻松”起来。

面对当前市场上背单词工具质量的良莠不齐,因而提出了设计一个新的,功能更实用,操作更方便,界面更友好的英语背单词工具——“攻破单词”。

通过对此工具的使用,可以节省很多时间,提高记忆效率,加强学习上的灵活性,使记忆、测试和查单词等各方面都很方便、轻松、快捷,相信它更能满足学习英语的学习者的需要,提高学习的进程,增加学习的兴趣。

1.2 软件开发的策略将程序看作是按照顺序执行的一系统指令,这通常称为过程编程。

过程化程序设计的典型特征是:程序中的数据对于所有过程都是可见的,因此也很容易造成混乱;过程与数据之间的关系是独立的,数据并没有要求一定要用那些方法来处理,原则上任何过程都可以对数据进行操作。

在面向过程的程序设计方法中,首先考虑的是程序的功能,即程序要解决的问题,通过将功能逐步细化,直到每一个小的功能模块都能够用函数或过程来实现。

然后设计数据结构,编写功能模块(过程),最后将它们组合成一个复杂的程序。

换句话说,面向过程的程序设计采用的是“算法+数据结构=程序设计”的思想,即首先考虑解决问题的算法,然后再设计适合的数据结构使得算法得以有效的实现。

面向过程的程序设计方法对于小型程序来说是适合的,但是用它来开发大规模的、可重用的应用就显得力不从心了。

与过程编程相对的是面向对象的编程。

面向对象编程(OOP)从另外角度看待计算机程序,它将重点放在使用计算机所完成的任务上,而不是在计算机处理任务的方式上。

在面向对象编程中,计算机程序概念化为一组对象,它们一起工作以完成一项任务。

每个对象是程序的单独一部分,以特定的严格控制的方式与其他部分互相交流。

面向对象编程超越程序复杂,用客观世界的对象模型自然地表示软件开发,用对象代表需要解决的问题的中心环节,而不是以函数过程、数据结构为中心,从而使计算机程序的分析、设计和实现的过程和方法改变了过去的脱节和跳跃的状态,这就使人们对复杂系统的认识过程与系统的程序设计过程简单化,并使两者容易达到一致。

面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等。

这些优点是过程编程语言所不具备的。

可以使用“对象+消息=程序设计”来表示面向对象的理论。

图1-1、1-2为面向过程的程序设计与面向对象程序设计的图示,在其中可以直观地看到二者的区别。

1-1面向过程的程序设计对象1-2 面向对象的程序设计本软件的开发就使用面向对象的方法。

1.3 软件的开发方法面向对象的方法经由系统分析、设计和试验等阶段,遵从软件生命周期的规律。

所谓软件的生命周期是指一个软件从它的发生到其消亡的过程。

以下是利用生命周期法开发软件的各个阶段的具体内容:(1)系统规划阶段:其主要任务是明确软件开发的请求,并进行初步的调查,通过可行性研究确定下一阶段的实施。

可行性分析的任务是确定项目开发是否必要和可行。

也就是要对问题定义阶段中所提出的问题进行分析,以决定所提出的问题是否有“可行”的解。

所谓可行,首先在技术上要可行,即现有技术能否解决所提出的问题;其次是经济上可行,即用户能否支付实施项目所需要的费用,项目建成后能否取得预期的经济效益;最后进行操作上和法律上的可行性研究。

综合这些方面的论证,最终决定是否实施该项目。

当然,这项工作就是建立在初步调查的基础上。

(2)用户需求分析阶段:在这个阶段中,就是了解用户的需求,准确的确定用户需要的功能,明确为了实现这些功能,需要哪些处理,需要处理什么数据;需要存储哪些数据文件;得到哪些信息;输入输出数据的格式以及有关处理的具体算法等。

此外需要找出为了实现既定功能所需要的约束条件,典型的约束为成本约束和时间约束。

另一个重要任务是要规定系统的生效准则,规定在目标系统建成后验收目标系统的一些原则以及具体的验收方法等。

具体工作包括:①详细调查其具体的调查内容包括:清楚当前市面上现存的背单词工具所具备的功能和实现方法,了解使用者在使用过程中存在的问题和希望使用的功能。

②提出新系统的逻辑设计系统分析结束时,应完成系统分析报告,交上级审批.系统分析报告是系统设计的依据,是与用户交流的工具,是应用软件的重要组成部分。

其内容包括:原系统分析部分、新系统逻辑模型、新系统信息量的估计。

(3)系统设计阶段:其任务是在系统分析的基础上,按照逻辑模型的要求,科学合理地进行系统的总体设计和具体的物理设计,为下一阶段的系统实施提供必要的技术资料。

具体分为:总体设计阶段和详细设计阶段。

①总体设计阶段:这个阶段中的主要任务是得到一个能够实现用户需求的理想的系统结构。

所谓理想的结构指的是:能够实现需求阶段中规定的功能;系统容易设计和实现;系统易于维护。

设计内容包括划分子系统、设计规范制定、数据流程图设计、功能结构图设计、系统物理配置方案设计。

②详细设计阶段:在这个阶段中的任务是进行系统所需要的数据结构设计和数据库的物理设计。

输入输出设计、编写程序模块设计说明书。

系统设计工作结束后,要提交系统设计报告。

若系统设计被审查批准,整个系统开发工作便进入系统实施阶段。

(4)系统实施阶段:这是软件系统的实现阶段,要进行模块编码和模块测试。

模块测试又称为单元测试。

模块编码要严格按详细设计阶段开发的模块逻辑进行。

模块程序设计完成之后,应经过严格的测试。

程序测试应该采用科学的方法。

主要是黑盒法和白盒法进行测试,从而尽可能多地发现模块中错误,并加以改正。

把经过彻底测试的模块组装起来形成需要的应用系统。

再进行集成测试,采用的是黑盒测试方法,集成的方法可采用自顶向下集成或自底向上集成,或者二者结合的方法。

(5)维护阶段:主要包括改正性维护、适应性维护和完善性维护:改正性维护是改正程序中所遗漏的错误,保证用户程序能正常运行;完善性维护是增加程序的功能以满足用户的进一步需求;适应性维护是当用户改变硬件或软件支持环境时,满足程序需要的修改工作。

维护阶段是一个非常重要的阶段,维护工作的好坏直接影响到用户的满意程度[6]。

1.4 系统开发环境的选取根据软件所要完成的功能和结合当前情况,我选择了Java语言。

Java语言诞生于1991年,是由SUN MicroSystem公司的Jame Gosling,Bill Joe等人为在电视、控制烤面包箱等家用电子产品上进行交互式操作而开发的一个名为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最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。

Java虽然源于C++,但它消除了许多C++的不可靠因素,可以防止许多编程错误。

安全性:一种编程语言,尤其是网络编程语言,与跨平台性随之而来的还有另一大特性:安全性。

在网络上,如果网络语言不十分可靠,极有可能被人有意或无意地造成恶果。

为防止利用Java程序攻击其他人的系统,Java主要的编译和运行时系统中采取了防护措施,为Java代码筑起了两道坚实的防护屏障。

相关主题