java项目实训文档

合集下载

Java综合实践开发文档(电子日记)

Java综合实践开发文档(电子日记)

Java综合实践开发文档(例)题目:电子日记班级:学号姓名:教师:2017年1月18日1 需求分析 (1)1.1项目背景 (1)1.2 用例图 (1)1.3界面原型及用例分析 (2)1.3.1 登录/注册界面原型 ............................................................. 错误!未定义书签。

1.3.2主界面原型 (2)1.3.3日记编写 (3)1.3 系统逻辑流程 (5)2 总体设计 (6)2.1 存储设计.......................................................................................... 错误!未定义书签。

2.2 加/解密方案 .................................................................................... 错误!未定义书签。

2.3 界面设计 (6)2.3.1登录/注册界面设计 .............................................................. 错误!未定义书签。

2.3.2主界面设计............................................................................ 错误!未定义书签。

2.4 类设计 (6)3 详细设计 (7)3.1 登录/注册 ........................................................................................ 错误!未定义书签。

3.1.1 登录....................................................................................... 错误!未定义书签。

java项目实训报告免费范文模板

java项目实训报告免费范文模板

java项目实训报告免费范文模板Java语言程序设计是大部分高校计算机专业的一门核心能力课,Java的实训操作是提高学生的实战能力的重要途径。

本文是店铺为大家整理的java学生参加实训的报告范文,仅供参考。

java实训报告范文篇一一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。

2.熟练掌握Java中常用的Swing组件的使用方法。

3.熟练掌握Java程序中图形用户界面设计的方法。

4.熟练掌握使用JDBC操作数据库的方法。

5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。

二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的图书管理系统。

该系统从图书馆管理人员的角度出发,实现对图书信息、读者信息的浏览、添加、删除和查询,同时还可以对读者借书、还书过程进行操作和控制。

设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。

系统功能分析是在系统开发的总体任务的基础上完成的。

该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。

读者管理:主要包括读者信息的浏览、添加、删除和查询。

图书管理:主要包括图书信息的浏览、添加、删除和查询。

借还书管理:主要包括借书、还书和续借。

2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 2000或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想首先设计测试登录窗口:Text.java接下来设计LoginFrame.java(登录窗口)、MainFrame(主窗体)Addbookframe.java(图书入库窗口)、AddReaders.java(添加读者窗口)、AddUserframe.java(添加用户窗口)、Borrowframe.java(借书窗口)、Retumframe.java(还书窗口)、Queryframe.java(图书查询窗口)。

java实训报告范文

java实训报告范文

java实训报告范文一、实训背景Java是一种面向对象的编程语言,已经成为了现代软件开发领域的标准语言之一。

为了让学生更好地掌握Java编程语言的基本概念和基本技术,学校组织了Java实训,让学生结合实践学习。

二、实训内容1.实训时间:6天。

2.实训目标:学习Java编程语言的基本概念和语法,并使用Java开发简单的应用程序。

3.实训内容:(1)Java基础知识;(2)Java程序设计;(3)Java应用程序设计。

三、实训过程在6天的实训中,我通过听课、自主学习和实践编程三个环节来完成实训目标。

1.听课环节:在听课环节,我们首先了解了Java编程语言的历史和基本概念,如类、对象、数据类型等。

2.自主学习环节:在自主学习环节,我主要通过解决课程中的练习题和自己上网查阅资料来深入理解Java编程语言。

例如,我学习了Java的四种访问权限、Java注释的写法、Java数组的使用等知识点。

3.实践编程环节:在实践编程环节,我通过跟着老师一步步敲代码来实现Java应用程序的开发。

例如,我开发了一个简单的图书管理系统,用于管理图书的信息、借阅和归还等操作。

四、实训收获通过这次实训,我受益匪浅。

首先,我掌握了Java编程语言的基本概念和语法,对Java这种面向对象的编程语言有了更深入的了解。

其次,我学会了使用Java开发简单的应用程序,对软件开发有了更加深入的了解。

最后,通过自己开发应用程序的实践,我在代码编写、调试、测试等方面都有了实际的经验,为以后的软件开发奠定了更为扎实的基础。

五、实训建议在这次实训中,我认为最重要的是实践环节。

通过实际操作来运用所学知识,不仅可以巩固知识,还可以更好地理解和掌握。

因此,我建议在以后的实训中,可以增加实践环节的时间和难度,让学生更加深入地学习和使用编程语言。

同时,如果能够邀请企业等更专业的人士来进行指导和讲解,学生将更好地了解实际开发中的需求和技术要求。

实习报告java

实习报告java

实习报告java一、实习概况我在某软件公司完成了为期三个月的Java开发实习。

在这段时间里,我通过参与实际项目的开发,掌握了Java编程语言的基本知识和应用技能,提升了自己的编程能力。

二、实习内容1. 项目介绍我们实习的项目是一款在线购物平台的后台管理系统,主要功能包括商品管理、订单管理、用户管理等。

我主要负责商品管理模块的开发,包括商品的CRUD操作、商品分类管理、商品上下架等功能。

2. 技术栈在项目开发过程中,我主要使用了Spring框架进行项目的搭建和管理,同时结合MyBatis进行数据库的操作。

另外,还使用了SpringMVC框架进行前后端数据交互,通过JSP和Bootstrap搭建了后台管理系统的界面。

3. 遇到的问题与解决方案在项目开发过程中,我遇到了许多问题,比如前端页面与后端数据交互不畅、页面样式调整困难等。

通过查阅资料、询问同事以及不断尝试,最终找到了解决方案,并完成功能的开发。

三、实习收获通过这次实习,我不仅学到了许多实际项目开发的经验,还加深了对Java编程语言的理解。

我深刻体会到了只有不断实践,才能提升自己的编程能力。

同时,也意识到了团队合作的重要性,通过与同事合作,共同完成了项目的开发任务。

四、总结与展望总的来说,这次Java开发实习让我收获颇丰。

通过实践中的磨炼,我更加熟练地掌握了Java编程技能,提高了自己的综合素质。

未来,我将继续努力,不断学习和提升自己的技能,争取在未来的工作中取得更好的成绩。

以上是我在实习期间的经历和心得体会,希望能对日后的学习和工作有所帮助。

感谢公司提供的实习机会,也感谢领导和同事们对我的帮助和支持。

我将永远珍惜这段宝贵的实习经历。

java实训报告万能模板

java实训报告万能模板

java实训报告万能模板引言:Java是一种广泛应用于软件开发领域的编程语言,具有代码简洁、跨平台、性能优越等特点,因此被广泛采用于各类软件项目的开发中。

在本次实训中,我将就Java的应用领域、语法结构、项目开发流程等方面进行系统的学习和实践,以此为基础,撰写本次实训报告。

一、Java的应用领域Java作为一门强大的编程语言,被应用于多个领域。

首先,Java在Web开发中能够实现强大的功能,例如通过JavaEE开发企业级网站,运用Spring MVC框架实现MVC架构,使得开发过程更加简便高效。

此外,Java在安卓应用开发中也有很高的适用性,其提供了丰富的API 和工具,帮助开发者高效完成安卓应用的创建。

另外,Java还可以用于游戏开发、大数据处理、云计算等领域。

总结而言,Java的应用领域非常广泛,为各类软件开发提供了强大的支持。

二、Java语法结构1.基本语法Java的基本语法与C++相似,其采用类似于C++的面向对象编程思想。

例如,Java中的类通过class关键字进行定义,方法通过关键字public和static进行修饰,同时通过分号分隔语句,通过大括号定义方法体等等。

除了继承、多态等面向对象的特性外,Java还有自己的特点,如异常处理机制和垃圾回收机制等。

通过学习和实践,我进一步加深了对Java语法结构的理解。

2.常用类库Java拥有丰富的类库,其中包括用于处理输入输出的java.io、用于图形用户界面开发的javax.swing、用于网络操作的等等。

这些类库能够帮助开发者简化开发过程,提高开发效率。

在实训过程中,我运用了java.util包中的ArrayList类来实现列表的功能,通过包中的URLConnection类实现与服务器的通信等,充分体验了Java类库的强大功能。

三、Java项目开发流程在Java项目开发的过程中,按照一定的流程进行能够提高开发效率,保证项目的质量和进度。

下面,我简要介绍一下Java项目开发的基本流程。

Java项目实训设计说明书

Java项目实训设计说明书

Java项目实训设计说明书姓名:学号:班级:指导教师:完成日期:目录第一章系统概述 (1)1.1功能介绍 (1)1.2开发技术 (1)第二章系统设计 (3)2.1 系统模块划分 (3)2.2 页面设计 (3)2.3 数据库设计 (3)参考文献 (10)学生成绩管理设计说明书第一章系统概述1.1功能介绍成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。

因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。

这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

本系统分为了二个大模块,第一个大模块是学生权限的用户模块;第二个大模块是管理员权限的用户模块。

其中第一个大模块中又分为注册模块、登录模块、学生管理模块、课程管理模块以及成绩管理模块;第二个大模块中又分为了管理员登陆模块、学生管理模块、课程管理模块以及成绩管理模块。

在第一个大模块中,用户可以进行学生权限账号的注册、登录以及在学生管理、课程管理以及成绩管理三个模块中进行相关信息的查询。

在第二个大模块中,管理员权限的用户可以进行管理员登录,并且可以在学生管理、课程管理以及成绩管理三个模块中对信息进行增删改查。

1.2开发技术本系统运用的是Java和android技术,用到的开发工具有Eclipse、PS3、MySQL数据库等。

java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

java项目实战实训指导书.doc

java项目实战实训指导书.doc

JavaJava项目实战——实训指导书实训一需求分析 (3)实训二项目计划安排 (4)实训三概要设计 (5)实训四详细设计 (6)实训五数据库设计 (7)实训六项目技术准备 (8)实训七系统数据库连接 (9)实训八系统登录 (10)实训九系统主界面 (11)实训十学生信息管理子系统 (12)实训十一选课信息子系统 (13)实训十二班级管理子系统 (14)实训十三课程管理了系统 (15)实训十四用户管理子系统 (16)实训十五软件测试 (17)实训十六实战演练 (18)附件软件文档编写向导 (22)实训一需求分析一、实训目的主要训练学生对于实际开发项目的需求分析能力;二、实训要求进行项口的需求分析三、实训内容1•需求分析问题描述♦我院现需要一个学生管理系统,对学生的信息进行管理;♦学生可以通过该系统选择要修的课程,该系统还应包含有课程信息的管理、班级信息的管理和用户权限等;♦根据不同的用户功能实现不同的功能;2•任务要求实训二项目计划安排一、实训目的学会使用Project进行项目计划安排,学会制定软件开发计划的原则、方法,了解团队在软件开发过程中的重要作用;二、实训要求1.确定项目计划软件2.确定实现此项口需要的资源3.完成项目计划安排表4.编写前期的项廿计划表三、实训内容1.任务要求♦根据实训一中描述的问题及完成的需求分析说明书,做出该项目的计划安排;♦撰写软件项目计划文档,撰写要求参照附录项目文档说明。

实训三概要设计一、实训目的通过实训使学生理解概要设计的原则,了解项目规范对软件开发的重要作用,学习数据库规范、编码规范和用户界面规范。

二、实训要求1・掌握概要设计的原则2•将用户需求模块化3•确定系统最终模块三、实训内容1 •任务要求♦根据实训一中描述的问题及需求分析说明书、软件项目计划文档, 完成该项目的概要设计;实训四详细设计一、实训目的通过本次实训使学生掌握使用UML进行详细设计方法;学会按照模板编写详细设计文档;学会画类图,能读懂吋序图。

java实训项目设计文档

java实训项目设计文档

java实训项目设计文档天津工业大学软件0918班五组(微博系统)开发文档微博系统实训项目设计――基于JSP技术的微博设计与实现Mail项目小组组员:刘金兰、白皓、程清、许啸、王正辉1天津工业大学软件0918班五组(微博系统)开发文档第一章绪论随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,以及互联网的深入人心。

互联网产品越来越影响着人们的生活。

我们的日常生活已经和互联网紧密的联系在了一起。

1.1选题背景随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,以及互联网的深入人心。

互联网产品越来越影响着人们的生活。

我们的日常生活已经和互联网紧密的联系在了一起。

如上所说,互联网在我们生活中扮演这重要的角色,微博就一个典型的例子,微博是一种互动及传播性极快的工具,传播速度甚至比媒体还要快。

微博所谓“微型博客(micro-bloging)”是一种非正式的迷你型博客,它是最近新兴起的一个web2.0表现,是一种可以即时发布消息的类似博客的系统。

它最大的特点就是集成化和开放化,你可以通过你的手机,IM软件(gtalk,MSN,QQ,skype)和外部API接口等途径向你的微博客发布消息。

微博客的另一个特点还在于这个“微”字,一般发布的消息只能是只言片语,像Twitter这样的微博客平台,每次只能发送 140个字符。

相对于强调版面布置的来说,微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有博客那么高,只需要反映自己的心情,不需要长篇大论,更新起来也方便,和博客比起来,字数也有所限制微博开通的多种API使得大量的用户可以通过手机、网络等方式来即时更新自己的个人信息。

此数据库是有关微博网站的后台数据库,以实现用户发布状态,用户相互间的关注,管理员管理状态的数据库。

2天津工业大学软件0918班五组(微博系统)开发文档第二章项目分析项目分析就是在微博系统开发的生命周期中系统分析阶段的各项活动和方法。

Java程序开发实训(实训任务书)(word文档良心出品)

Java程序开发实训(实训任务书)(word文档良心出品)

Java程序开发实训——实训任务书主编:季松华目录图书馆管理信息系统开发实训 (3)1.实训任务 (3)2.实训目的 (4)3.实训方式 (5)4.实训条件 (5)5.实训内容及计划 (5)6.实训步骤 (7)6.1子任务一:需求分析与项目设计 (7)6.2子任务二:数据库设计与环境搭建 (8)6.3子任务三:MVC设计与底层代码封装 (9)6.4子任务四:界面设计 (9)6.5子任务五:用户管理子系统 (10)6.6子任务六:图书管理子系统 (10)6.7子任务七:图书借还管理子系统 (11)6.8子任务八:软件测试与项目总结 (11)7.考核标准 (12)8.参考资料 (13)附件软件文档编写向导 (14)图书馆管理信息系统开发实训1.实训任务本次实训计划32学时,完成一个c/s架构的图书馆管理信息系统的设计、编码和测试。

实训的重点是面向对象程序设计、图形界面设计、事件的处理及数据库编程设计。

1.1项目背景XXX学校每学期都要购进大量的书籍,图书馆管理系统是一个学校不可缺少的一部分。

它的操作和管理对于管理者来说,可以使书籍管理工作规范化、系统化、程序化,很重要的是能够为用户提供充足的信息和快捷的查询手段。

因此有必要建立一个图书管理系统,以避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

1.2系统架构本系统采用简单的c/s架构,mysql充当数据库服务器,可以同时被多个客户端连接。

1.3功能示例图书管理系统主要有用户管理、图书管理、借阅管理等功能。

图1 图书馆管理系统结构示意图图2 图书馆管理系统功能矩阵&角色权限图2.实训目的通过本次实训使学生系统的掌握软件开发的主要流程,并学会Java语言开发软件项目的方法,掌握软件技术文档的撰写要求。

3.实训方式本次任务共分解成八个子任务,每个子任务分配4个学时。

由教师布置任务,引导学生对任务进行讨论、分析,剖析出任务的要点与难点,针对难点进行演示。

java实训报告8篇

java实训报告8篇

java实训报告java实训报告8篇我们眼下的社会,需要使用报告的情况越来越多,其在写作上有一定的技巧。

那么报告应该怎么写才合适呢?下面是小编收集整理的java实训报告,供大家参考借鉴,希望可以帮助到有需要的朋友。

java实训报告1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。

(2)动画类,编制功能较复杂、效果较好的Applet动画程序。

(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。

(4)其他类型,自选题目,须经指导老师同意。

我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。

二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。

我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。

于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。

只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。

2、流程图:三、程序介绍:1、设计方法及步骤:题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。

画出程序设计结构框图。

构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。

构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。

程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。

程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。

2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的'问题,准确的设计出了时钟动画,运行情况正常。

java实训报告范文(共10篇)

java实训报告范文(共10篇)

java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。

2.熟练掌握网页制作软件的基本操作,和使用技能。

3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。

4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。

5.掌握页面的整体控制和头部内容的设置方法。

6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。

7.熟练建立各种形式的超链网站测试的方法。

通用能力目标1、合理安排自己的任务及时间,来完成本次课题。

java实训报告

java实训报告

Java实训报告引言本文档旨在总结和分析我在Java实训课程中的学习和实践经验。

通过参与实训项目,我在Java编程和软件开发方面取得了很大进步,并且深入了解了软件开发的过程、技术和方法。

实训背景Java实训是我在大学计算机专业的一门必修课程。

通过实训项目,我们有机会运用所学的Java编程知识,开发一个真实的软件应用。

在实训过程中,我们将学到的理论知识转化为实际的编码能力,并加深对软件开发过程中的工具和技术的理解。

实训目标通过这次实训,我有以下几个目标和期望:1.提高Java编程技巧和经验。

2.学习和掌握软件开发的基本流程和方法。

3.了解常用的软件开发工具和框架,如Eclipse、Spring等。

4.培养团队合作和沟通能力。

实训内容1. 项目选择在实训开始之前,我们组成小组并选择了一个项目来开发。

我们通过讨论和投票决定了一个在线商城的项目。

该项目要求具备用户注册、商品浏览、购物车功能等。

2. 系统设计在确定了项目后,我们进行了系统设计。

我们绘制了系统架构图和数据库设计,并分解了各个模块的功能和任务。

这个阶段的工作对于后续的开发工作起到了指导作用。

3. 技术学习和实践在开始编码之前,我们对一些新技术和框架进行了学习和实践。

我们学习了Java Servlet、JSP和数据库相关知识,以及如何使用Spring框架简化开发。

4. 编码和测试在技术学习和实践之后,我们开始了系统的编码和测试工作。

我们按照模块划分的任务进行编码,每个人负责一个模块。

编码完成后,我们进行了单元测试和集成测试,以确保系统的功能和质量。

5. 项目演示在编码和测试工作完成后,我们进行了最后的项目演示。

我们向老师和同学展示了我们实现的在线商城系统,并回答了他们的问题和建议。

这个环节对我们来说是一个很好的展示和交流的机会。

实训总结通过这次Java实训项目,我获得了很多宝贵的经验和技能。

以下是我在这次实训中学到的一些重要的方面:1.Java编程技巧:通过实践,我熟悉了Java编程语言的语法和常用类库。

java实训报告范文(共10篇)

java实训报告范文(共10篇)

java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。

2.熟练掌握网页制作软件的基本操作,和使用技能。

3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。

4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。

5.掌握页面的整体控制和头部内容的设置方法。

6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。

7.熟练建立各种形式的超链网站测试的方法。

通用能力目标1、合理安排自己的任务及时间,来完成本次课题。

JAVA软件项目实训指导书

JAVA软件项目实训指导书

《JAVA程序设计》课程实训指导书实训报告内容要求见附件1项目一、猜数游戏目的:掌握Java语言的基本语法,掌握Java程序的基本结构,能熟练使用分支语句和循环语句进行Java 程序设计。

内容程序运行时自动产生一个1-100之间的随机数,让游戏者来猜这个数。

当从键盘接收到游戏者输入的数据后,程序给出的相应的提示信息,游戏者根据提示不断从键盘输入数据,直到猜中。

另外程序还提供了“重新开始”和“退出”的功能,可供游戏者重复进行游戏。

1.建立Java程序,使用键盘输入流提供用户输入所猜数据;2.使用Math.random()产生一个100以内的随机数;3.使用一个循环从键盘输入数据,并和产生的随机数判断是否大小关系,给出相应提示,循环结束条件为猜中产生的随机数;4.判断是否继续游戏;要求用户输入信息;5.添加外层循环判断是否继续游戏;6.在项目报告中说明键盘输入的基本语句。

7.在项目报告中写出for语句的执行过成。

8.在项目报告中分析while与do-while之间的区别和联系项目二、 35选7彩票销售程序目的:掌握Java数组的创建和使用,进一步巩固Java类的编写与对象的使用内容1.编程实现35选7彩票销售程序。

用户从键盘输入要买彩票的注数n,程序随机产生n注号码并输出。

每注号码为7个1~35的随机整数,每注7个号码中不能有重复号码。

2.改写1中程序,编写Lottery类。

(1)添加成员变量:用于存放随机产生的7个号码;(2)添加成员方法generate():实现7个号码的产生;(3)添加成员方法pringTitle():实现票头的打印;(4)添加成员方法printData():实现号码的打印;3.编写2中Lottey类的测试程序,实现36选7随机号码的生成;项目三、汽车出租管理程序目的:掌握通过继承定义子类的方法,掌握动态多态特性。

内容项目:设计一程序,可以管理各种出租汽车并计算其租金。

程序中所涉及的类之间的关系如下图。

JAVA实训报告模板(共6篇)

JAVA实训报告模板(共6篇)

篇一:java项目实训报告模板实训报告书课程: java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录 ............................................................................. .................................................i 1 实训目的 ............................................................................. ......................................... 1 2 游戏xxx系统的分析与设计 ............................................................................. .. (1)2.1 系统功能描述 ............................................................................. ...................... 1 2.2 系统模块设计 ............................................................................. ...................... 1 3主要代码清单 ............................................................................. ................................... 1 4 程序运行与测试 ............................................................................. ............................. 1 5 实训总结 ............................................................................. (1)xxx项目实训1 实训目的《java项目实训》是计算机专业一门重要的专业技术基础实践课程。

java项目实训报告免费范文模板

java项目实训报告免费范文模板

java项目实训报告免费范文模板Java项目实训报告前言在高校的学生都需要进行项目实训,Java项目也是其中的一部分。

本报告介绍了一个典型的Java项目实训报告免费范文模板。

本文提供一些有用的建议和技巧,这些技巧可以帮助您在开发Java项目时更加成功。

一、项目概述该项目是一个在线图书借阅管理系统,支持普通用户查看和借阅图书,管理员对图书进行管理操作。

系统主要功能如下:1.普通用户功能(1)用户注册(2)查看图书信息(3)借阅图书(4)还书2.管理员功能(1)图书信息管理(2)借阅信息管理(3)用户信息管理二、项目开发环境1.开发工具(1)Eclipse:集成开发环境,用于编写Java程序;(2)MySQL:用于存储数据。

2.开发技术(1)Java:主要用于编写业务逻辑、交互界面等;(2)JSP:用于显示信息和交互界面;(3)Servlet:用于接收请求和响应请求;(4)MySQL数据库:用于存储数据。

三、系统设计1.需求分析1.1.用户需求分析用户需要一个可以实现在线借书和还书的系统,系统应该简单易用,方便操作。

用户可以自主注册,并获取到一个账号和密码。

1.2.管理员需求分析管理员需要对图书进行管理,包括添加、修改、删除、查询以及借阅信息管理、用户信息管理等。

管理员可以通过账号和密码登录。

2.1.总体设计系统采用WEB应用程序开发,应用采用三层架构模式:表示层、业务逻辑层和数据存储层。

前端页面使用Bootstrap 框架设计,后台数据库使用MySQL存储数据。

表示层——JSP页面设计业务逻辑层——Servlet处理数据存储层——使用DAO模式访问数据库2.2.数据库设计系统数据库主要包括以下几个表:(1)用户表(2)图书表(3)借书信息表(4)还书信息表四、项目实现系统的实现过程中,需要按照需求分析和系统设计进行步骤实现。

本项目实现的具体步骤如下:4.1.项目搭建安装Eclipse和MySQL,创建Web项目。

java项目实训报告免费范文模板(2)

java项目实训报告免费范文模板(2)

java项目实训报告免费范文模板(2)java实训报告范文篇三一、项目需求本程序的主要功能:(1)单击“计算器”上的数字按钮(0~9)可以设置参与计算的运算数。

(2)单击“计算器”上的运算符按钮(+、-、_、/、1/x、sqrt、%)可以选择运算符号。

(3)单击“计算器”上的“=”按钮显示计算结果。

(4)单击“计算器”上的“复位”按钮清空计算结果。

(5)单击“计算器”上的“删除”按钮删除输入的最后一个数字。

二、项目设计在设计计算器时,编写2个Java源文件:CalculatorWindow.java、NumberButton.java计算器除了上述Java 源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。

下面是2个Java源文件的总体设计。

(1)CalculatorWindow.java(主类)CalculatorWindow类负责创建计算器的主窗口,该类含有main 方法,计算器从该类开始执行。

CalculatorWindow类有4种类型的对象,分别是:LinkedList、NumberButton、JButton、JTextField。

(2)NumberButton.javaNumberButton类创建的对象是主类CalculatorWindow窗口的一个“数字”按钮。

NumberButton有一个int类型的成员temp,用于标明所创建的按钮所含有的运算符号。

NumberButton所创建的22个按钮被添加到CalculatorWindow窗口中。

1、CalculatorWindow类(主类)(1)数据和方法CalculatorWindow类是javax.swing包中JFrame的一个字类,并实现了ActionListener接口。

类中有关数据和方法的详细说明。

1)成员变量jbArray是NumberButton型数组,每个单元是一个NumberButton类创建的“数字按钮”对象,该数组长度为10。

Java项目实训

Java项目实训

Java项目实训一、将服务器上的资源读到本机1、从键盘输入网址,将该网址的内容读入到本机并输出import .*;import java.io.*;import java.util.*;public class Lx1 {public static void main(String args[]) {Scanner scanner;URL url;"输入URL资源,例如:");scanner = new Scanner(System.in);String source = scanner.nextLine();try {url = new URL(source);InputStream in = url.openStream();byte [] b = new byte[1024];int n=-1;while((n=in.read(b))!=-1) {String str = new String(b,0,n);;}}catch(Exception exp){;}}}2、从键盘输入网址,将该网址的内容读入到本机并输出到一个文件urltext中。

import .*;import java.io.*;import java.io.*;import java.util.*;public class Lx2 {public static void main(String args[]) {Scanner scanner;URL url;"输入URL资源,例如:");scanner = new Scanner(System.in);String source = scanner.nextLine();try {url = new URL(source);InputStream in = url.openStream();byte [] b = new byte[1024];int n=-1;FileOutputStream out=new FileOutputStream("urltext.txt");while((n=in.read(b))!=-1) {String str = new String(b,0,n);out.write(b,0,n);;}}catch(Exception exp){;}}}3、用线程技术实现上述程序import .*;import java.io.*;import java.util.*;public class Example13_1 {public static void main(String args[]) {Scanner scanner;URL url;Thread readURL;Look look = new Look();"输入URL资源,例如:");scanner = new Scanner(System.in);String source = scanner.nextLine();try { url = new URL(source);look.setURL(url);readURL = new Thread(look);}catch(Exception exp){;}readURL = new Thread(look);readURL.start();}}import .*;import java.io.*;public class Look implements Runnable {URL url;public void setURL(URL url) {this.url=url;}public void run() {try {InputStream in = url.openStream();byte [] b = new byte[1024];int n=-1;while((n=in.read(b))!=-1) {String str = new String(b,0,n);;}}catch(IOException exp){}}}二、读取主机地址和本机地址1、调试下列读取主机名称及IP地址的程序import .*;public class Example13_2 {public static void main(String args[]) {try{ InetAddress address_1=InetAddress.getByName("");;InetAddress address_2=InetAddress.getByName("");;}catch(UnknownHostException e) {"无法找到");}}}2、从键盘输入任意主机名,读取主机地址、本机地址import .*;import java.io.*;import java.io.*;import java.util.*;public class Ex2 {public static void main(String args[]) {Scanner scanner;URL url;"输入URL资源,例如:");scanner = new Scanner(System.in);String source = scanner.nextLine();try{ InetAddress address_1=InetAddress.getByName(source);;InetAddress address_2=InetAddress.getLocalHost();;}catch(UnknownHostException e) {"无法找到");}}}三、套接字应用1、编程实现客户端与服务端之间的应答通讯服务端代码:import java.io.*;import .*;public class Server {public static void main(String args[]) {String [] answer ={"南非","进入世界杯了","哈哈...问题真逗!"};ServerSocket serverForClient=null;Socket socketOnServer=null;DataOutputStream out=null;DataInputStream in=null;try { serverForClient = new ServerSocket(2010);}catch(IOException e1) {;}try{ "等待客户呼叫");socketOnServer = serverForClient.accept(); //堵塞状态,除非有客户呼叫out=new DataOutputStream(socketOnServer.getOutputStream());in=new DataInputStream(socketOnServer.getInputStream());for(int i=0;i<answer.length;i++) {String s=in.readUTF(); // in读取信息,堵塞状态"服务器收到客户的提问:"+s);out.writeUTF(answer[i]);Thread.sleep(500);}}catch(Exception e) {"客户已断开"+e);}}}服务端代码import java.io.*;import .*;public class Server {public static void main(String args[]) {String [] answer ={"南非","进入世界杯了","哈哈...问题真逗!"};ServerSocket serverForClient=null;Socket socketOnServer=null;DataOutputStream out=null;DataInputStream in=null;try { serverForClient = new ServerSocket(2010);}catch(IOException e1) {;}try{ "等待客户呼叫");socketOnServer = serverForClient.accept(); //堵塞状态,除非有客户呼叫out=new DataOutputStream(socketOnServer.getOutputStream());in=new DataInputStream(socketOnServer.getInputStream());for(int i=0;i<answer.length;i++) {String s=in.readUTF(); // in读取信息,堵塞状态"服务器收到客户的提问:"+s);out.writeUTF(answer[i]);Thread.sleep(500);}}catch(Exception e) {"客户已断开"+e);}}}2、通过键盘输入问答方式,实现客户与服务器之间的对话,任何一端回答“bye”时,结束。

Java实训项目[5篇范文]

Java实训项目[5篇范文]

Java实训项目[5篇范文]第一篇:Java实训项目实训项目:学生信息管理一、实训的性质、目的与任务计算机信息管理专业的java实训在教学计划中是实训、实习课程。

它涵盖了java开发和工程组织、数据结构等多项相关知识。

由于计算机技术不断发展,尤其是软件开发的发展,使得计算机软件的使用已渗透到各行各业,因此社会对软件开发人才的需求不断增大。

整个实训课程教学内容从应用的角度出发,在理论和实践上掌握java工程开发的理念、类的组织、类的结构关系、面向对象中流的使用等技术。

使学生能独立设计基于Eclipse控制台开发的小型系统。

本次实训重点和难点:利用java搭建工程文件结构;B/S程序;数据库前后台程序;C/S 程序。

二、实训内容和实训要求1.实训内容(1).掌握Eclipse中工程的使用,项目的调试、编译、链接、运行。

(2).面向对象程序设计中类的组织和类之间的关系分析。

(3).构造函数的应用。

(4)继承和派生的使用(5).多态性和接口的使用。

(6).网络编程的组织与使用。

2、教学手段与教学方法充分利用多媒体设备组织教学。

在备课时,教师将一部分实训内容的步骤制作成课件,在教学中通过投影演示教学,另一部分部分的实训内容进行现场教学,让学生边听讲,边练习。

学生的学习兴趣得到激发,动手能力也得到了锻炼和提高。

最后将实训的最终效果演示。

本实训要以能力培养为主线,强化实践性教学,突出“理论教学为实践教学服务”的教改重点。

3.实训要求学会Eclipse完成工程的创建;掌握面向对象中类、继承、多态性的开发思想;掌握网络编程的概念;独立设计B/S螃蟹过街游戏;考试管理管理系统;C/S网络三、实训方案教科书 264页15.1——15.5标题即可四、实训结果与分析自己分析五、实训总结、体会:通过这一期的实训,虽然实训的时间不长,但是总体上收获挺大的,当我们正式准备学习实训java编程技术时,让我感到非常高兴,因为java一直学的是课本知识,所以实训对于我来说是必须要学会熟练操作的。

java实训报告总结范文范本java实训报告(3篇)

java实训报告总结范文范本java实训报告(3篇)

java实训报告总结范文范本java实训报告(3篇)如何写java实训报告总结范文范本一20xx年伊始是通过分销资源规划系统(drp)拉开序幕.此次工程是一个相比照较完整的java web工程,从最根底的业务介绍,到需求分析,数据库分析与设计,页面设计,代码编写….直到整个工程的完成,通过这个工程学到了许多新的学问,同时对许多已经学过的学问进展很好的摩擦和补充.由于在其中还穿插着其他的内容,所以用了有半年左右的时间.详细总结可以参见博客:drp工程总结.从4月初到5月末,预备并进展软件设计师的考试.这是我其次次参与软件设计师考试.通过两次考试的比照可以明显的发觉产生在自己身上的一些转变和进步.详细可见无经受,不成熟—软件设计师考试后总结但是最终的考试结果是没有通过,和第一次一样,差两分.虽然成绩的结果没有通过,但是通过这次软件设计师的复习考试,很给力的给自己补充了计算机根底方面的学问,同时也解了自己许多的怀疑,真正的学到了许多的学问.回忆自己整个的复习过程,收获是很大的,不仅仅是计算机根底,更是一种面对失败的心态收获.而这种心态将会在自己将来的路上会起很大的作用.后半年进入ssh工程的实践和学习.ssh为struts+spring+hibernate的一个集成框架,是目前较流行的一种轻量级web应用程序开源框架。

struts就是一个mvc的架构,在掌握器,视图和模型方面都有其特定的组件,在ssh框架中,更多的是利用了controller这个组件。

spring实现了反转掌握(inversion ofcontrol)和面对方面编程(achievement-orientedprogramming)。

spring框架的能实现应用的分层架构,在应用中要使用的对象可以被一个简洁的xml文件连在一起,这个xml文件含有到像事务治理器、对象工厂、包含业务规律的效劳对象、和数据存取对象这些对象的引用。

hibernate是一种orm映射工具,它不仅供应了从java类到数据表之间的映射,也供应了数据查询和恢复机制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
l NetBeans IDE5.5.1
这两个软件都是免费的,可以到网上下载。下载完毕后需要先安装好JDK,然后再安装NetBeans IDE5.5,安装完毕后,就可以打开NetBeans IDE5.5.1,开始我们的学习历程了。
2、建立记事本项目
NetBeans是以项目的方式来管理程序的,通常一个程序就是一个项目。所以我们创建JAVA程序的第一步就是建立项目。
在检查器中,右键点击“newMenu”,在弹出菜单中,选择【属性】,此时弹出一个可以修改属性和事件的对话框,我们选择属性选项卡,找到ico属性,点击ico属性对应的按钮,如图7:
此时弹出一个图片选择对话框,我们选择类路径,并在当前类路径下选择图片文件,点击“确定”按钮,这时我们菜单的图片就添加上了
l给菜单设置加速键
1、建立窗体
在项目视图的源代码包上单击右键创建一个包(包名为qiu.notesys),然后在qiu.notesys包上单击右键创建一个jFrame类(类名为WinNote.java),此即为记事本的窗体,我们将在该窗体上添加其他组件构建记事本的界面。如图5
根据图5,NetBeans的GUI生成器的各种窗口包括:
【编辑】è【剪切】【editMenu】è【cutMenu】EèT Ctrl+X
【编辑】è【拷贝】【editMenu】è【copyMenu】EèC Ctrl+C
【编辑】è【粘贴】【editMenu】è【pasterMenu】EèP Ctrl+V
【编辑】è【全选】【editMenu】è【selectAllMenu】EèA Ctrl+A
知识点整理:
l NetBeans中,在可视化的方式中就可以顺利完成菜单的各种复杂设置,包括顶层菜单、菜单项、分割线等的添加以及其他菜单的相关设置
l菜单使用的图标我们事先放到了一个包内,然后以类路径的方式加入到了菜单中,这样类路径并不依赖某个具体路径,所以使程序易于移植。
(3)按照刚才的方法给记事本添加表1所示的菜单
菜单的快捷键可以使用户用快捷键来执行某个菜单的操作。切换到代码编辑器窗口,在代码编辑器中创建一个方法setMenuAccelerator,在方法中为需要设置快捷键的菜单加入设置语句即可,新建菜单的快捷键设置如下
这样,当我们按下Ctrl+N时,就可执行新建命令了。最后在主类(WinNote.java)的构造方法中调用该方法即可。
(1)选择NetBeans的文件菜单——新建项目,根据向导(如图1所示)选择“常规”,“ java应用程序”,然后转入下一步。
(2)向导的第二步如图2所示,需要设置项目的一些信息。我们把项目名称定为NoteSys,设置好项目保存位置,此时先不创建主类,所以去掉创建主类复选框的对号,单击完成即创建好一个项目
(3)项目建立之后NetBeans界面如图3:
知识点整理:
l从图1可以看到,使用NetBeans还可以创建web程序和企业程序,我们这里创建的是桌面应用程序。
l可以在建立项目时创建主类,也可以不创建,留到项目建立好后再创建
l项目建立好之后就可以在NetBeans IDE环境中看到刚才创建的项目(图3)。NetBeans的文件组织分为两种方式:项目组织方式和文件组织方式。
项目组织方式中整个项目(NoteSys)包括:源包、测试包、库和测试库,源包再由若干java文件构成。
文件组织方式按照实际的物理存放目录组织,即项目在硬盘上的存放路径。整个项目(NoteSys)包括src、build等几个文件夹。
l项目建立好后,在源包上单击右键可以创建包和其他的java文件,在创建的包上单击右键也可以创建各种java文件,见图4
这样,我们的记事本界面就制作完毕了,在项目窗口中,找到WinNote.java,右击选择编译文件,NetBeans则对该文件进行编译,编译成功后,在运行文件即可启动程序,运行效果如图8:
三、打开与保存
在上一节中我们已经完成了记事本的界面,也从中学习了一些构建GUI的方法和技巧。从本节开始将要讨论记事本的功能开发,先看如何打开和保存文件。当然在叙述过程中会讲解如何使用NetBeans的代码编辑器的一些用法。
经过这样几个步骤,我们就建立了一个桌面程序项目NoteSys,接下来就是在IDE中对项目进行开发,首先我们先看如何建立程序的界面。
二、构建记事本GUI界面
NetBeans IDE的GUI生成器经过了不断的改进,截至NetBeans 5.0版本时,它已变得更为强大、更具直观性了。用户无需深入了解布局管理器,就可以生成具有专业外观的GUI。在NetBeans中以可视化的方式来生成界面,我们只需将组件放置在所需的位置,就可以完成窗体布局的设置。下面的步骤将带领大家制作记事本的界面,也会让大家领略到NetBeans中构建GUI界面的方便和高效。
l项目和文件区域:显示整个项目的文件,采用项目和文件两中方式组织。可以通过该窗口管理java文件,包括对java文件的新建,删除,编译,运行等操作
l检查器:提供所有组件的表示,包括在应用程序中表示为树状分层结构的可视和非可视组件。并允许您在可用面板中组织这些组件,而且添加组件,设置组件的属性和事件也可以在检查器内完成。
l设计区域:GUI生成器用于创建和编辑Java GUI窗体的主窗口。通过使用工具栏的“源”和“设计”切换按钮,可以查看类的源代码或其GUI组件的图形视图。
l组件面板:可用组件的可定制列表,包含JFC/Swing、AWT和JavaBean组件的标签以及布局管理器。此外,还可以使用定制器来创建、删除和重新排列组件面板中显示的类别。
l对于每个菜单来说,还需要创建一个菜单对象,然后把此顶层菜单添加到菜单栏中,接着在菜单对象中添加菜单项、分隔符以及子菜单。对于【文件】è【新建】而言,我们应首先将【文件】这个菜单对象创建,然后将【新建】菜单项添加到【文件】菜单选项中。参考图6,具体步骤如下:
i.在检查器中,右键点击jmb,在弹出菜单中,选择【添加JMenu】,此时检查器中在jmb下面添加了一个新的JMenu菜单对象。
JAVA项目实训文档
项目名称:在Netbeans下实现记事本程序
设计内容:仿照windows提供的记事本设计一个功能类似的程序
具体设计:
一、建立项目
1、开始之前
使用NetBeans IDE开发JAVA程序,需要安装如下软件:
l J2SE(TM) Development Kit (JDK),版本最好是1.5以上
ii.右键点击JMenu菜单对象,在弹出的右键菜单中选择【更改变量名称…】,将其新建名称更改为“fileMenu”。
iii.右键点击“fileMenu”菜单对象,在弹出菜单中选择【添加】è【JMenuItem】(可在此菜单中添加菜单项,分隔符,子菜单等),此时在“fileMenu”菜单对象中添加了一个菜单项,我们将此菜单项更名为“newMenu”。这样文件菜单和新建菜单项就建立好了。
l “属性”窗口。显示GUI生成器、“检查器”窗口、“项目”窗口或“文件”窗口中当前选定组件的属性。
l调试和输出窗口:位于窗口的最下方,显示调试程序的信息和输出信息。
注意:如果单击“源”按钮,IDE将在编辑器中显示应用程序的Java源代码,其中包含GUI生成器自动生成的代码部分,这部分以蓝色区域表示,称为“被保护的块”。被保护的块是“源”视图中无法编辑的受保护区域。处于“源”视图中时,只能编辑出现在编辑器白色区域中的代码。如果需要对被保护的块中的代码进行更改,请单击“设计”按钮以便从IDE的编辑器切换到GUI生成器,然后在生成器中对窗体进行必要的调整。保存更改时,IDE将更新文件的源代码
l右击qiu.notesys包新建一个类(名称为TextFilter),此时该类的内容如下
加速键的作用就是程序运行中可以通过使用ALT加字母的方式快速打开菜单。NetBeans中,在菜单的text属性指定的名字后面加上一个括号和一个大写字母,例如新建的text为“新建(N)”然后把属性mnemonic设置成刚才指定的大写字母即可,此时通过ALT加该字母就可以访问该菜单了
l给菜单设置快捷键
设计表2所Байду номын сангаас的工具栏
放置顺序变量名称功能工具提示
1 newButton新建文件新建
2 openButton打开本地文件打开
3 saveButton保存文件到本地保存
4 cutButton剪切剪切
5 copyButton拷贝复制
6 plasterButton粘贴粘贴
4、加入文本框
NetBeans提供几个显示编辑文本的组件,我们使用JTextArea来实现。从面板中找到JTextArea,加入到窗体上
1、打开文件
使用记事本打开一个已有的文本文件需要涉及到如下问题:
l如何控制要打开文件的类型,即只能打开文本文件
l打开对话框如何实现
l如何从硬盘上读入文件内容到记事本中
下面依次讨论这三个问题的解决方案
(1)控制要打开文件的类型——FileFilter类
JAVA中的FileFilter类可以很好的解决这个问题,FileFilter是一个没有默认实现的抽象类。一经实现便可以设置在JFileChoose上,以阻止不需要的文件出现在目录清单中。所以我们自己写一个类继承自FileFilter,然后实现FileFilter类的方法即可,具体如下:
菜单项菜单变量名快捷键加速器
【文件】è【新建】【fileMenu】è【newMenu】FèN Ctrl+N
【文件】è【打开】【fileMenu】è【openMenu】FèO Ctrl+O
【文件】è【保存】【fileMenu】è【saveMenu】FèS Ctrl+S
【文件】è【退出】【fileMenu】è【exitMenu】FèX
右击组件,在菜单中选中“自动调整大小”的垂直和水平菜单,则运行程序时,组件会随着窗口的大小变化而变化。
相关文档
最新文档