局域网即时通信软件可行性分析报告软件需求说明书软件概要设计详细设计说明书数据库设计说明书.docx
《局域网即时通信软件可行性分析报告软件需求说明书软件概要设计详细设计说明书数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《局域网即时通信软件可行性分析报告软件需求说明书软件概要设计详细设计说明书数据库设计说明书.docx(32页珍藏版)》请在冰点文库上搜索。
局域网即时通信软件可行性分析报告软件需求说明书软件概要设计详细设计说明书数据库设计说明书
计算机与信息技术学院
局域网即时通信软件
编 写:
指导教师:
可行性分析报告
1引言
需求规格说明书是需求分析的产物,它是软件系统生存期中软件定义阶段的最后一个步骤。
作为整个软件开发过程的指南,它也是软件开发人员开发出符合用户要求的软件的基础。
1.1编写目的
软件需求说明书的编制目的是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解;使之成为整个开发工作的基础。
本软件需求说明书的读者是系统开发人员或合同约定的人负。
1.2背景
a.软件系统名称:
山西大学计算机科学与信息技术学院局域网即时通信软件
b.本项目任务的提出者:
计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓
c.本项目的开发者为:
计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓
d.该软件系统同其他系统或其他机构的基本的相互来往关系:
该系统是一个局域网内部系统,独立于网络服务商和其他系统
2.可行性研究的前提
2.1要求
功能:
这是一个通信软件系统,主要负责本局域网内部人员之间进行便捷的互动交流,以便局域网内部的交流迅速、快捷,节省信息传递时间。
2.2目标
目前的通信软件绝大多数都依赖于通信软件服务商提供的软件质量和网络服务商提供的网络质量。
只有在这些通信软件和网络服务提供商的提供服务时,才能进行局域网内部人员之间的网络通信。
本通信软件可以满足局域网内部人员不依赖于网络服务提供商和其他软件服务商,来完成局域网内部人员的即时通讯,实现数据发送,文件传输。
2.3条件、假定和限制
a.开发者的计算机性能不够稳定,对Mysql等数据库软件和Eclipse等开发工具有不利影响。
b.可利用的信息和资源比较单一,客户的需求分析主要来自开发者在计算机科学与信息技术学院学习和生活过程中的交流学习带来很大的方便之处;而技术方面,对Mysql等数据库软件和Java、以及网络编程的掌握和应用还有待提高,不足之处靠借阅有关书籍和向老师请教进行补充,组内成员间相互讨论分析决定。
c.经费不足
d.进行系统方案选择比较的时间较短。
e.系统投入使用的时间最晚为本学期末
3.对现有系统的分析
3.1处理流程和数据流程
a.网络服务方面:
由网络服务商提供网络服务
b.软件服务方面:
由软件服务商提供软件;用户获得软件--注册--登陆--客户发送端发送信息--软件提供商服务器--客户接收端接受信息
3.2工作负荷
由于网络服务商提供网络服务、软件服务商提供软件服务,客户端只是使用软件,所以工作量几乎没有
3.3费用开支
由于需要网络服务商提供网络服务,所以需要承担网络服务费用
3.4人员
由于网络服务商提供网络服务、软件服务商提供软件服务,所以不需要人员来来维护服务器。
3.5设备
局域网服务器,个人主机。
3.6局限性
由于网络服务商提供网络服务、软件服务商提供软件服务,虽然这样使用起来很方便,并且省去了维护人员的维护费用和硬件设备费用,但是在这种模式下,软件使用时严重依赖于软件服务提供商和网络服务提供商所提供的服务质量。
假若任何一方出现问题,那么现有的客户端软件就不能使用。
因此开发局域网内部使用的即时通信软件是非常有必要的。
4.所建议的系统
4.1对所建议系统的说明
a.功能概括:
(1)提供局域网内部即时文字信息传输,语音信息传输,文件传输
(2)对用户信息进行增加、删除、更改
b.系统环境以及工具
系统运行环境:
WINDOWS/LINUX和JVM
编程语言:
JAVA
数据库:
Mysql
4.2处理流程和数据流程
处理流程:
客户请求登陆—内部服务器接受请求--客户发送(接收)信息
数据流程:
客户请求登陆信息:
客户—内部服务器
客户发送信息:
客户—内部服务器—客户
4.3改进之处
本软件系统完全不依赖外部网络服务提供商和软件服务提供商,能够在局域网内部提供便捷的通信服务。
4.4影响
4.4.1.对设备的影响
运行该软件时,必须安装相应操作系统JVM。
4.4.2.对软件的影响
JAVA以及Mysql
4.4.3.对用户单位机构的影响
使用该系统,客户原有体系几乎不需要太大的变化,这是个即装即用的软件,对人员技术的要求不高,只要用户会简单的计算机操作即可
4.4.4.对系统运行过程的影响
该系统工作量小,一般情况下不会由于信息量大而造成麻烦。
因为软件只是的服务只是在学院内部网络中使用,一般同一时间段的使用人数不会超过1000人,所以该系统的负担不会太大。
4.4.5.对开发的影响
影响开发进程,使工程停滞,在开发过程中给程序员打来很大不便。
4.4.6.对地点和设施的影响
由于该系统专门服务给学院内部,所以需要在学院内部网络服务器上安装该系统的服务器端。
4.5技术条件方面的可能性
技术方面,我们选择的是JAVA和Mysql,都是组员熟悉的语言,即使遇到部分困难,也可以从丰富的参考书中找到解决方案。
所以技术方面是绝对可行的。
5.可选择的其他系统方案
由于该系统的结构比较简单、开发时间仓促,故只使用这一个方案,无其他备用方案。
6.社会因素方面的可能性
使用方面的可行性:
学院在没有使用我们这套系统前,都采用其他软件服务商提供的软件,相对而言服务质量难以得到保证。
而根据现有的硬件条件,在办公室中,学院的老师和在实验室的学生都配备电脑。
而且电脑的系统软件都是WINDOWS98以上的,所以足够可以来运行我们的软件;从学院老师和学生的文化素质来看,我们的软件操作简单,运行方便,在用我们的软件来进行通信是没有什么困难的。
7.结论
经过了我们整个的可行性研究报告的研究,最终我们得出了一个研究的结论。
结论是:
我们可以立即执行我们的软件设计,来达到我们的预期目标。
软件需求说明书
1引言
需求规格说明书是需求分析的产物,它是软件系统生存期中软件定义阶段的最后一个步骤。
作为整个软件开发过程的指南,它也是软件开发人员开发出符合用户要求的软件的基础。
1.1编写目的
软件需求说明书的编制目的是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解;使之成为整个开发工作的基础。
本软件需求说明书的读者是系统开发人员或合同约定的人负。
1.2背景
(1)本系统的名称是:
局域网即时通信软件。
(2)本项目的任务提出者是计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓,开发者是计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓,用户是×××企业人事及相关部门,实现该软件的对象:
企业及个人局域网内部使用。
1.3定义
数据字典:
关于数据的信息的集合,也即是对数据流图中包含的元素的定义的集合。
1.4参考资料
引用资料
《计算机科学与信息技术学院通信系统软件说明书》
《计算机科学与信息技术学院通信系统概要说明书》
《计算机科学与信息技术学院通信系统数据库设计说明书》
《国家开发标准文档》
《软件工程(第四版--张海藩)》
《UML面向对象设计与分析(朱丽平等)》
2任务概述
2.1目标
局域网即时通信软件是现代网络通信技术的重要内容,也是万维网通信技术的基础性
工作。
局域网即时通信软件在开发过程中有很多不利于实现的地方,不适应现代的网络通信任务。
局域网即时通信软件是局域网企业内部及个人局域网内部不实现信息化、规范化,使工作效率及重要信息的可靠传递。
2.2用户的特点
本软件的最终用户是局域网内部任何人员。
局域网内有专门的服务器管理人员,具有一定的计算机操作知识;软件的维护人员是局域网内部的专业网络管理员,对网络和数据库的操作比较熟悉,同时对VB或Delphi,Java编程有一定的经验。
2.3假定和约束
a.开发者的计算机性能不够稳定,对Mysql等数据库软件和Eclipse等开发工具有不利影响。
b.可利用的信息和资源比较单一,客户的需求分析主要来自开发者在计算机科学与信息技术学院学习和生活过程中的一些问题;而技术方面,对Mysql等数据库软件和Java、以及网络编程的掌握和应用还有待提高,不足之处靠借阅有关书籍和向老师请教进行补充,组内成员间相互讨论分析决定。
c.经费不足
d.进行系统方案选择比较的时间较短。
e.系统投入使用的时间最晚为本学期末
3需求规定
3.l对功能的规定
3.l.1系统功能
主要分为客户端发送接收消息和服务器数据库管理和处理.通信系统功能部分分为2类:
客户相关,管理员相关.从使用和操作功能上分,有三种用户:
超级管理员用户(管理所有用户)管理员用户(管理普通用户信息)普通用户(接收发送信息,更改密码).为了便于整个系统组织管理,把各个相对独立的数据或功能组织到更大的系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一控制台模块中.相应的将系统分为一个控制台程序和两个子系统.客户子系统主要功能有发送接收信息和更改密码;管理员子系统主要功能是管理用户信息,在这里,某些模块都能用到的功能将不在重复解释,在每个模块中只列出每个子模块区别于其他子模块的功能实现.
3.1.2数据流图
详见局域网即时通信软件详细设计说明书
3.1.3E-R图
3.2对性能的规定
灵活性
(l)操作方式上应该能够满足鼠标和键盘任意切换的需要;
(2)能够支持Windows95、Windows98、Windows2000、WindowsMe和WindowsXP的运行环境;
(3)留有与其他系统的接口。
3.3输入输出要求
输入:
本即时通信软件所要求的字符格式与文件格式,否则无法传输文件及收发文字信息。
输出:
本软件提供用户打印聊天记录功能。
3.4故障处理要求
在输入不符合定义格式的数据时,软件应出现提示信息,而不是死机或删除已经输入的信息,然后再弹出输入界面重新开始。
4运行环境规定
4.1设备
运行本软件要求处理器在奔腾III以上、内存在256MB以上的计算机。
4.2支持软件
A.windows2000以上的操作系统或RedHatLinuxAS5:
这两个操作系统是主要的软件,此系统开发过程在除了文档的编写,其它的工作都在这两个操作系统中进行,这两个操作系统在开发过程中承担重要的开发任务
B.Eclipse3.4编程工具:
它作为一个集成开发工具,提供了部分的代码自动生成和可视化的资源编辑功能,在此系统开发过程中主要承担代码的编写任务
C.MySQL5.1应用软件:
Mysql数据库软件是一种使用极其方便的数据库软件,在处理少量数据是很好的,不但操作简单、效率高,而且适用于多种操作系统的适用,最重要的是它是一个免费的数据库软件,不会涉及版权问题,节约了大量的开发资金
4.3接口
本软件通过若干个中间表实现与其他软件的通信。
4.4控制
本软件通过“昵称登入”模块进行用户登录的控制,根据不同用户的昵称调用不同的模块。
其他模块控制情况照此描述。
(l)验证软件需求
需求分析阶段的工作结果是开发软件系统的重要基础,一旦对目标系统提出完整、具体的要求并写出了软件需求说明书之后,就必须严格验证这些需求的正确性。
通常,从以下4个方面进行验证。
①一致性:
所有需求必须是一致的,任何一条需求都不能和其他需求相矛盾。
②完整性:
需求必须是完整的,软件需求说明书应该包含用户对软件产品的每一项要求。
③现实性:
指定的需求应该用现有的硬件技术和软件技术可以实现。
④有效性:
需求必须是有效的,确实能解决用户所面临的问题,可以达到开发软件的目标。
软件概要设计
1引言
软件概要设计主要是一个把软件需求转化为软件表示的过程,这种表示只是描述出软件
总的概貌。
1.1编写目的
概要设计说明书编制的目的是:
说明对程序系统的设计考虑,包括程序系统的基本处理
I流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
本软件概要说明书的读者是系统开发人员或合同约定的人员。
1.2背景
(1)本系统的名称是:
局域网即时通信软件。
(2)本项目的任务提出者是计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓,开发者是计算机科学与信息技术学院2005级林真真、金鹏、王超、张拓,用户是×××企业人事及相关部门,实现该软件的对象:
企业及个人局域网内部使用。
1.3定义
数据字典:
关于数据的信息的集合,也即是对数据流图中包含的元素的定义的集合。
VB:
VisualBasic。
1.4参考资料
《计算机科学与信息技术学院通信系统软件说明书》
《计算机科学与信息技术学院通信系统概要说明书》
《计算机科学与信息技术学院通信系统数据库设计说明书》
《国家开发标准文档》
《软件工程(第四版--张海藩)》
《UML面向对象设计与分析(朱丽平等)》
2总体设计
2.1需求规定
主要分为客户端发送接收消息和服务器数据库管理和处理.通信系统功能部分分为
2类:
客户相关,管理员相关.从使用和操作功能上分,有三种用户:
超级管理员用户(管理所有用户)管理员用户(管理普通用户信息)普通用户(接收发送信息,更改密码).为了便于整个系统组织管理,把各个相对独立的数据或功能组织到更大的系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一控制台模块中.相应的将系统分为一个控制台程序和两个子系统.客户子系统主要功能有发送接收信息和更改密码;管理员子系统主要功能是管理用户信息,在这里,某些模块都能用到的功能将不在重复解释,在每个模块中只列出每个子模块区别于其他子模块的功能实现.
2.2运行环境
硬件环境:
运行本软件要求处理器在奔腾III、内存在256MB以上的计算机。
软件环境:
本系统支持的操作系统包括Windows95、Windows98、Windows2000、
WindowsMe和WindowsXP;本系统的支持数据库为MySQL;本软件的开发工具为Java。
2.3结构
所有模块都必须调用“昵称等入”模块进行身份验证,只有合法用户才能使用系统。
2.4功能需求与程序的关系
用户必须输入昵称后,方能登入客户端,与服务器连接,程序正常运行。
2.5人工处理过程
本软件系统的工作过程中不需要人工处理数据。
3接口设计
3.1用户接口
本系统采用典型的Windows风格作为人机接口,如使用窗口、菜单、对话框等。
3.2外部接口
本系统支持处理器在奔腾III以上、内存在256MB以上的计算机;支持具有Windows
的操作系统,如Windows95、Windows98、Windows2000、WindowsMe和WindowsXP支持MySQL关系数据库
3.3内部接口
“用户验证”模块:
提供系统用户登录时的身份验证功能,用户进行角色切换时必裁用此模块进行身份验证。
4运行设计
4.l运行模块组合
不同的用户登录此系统获得的系统功能是不同的,如超级用户具有系统的全部功能;一些用户只具有浏览数据但不具备更新数据的功能。
4.2运行控制
超级用户对系统的其他用户设置系统功能的访问权限,这样权限受限的用户就只能访问部分系统模块。
4.3运行时间
“用户验证”模块在完成用户登录的身份验证后立即退出运行,释放占用的系统资源。
5系统数据结构设计
5.1逻辑结构设计要点
逻辑设计是系统中数据库设计的的重要步骤之一,其中罗列了文档需求分析中各种功能实现之间的本质关系,通过E-R图描述实例化了的文字抽象概念。
以下针对本系统的加以阐述其逻辑设计
数据表中的基本数据结构:
5.2物理结构设计要点
数据库结构的物理设计是对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程
主要设计表的结构,一般的试题对应于表,实体的属性对应于列,实体之间的关系为表的约束,逻辑设计中的实体大部分可以转化为物理设计中的表,但它们并不是一一对应的。
5.3数据结构与程序的关系
输入登入昵称,若不匹配,返回结果到登录窗口,提示错误,相反登录成功。
6系统出错处理设计
6.l出错信息
当输入信息超出字符的标准时,软件将会弹出警戒窗口提示,不会死机或软件自动关闭。
6.2补救措施
本系统中,当用户没有输入非空字段而进行数据提交时,系统提示××字段数据不得为空,请重新输入再提交。
此时输入界面保留刚刚输入信息的界面,而不是清空全部输入界面上的所有数据;要求用户重新输入。
本系统提供数据备份功能,方便用户对数据的备份。
6.3系统维护设计
详细编写各阶段的文档资料,以利于未来版本升级及移植等二次开发。
详细设计说明书
1引言
1.1编写目的
本文档为"计算机科学与信息技术学院通信系统详细说明书",主要是为了实现系统的功能而进行的系统详细设计说明,详细系统各个软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束,本文档供全体组员和测试人员阅读。
1.2参考资料
《计算机科学与信息技术学院通信系统软件说明书》
《计算机科学与信息技术学院通信系统概要说明书》
《计算机科学与信息技术学院通信系统数据库设计说明书》
《国家开发标准文档》
《软件工程(第四版--张海藩)》
《UML面向对象设计与分析(朱丽平等)》
2系统功能实现
从前面的需求分析可知,系统的功能不是很庞杂,主要分为客户端发送接收消息和服务器数据库管理和处理.通信系统功能部分分为2类:
客户相关,管理员相关.从使用和操作功能上分,有三种用户:
超级管理员用户(管理所有用户)管理员用户(管理普通用户信息)普通用户(接收发送信息,更改密码).为了便于整个系统组织管理,把各个相对独立的数据或功能组织到更大的系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块,各功能模块最后被集成到一控制台模块中.相应的将系统分为一个控制台程序和两个子系统.客户子系统主要功能有发送接收信息和更改密码;管理员子系统主要功能是管理用户信息,在这里,某些模块都能用到的功能将不在重复解释,在每个模块中只列出每个子模块区别于其他子模块的功能实现.
3.1系统控制台模块
功能:
各个子功能之间的调用;统一的登录界面实现到数据库服务器的登陆设计:
3.1.1登陆数据库
输入用户账号(id),密码(pwd),以账号ManagerPerson_id和密码ManagerPerson_pwd登陆的用户拥有对普通用户管理的权限,以账号Manager_id和密码Manager_pwd登陆的用户拥有对所由用户进行管理的权限.检索系统权限表,,根据权限设置相应的功能模块,
a.无此用户或禁止权限
Enable=false;Able=false;M=false
b.普通用户
Enable=true;Able=false;M=false
b.可管理普通用户权限
Enable=true;Able=true;M=false
c.可管理所有用户权限
Enable=true;Able=true;M=true
3.1.2程序组、程序项的原理组织各执行模块
可执行功能模块的调用执行,通过程序项名称获取可执行目标代码文件名,应用接口类Main开始执行,界面如下:
部分程序代码
JButtonbt=newJButton("登陆");
JLabellabel=newJLabel("用户名");
JPanelpanel=newJPanel();
panel.add(label);
panel.add(field);
frame.add(panel,BorderLayout.NORTH);
JPanelpane=newJPanel();
JTextFieldfieldpwd=newJTextField(10);
JLabellabe=newJLabel("密码");
pane.add(labe);
pane.add(fieldpwd);
frame.add(pane);
frame.add(bt,BorderLayout.SOUTH);
bt.addActionListener(this);
field.addKeyListener(
newKeyListener(){
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==e.VK_ENTER&&e.isControlDown()){
if(field==null)return;
start();
frame.dispose();
}
}
publicvoidkeyReleased(KeyEvente){
}
publicvoidkeyTyped(KeyEvente){
}
}
);
}
privateJTextFieldfield=newJTextField(10);
privateJFrameframe=newJFrame();
3.2用户子系统
总体功能设计:
用户子系统包含用户信息管理
用户之间数据的传递
下面给出设计方案和实现方法
3.2.1用户子系统包含用户信息管理
超级管理员信息管理
输入:
用户ID、初始密码
处理:
将用户信息按相同的
格式导入数据库
输出:
提示信息
数据表:
将Manager表中存放超级管理员数据,表存放在数据库DB中
管理员信息和普通用户信息与超级管理员的信息管理方式基本相同,区别在于管理员信息存放在表personManager表中,而普通用户的信息存放在person表中。
功能:
①普通用户更改自己密码的功能
②(超级)管理员添加删除用户
更改密码的界面如下:
部分程序代码:
JFrameframe=newJFrame("更改密码");
JButtonbt=newJButton("确定");
JLabellabel=newJLabel("旧密码");
JLabellabe=newJLabel("新密码");
JLabellabe1=newJLabel("确认密码");
JPanelpanel=newJPanel();
JPanelpane=newJPanel();
JPanelpane1=newJPanel();
JPaneljpanel=newJPanel(newGridLayout(2,1));
JTextFieldfield=newJTextField(20);
JTextFieldfieldpwd=newJTextField(20);
JTextFieldfieldpwd1=newJTextField(20);
panel.add(label);
panel.add(field);
pane.add(labe);
pane.add(fieldpwd);
pane1.add(labe1);
pane1.add(fieldpwd1);
jpanel.add(pane1);
jpanel.add(bt);
frame.add(pane);
frame.add(panel,BorderLayout.NORTH);
frame.add(jpanel,Bor