Java记事本毕业论文设计.doc_第1页
Java记事本毕业论文设计.doc_第2页
Java记事本毕业论文设计.doc_第3页
Java记事本毕业论文设计.doc_第4页
Java记事本毕业论文设计.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学毕业设计java记事本摘要现在网上的各种记事本数不胜数,功能也应有尽有,有能改变字体的,改变字体颜色的,还要改变背景颜色,还有些可以给记事本加密保存,但是这些记事本总是有一些小瑕疵。日常生活中,我们需要的是一个功能强大,而且操作简单的记事本,还需要记录一些比较私密的事情。所以本程序就是综合了一些平时常用的功能,并且加入了加密保存功能,满足各种用户需求。随着科学技术的快速发展,计算机程序设计早已成为了趋势,java是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。java是实践性很强的课程。java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。该程序通过java语言,使用eclipse编写而成,参考windows记事本的基本功能,实现了所要实现的功能。点开文件,可以进行新建,打开,保存,另存为,载入加密文件,加密保存为和退出功能。点开编辑有撤销,复制,粘贴,剪切,删除,搜索/替换,全选,时间/日期功能。点开格式有自动换行,字体格式,字体颜色,背景颜色的功能。关键词:java;eclipse;记事本;加密java记事本java notepadabstract now online notepad numerous various functions are everything, there can change the font, change the font color, but also to change the background color, and some can be saved to the encrypted notepad, but they always have some notepad small flaws. everyday life, what we need is a powerful and easy-to-notepad, also need to record some of the more intimate things. so the procedure is usually a combination of some of the commonly used functions, and joined the encryption save function, to meet the various needs of users. any time the rapid development of science and technology, computer programming has become a trend, java is a computer professional core courses, is the technical foundation of computer science algorithms and software design rationale. java is a very practical course.the java language is todays popular web programming language, it has object-oriented, cross-platform, distributed applications and so on. object-oriented development approach is the development of the worlds most popular method, which not only has more natural semantics, but also conducive to software maintenance and inheritance. the program written by java language made reference to the basic functions of windows notepad achieve a function to be achieved. opening the file, you can be new, open, save, save as, loading the encrypted file, save it as encryption and exit functions. opening the editor has withdrawn, copy, paste, cut, delete, search / replace, select all, time / date function. opening the wrap format, font formatting, font color, background color function.keywords: java; eclipse; notebook; encryptionii目录摘要iabstractii1 绪论11.1 记事本的背景11.2 记事本的编写目的及意义11.3 java技术21.4 java技术的优点41.5 eclipse(集成开发环境)72 需求分析92.1 系统可行性分析92.1.1 技术可行性102.1.2 经济可行性102.1.3 操作可行性112.1.4 运行及时间可行性112.2 需求分析112.2.1 系统功能概述122.2.2 系统功能需求122.2.3 系统性能需求123 记事本总体设计133.1 系统设计原则133.2 功能模块设计133.2.1 模块设计划分143.2.2 系统结构设计154 记事本详细设计164.1 详细设计的方法164.2 详细设计常用工具164.3 详细设计基本任务164.4 常用的加密方法174.5 加密功能的实现215 记事本编码与实现225.1 窗口设计225.2 菜单栏以及子模块的设计235.3 文件菜单中各个子功能的设计255.3.1 搜索/替换功能实现265.3.2 自动换行功能实现275.3.3 字体格式功能实现275.3.4 字体颜色功能实现285.3.5 字体背景功能实现285.3.6 加密等功能实现295.3.7 改动保存的功能实现325.4 帮助文字信息的设计326 记事本软件测试与运行346.1 软件运行环境要求346.2 测试的定义346.3 测试的原则346.4 测试的目的356.5 系统测试用例356.5.1 界面测试356.5.2 功能测试356.6 系统测试结果37结论38参考文献39致谢40外文原文41中文翻译511 绪论1.1 记事本的背景记事本相当常见,其存储文件的扩展名为.txt,文件属性没有任何格式标签或者风格,所以相当适合在dos环境中编辑。记事本的特点是只支持纯文本。一般来说,如果把文本从网页复制并粘贴到一个文字处理软件,它的格式和嵌入的媒体将会被一起粘贴并且难以去除。但是,如果将这样一个文本先粘贴到记事本中,然后从记事本中再次复制到下最终需要的软件里,记事本将会去除所有的格式,只留下纯文本,在某些情况下相当有用。记事本几乎可以编辑任何文件,但不包括unix风格的文本文件。早期的记事本只提供最基本的功能,例如文字查找功能。较新版本的windows所搭载的新版记事本可以支持查找及取代功能,快捷键是ctrl+h,而ctrl+f则是传统的查找功能。在一些旧版的windows中,例如windows 95、windows 98、windows me和windows 3.1,其所自带的记事本有64k的文件大小的编辑限制,源自操作系统的一个“edit”层面的限制。windows me中,记事本仍不支持任何快捷键操作,亦不支持行数统计功能。从windows 2000开始,一些普遍的功能开始有快捷键的操作,例如新增、打开和存储。同时,状态栏亦开始出现,有行数统计器,在自动换行功能取消时才会出现。在windows 95中,记事本只支持fixedsys字体,到了windows nt 4.0和windows 98,记事本便开始支持字体变更。在windows 2000和windows xp中,默认字体已变为lucida console。在以windows nt为基础的操作系统中,记事本可以编辑传统的8-bit文本文件,同时支持unicode文本文件(utf-8和utf-16)。记事本利用edit作为其系统自带的类型名称。记事本亦集成了一个简单的日志功能,每一次打开文件,都可以记下一个新的时间标签。要激活这个功能,在文档开头的第一行,必须是.log,不包括引号。记事本直到最,仍然是一款只可以在windows下运行的软件。但如果利用开源的reactos操作系统,并配合wine,就可以在非微软的操作系统中,运行记事本。该软件是开源的,并且是gnu宽通用公共许可证的软件。从windows xp开始(windows me及windows 2000未经确认)附带的记事本,若在自动换行功能打开时保存,且当前窗口内有任何行长度超过编辑窗口宽度,则保存后该行会如同在原自动换行位置插入硬回车一样“断开”,更改窗口宽度(无论是扩大还是缩小)便可发现此现象。但是,保存至文档中的内容并不会受到影响。由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例,有趣的是,记事本亦可用来撰写软件,但不包含程序的编译功能,编译程序仍得通过外部程序解决。1.2 记事本的编写目的及意义 记事本指的是windows操作系统附带的一个简单的文本编辑、浏览软件 记事本只能处理纯文本文件,但是,由于多种格式源代码都是纯文本的,所以记事本也就成为了使用最多的源代码编辑器。 它只具备最基本的编辑功能,所以体积小巧,启动快,占用内存低,容易使用。“记事本”的功能虽然连“写字板”都比不上,但它还是有它自己的独门绝技的。下面我们就来看看记事本吧。相对于微软的word来说“记事本”的功能确实是太单薄了,只有:新建,保存,打印,查找,替换这几个功能。但是“记事本”却拥有一个word不可能拥有的优点:打开速度快,文件小。我相信对于这一点大家一定是深有感触地,一点就打开;同样的文本文件用word保存和用记事本保存的文件大小就大不相同,所以对于大小在64kb以下的纯文本的保存最好还是采用记事本。 记事本另一项不可取代的功能是:可以保存无格式文件。你可以把记事本编辑的文件保存为:“ .html ”, “ .java ”,“ .asp ”等等任意格式。这使得“记事本”又找到了一个新的用途:作为程序语言的编辑器。翻开任何一本介绍一门编程语言的入门教材,里面都会建议学生在记事本中编写源程序。 记事本使用的一个老窍门,在记事本文件的第一行输入.log之后,按回车键换行(.log和文字之间必须要空一行,这样才能够正确生效。),之后你会发现在每次编辑的结尾处有个时间显示。你也可以利用这个功能,把它当作是数码日记本。 一般来说记事本右边和下边都会有滚动条,如果想只在右边显示滚动条,可以勾选格式菜单下的自动换行。 随着科学技术的快速发展,计算机在人们的日常生活中早已十分普及,个人电脑也越来越多。个人电脑对于我们来说也越来越重要,在平时的生活中,我们需要通过笔记本来记录一些日常生活中一些事情,而且现在有许多用户通过记事本来书写自己的日记或者文章,对于现在的用户来说,拥有一个简单而且功能强大的记事本也很有必要,拥有一个可以加密的记事本对于用户来说必不可少。所以要编写一个可以满足大众用户的记事本,不仅要功能强大,而且操作简单,并且拥有加密保存功能。1.3 java技术 java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级web应用开发和移动应用开发。 任职于太阳微系统的詹姆斯高斯林等人于1990年代初开发java语言的雏形,最初被命名为oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,sun公司放弃了该项计划。随着1990年代互联网的发展,sun公司看见oak在互联网上应用的前景,于是改造了oak,于1995年5月以java的名称正式发布。java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 java编程语言的风格十分接近c+语言。继承了c+语言面向对象技术的核心,java舍弃了c+语言中容易引起错误的指針,改以引用取代,同时移除原c+与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在java se 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对java语言的解释是:“java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言” java不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期jvm中,这在一定程度上降低了java程序的运行效率。但在j2se1.4.2发布后,java的运行速度有了大幅提升。 与传统型态不同,sun公司在推出java时就将其作为开放的技术。全球数以万计的java开发公司被要求所设计的java软件必须相互兼容。“java语言靠群体的力量而非公司的力量”是sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.net平台以及模仿java的c#语言。后来sun公司被甲骨文公司并购,java也随之成为甲骨文公司的产品。java的前身是oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的internet上。1995年,java语言的名字从oak编程了java。1997年j2se1.1发布。1998年j2se1.2发布,标志java2的诞生。十多年来,java编程语言及平台成功地运用在网络计算及移动等各个领域。java的体系结构由java语言、java class、java api、java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。java支持多线程编程,java运行时系统在多线程同步方面具有成熟的解决方案。java的平台标准有java me,java se和java ee。java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持java的开发工具中主要的7有java development kit,netbeans,jcreator,jbuilder,jdeveloper和eclipse等。其中java development kit 简称jdk是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。由于java编译器和虚拟机的不同对java代码的性能影响比语言本身的影响大的多,所以统一讨论java的程序的性能经常是有误导性的。据ibm的数据,在同样的硬件上2001年时的ibmjdk版本的性能是1996年的jdk版本的十倍左右。 而即使是在同一时期,不同公司的jdk和jre的性能也不一样,比如sun、ibm、bea等公司都有自己开发的jdk和jre。java语言的一些特性不可避免的有额外的性能代价,例如数组范围检查、运行时类型检查等等。java程序的性能还会因为不同的动态复杂性和垃圾处理机制使用的多少而各有不同。如果jvm的实现比较优化的话,那么这些功能甚至可以增加存储器分配的性能。这和总是使用stl或者托管c+的程序的情况类似。尽管如此,仍然有许多人认为java的性能低。这部分归因于sun公司最初的jvm实现使用未优化的解释机制来运行字节码。一些新版本的jvm使用just-in-time(jit)编译器,在加载字节码的时候将其编译成针对运行环境的本地代码来实现一些本地编译器的优化特性。just-in-time机制和本地编译的性能比较仍旧是一个有争议的话题。jit编译需要很多时间,对于运行时间不长或者代码很多的大型程序并不适宜。但是不算jit编译阶段的话,程序的运行性能在很多jvm下可以和本地编译的程序一争短长,甚至在一些计算比较密集的数值计算领域也是这样。目前,java已经使用更先进的hotspot技术来代替jit技术,java的性能有了更进一步的提升。另外,在使用-server选项运行java程序时,也可以对java进行更深入的优化,比如在运行时将调用较多的方法内联(inline)到程序中来提高运行速度,这就是所谓的“动态优化”,而本地编译器是无法做到这一点的;这也是一些java代码比对应用c/c+等语言编写的本地代码运行的更快的原因之一。微软的.net平台也使用jit编译器,所以也有类似问题。java的设计目的主要是安全性和可携性,所以对于一些特性,比如对硬件架构和存储器地址访问的直接访问都被去除了。如果需要间接调用这些底层功能的话,就需要使用jni(java本地接口)来调用本地代码,而间接访问意味着频繁调用这些特性时性能损失会很大,微软的.net平台也有这样的问题。所以到目前为止,性能敏感的代码,例如驱动程序和3d视频游戏,还是大多使用本地编译,甚至直接以不直接支持面向对象的c语言或机器码编写。但最近已经有了许多用纯java编写的3d游戏,其效果与用c语言编写的不相上下,例如“合金战士”(英文名:chrome)。这主要是因为新版的java 3d技术已经能像c+一样调用硬件加速,也就是使用显卡来加速,无论是c+还是java语言写的3d游戏都是使用显卡及gpu来处理,从而使得cpu可以专注于其他方面的工作。1.4 java技术的优点java的特点之一就是面向对象,是程序设计方法的一种。“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。代码和数据的实际集合体叫做“对象”。一个对象可以想像成绑定了很多“行为(代码)”和“状态(数据)”的物体。对于数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。java语言的第二个特性就是跨平台性,也就是说使用java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。这个特性经常被称为“一次编译,到处运行”。执行java应用程序必须安装java runtime environment(jre),jre内部有一个java虚拟机(java virtual machine,jvm)以及一些标准的类库(class library)。通过jvm才能在电脑系统执行java应用程序(java application),这与.net framework的情况一样,所以电脑上没有安装jvm,那么这些程序将不能够执行。实现跨平台性的方法是大多数编译器在进行java语言程序的编码时候会生成一个用字节码写成的“半成品”,这个“半成品”会在java虚拟机(解释层)的帮助下运行,虚拟机会把它转换成当前所处硬件平台的原始代码。之后,java虚拟机会打开标准库,进行数据(图片、线程和网络)的访问工作。主要注意的是,尽管已经存在一个进行代码翻译的解释层,有些时候java的字节码代码还是会被jit编译器进行二次编译。有些编译器,比如gcj,可以自动生成原始代码而不需要解释层。但是这些编译器所生成的代码只能应用于特定平台。并且gcj目前只支持部分的java api。甲骨文公司对于java的许可是“全兼容的”,这也导致了微软和升阳关于微软的程序不支持rmi和jni接口、并且增加特性为己所用的法律争端。升阳最终赢得了官司,获得了大约两千万美元的赔偿,法院强制要求微软执行升阳公司关于java的许可要求。作为回应,微软不再在windows系统中捆绑java,最新的windows版本,windows vista和internet explorer 7.0版本也不再提供对于java应用程序和控件的支持。但是升阳公司和其他使用java运行时系统的公司在windows操作系统下对用户提供无偿的第三方插件和程序支持。java语言使用解释层最初是为了轻巧性。所以这些程序的运行效率比c语言和c+要低很多,用户也对此颇有微词。很多最近的调查显示java的程序运行速度比几年前要高出许多,有些同样功能的程序的效率甚至超过了c+和c语言编写的程序。java语言在最开始应用的时候是没有解释层的,所有需要编译的代码都直接转换成机器的原始代码。这样做的后果就是获得了最佳的性能,但是程序臃肿异常。从jit技术开始,java的程序都经过一次转换之后才变成机器码。很多老牌的第三方虚拟机都使用一种叫做“动态编译”的技术,也就是说虚拟机实时监测和分析程序的运行行为,同时选择性地对程序所需要的部分进行编译和优化。所有这些技术都改善了代码的运行速度,但是又不会让程序的体积变得失常。程序的轻便性事实上是软件编写很难达到的一个目标,java虽然成功地实现了“一次编译,到处运行”,但是由于平台和平台之间的差异,所编写的程序在转换代码的时候难免会出现微小的、不可察觉的错误和意外。有些程序员对此非常头疼,他们嘲笑java的程序不是“一次编译,到处运行”,而是“一次编译,到处调试”。以java awt为例,早期java awt内提供的按钮、文字区等均是以计算机系统所默认的样式而显示。这令java程序在有些没有提供图案的计算机系统产生错误(在microsoft windows设有窗口管理器,在一些linux distribution则没有)。后来sun公司针对java awt一些问题而推出java swing。平台无关性让java在服务器端软件领域非常成功。很多服务器端软件都使用java或相关技术创建。c+语言被用户诟病的原因之一是大多数c+编译器不支持垃圾收集机制。通常使用c+编程的时候,程序员于程序中初始化对象时,会在主机存储器堆栈上分配一块存储器与地址,当不需要此对象时,进行解构或者删除的时候再释放分配的存储器地址。如果对象是在堆栈上分配的,而程序员又忘记进行删除,那么就会造成存储器泄漏(memory leak)。长此以往,程序运行的时候可能会生成很多不清除的垃圾,浪费了不必要的存储器空间。而且如果同一存储器地址被删除两次的话,程序会变得不稳定,甚至崩溃。因此有经验的c+程序员都会在删除之后将指针重置为null,然后在删除之前先判断指针是否为null。c+中也可以使用“智能指针”(smart pointer)或者使用c+托管扩展编译器的方法来实现自动化存储器释放,智能指针可以在标准类库中找到,而c+托管扩展被微软的visual c+ 7.0及以上版本所支持。智能指针的优点是不需引入缓慢的垃圾收集机制,而且可以不考虑线程安全的问题,但是缺点是如果不善使用智能指针的话,性能有可能不如垃圾收集机制,而且不断地分配和释放存储器可能造成存储器碎片,需要手动对堆进行压缩。除此之外,由于智能指针是一个基于模板的功能,所以没有经验的程序员在需要使用多态特性进行自动清理时也可能束手无策。java语言则不同,上述的情况被自动垃圾收集功能自动处理。对象的创建和放置都是在存储器堆栈上面进行的。当一个对象没有任何引用的时候,java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放存储器以避免存储器泄漏。java 编程语言的风格十分接近c、c+语言。java是一个纯的面向对象的程序设计语言,它继承了 c+ 语言面向对象技术的核心,java舍弃了c +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 java se 1.5 版本中,java 又引入了泛型编程(generic programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 java 程序的运行效率。但在 j2se 1.4.2 发布后,java 的执行速度有了大幅提升。java语言是一个支持网络计算的面向对象程序设计语言。java语言吸收了smalltalk语言和c+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1、java语言是简单的。java语言的语法与c语言和c+语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、java语言是一个面向对象的。java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。java语言全面支持动态绑定,而c+语言只对虚函数使用动态绑定。总之,java语言是一个纯的面向对象程序设计语言。3、java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。4、java语言是健壮的。java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。5、java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。6、java语言是体系结构中立的。java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7、java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性,java编译器是用java实现的,java的运行环境是用ansic实现的。8、java语言是解释型的。如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。在运行时,java平台中的java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、java是高性能的。与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c+。10、java语言是多线程的。在java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为thread(runnable)的构造子将一个实现了runnable接口的对象包装成一个线程,其二,从thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是thread类已经实现了runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11、java语言是动态的。java语言的设计目标之一是适应于动态变化的环境。java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。java语言的优良特性使得java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。java对对象技术的全面支持和java平台内嵌的api能缩短应用系统的开发时间并降低成本。java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是java企业应用编程接口(javaenterpriseapis)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。1.5 eclipse(集成开发环境)基本介绍:eclipse采用的技术是ibm公司开发的(swt),这是一种基于java的窗口组件,类似java本身提供的awt和swing窗口组件;不过ibm声称swt比其他java窗口组件更有效率。eclipse的用户界面还使用了gui中间层jface,从而简化了基于swt的应用程序的构建。eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,eclipse使用插件来提供所有的附加功能,例如支持java以外的其他语 言。 已有的分离的插件已经能够支持c/c+(cdt)、perl、ruby,python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。eclipse的设计思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本内核包括:图形api (swt/jface), java开发环境插件(jdt ),插件开发环境(pde)等。虽然大多数用户很乐于将 eclipse 当作 java 集成开发环境(ide)来使用,但 eclipse 的目标却不仅限于此。eclipse 还包括插件开发环境(plug-in development environment,pde),这个组件主要针对希望扩展 eclipse 的软件开发人员,因为它允许他们构建与 eclipse 环境无缝集成的工具。由于 eclipse 中的每样东西都是插件,对于给 eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 java 开发工具。尽管 eclipse 是使用java语言开发的,但它的用途并不限于 java 语言;例如,支持诸如c/c+、cobol、php等编程语言的插件已经可用,或预计将会推出。eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 eclipse 的应用程序的一个突出例子是 ibm rational software architect,它构成了 ibm java 开发工具系列的基础。语音拓展:eclipse是著名的跨平台的自由集成开发环境(ide)。最初主要用来java语言开发,通过安装不同的插件eclipse可以支持不同的计算机语言,比如c+和python等开发工具。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。许多软件开发商以eclipse为框架开发自己的ide。eclipse 最初由oti和ibm两家公司的ide产品开发组创建,起始于1999年4月。ibm提供了最初的eclipse代码基础,包括platform、jdt 和pde。eclipse项目ibm发起,围绕着eclipse项目已经发展成为了一个庞大的eclipse联盟,有150多家软件公司参与到eclipse项目中,其中包括borland、rational software、red hat及sybase等。eclipse是一个开放源码项目,它其实是visual age for java的替代品,其界面跟先前的visual age for java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还有包括oracle在内的许多大公司也纷纷加入了该项目,eclipse的目标是成为可进行任何语言开发的ide集成者,使用者只需下载各种语言的插件即可。插件开发:eclipse的插件机制是轻型软件组件化架构。在客户机平台上,eclipse使用插件来提供所有的附加功能,例如支持java以外的其他语 言。 已有的分离的插件已经能够支持c/c+(cdt)、perl、ruby,python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。eclipse的设计思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本内核包括:图形api (swt/jface), java开发环境插件(jdt ),插件开发环境(pde)等。主要组成:eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由eclipse项目、eclipse工具项目和eclipse技术项目三个项目组成,具体包括四个部分组成eclipse platform、jdt、cdt和pde。jdt支持java开发、cdt支持c开发、pde用来支持插件开发,eclipse platform则是一个开放的可扩展ide,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。eclipse platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。软件开发包:eclipse sdk(软件开发者包)是eclipse platform、jdt和pde所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到eclipse platform中的工具。eclipse sdk由eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。eclipse项目生产的软件以 gpl发布,第三方组件有各自自身的许可协议。2 需求分析 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。 在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。但在近十年内,越来越多的人认识到,需求分析是整个过程中最关键的一个部分。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。通过对记事本背景的研究,可以从多方面完善一个记事本。在此主要从可行性、需求、技术等方面对本系统进行具体分析。2.1 系统可行性分析软件是根据客户的根本目的和需要而设计和开发的,可行性是开发的系统具有使用价值和生命力的保证。从软件开发的角度来看,当启动一个软件开发任务时,就进入了软件生命周期的第一个阶段,即可行性研究与计划阶段。众所周知,世界上所有的问题不是都有简单明显的解决办法的,许多问题不能在预定的系统规模之内解决。如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。系统分析,旨在研究特定系统结构中各部分(各子系统)的相互作用,系统的对外接口与界面,以及该系统整体的行为、功能和局限,从而为系统未来的变迁与有关决策提供参考和依据。系统分析的经常目标之一,在于改善决策过程及系统性能,以期达到系统的整体最优。系统分析被看作是系统工程的一个重要程序和核心组成部分,以及系统理论的一项应用。 在系统开发生命周期中,系统分析阶段先于系统设计,是系统开发前期不可或缺的工作。 系统分析大量借用数学模型、数学分析、计算机模拟等定量分析方法,试图在具有不确定约束或边界条件的情况下,对系统要素进行综合分析、描述,得出较为准确或合理的结论。在信息技术领域,系统分析的发展相对比较成熟,并与计算机系统及软件工程中的需求分析有着密切的关系。 随着计算机技术、运筹学的普及以及结构化分析、规约语言等系统分析方法的发展,系统分析方法在跨学科领域也获得日益广泛的应用,被用于研究、分析、改善许多复杂系统。我国可行性研究存在的主要问题,一是工程技术方案的研究论证深度不够。按照国外的通常做法,可行性研究阶段的研究深度应能达到定方案的程度,因此要求在工程技术方案论证,应达到basic design或concept design的程度,基本相当于我国的初步设计应达到的水平,应提出明确的设备清单;二是财务评价就项目论项目,这与国外利用企业理财的理论和方法进行资本预算管理,对投资项目进行投资决策和融资决策的通行做法存在重大差异,并且在经济评价方面不恰当地使用了国民经济评价的概念,由此引起一系列的认识误区;三是在市场分析、组织机构分析等方面与国外差别较大,研究深度严重不足;四是不重视多方案的比选及项目风险分析,或者分析的内容、深度严重不足,缺乏项目周期各阶段风险管理的统一筹划及策略论证。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性分析是研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。为了达到这个目的,必须认真了解用户的要求及现实环境,探索若干种可供选择的主要解法,并对每种解法的可行性进行仔细论证。2.1.1 技术可行性技术可行性是指决策的技术和决策方案的技术不能突破组织所拥有的或有关人员所掌握的技术资源条件的边界。进行技术可行性分析时,要注意以下一些问题:(1)软件开发涉及多方面的技术,包括开发方法、软硬件平台、网络结构、系统布局和结构、输入输出技术、系统相关技术等。应该全面和客观地分析软件开发所涉及的技术,以及这些技术的成熟度和现实性。(2)成熟技术是被多人采用并被反复证明行之有效的技术,因此采用成熟技术一般具有较高的成功率。另外,成熟技术经过长时间、大范围使用、补充和优化,其精细程度、优化程度、可操作性、经济性等方面要比新技术好。鉴于以上原因,软件项目开发过程中,在可以满足系统开发需要、能够适应系统发展、保证开发成本的条件下,应该尽量采用成熟技术。(3)在软件项目开发过程中,有时为了解决系统的特定问题,为了使所开发系统具有更好的适应性,需要采用某些先进或前沿技术。在选用先进技术时,需要全面分析所选技术的成熟程度。有许多报道的先进技术或科研成果实际上仍处在实验室阶段,其实用性和适应性并没有得到完全解决,也没有经过大量实践验证,在选择这种技术时必须慎重。例如,许多文章中已经报道了指纹识别技术,而且市场上也有实验性产品,但指纹识别技术至今仍有许多重大技术难题没有突破,离具体应用仍有一定距离。因此,在项目开发中要谨慎选用这种技术。如果不加分析,在项目中盲目采用指纹识别技术,应用时肯定会出现许多难以解决的具体问题。(4)许多技术总的来说可能是成熟和可行的,但是在开发队伍中如果没有人掌握这种技术,而且在项目组中又没有引进掌握这种技术的人员,那么这种技术对本系统的开发仍然是不可行的。例如,分布对象技术是分布式系统的一种通用技术,但是如果在开发队伍中没有人掌握这种技术,那么从技术可行性来看就是不可行的。(5)技术可行性评价是通过原有系统和欲开发系统的系统流程图和数据流图,对系统进行比较,分析新系统具有的优越性,以及对设备、现有软件、用户、系统运行、开发环境、运行环境和经费支出的影响,然后评价新系统的技术可行性。主要包括以下几个方面:在限制条件下,功能目标是否能达到;利用现有技术,性能目标是否能够达到;对开发人员数量和质量的要求,并说明能否满足;在规定期限内,开发是否能够完成。从技术角度分析,本系统采用的是java语言进行编写,java语言开发简单,易学易用,是经过无数人的实践验证过的,是一款很适合的编写语言,也符合本次开发的实际情况,是完全可行而且十分有效的。用eclipse软件来进行编写。在熟练掌握这些语言和工具之后,开发本系统在技术方面是可行的。2.1.2 经济可行性经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。经济可行性包括两个方面的内容:一是某一备选方案占有和使用经济资源的可能性,进而实现政策目标的可能性;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论