java大作业设计报告-JAVA聊天室

java大作业设计报告-JAVA聊天室
java大作业设计报告-JAVA聊天室

JAVA程序设计

多人聊天室

:

?

#

1设计目的

Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。本次课程设计旨在应用JAVA编程语言中的网络通信,多线程,数据库编程,图形界面编程等技术实现一个基本的多人在线网络聊天室。并以此巩固JAVA基础知识,体会面向对象的设计方法。

2》

3平台要求

3.1使用:

搭载JAVA运行环境的平台即可。

3.2开发环境:

Windows10 64bit

JDK

Eclipse

Window Builder

4需求分析

管理员:启动服务器,关闭服务器,强制用户退出,聊天房间增添改查。

用户:GUI,注册,登陆,聊天等。

用例图:

System

User

Administrator

Server

Client

Database

House delete or add

User logout

Login and logout

Chat

Enter and leaveHouse

User Info get and set

Sign Up

Start up server

5 概要设计

5.1 服务器设计

将客户端的请求抽象化,每种请求服务器都会产生一个特定的类的对象去处理它。服务器负责接受客户端请求,根据请求内容完成指定工作。为提高效率,采用多线程结合线程池设计技术,对于每个请求在线程池内得到一个线程去处理请求。如图3-1所示。

5.2 客户端设计

聊天室中一个事物的过程基本流程是:用户产生动作,客户端发送消息,服务器接收并处理,服务器返回处理结果,GUI 根据结果进行显示的更新。客户端只在GUI 中采用多线程设计。而对服务器回应的接受都是单线程的因为只有一个服务器为自己服务,且在接收数据过程中连接是不可断开的。客户端的设计如图3-2所示。一次事物流程中的步骤编号在图中给出。

&

图 5-2客户端概要图

6 详细设计

6.1 服务器详细设计

服务器要完成的任务是接受客户请求并在自己维护的数据结构上进行相应处理最终将处理结果返回给客户端。具体涉及到多线程,数据库,网络通信几项技术,同时为了实时根据请求产生特定类的对象使用了反例技术。

6.1.1 <

6.1.2

总体概览

服务器端的入口类为ServerMain 。聊天室服务器端代码可分为以下八个部分。除最后两个部分外其他部分为串行执行。在接听后,创建的线程会并发处理客户请求。由于各个处理并发的特点,使得服务器的响应不会应为某个而用户阻塞,提高了效率。

1

2

3 4

6 7

图 6-1聊天室服务器代码布局

服务器将用户操作抽象为不同的工作类,在接收到请求后根据消息协议在当前实现的工作类名列表中找到类名(通过下标在CommandList类中的List commandsList属性中得到),通过反例技术直接生成类的对象。各个类对象负责具体工作,他们都继承ServerWorkClass。而ServerWorkClass 继承自WorlClass因为客户端对服务器的回复也应当有特定的类去处理它。目前实现的类有以下五种。当要添加新功能时只需向commandsList属性静态添加索引。进一步,也可在以后加入新的机制实现动态添加功能。

!

类名

HouseRelative处理用户的进入、离开房间请求Login处理用户的上线、下线请求

Messages处理用户的消息发送请求

$

UserDelAdd

处理用户注册请求UserInfo处理用户的用户信息查询设置请求SeverMain

Accepter CommandHandler

UserFactory

HouseFactory

User

House DataBaseServer

WorkingClass

Login

HouseRleative

UserDelAdd Messages DateAndTime

Sender

Friends

BlackList

WorkingClassFactory

PacketUnit

6.1.3协议约定及实现

由于要考虑客户端的各个请求需要完成不同的操作,需要根据数据来内容来做特定的工作,本聊天室将通信协议定义如下:

userID:服务器通过此ID确定消息是由哪个用户发出的。

authorization code:服务器对用户身份进行认证的域,每次在接受用户请求后都会更新一个随机数,并且将内容返回,而用户在请求服务器时必须使用最新的验证码否则不会得到服务器响应。这防止了非法用户的不正当操作。

command:表示用户的请求类型其值为具体操作的工作类在commandsList 中的下标,服务器通过此下标找到类名产生类的对象。到这里为止的工作都是由一个CommandHandler的类的对象来完成,它实现了Runnable接口,在Accepter 类的对象接受到消息后产生一个线程来执行对消息的下一步处理,其主要工作就是通过WorkingClassFactory使用反例技术产生具体工作类,之后调用工作类的doJob()方法完成任务。

command2:一个具体工作类是对一类操作的抽象,如与房间相关的操作可能包括进房间和出房间,而具体内容就是根据command2来标示的。从这里开始的工作已经进入到了WorkingClass的代码区域。

result:是服务器向客户端告知请求是否正常完成的字段。

之后就是具体消息的定义区域。首先一个MessageAmount来表示消息个数,而之后每条消息都有一个int域来表示其长度。为了支持中文,采用字符数组而不是字节数组。

服务器和客户端都将协议下的具体报文封装在了PacketUnit类中,其主要提供了一个通过输入流来构建自身的构造方法和重写了toString方法以便发送时序列化。

PacketUnit的产生源头是GUI的监听处理函数。由特定部位按钮或组件调用PackUnitGenerator类的特定静态方法产生特定的对象。

6.1.4初始化数据库

数据库采用JAVA数据库JDBC技术。一般步骤为加载特定数据库驱动,产生建立连接的URL,根据URL连接数据库,在连接上创建statement类的对象进行查询和更新任务的发送。与数据库有关的所有工作都由DataBaseServer类来完成。由于考虑到聊天室中大部分操作不需要数据库,并且全程一个连接可能在并发过程中会导致潜在的错误,在初始化中只进行了驱动的加载。之后需要查询或更新数据库时通过创建DataBaseServer类的对象来创建新的连接,以对象为单位向数据库发送查询请求。

DataBaseServer主要提供以下几个方法:

public static void init();

完成数据库驱动的加载,并且由于静态方法第一次调用,获取服务器连接的DataBaseServer静态属性URL也会在此时生成。

public DataBaseServer();

DataBaseServer的构造函数,每次调用都会创建一条向MYSQL数据库的连接。

|

public int updateQuery(String job);

向已连接的数据库发送一个更新请求,参数为SQL更新语句。

public ResultSet getResult(String job);

向已连接的数据库发送一个查询请求,参数为SQL查询语句。并且返回一个

ResultSet结果,是一个包含了查询结果的对象。

具体代码位于文件内。

数据库采用MySQL数据库,使用到了两张表,定义如下:userinfo表:

"

表项类型

uid int

name varchar

password

@ varchar

gender char telearea char telephone char

nickname

!varchar

birthyear int birthmonth int birthday int

homeland

·varchar

hid

^ int

shid int housename varchar ouid int

createyear

) int

createmonth int

createday int

houseinfo varbinary

6.1.5]

6.1.6初始化用户信息

用户信息不仅是服务器对客户端的抽象,也是服务器内部对用户进行管理最基本的类。在服务器中以User类来表示用户。其有用户的基本个人信息,以及用户所在客户端的IP和端口(在Login过程后初始化),和用户当前所在房间的

列表(以便用户名等信息更新时及时通知所有看得到此用户的用户)。

属性:类型属性:类型

homeLand : String~

uid : int

info : String userName : String authCode : int password : String

gender : char

*

ipAddress : InetAddress

port : int telearea : String ipAddressEvil : InetAddress telephone : String

; portEvil : int nickname : String currentHouse : ListbirthYear: int

ownHouse : List]

birthMonth : int

总体上,服务器在初始化时从数据库中直接读取所有用户,并且将他们存储于线下用户的userAll表中(这里有一个基本约定:服务器启动时是没有用户在线的),而在线用户则存储在另一个userCul表中,这两个表在服务器中表示了当前的所有用户的集合。而这两个表的维护归一个叫做UserFactory的类来管理,它负责向外界提供User对象采用了工厂设计模式,并且采用了单例模式,因为一个服务器只需一个工厂进行管理。

用户初始化的流程如下:

UserFactory对外提供如下几个方法:

public User getByUid(int uid);

通过用户编号获得User类的对象。

public User getByName(String name);

通过用户名获得User类的对象。

public User createUser(String[] messages);

创建一个用户并且将其写入数据库,同时存入userAll。

,

public User updateUser(String[] messages,User userTmp);

更新一个用户的信息,将其写入到数据库中。用户名改变造成的客户端与服务器不一致由UserInfo类处理,一般情况下此方法也只由UserInfo类的对象调用。

public void loginAUser(User utm);

使一个用户由线下状态转换为线上状态。即从userAll表转移到userCul 表。

public void logoffAUser(User utm);

与loginAUser相反。

public boolean isOnline(int uid);

检查一个用户是否在线。

·

public boolean isExists(int uid);

通过UID检查指定用户是否存在。

public boolean isExists(String checkName);

通过用户名检查指定用户是否存在。

public List getUserCur();

获取所有在线用户。

具体代码位于内。

6.1.7初始化房间信息

#

房间是用户间通信的场所,通信不可能从一个房间到另一个房间。在服务器中房间用House类表示。为此,房间主要维护一个房间内用户的表,以便某个用户发送消息时使服务器知道该把消息发送给谁。

房间信息的初始化类比用户信息的初始化,也使用了工厂模式和单例技术,只是少了在线不在线这个概念。

House的工厂类为HouseFactory。其向外提供了通过HID或房间名来获取房间对象的方法。不再赘述。

6.1.8设置本地发送端的Socket

为了实现异步通信,在通信过程中客户端和服务器总共需要四个Socket,分别用于服务器接受,服务器发送,客户端接受,客户端发送。必须先设置发送端的信息,后设置接受端的信息以防止接收到请求处理完而无法发送导致的数据不一致问题。服务器在这里设置设置服务器发送端的Socket。通过ServerMain 类调用()来实现。而服务器发送的任务完全交给Sender类。它主要提供一个send 方法,参数是报文信息和用户,通过将报文信息字节化,获取用户的接受Socket 得到发送地址和发送内容,从而执行发送过程。

6.1.9监听

监听的工作由Accepter类完成,它实现Runnable接口,在ServerMain准备好了所有内部数据后会调用方法来设置Accepter监听的本地端口,并且启用一个新线程来监听。

Accepter的run方法内创建了一个线程池,从此进入一个无限循环,内部工作为监听端口,获取输入流,产生PacketUnit,产生一个Commandhandler并包装为Thread对象后开启新的线程。

6.1.10事物处理

事务处理由WorkingClass的几个子类具体执行。

WorkingClass有一个PacketUnit类的属性因为WorkingClass的工作是围绕接收到的数据展开的,所有WorkingClass子类都应该有此成员,此成员在CommandHandler类内部产生WorkingClass时将其赋值。

ServerWorkingClass的子类都处于服务器内,主要工作就是根据请求改变服务器数据结构属于整个流程中的第四步(见图xxx)。有一个属性User myUser,用于告知服务器现在服务的用户以便对服务器维护的数据进行更新。

ClientWorkingClass的子类都处于客户端内,工作是根据服务器的反馈告诉GUI做适当的显示。负责整个流程中的第七步。

.

各子类的工作逻辑详见代码。这里简单列出流程图。

Login:

协议:

流程:

确定是登录还

是下线

通过

message[0]获

取myUser

认证AuthCode

下线

登陆

用户认

证成功

不在线

成功

将myUser从

userAll转移到

userCur

不在线

设置消息

错误的用户名

或密码

失败

设置消息

用户已在线

失败

设置消息

登录成功

成功

认证成

将myUser从

userCul转移到

userAll

设置消息

下线成功

成功

发送消息

注意:由于第一次登陆是客户端无法知道UID所以myUser属性只能通过消息中的用户名获得。返回消息时会设置登陆成功的客户UID由客户端维持。HouseRelative:

getInHouse:LeaveHouse:

确定是进入还

是离开房间

通过

message[0]获

得House对象

对房间内的每

个用户告知用

户进入房间

通过

message[0]获

得House对象

对房间内的每

个用户告知用

户离开房间

Messages:

通过messag[0]

获取House对

通过

message[1]获

取发送到的消

通知房间内的

每个用户消息

到来UserDelAdd

通过message数组调用

UserFactory的

createUser方法

检查创建用户的数据的

合法性

用户是否已

存在?

UserInfo

是更改数据还

是查看数据

获取数据

返回

若要更改用户名

则验证用户名是

否已存在

更改数据并且

写入数据库

返回成功信息

更改

查看

6.2 客户端详细设计

6.2.1 总体概览

客户端主要运用到了GUI 和网络通信技术。涉及到的类之间的关系如下:

ClientMain

ClientAccepter

Sender

WorkClassFactory

LoginWindow

Login

HouseRleative

UserDelAdd

Messages DateAndTime Friends

BlackList

ClientWorkingClass

MainWindow SignUp(window)

LoginResult(Window)

UserDetail(windwo)

CommandHandler PacketGenerator

·

客户端执行任务的基本流程如下:

开启登陆界面开启接收线程

等待服务器回

登陆或注册按钮被触发

登陆成功

开启主窗口

报告错误

不同GUI 监听器产生不同的请求数据包

输入合法

产生特定工作

更新显示

6.2.2 登录界面

Login 按钮的监听器会调用PackUnitGenerator 来产生一个登录请求的数据包,内容见登陆部分。之后除了接收线程还在等待服务器回复外不再进行任何动作。接受到回复后会根据消息产生相应的界面。

|

只有当能够登录时Next按钮才能点击,点击后,服务器就会登录此用户。同时这个Next的监听器还会产生一条进入房间Hall的请求,从而保证了每个用户在登录成功后会进入Hall房间。而其他房间需要用户手动进入。

6.2.3注册界面

如上图所示。Submit按钮会检查输入是否合法,否则会提示相应输入信息的错误情况,Cancel会销毁这个对话框,如图。

若输入合法会根据输入产生一个注册的数据包发往服务器。但还会遇到如用户名已存在的情况。这是注册也是失败的。

6.2.4主界面

主界面上所有按钮功能均已实现。

由于需要支持多房间,在消息显示区域上方有一个Entered House下拉菜单,里面每一项对应着一个消息显示区域和右下方的一个Current User列表。分别

是当前房间的消息和当前房间内的用户。

右上方的All House列表中的每一项代表一个房间,双击它。若已进入房间则只是更改Entered House下拉菜单的当前选择项。若没有进入过该房间则会产生一个进入该房间的请求。等到服务器返回消息后由HouseRelative工作类在EnteredHouse下拉菜单中创建一个条目,同时创建一个该房间的消息显示区域以及当前房间内用户的列表。这些消息都能够从服务器返回的消息中得到。

6.2.5用户消息显示界面

在聊天室中所有用户都可以查看自己或者别人的资料,并且对自己的资料有更改权。只需点击MyDetail按钮或者双击Current User列表中的用户名即可查看消息。

7测试

加入房间,离开房间均能在其他客户端正常显示。

消息中英文发送显示正常,所有同房间内的人都能收到。

用户信息显示正确工作。见节。

8优缺点分析

8.1优点

1、服务器采用多线程应对客户端请求并且结合线程池技术。使得服务

器的并发量较大。

2、服务器采用将数据协议规范化,使得任务处理流程清晰。

3、服务器将对同请求产生特定的类去处理,使得各个工作之间相互分

离并且使得扩展更加容易。

4、服务器将数据大部分存储在内存中减少了对数据库的访问。

5、客户端采用了接收信息对GUI进行处理的模型,使发送请求和得到

响应之间异步进行从而使得交互性更好。

8.2缺点

1、构建工作类模型及其框架的实现花费大量代码和时间。虽然扩展性

的到了提高,可是由于时间关系只能实现少数几个功能。用户注销,好

友功能,文件传输功能,私聊功能这些都是工程计划中的一部分,都需

要实现。

2、GUI美观性较差。

9总结

经过一段时间的努力我们小组实现了这个简单的JAVA聊天室系。从数据库支持下的注册用户信息更改功能,到多线程网络通信支持下的多房间多人聊天功能,到GUI支持下的交互界面,我们实现了对聊天功能的基本抽象与实现。

由于刚刚接触JAVA语言特别是GUI编程,我们的聊天室显得有些简陋,由于时间的关系我们也没有去更细心地去修改界面。但经过这个工程的学习,我们掌握了多项JAVA编程技术。其中的数据库,多线程,网络通信更是对我们以后的工作生涯有很大的启发和帮助。我们现在已不仅限于只能编出一个在控制台下输入输出字符的命令行程序了。这极大地丰富了我们的编程经历。

同时我们学到了设计需要的团队精神。xxx同学完成了聊天室中具体技术的总结和介绍(线程池、数据库、网络通信等具体技术)。服务器和客户端的具体工作类中与房间相关、聊天消息相关类的实现。同时对通信做出了很大的优化,

如字节数组到字符数组的迁移使得聊天室支持中文以及其他文字。UDP到TCP的迁移解决了项目早期频发的丢包问题。xxx同学完成了对服务器的建模、GUI的实现、以及其他工作类的实现。

Java程序设计在线作业-单选题2

Java程序设计在线作业2 一、单选题(共 10 道试题,共 30 分。) 1. 下列程序的输出结果是import java.io.*; public class abc { public static void main(String args[]) { String s1="Hello!"; String s2=new String("World!"); System.out.println(s1.concat(s2)); } } A. false B. Hello! C. Hello!Wofld! D. 12 2. 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 A. init() B. start() C. destroy() D. stop() 3. Java语言的类型是() A. 面向对象语言 B. 面向过程语言 C. 汇编程序 D. 形式语言 4. 下列哪一项不属于Awt布局管理器?() A. GridLayout B. CardLayout C. BorderLayout D. BoxLayout

5. 下面代码的执行结果是什么?( )<% x=3; %><% int x=5; %><%! int x=7; %> x = <%=x%>, <%=this.x%> A. x = 3, 5 B. x = 3, 7 C. x = 5, 3 D. x = 5, 7 6. Java Applet 源程序文件的扩展名为()。 A. .java B. .class C. .html D. .exe 7. 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画 图操作。() A. start() B. stop() C. init() D. paint() 8. 阅读下面的代码,第10行的语句将调用哪个方法?() 1. class Person { 2. public void printValue(int i, int j) {/*…*/ } 3. public void printV alue(int i){/*...*/ } 4. } 5. public class Teacher extends Person { 6. public void printValue() {/*...*/ } 7. public void printValue(int i) {/*...*/} 8. public static void main(String args[]){ 9. Person t = new Teacher(); 10. t.printValue(10); 11. } 12. } A. 行2 B. 行3 C. 行6

聊天室系统设计报告

青岛科技大学操作系统课程设计 学生班级计算机132班 学生学号1308010204 学生姓名王永远 2016 5 18 ______年 ___月 ___日

目录 设计题目:聊天室系统 (3) 一、设计目的及要求 (3) 1.1设计目的 (3) 1.2设计要求: (3) 二、技术背景 (3) 2.1网络编程 (3) 2.2网络通信 (3) 2.3 Socket (3) 2.4 TCP传输 (4) 2.5 Java的多线程机制 (4) 三、需求分析 (4) 3.1客户端 (4) 3.1.1登录 (4) 3.1.2多人聊天 (4) 3.1.3单人聊天 (5) 3.2服务器端 (5) 四、总体设计 (5) 4.1设计思想流程图 (5) 4.2设计思想分析 (6) 五、详细设计 (6) 5.1客户端设计 (7) 5.1.1登录界面 (7) 5.1.2聊天室界面 (7) 5.1.3单人聊天界面 (7) 5.2服务器端设计 (8) 六、系统测试 (8) 6.1登录测试 (8) 6.1.1用户名为英文字母 (8) 6.1.2用户名为中文 (9) 6.1.3用户名为标点符号 (9) 6.1.4多个用户有重名 (10) 6.1.5服务器地址不合法 (11) 6.1.6端口号不合法 (12) 6.1.7服务器未开启 (12) 6.2群发消息测试 (13) 6.3私聊测试 (15) 6.4用户列表显示测试 (16) 七、心得体会 (16) 八、参考资料 (16) 九、程序清单 (16)

设计题目:聊天室系统 一、设计目的及要求 1.1设计目的 通过该聊天室系统,掌握网络编程的概念及基于网络的C/S模式软件系统开发,掌握基于TCP 协议的Socket编程,掌握Java的多线程机制。 1.2设计要求: 实现多个用户之间类似于QQ的聊天程序,有聊天界面,多用户之间既可以实现群聊,也可以单独聊天。 二、技术背景 2.1网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 2.2网络通信 (1)IP地址:网络中设备的标识,不易记忆,可用主机名 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中,这个标识号就是IP地址。 (2)端口号:用于标识进程的逻辑地址 物理端口网卡口 逻辑端口我们指的就是逻辑端口 A:每个网络程序都会至少有一个逻辑端口 B:用于标识进程的逻辑地址,不同进程的标识 C:有效端口:0~65535,其中0~1024系统使用或保留端口。 (3)传输协议:通信的规则,常见的有UDP,TCP UDP:将数据源和目的封装成数据包中,不需要建立连接;每个数据报的大小在限制在64k;因无连接,是不可靠协议;不需要建立连接,速度快。 TCP:建立连接,形成传输数据的通道;在连接中进行大数据量传输;通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低。 2.3 Socket (1)Socket套接字 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。 (2)Socket原理机制 A:通信的两端都有Socket。 B:网络通信其实就是Socket间的通信。 C:数据在两个Socket间通过IO传输。

JAVA学生管理系统期末大作业

JA V A学生管理系统大作业 课程名称:JA V A编程基础 题目:学生信息管理系统 专业:计算机软件 班级:计算机软件121班 学号:8000612030 学生姓名:李俊楠 完成人数:1人 起讫日期:第十六周至第十八周 任课教师:龚根华职称:副教授 部分管主任: 完成时间:2015-1-2

目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介 需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12

一:课题设计内容 学生管理系统 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 二:程序功能简介 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所

Java大作业_学生成绩管理

Java大作业_学生成绩管理本科学生综合性实验报告 课程名称:Java开发技术 项目名称:学生成绩治理系统 学生姓名学号 指导教师 开课学期2011 至2012学年第一学期 完成时刻2011 年1 月 3 日

名目 摘要 2 1 项目研究开发的背景及意义2 1.1 本课题设计学术价值、理论意义和实践意义 2 1.2 本课题设计拟研究的要紧咨询题2 1.3重点和难点3 1.4 研究方法、预期效益3 1.5 本项目创新点和特色3 2 需求分析3 2.1 开发背景 3 2.2 项目目标 4 2.3 运行环境 5 2.4任务讲明书5 3 技术路线及关键技术7 3.1系统总体功能图7 3.2学生成绩治理系统的功能模块简介:8 3.3 系统运用的要紧技术: 29 3.4数据库设计29 3.5连接数据库32 4 测试报告及系统评判33 4.1 系统简介:33 4.2 系统特色及缺点:34 5 系统使用讲明34 5.1 用户操作指南: 34 6 个人感受及收成36 7大作业总结 37 感谢37 8 参考文献:38

摘要 人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,专门是信息技术和网络技术的讯速进展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻.学生成绩治理系统是一个教育单位不可缺 少的部分,它的内容关于学校的决策者和治理者来讲都至关重要。此次大作业的学生成绩治理系统是用java编程+SQL server 2000数据库+SQL查询语言实现的.重点介绍了学生成绩治理系统的实现过程:包括系统需求分析、功能设计、数据库设计、系统实现、系统测试和调试等。 关键字:成绩治理统计信息治理数据库 1 项目研究开发的背景及意义 1.1 本课题设计学术价值、理论意义和实践意义 现在的社会知识经济在世界经济进展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育进展,科学技术和知识创新的水平,教育在经济和社会进展过程中将出现出越来越突出的重要作用。学生成绩治理系统是一个教育单位不可缺少的部分,它的内容关于学校的决策者和治理者来讲都至关重要,因此学生成绩治理系统应该能够为用户提供充足的信息和快捷的查询手段。然而有些学校依旧使用传统人工的方式治理学生成绩,填写各种表格,这种治理方式存在着许多缺点,如:效率低,保密性差,另外所用其时刻长,产生大量的文件和数据,这关于查找,更新和爱护都带来了许多的困难。在此次大作业中,我综合java编程、SQL数据库和SQL查询语言来实现一个简单的学生成绩治理系统。 1.2 本课题设计拟研究的要紧咨询题 一个完整的学生治理系统包括四个功能模板: (1)差不多信息治理:包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。 (2)课表查询:学生和教师都能够对自身的课表进行查询。 (3)统计功能:对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。

《java程序设计》作业答案

《JA V A程序设计》作业答案 一、选择题 1、编译HelloWorld.java的正确命令是: C) javac HelloWorld.java 2、正确运行HelloWorld.java的正确命令是: A)java HelloWorld 3、下面程序代码,使用多行注释正确的是: C)/* int k=9; int j=8; k = k + j; */ 4、long型的取值范围是: D)-263~263-1 5、下面不属于Java保留字的是: C)malloc 6、下面属于非法的Java标识符的是: D) abc-d 7、对与System.out.println()语句解释合理的是: C)执行后输出一个空行 8、阅读下面的代码,回答问题, for( m = 0 ; m > -2 ; m -- ){….} For循环执行多少次: C)2 9、阅读下面的代码,回答问题, for( m = 0; m < 5; m++ ) { System.out.print( m + "," ); if( m == 3 ) break; } 执行结果是: C)0,1,2,3, 10、阅读下面的代码,回答问题, public class Ex { int x = 1; void m() { int x = 3; System.out.print( "x= " + x); } public static void main( String[] args ) { Ex ex = new Ex();

ex.m(); } } 执行结果是: B)x=3 11、下面语句在编译时不会出现错误信息的是: a) float f = 1.3; b) char c = "a"; c) byte b = 257; d) boolean b = null; e) int i = 10; 12、编译和运行下面的代码,会有什么结果产生: public class MyClass { public static void main(String arguments[]) { amethod(arguments); } public void amethod(String[] arguments) { System.out.println(arguments); System.out.println(arguments[1]); } } a) 错误,静态方法不能直接引用非静态方法b) 错误,主方法有错误 c) 错误,数据定义有错误d) 方法amethod必须被声明为String型 13、编译期间会出错的是: a) import java.awt.*; package Mypackage; class Myclass {} b) package MyPackage; import java.awt.*; class MyClass{} c) /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{} 14、byte型的变量的表示范围为: a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8 c) -255 to 256 d) 依赖Java虚拟机而定 15、在命令行运行命令:java myprog good morning 会有什么结果显示出来: public class myprog{ public static void main(String argv[]) { System.out.println(argv[2]) } } a) myprog b) good c) morning

java课程设计报告(java聊天室)

Java聊天室课程设计 一、需求分析 1.1开发背景 在信息化社会的今天,网络飞速发展,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似MSN、QQ,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个类似QQ的网络聊天工具的想法,且通过制作该程序还能更好的学习网络软件编程知识。 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也得到响应的服务。 1.2设计要求 本课程设计的目标是利用套接字socket()设计一个聊天程序,该程序基于C/S模式,客户机器向服务器发聊天请求,服务器应答并能显示客户机发过来的信息。 1.3设计目的 通过设计一个网络聊天程序,对套接字、数据报通讯、URL、与URLConnectiom的相关知识有详细的了解和充分的认识。能将相关的只是运用到相关的实践中去。 1.4功能实现 聊天室共分为客户端和服务端两部分,服务器程序主要负责侦听客户端发来的消息,客户端需要登录到相应的服务器才可以实现正常的聊天功能。 服务器的主要功能有 1)在特定端口上进行侦听,等待客户连接 2)用户可以配置服务器的真挺端口

JAVA聊天室系统的设计与实现

目录 第1章绪论- 1 - 1.1论文背景及课题来源 (1) 1.2本课题在国内外的发展状况 (1) 1.3应解决的问题及系统开发意义 (1) 第2章开发工具及相关技术介绍........................................................................................................... - 2 - 2.1J A V A与S OCKET简介 .. (2) 2.2JB UILDER5介绍 (3) 2.3C/S模型介绍 (3) 2.4用J A V A实现S OCKET模型 (4) 2.5J A V A中的线程模型简介 (5) 2.6SQL SERVER2000简介 (5) 第3章系统需求分析............................................................................................................................... - 6 - 3.1系统任务描述. (6) 3.2系统功能分析 (6) 3.2.1 系统的功能需求....................................................................................................................... - 6 - 3.2.2系统数据流图............................................................................................................................ - 7 - 3.2.3系统数据分析............................................................................................................................ - 8 - 3.3系统可行性分析 (9) 第4章系统设计 .................................................................................................................................... - 11 - 4.1系统总体结构设计 (11) 4.2数据库设计 (12) 4.3系统功能模块详细设计 (13) 第5章编码与实现 ................................................................................................................................ - 16 - 5.1系统主要模块代码 (16) 5.1.1启动、停止服务器.................................................................................................................. - 16 - 5.1.2客户端连接服务器.................................................................................................................. - 17 -

(完整版)Java程序设计实验报告

Java 程序设计实验报告

实验一 JDK开发环境和结构化程序设计 实验学时:2 实验类型:综合性 一、实验目的 1.熟悉JDK开发环境。 2.熟悉UltraEdit/NotePad等编辑器编写、编译、运行Java程序。 3.掌握Java Application的程序结构和开发过程。 4.掌握Eclipse工具的使用。 5.结构化程序设计 二、实验内容 1.JDK开发环境 (1)J2sdk开发环境安装。假设JDK的安装路径为C:\JDK; (2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。如 SET PATH=C:\JDK\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%;d:\test_java (自己的工作目录) 2.UltraEdit/Notepad编辑器 练习使用Ultraedit/Notepad创建Java源程序的方法。

3.掌握Java Application程序开发过程 (1)编辑源程序,如下程序: import java.io.*; public class HelloWorld1{ public static void main(String arg[]){ System.out.println("Hello World!"); } } (2)保存文件,(注意大小写)。可将文件保存在“D:\test_java\”目录中,注意文件名为HelloWorld1.java。 (3)进入命令行(MS-DOS)方式,设定当前目录为“D:\test_java\”,运行Java 编译器: D:\test_java>javac HelloWorld1.java (4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 (5)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:\test_java>java HelloWorld1 4.Eclipse开发环境的使用 练习使用Eclipse实现第3步中Java HelloWorld程序的方法。

聊天室设计报告

网 络 聊 天 系 统 设 计 报 告 组长:靳子豪 组员:凯强、许玉军、王明明 完成时间:2015年11月3日

一、可行性研究报告 可行性研究报告(ISO标准) 编者说明: 在立项时,应该对项目进行综合分析,探讨项目的经济、社会、技术可行性,从而为决策提供基础。该模板为ISO标准文档模板,其不仅适用于软件项目,对于其它的系统项目也适用。 1.引言 1.1 编写目的 该聊天室项目可行性研究报告是对项目课题的全面考虑,是项目分析员对下一步工作进行的前提,是软件开发人员正确成功开发项目的前提与基础。写可行性研究报告可以使软件开发团体尽可能早的估计研究课题的可行性,较早的认识到系统方案的缺陷,可以少花时间和精力,也可减少成本资金,避免专业性的问题。 1.2 背景 a. 待开发系统的名称:信息交流系统 b 用户:大众 c. 它基于web小浏览器的程序系统的设计与开发, 服务平台:appserv-win 开发语言:PHP 数据库:MY SQL 1.3 定义 技术可行性:分析功能,性能以及限制条件,能否是一个技术上可实现的系统 经济可行性:估计开发费用已及最终从开发成功的系统所获得的收入或利益,衡量比较支出的费用和收到的利益 1.4 参考资料 《软件工程导论》(第6版)清华大学海藩牟永敏编著 可行性研究的前提 2.1 要求 a、聊天室功能 用户的聊天功能,包括数据输入、修改、删除,并要达到界面美观又好、使用方便 b、软件的性能 开发该软件应具有的基本要求与功能是实现用户信息数据包括与用户有关的数据 的管理与操作处理,基于MY SQL的数据库的数据管理使该软件有更优异的性能,软件的基本数据流动为用户数据的输入,用户信息及数据的输出。 c、输出 用户基本信息和聊天容 d、输入 用户根据自身需要,发起聊天 e、安全方面的要求 设置管理员 2.2 目标 该软件的设计目标必须尽量达到人力与设备费用的节省,软件的整个设计过程必须通过生产能力的提高、人员工作效率的提高等等使软件开发成本最小化。 2.3 条件、假定和限制 a、本聊天室建议使用寿命为5-10年 b、法律方面的限制:(1)、严禁危害国家信息安全(2)、严禁损害国家荣誉和利益(3)、严禁传播不良信息(5)、严禁抄袭 2.4 进行可行性研究的方法 成本效益分析、对估算问题的看法、软件的作用围、软件的成本估算、速度安排

JAVA-课程设计(大作业)报告

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:设计一个记事本 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间: 信息技术学院

昆明学院课程设计(大作业)任务书

简单记事本程序的设计 目录 一.题目分析 (5) 1.1需求分析 (5) 1.2功能要求设计 (5) 二.总体设计 (5) 2.1设计思路 (5) 2.2运行界面 (6) 2.3模块说明图 (6) 2.4主流程图 (7) 2.5 UML图 (7) 2.6程序相关说明 (8) 三.运行环境 (8) 四.详细设计与分析 (8) 4.1.初始化组件 (8) 4.2.构建菜单栏及其下拉菜单 (8) 4.3.“文件”菜单的事件监听 (9) 4.5.异常处理 (10) 五.调试分析 (12) 六.总结 (13) 七.参考文献 (14) 附录(源代码) (14)

一.题目分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有的能改变字体,有的能改变文字颜色。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。 1.2功能要求设计 设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 5)菜单中有“文件”,“编辑”,“关于”三个主菜单。 6)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文 件,退出记事本。 7)“编辑”中有“剪切”“复制”“粘贴”“颜色”四个子菜单:用于剪切文字,复制文字,粘贴文字 增加了“颜色”子菜单来对文字的颜色进行设置。 8)“关于”菜单中有关于记事本程序的制作日期,作者等信息,功能可自行增加。 提示:用图形用户界面实现,使用文件输入输出流。 二.总体设计 2.1设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。

Java程序设计课程作业

Java程序设计课程作业 第一章绪论 1、安装Java SDK到你的电脑中。 2、选择安装一种Java开发工具到你的电脑中。Jcreater、NetBeans、Eclipse 3、编译并运行一个“Hello World”Java程序。 程序代码: // public class App2_1 { public static void main(String[]args) { System.out.println("hello Word"); } } 4、编译并运行一个Java Applet程序。 答:编译成功,不过浏览器不显示自己的Applet程序,还在学习中,错误的原因是自己电脑上java的安全设置的原因,修改后运行成功。 第二章Java语法基础 1、下列表达式是否有错?若有错,请说明何处出现何种错误;若无错,请给出其值。 (1) 3+4<<2^-8 没有错误,运行结果为-28 (2) 36>>2*4&48<<8/4+2 运行结果为0

有错误,||这个运算规律是两边均为boolean型 (4) 2*4&&0<2||4%2 有错误,||这个运算规律是两边均为boolean型 2、任意准备一份学生成绩表,其中包括至少3门课程、每门课程至少10名同学的成绩。请编写程序完成以下功能:(1) 统计并输出各门课程的平均成绩。(2) 输出等级表:优、良、中、及格及不及格。 import java.util.*; class student{ String num; doublemath; doubleenglish; doublechinese; } publicclass Test{ publicstaticvoid main(String[]agrs){ student stu[]=new student[11]; for(int i=0;i<10;i++) stu[i]=new student(); Scanner reader=new Scanner(System.in); System.out.println("请依次输入十个同学的数学,英语。语文的成绩:"); for(int i=0;i<=10;i++){ System.out.println("第"+(i+1)+"同学的数学,英语。语文的成绩:"); stu[i].math=reader.nextInt(); stu[i].english=reader.nextInt(); stu[i].chinese=reader.nextInt(); } double sum=0; for(int i=0;i<10;i++) sum=sum+stu[i].math; float A=(float)sum/10; System.out.println("数学平均成绩:"+A); //int sum;

聊天室设计报告

聊天室设计报告

————————————————————————————————作者:————————————————————————————————日期: ?

网 络 聊 天 系 统 设 计 报 告 组长:靳子豪 组员:冯凯强、许玉军、王明明

完成时间:2015年11月3日 一、可行性研究报告 可行性研究报告(ISO标准) 编者说明: 在立项时,应该对项目进行综合分析,探讨项目的经济、社会、技术可行性,从而为决策提供基础。该模板为ISO标准文档模板,其不仅适用于软件项目,对于其它的系统项目也适用。 1.引言 1.1 编写目的 该聊天室项目可行性研究报告是对项目课题的全面考虑,是项目分析员对下一步工作进行的前提,是软件开发人员正确成功开发项目的前提与基础。写可行性研究报告可以使软件开发团体尽可能早的估计研究课题的可行性,较早的认识到系统方案的缺陷,可以少花时间和精力,也可减少成本资金,避免专业性的问题。 1.2背景 a. 待开发系统的名称:信息交流系统 b 用户:大众 c.它基于web小浏览器的程序系统的设计与开发, 服务平台:appserv-win 开发语言:PHP 数据库:MY SQL 1.3定义 技术可行性:分析功能,性能以及限制条件,能否是一个技术上可实现的系统经济可行性:估计开发费用已及最终从开发成功的系统所获得的收入或利益,衡量比较支出的费用和收到的利益 1.4 参考资料 《软件工程导论》(第6版)清华大学出版社张海藩牟永敏编著 可行性研究的前提 2.1 要求 a、聊天室功能 用户的聊天功能,包括数据输入、修改、删除,并要达到界面美观又好、 使用方便 b、软件的性能 开发该软件应具有的基本要求与功能是实现用户信息数据包括与用户有关 的数据的管理与操作处理,基于MY SQL的数据库的数据管理使该软件有 更优异的性能,软件的基本数据流动为用户数据的输入,用户信息及数据的 输出。 c、输出 用户基本信息和聊天内容 d、输入 用户根据自身需要,发起聊天 e、安全保密方面的要求 设置管理员 2.2 目标

JAVA聊天室实验报告

JA V A聊天室实验报告 姓名:马琳越 班级:131114 学号:13111368 日期:2014年4月23日

目录 目录 (2) JA V A程序课程设计任务书 (3) 摘要 (4) 第1章引言 (5) 第2章聊天室系统的设计 (7) 第3章界面设计 (11) 第4章总结 .................................................................................. 错误!未定义书签。

Java聊天室的设计任务书 1.主要内容 用JA V A实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求 A.服务器端主要功能 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为8888。 (3).向已经连接到服务器端的用户发送系统消息。 B. 客户端主要功能 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的IP地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 3.主要参考文献及运用工具 (1)Bruce Eckel 著Thinking in Java ,李刚著疯狂Java讲义 (2)使用技术:Java 使用开发工具:Eclipse

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次大作业要求使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序未连接数据库,采用客户机/服务器架构模式,通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (5) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (7) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10)

5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14) 一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功

能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。 二、需求分析 用JAVA语言实现学生信息管理系统的图形界面的编程。主要实现以下几个重要功能: ①实现三种不同身份(学生、教师、管理员)登录学生信息管理系统。(其中的数据信息保存在数据库中)

Java聊天室系统程序设计实验报告材料

Java聊天室系统程序设计 实验报告 院(系):信息与通信工程系 专业:计算机应用技术 班级: 学号: 姓名: 指导老师: 2013/6/8

目录 第一部分:系统设计总述 (2) 1.设计目的: (2) 2.设计总体要求: (2) 3.实现目的: (2) 第二部分:系统需求分析 (3) 1.系统任务描述 (3) 2.系统功能分析 (3) 3.系统可行性分析 (3) 第三部分:系统设计 (4) 1.系统总体结构设计 (4) 2.系统主体的处理流程 (5) 3.系统流程逻辑 (5) 第四部分:代码分析 (6) 1.服务器端部分代码 (6) 2.客户端部分代码 (6) 第五部分:系统的具体实现 (6) 界面设计 (6) 第六部分:小结 (10) 第七部分:参考文献 (10)

1.设计目的: 1.在开发技术和过程中,能够充分学习和使用JAVA的技术,进一步培养学生面向对象程序 设计的思想,加深对面向对象程序设计特性的理解。 2.学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全 过程。 3.进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、文件和网络输入 输出流编程、Java数据库编程等。 4.通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。 2.设计总体要求: 1.问题的描述与程序将要实现的具体功能。 2.程序功能实现的具体设计思路或框架,并检查流程设计。 3.代码实现。 4.程序测试。 5.设计小结(包括) 3.实现目的: 本软件是一个实用聊天程序。项目要实现以下目标: 1)建立服务器端和客户端并进行连接; 2)利用线程设计结构合理,运行效率较高的聊天室; 3)实现写消息,发消息,回复,查看聊天记录等功能;

相关文档
最新文档