基于JAVA的儿童绘画软件的设计与实现.doc
《基于JAVA的儿童绘画软件的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JAVA的儿童绘画软件的设计与实现.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于JAVA的儿童绘画软件的设计与实现摘要随着社会节奏的日益加快,忙于工作的家长没有更多的时间顾及孩子的生活和教育,孩子缺少一种生动、易懂的学习途径。而儿童绘画软件作为一种新型的学习工具,能够有效缓解家长压力,让孩子独立学习。父母或教师若想引导孩子走进美术世界,给幼儿美术教育一个好起点,就必须能充分了解孩子与生俱来的种种本能,为孩子选择好的启蒙工具。随前计算机的普及,画图软件是一个不错的选择。本文主要对儿童绘画软件进行需求分析,设计儿童绘画软件的功能模块,包括基本的色彩、图元编辑、图形文件处理等。在需求分析的基础上,各个模块进行了详细设计实现,最后对整个绘画软件进行运行及测试。该系统采用 My
2、eclipse,JAVA,Jframe,Jflash作为开发工具。 关键词:JAVA;Jframe;儿童工具;绘画软件摘要IAbstractII1绪论11.1课题背景和意义11.2儿童绘画软件现状11.3本文主要工作22 系统关键技术32.1 Java Swing组件技术32.2 JDK42.2.1 JDK组成42.2.2 JDK常用的包42.2.3 JDK常用工具52.3 JFrame概述52.3.1 JFrame功能概述52.3.2 JFrame特点62.3.3 使用JFrame开发软件72.3.4 JFrame核心价值82.3.5 团队结构对比92.4 Tomcat的功能103 系统需求
3、分析113.1系统功能需求113.2 性能分析113.3 系统质量需求114 儿童绘画软件的功能实现134.1 Java简介134.2 C/S简介134.3 系统功能实现144.4 系统运行截图215 总结与展望24参考文献25致谢261绪论1.1课题背景和意义 美术教育作为促进智力发展、培养各种能力(如观察力、创造力、想象力等)、陶冶情操的重要手段,已为人们所普遍认识和重视。然而,在传统儿童家庭绘画教育中,人们往往通过简单地购买白板、画笔、荧光小画板、或者磁粉画板等,如图 1 所示,来建立儿童的“涂鸦”环境,或者简单地通过购买绘画临摹本和彩笔的方式来让儿童认识各种形状和颜色,并临摹和勾勒物体
4、。由于人们往往不了解儿童美术教育的科学过程,不了解儿童绘画与儿童认知发展之间的密切关系,因此无法将这些美术教育工具科学有序地整合。这就导致家庭儿童绘画教育往往呈现出简单、零散、无序的情形。在家庭儿童绘画教育方面,几乎完全处于放任儿童自我发展的状态。为此,需要开发一款基于JAVA的儿童绘画启蒙软件。该软件包括如下基本功能:1)具备一般绘画软件的色彩、图元编辑、图形文件操作等功能;2)考虑儿童兴趣,加入卡通元素及声音元素等;3)使用几何图形,填充日常生活中的各种图形,包括房子、各种动物和花草、树木等。 同时,为了保证系统的性能,可修性,易用性等重要质量属性,本文将采用Myeclipse平台的JAV
5、A Application开发过程,对儿童绘画软件进行分析和设计。本文主要关注软件体系架构的设计和实现方面,通过构建一个合理的软件体系架构,来满足“涂鸦”在可修改性,性能,易用性等系统的质量属性和商业质量属性方面的要求。结合系统的交互和用户界面的设计,以及软件测试的保证,最终实现儿童绘画软件。1.2儿童绘画软件现状 目前以儿童绘画类教育为主题的应用软件多不胜数。这些应用软件主要有涂鸦、填色、临摹这3个主要功能,虽然都是以教育儿童绘画为前提,但是却没有做到有效引导儿童绘画,它们忽略了儿童的绘画认知过程,没有从基础开始的一个循序渐进的过程,功能没有有效地组合起来,缺乏了真正的教学过程。目前它们主要
6、存在如下问题: 1)在一定程度上,忽视了儿童绘画教育的认知过程,缺少从基础开始的一个循序渐进的过程,因此它们虽然都是以教育儿童绘画为目标,但是不能有效引导儿童绘画; 2)没有通过简单有效的方法将涂鸦、填色和临摹结合起来; 3)系统设计时,许多软件都忽视了系统相关的一个隐含用户,即儿童绘画教育的启蒙老师; 4)缺少明确的认知主题,对绘画以外的其它教育功能重视不够; 5)缺少多通道并行交互能力,交互方式不够丰富; 6)对于儿童绘画的结果,缺少后期处理; 7)缺少一些吸引儿童的卡通元素。儿童绘画软件是在对儿童教育应用进行分析后设计的,它以贴纸的形式将儿童对几何图形的认知,颜色的认知以及对临摹的学习融
7、入其中。它具有以下特点: 1)为儿童营造了一个虚拟的涂鸦空间,包括画室、画笔、颜料、画板、绘画模板、绘画参考等; 2)通过建立某种有意义的主题,例如蝴蝶或昙花的生命过程,来组织儿童涂鸦在认知上由浅入深的心理过程,进而组织儿童的涂鸦绘画过程,包括涂鸦、填色和临摹等活动; 但是经过系统分析,我们发现由于采用了更加丰富的人机交互,以及系统的功能的增加,尤其是系统智能性的提升,会带来系统开发周期明显加长,系统的复杂性明显提高。因此,系统的开发期、修改期和交付期的质量属性成为需要考虑的重要问题,例如,系统的可扩展性,可修改性和系统性能等。另外,JAVA“人机交互指南”,对交互和用户界面方面提出了比较高的
8、要求,而且系统的用户界面和交互需要频繁变更,这需要系统在软件体系结构层面提供良好的可修改性支持,从而保证系统的易用性。 1.3本文主要工作 本文主要研究的内容是如何通过Jframe、Jflash设计一个满足所需的软件体系架构,论文的主要贡献在于:研究并实现了一个具有商业价值的儿童绘画软件系统;2)建立了一个典型的儿童绘画应用软件的 MVC 架构,将为日后围绕此软件架构,开发软件产品线具有重要的意义,是重要的组织资产。 论文组织结构如下: 第一章:绪论。介绍了儿童绘画软件的研究背景及意义。对早期的绘画软件版本功能进行了简单介绍介绍,以及存在的问题。 第二章:系统关键技术介绍,包括jframe、j
9、flash以及JAVA swing等。 第三章:儿童绘画软件的需求分析。从功能需求,质量需求和商业质量属性需求的角度来分析儿童绘画软件。 第四章:儿童绘画软件的详细设计,针对各个功能模块,从数据结构设计,类图设计等方面给出详细的描述。 第五章:总结与展望。总结本文实现的内容,阐释在实现儿童绘画软件过程中吸收的经验以及本系统存在的不足之处。2 系统关键技术2.1 Java Swing组件技术 Java Swing是由Sun公司与Netscape(网景)公司合作创建的新一代图形界面标准。Java Swing技术使得程序能够以一种简洁的“搭积木”的方式将各种图形用户组件组织在一起,形成实际可用的图形
10、用户界面。Java Swing在开发图形用户界面具有着无可比拟的优势,以至于影响到不同开发领域里的GUI的设计与开发。Java Swing技术发展到现在,已经被许多开发人员作为图形开发的首选,成为图形开发的主流。 1)跨平台特性 Java Swing是一种轻量级组件,占用系统资源少,完全由Java开发实现,不再依赖本地平台的图形界面,所以可以在所有平台上保持相同的运行效果,对跨平台支持比较出色。并且跨平台的特性还使得Java Swing开发不会产生与平台相关的bug。 2)MVC设计模式 Java Swing组件都采用MVC ( Model-View-Controler,即模型一视图一控制器)
11、设计模式。Swing把一个组件的处理分为图形部分和数据部分,其中图形部分由编程环境统一处理(V),而数据部分由一个数据处理模型进行处理(M)。从而可以实现GUI组件的显示逻辑与数据逻辑的分离,允许开发人员自定义Render来改变GUI组件的显示外观,提供更多的灵活性。如图2-1为Swing组件的MVC模式示意图。图2-1 Java Swing组件的MVC模式 3)Look And Feel 通过Look and Feel机制,我们可以使程序的设计者任意转换程序的人机界面来对应不同的操作系统平台。由于Swing组件采用MVC模式来维护各组件,所以当组件的外观改变时,对组件的状态信息(由模型维护)
12、没有任何影响。因此,Swing可以使用插拔式外观感觉(Pluggable Look And Feel PLAF)来控制组件外观,使得Swing图形界面在同一个平台上运行时能拥有不同的外观。Swing提供了多种独立于各种平台的LAF (Look And Feel),用户可以在程序运行期间自由选择喜欢的程序外观,从而给Java桌面应用程序开发带来巨大的进步。2.2 JDKJDK (Java Development Kit) 是SunMicrosystems针对Java程序员开发的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。 JDK是整个Java的核心,包括了Java运行环
13、境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。2.2.1 JDK组成 JDK包含以下基本组件: 1)Javac:编译器,将源程序转成字节码。 2)jar:打包工具,将相关的类文件打包成一个文件。 3)Javadoc:文档生成器,从源码注释中提取文档。 4)jdb:debugger,查错工具。 5)Java:运行编译后的Java程序(.class后缀的)。 6)appletviewer:小程序浏
14、览器,一种执行HTML文件上的Java小程序的Java浏览器。 7)Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。 8)Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 9)Jconsole:Java进行系统调试和监控的工具。 其中Javac是Javac语言编程编译器。Javac工具由Java语言编写的类和接口定义,并将它们编译成字节代码的class文件。Javac可以隐式编译一些没有在命令行中提及的源文件。用verbose选项可跟踪自动编译。2.2.2 JDK常用的包 1)Java.lang:这个是系统的基础
15、类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。 2)Java.io:这里面是所有输入输出有关的类,比如文件操作等。 3)Java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包,例如NIO非堵塞应用。 4)J:这里面是网络有关的类,比如URL, URLConnection等。 5)Java.sql:这个是数据库操作的类,Connection, Statement, ResultSet等。 6)Javax.servlet:这个是JSP, Servlet等使用到的类。2.2.3 JDK常用工具 1)Javac: Java源程序编译器
16、,将Java源代码转换成字节码。 2)Java: Java解释器,直接从字节码文件执行Java应用程序的字节代码。 3)appletviewer.exe: Java applet浏览器。appletviewer命令可在脱离万维网浏览器环境的情况下运行applet。 4)jar: Java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。 5)Javadoc: Java API文档生成器,从Java源程序代码注释中提取文档,生成API文档HTML页。 6)jdb: Java调试器(debugger),可以逐行执行程序,设置断点和检查变量。2.3 JFrame概述2.3.1 JFrame功
17、能概述 JFrame应用软件开发平台是一个基于JavaEE的面向应用软件开发的框架及自动化化代码生成平台。通过使用JFrame应用软件的开发不需再重头做起,只需通过 JFrame自动代码生成工具配置、生成业务代码,并在自动生成的代码基础上简单地补充的业务逻辑即可 。 JFrame降低了软件研发的要求,开发人员也无需掌握太多的高升技术,只需掌握Java基础知识和JavaScript基础知识,就可在平台上进行二次开发。JFrame的目标是:“直接降低软件企业80%的研发成本,缩短项目开发发周期,提升客户满意度”;应用软件开发过程中80%的重复工作将由JFrame来完成,20%的特殊业务逻辑由程序员
18、在 JFrame 应用开发平台基础上补充完善。JFrame应用软件开发平台就如“一套毛胚房”,提供了软件的基本框架和相关基础设施;软件开发团队获取该平台后,可以对其进行“装修”,根据自己的业务需求,在其基础之上进行二次开发,实现满足业务需求的应用软件。JFrame应用软件开发平台作为作基础软件,能够满足您应用软件开发的各种需求,而且特别适合于各类管理信息系统的开发。JFrame与其他软件开发平台不同,JFrame 是面向程序员的,而不是面向最终用户的 。JFrame不承诺可以实现“零代码”开发,因为业务逻辑千变万化,不可能有真正的“零代码”开发平台,但它却是解决软件工程问题的“银弹”。JFra
19、me 应用软件开发平台是一个技术平台,它提供了优美的分层架构和通用的基础功能模块。它采用MVC多层架构技术将整个系统分为展现层、控制层、业务逻辑层、数据操作层等 4 个层次。层与层之间相对独立、界面清晰、接口单一,每一个层次均有较大的灵活性。 1)系统框架:系统框架是整个JFrame的核心,它集成了当前流行技术,向开发人员提供统一、规范、简单、简洁的程序开发模式。同时,系统在各个层次中均采用了缓存技术,大大的提高了系统的性能。 2)基础类库:在JFrame每一个层次中都提供了丰富的基础类库,对各种底层技术、开源技术进行了封装,并向开发人员提供了简单的调用接口。通过JFrame,开发人员不必再化
20、大量的时间去专研技术,只需熟悉并调用这些程序接口即可。此外,天择研发人员,将持续对各类技术进行升入研究,将其封装后,以最简单的形式提高给开发人员使用。 3)公共业务子系统:在一个软件系统中有许多功能是必备且通用的,如:身份认证、安全审计、单点登录、数据字典、系统监控、配置管理、工作流程管理、元数据管理、内容管理、消息发布等功能。JFrame在框架中提高了这些功能,并且提供了相应的接口,程序员可以直接使用或调用其接口对其扩展以使其能满足业务的需求。此外,天择研发人员,还将持续优化、扩展、增加这些通用的功能模块。客户单位程序员也可根据自身需要向天择提出需求,由天择研发人员来完成这部分功能的开发。
21、4)代码自动化生成工具:正如前面所述,业务功能模块80%的工作是重复的实现业务表的增删改查;JFrame代码自动生成工具可帮助程序实现这些功能。程序员只需做简单的配置,即可生成出简洁的代码。所生成代码功能完整、程序简洁、可维护性高,即使最复杂功能模块,也不会超过 100 行。2.3.2 JFrame特点JFrame是一套基于JavaEE体系结构的软件架构及自动化开发平台,追随当前流行而又成熟的技术,吸其精华弃其糟粕。JFrame包容并吸收了:FreeMarker + EasyUI + SigmaGrid +JQuery + Dwr + Spring + Hibernate 等技术和JFrame
22、研发人员的丰富经验。总体上JFrame具有如下特点: 1)设计精良的系统架构:JFrame吸收了JFrame高级研发人员丰富的经验,设计了高度可扩展、灵活系统架构。 2)丰富的基础类库:JFrame对各种技术、通用功能代码作了高度的封装,开发人员只需调用这些方法即可完成复杂的操作。开发人员开发特殊业务逻辑时,直接引用这些类库即可;如需扩展其功能开发人员只需继承该类扩展其函数即可。 3)技术整合:JFrame系统框架对许多常用开源技术进行了整合、封装;使研发人员不再需要深入专研这些开源技术,调用简单的几行代码就可以实现对相关开源技术的引用。如对FCK或SigmaGrid的引用只需引用几个函数即可
23、。 4)界面美观、整洁、统一:JFrame采用了FreeMarker、EasyUI、SigmaGrid、JQuery 、Ajax、Dwr等展现层技术,使用了EasyUI、SigmaGrid、JQueryUI的漂亮界面组件,采用Dwr技术实现界面无刷新,增强用户体验。同时,天择制定了一整套的界面及操作规范,使基于JFrame开发的系统界面风格统一、美观、整洁。 5)代码自动生成:JFrame提供了代码自动生成工具,开发人员只需做简单的数据库表及字段配置,即可自动生成强大、简洁的业务逻辑代码;一般的业务功能代码无需作二次开发即可满足客户的需求。JFrame代码自动生成工具与 Eclipse 作了完
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 儿童 绘画 软件 设计 实现
限制150内