资源描述
渤海大学自动化办公聊天室系统 -需求分析报告 张佳佳(10060140) 渤海大学信息科学与技术学院33331. 系统运行环境分析62.1 需求分析6用户登入6私聊7聊天记录7系统消息8用户退出99运行环境112. 现行系统调查1111111213131313 D 基本信息143.2.1登录系统流程图(DFD)143.2.2帐号管理系统(修改密码)流程图15163. 系统数据设计171.概述系统名称及系统目标系统名称初步拟定为“渤海大学办公自动化聊天室系统”。系统目标是:为健全学校办公自动化系统,为全校师生搭建一个健康、快速、高效的信息传递平台。(1) 全校功能聊天室系统:学生只要通过系统验证就可以进入本系统,再此系统中学生可以在全校公共聊天室里发言,而且也能进行个人对话邀请。(2) 各院系模块:用户进入系统后,有权进入自己所在院系的聊天系统。发出申请后,系统将会验证帐号权限,每个帐号只能有权进入相应自己所在院系系统。进入系统后也能进行在线平台对话和私人聊天。此外,学生还能进行作业提交以及文件传送。(3) 资源共享系统:有权进入客户端后,无需进行审核,所有用户都可以共享学习资源和下载文件,营造一个好的学习气氛。(4) 签到系统:此系统面对的是教师用户,每天教师都需要签到,作为教师考评的一部分。对教师有监督作用。(5) 帐号管理系统:由于系统所有用户均面对的是学校在职学生和教师。帐号信息来自学校学生数据管理系统。为保证所有用户都是学校师生。帐号为学好或工号,本系统无权对个人信息进行更改,只提供密码修改功能和个人信息以及状态更改。(6) 学生操情管理系统:此系统面向各院系管理员,由素质学生会和班级干部统计的学生迟到、旷课、请假情况。系统管理员负责将当天信息更新到系统里面,作为期末评优助学金发放的参考。项目背景本软件系统是渤海大学办公自动化聊天室客户端,是有信息学院教师贾福龙提出,信息学院信息管理与信息系统专业学生张佳佳设计和实现。本系统基于学校现有自动化办公系统而开发。对于学校主要信息化办公需求不系统不再重复,本系统主要面对全校师生,主要目的是建立一个交流平台,也设计基本的办公功能。主要为文件的传送,教师签到,学生请假,公布通知等。1.3.1 C/S 模型在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网3,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。1.3.2 TCP/IP 协议1. IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议4。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。 2. TCP如果IP数据包中有已经封好的TCP数据包5,那么IP将把它们向上传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。 3. UDPUDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。 欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。 4. TCP与UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。 两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认: l 源IP地址: 发送包的IP地址; l 目的IP地址: 接收包的IP地址; l 源端口: 源系统上的连接的端口; l 目的端口: 目的系统上的连接的端口。 端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是广为人知的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯Java6是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API7能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。多线程8是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。使用线程的好处有以下几点:使用线程可以把占据长时间的程序中的任务放到后台去处理用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度程序的运行速度可能加快在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。多线程在JAVA里面的应用也是很广泛。Java对多线程的支持是非常强大的,他屏蔽掉了许多的技术细节,让我们可以轻松的开发多线程的应用程序。1. J2SE平台Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如 和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程定位在客户端,主要用于桌面应用软件的编程。J2SE 包含那些构成Java语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程1. 系统运行环境分析 需求分析 此次开发的网络聊天工具可作为个人的交流工具使用,通信的安全性不是很高,但要求信息的响应速度要较快,让用户充分享受到网络即时消息的方便和快捷。本聊天工具由服务器端程序和客户端程序两部分组成,整体采用JAVA平台开发,并使用SQL2000管理数据库数据。服务器是可以监听和查看用户的基本操作;客户端程序面向实际用户,它有必要的界面的按钮,向用户提供网络即时消息的功能:本聊天需包含如下基本功能:客户端:用户登入需求描述:用户填写登入ID 和密码,经服务器验证成功后进入聊天室主界面。执行者:用户前置条件:用户已经拥有一个合法的ID号后置条件:无正常过程:1) 向服务端请求连接,并发送登录信息。2) 服务端处理并查询数据库中的用户信息3) 返回客户端一个响应,提示登录成功,弹出聊天室主界面。4) 刷新其他在线用户的用户列表信息异常过程(可选):用户填写的ID或密码与数据库中的纪录不匹配,客户端提示登录失败。客户端设置的服务器地址或端口有误。服务器未启动或出现异常。全校公共聊天室需求描述:所有用户可进入公共聊天室的在线用户聊天界面。用户可以对当前聊天系统发送信息。不在线的用户不能接收当前信息。执行者:用户前置条件:用户登录成功后置条件:无正常过程:1) 客户端与服务端建立通讯。2) 客户端将用户发送的信息打包传送给服务端。3) 服务端进行数据分析,并将用户的信息传给当前所有在线用户。4) 目的用户收到服务器的信息后,正确的显示并保存。异常过程(可选):客户端与服务端断开连接,客户端提示信息发送失败。客户端发送的内容包含不合法的字符特殊需求(可选):用户进入公共聊天室输入信息确认发送信息 用户全校聊天室发言图院系公共聊天室需求描述:通过院系验证的用户可进入特定的院系公共聊天室的在线用户聊天界面。用户可以对当前聊天系统发送信息。不在线的用户和非本院系的用户不能接收当前信息。执行者:用户前置条件:用户登录成功,通过院系验证。后置条件:无正常过程: 客户端与服务端建立通讯。 客户端将用户发送的信息打包传送给服务端。 服务端进行数据分析,并将用户的信息传给当前所有在线用户。 目的用户收到服务器的信息后,正确的显示并保存。异常过程(可选):客户端与服务端断开连接,客户端提示信息发送失败。客户端发送的内容包含不合法的字符特殊需求(可选):用户选择所在院系聊天室输入信息系统验证发送信息 用户院系聊天室发言图私聊需求描述:用户可选择聊天室的在线用户列表中其他用户聊天。并且对方有消息提示,双方发送的信息对于聊天室的其他用户是不可见的。执行者:用户前置条件:用户登录成功,私聊的对方在线后置条件:无正常过程: 客户端与服务端建立通讯。 客户端将用户发送的信息打包传送给服务端。 服务端进行数据分析,查找目的用户的ID,并将用户的信息传给目的用户。 目的用户收到服务器的信息后,正确的显示并保存。异常过程(可选):客户端与服务端断开连接,客户端提示信息发送失败。客户端发送的私聊内容包含不合法的字符特殊需求(可选):不能与不在线的用户进行私聊。用户选择其他用户输入信息确认发送信息 私聊流程图聊天记录需求描述:用户可以查询聊天的历史纪录,包括公聊记录和私聊记录。执行者:用户前置条件:用户正确登入后后置条件:无正常过程: 发送、接收信息的同时将信息保存在本地文件中 信息发送框中可以查询历史聊天记录 从本地文件中读取信息,并显示在记录显示匡中异常过程(可选):服务端异常导致客户端退出,客户端提示服务器异常。用户客户端读取信息时目标文件不存在。申请查询验证用户信息显示记录 查询聊天记录图 资源共享需求描述:用户可以上传和下载共享文档。执行者:用户前置条件:用户正确登入后后置条件:无正常过程: 用户添加共享文档 文档信息将保存在服务器中。 用户选择需要下载的文档。 服务器将文档发送至用户电脑上。异常过程(可选):服务端异常导致客户端退出,客户端提示服务器异常。客户端读取信息时目标文件不存在。用户选择上传下载文档验证用户信息上传下载成功 共享文档流图签到系统需求描述:教师用户可以使用签到功能记录出勤。执行者:教师用户前置条件:用户正确登入后后置条件:进行用户识别正常过程: 用户登录系统。 通过用户识别进入签到系统。 发送签到信息至服务器。 系统将信息记录数据库教师签到信息表异常过程(可选): 用户为非法用户不能进入功能系统服务端异常导致客户端退出,客户端提示服务器异常。用户发送签到信息验证用户信息教师签到信息表 教师签到信息图账号管理需求描述:用户可以使用帐号管理系统进行密码修改。执行者:用户前置条件:用户正确登入后后置条件:无正常过程: 用户登录系统。 发送信息进入帐号管理系统 录入新密码至系统 系统验证用户操作合法性 系统将新密码信息更新至用户登录表异常过程(可选): 用户为非法用户不能修改密码服务端异常导致客户端退出,客户端提示服务器异常。用户新密码验证信息修改成功 帐号管理流图学生操情管理需求描述:合法教师用户可以使用帐号管理系统进行密码修改。执行者:特殊教师用户前置条件:用户正确登入后后置条件:用户合法身份验证正常过程: 用户登录系统。 系统验证用户操作合法性 录入学生各个操情项目情况 数据库记录合法信息至学生操情情况表异常过程(可选): 用户为非法用户登录操情管理系统服务端异常导致客户端退出,客户端提示服务器异常。用户发送进入系统信息验证用户信息录入各个学生操情信息学生操情情况表 学生操情管理图系统消息需求描述:在聊天室的每一个用户都能接收服务端发送的的信息提示消息执行者:服务端前置条件:服务端正常运行后置条件:无正常过程:服务器向所有在线用户发送消息客户端接收到消息,进行消息处理,并正确显示异常过程(可选):1) 服务端异常,重启服务器2) 出现网络异常,发送系统消息失败3) 用户管理员通过启动服务器后,可以通过服务器操作界面象全部在线的用户发送系统消息4) 用于发送公告,提示等系统消息,可以方便管理员和客户的交流和管理用户服务器显示出系统消息确 认发送系统消息系统消息活动图用户退出需求描述:用户在正常情况下退出聊天室执行者:用户前置条件:用户成功登录聊天室后置条件:无正常过程:1) 向服务器发送用户登出消息2) 服务器进行用户退出的数据处理3) 服务器向聊天室其他用户发送登出消息4) 刷新其他在线用户的用户列表信息服务端:(1)启动和关闭后台服务器;(2)查看客户端登录的相关信息(客户端登陆时间/登陆IP);(3)向所有在线用户发送系统消息。 网络即时通讯系统采用客户机/服务器(C/S)的模式来设计,是一个3层的C/S结构:数据库服务器应用程序服务器端应用程序客户端。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端,从而降低了系统的通信开销,如图3.1所示:图2.1 C/S体系结构1.客户层客户层也叫应用层,是应用程序的用户接口部分。给聊天工具设计一个客户层具有很多优点,这是因为客户层担负着用户与应用间的对话功能。它用于检查用户的输入数据,显示应用的输出数据。为了使用户能直观地进行操作,客户层需要合作图形用户接口。若聊天用户变更,系统只需要改写显示控制和数据检查程序即可,而不影响其他两层。数据检查的内容限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。2服务层服务层也叫功能层,相当于应用的本体,它是将具体的业务处理逻辑编入程序中。例如,用户需要检索数据,系统设法将有关检索要求的信息一次性地传送给功能层;而用户登录后,聊天登录信息是由功能层处理过的检索结果数据,它也是一次性传送给表示层的。在应用设计中,必须避免表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理,达到优化整体设计的目的。3. 数据层据层就是DBMS,本系统使用了Microsoft公司的SQL Server 2000数据库服务器来管理数据。MYSQL能迅速执行大量数据的更新和检索。因此,从功能层传送到数据层的“要求”一般都使用SQL语言。运行环境 为了保证成绩管理系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要 求不是很高。此应用程序可广泛运行于国际互联网即 Internet,也可适用于内部的局域网。其运 行要求如下: 软件环境: 客户端: Windows95/98/2000/XP,Internet Explorer(IE)等 服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0 及其以上版本,IE 等; 或者 Windows98,Personal Web Server(PWS),IE 等。 数据库:采用 Access,运行于服务器端。 硬件环境: 服务器 CPU:PIII 500 以上 ,内存:512M 以上 客户机 CPU:P200MMX 以上,内存:32M 以上2. 现行系统调查组织机构与业务范围系统组织概况服务器端系统服务系统配置用户管理在线用户日志管理 聊天室客户端全校公共聊天室系统各个院系聊天室系统签到系统资源共享系统帐号管理系统密码修改状态更改公共聊天个人对话个人对话公共聊天上传文件下载文件学生操情管理系统3.1.2 系统功能说明(1) 用户通过用户名(学号)和初始密码登录界面进入聊天室,就可以看见一个总界面;分别有全校公共聊天室系统,院系聊天室系统,教师签到系统,资源共享系统,帐号管理系统的入口功能键。进入聊天室后,在聊天室可以看见合法用户的帐号。在聊天窗口中随时看到更新的聊天信息;用户可以给所有人或某一个聊天用户发送公共的聊天信息,可以给自己的聊天信息定义不用颜色,也可以加上丰富的表情,聊天室窗口发送的信息每个用户都可以看见的;此外,用户还可以给某个用户发送私人聊天信息,在弹出来的新窗口中输入信息内容,这种信息属于私聊信息,只有发送者和接受者自己能看见。各个聊天窗口还能由系统管理员发送一些系统公告,通知大家学校发生的一些事件和重要通知。(2) 签到系统只能是教师级别用户能进入,当教师进入系统后,点击签到功能键就可以实现签到事件,系统将记录下签到状态保存到签到信息表中。(3) 用户进入资源共享系统后,可以看见所有共享的资源。目前系统只支持文档形式的文件。用户可以选择上传和下载。(4) 当进入帐号管理系统后,用户可以修改密码和个人信息更新。(5) 登录模块登录窗口:主要用于记录登录者的帐号和密码,由于每个用户都默认学好或教工号作为用户名,本系统不接受用户注册,所有帐号都为在校注册人员。(6) 对话模块:主要用于发送和接收信息内容,选择表情,接收文件等功能。(7) 显示模块:主要用于显示用户发送和接收的信息,实现对话内容,表情显示功能。(8) 人员列表:显示所有聊天人员名单,可以提供自动和手动刷新人员列表功能。(9) 功能模块:主要用户管理聊天室。包括屏蔽,分屏,发送文件、刷新等功能按钮。(10) 位置和聊天室名显示模块:显示聊天室名和私聊对象名;(1) 显示功能模块:主要显示签到功能按钮。(1) 显示模块:主要用户显示所有共享文件信息以及共享者信息。(2) 下载模块:主要提供显示下载功能按钮。 (1)密码修改对话模块:主要显示提示用户密码修改以及新密输入功能。(2)状态信息修改模块:主要为显示目前状态信息和新状态信息输入功能。 1处理登陆 信息错误提示登陆信息聊天界面用户ID和密码登陆信息 用 户 2基本信息存储 D 基本信息错误提示聊天界面好友发送的信息用户发送的信息 好友添加 用户 (好友)好友发送的信息 3聊天信息/文件传输用户发送的信息3.2.1登录系统流程图(DFD)事 务 数据库 用户登录程序办公自动化聊天室系统帐号管理系统(修改密码)流程图公共系统聊天室流程图 全校公共聊天系统DFD 院系公共聊天系统DFD3.2.4 资源共享系统用户文档 上传下载资源表合法性验证 不合法帐号文档 合法3.2.5签到系统 不合法用户教师表签到系统合法性验证用户 签到信息 合法签到信息表 不合法 用户验证用户 登录信息 合法操情管理系统 学生操情情况信息学生操情情况表3. 系统数据设计名字:用户表别名:yonghu描述:详细描述用户信息定义:用户表账号昵称密码个人介绍+状态+电子邮件+性别+籍贯位置:数据库1. 数据字典名字:聊天记录表别名:info描述:保存各聊天室或个人聊天记录定义:聊天记录表帐号发言内容+发言时间位置:数据库名字:帐号别名:ID描述:惟一标识用户身份的关键域定义:帐号整型位置:用户表 名字:密码别名:password描述:确定用户身份合法性定义:密码1字符6位置:用户表 名字:姓名别名:name描述:表明用户身份的一个方面定义:昵称1字符6位置:用户表 名字:个人介绍别名:Grjs描述:用户相关个人信息定义:用户信息0字符40位置:用户表 名字:状态别名:Zt描述:描述用户当前生活状态(类似与QQ个性签名)定义:状态字符20位置:用户表 名字:性别别名:sex描述:用户性别定义:性别0字符2位置:用户表 名字:电子邮件别名:Dzyj描述:用户电子邮件地址定义:电子邮件0字符35位置:用户表 名字:籍贯别名:Gj描述:用户籍贯定义:籍贯2字符10位置:用户表 名字:共享文档表(资源)别名:ziyuan描述:保存所有共享文件定义:text位置:数据库 名字:学生表别名:Student描述:学生在校信息概况定义:学生表=学号+性别+入学年份+出生年月+院系+专业位置:数据库位置:用户表 名字:用户登录表别名:User描述:用户唯一登录合法身份定义:用户登录表=帐号+密码位置:数据库 名字:学院表别名:College描述:学校各学院情况说明定义:学院表=学院ID+名称1位置:数据库 名字:专业表别名:department描述:学校各专业情况说明定义:学院表=专业ID+名称2位置:数据库 名字:教师表别名:Teacher描述:教职工在校信息概况定义:教师表=教工号+性别+教龄+出生年月+院系位置:用户表 名字:签到信息表别名:Qdxx描述:记录教职工每天的出勤情况定义:签到信息表=教工号+日期+状态位置:数据库 名字:签到信息表别名:Qdxx描述:记录教职工每天的出勤情况定义:签到信息表=教工号+日期+状态位置:数据库
展开阅读全文