软件工程课程设计报告doc.docx
- 文档编号:29284181
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:37
- 大小:1.73MB
软件工程课程设计报告doc.docx
《软件工程课程设计报告doc.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告doc.docx(37页珍藏版)》请在冰豆网上搜索。
软件工程课程设计报告doc
软件工程综合课程设计报告
班级:
学号:
姓名:
指导教师:
二○一一年十二月二十六日
设计日期自2011年11月25日至2011年12月26日
1编写目的背景
本文档为工资管理系统需求分析报告,为工资管理系统的设计的主要依据,主要针对工资管理系统的概要设计和详细设计人员,作为项目验收的主要依据。
本软件全称为工资管理系统。
本软件为李宇辉小组实习项目,由小组成员李竞、李湘彪、朱胜男、沈丹凤共同完成。
软件适用于普通公司的工资管理。
2软件工程需求分析
2.1系统需求设计
2.1.1部门管理
部门信息
完成部门信息的查询和编辑。
添加部门
通过输入部门的名称添加新的部门。
2.1.2工资管理
修改工资
通过查询用户的姓名、编号修改员工工资的信息。
2.1.3员工管理
员工信息
完成员工信息的查询,编辑和删除。
添加员工
通过输入员工的信息添加新的员工。
2.1.4用户和权限管理
编辑用户权限
通过查找员工姓名编号编辑用户权限。
2.1.5帮助
提供给用户操作帮助,以及遇到简单的问题的解决方法。
2.2图表分析
2.2.1功能模块图
2.2.2数据流图
2.2.3总用例图
2.2.4用户管理用例图
2.2.5员工管理员用例图
2.2.6总活动图
2.2.7工资活动图
2.2.8用户查询活动图
2.2.9员工活动图
2.2.10用户登录时序图
2.2.11信息录入时序图
2.3数据字典
2.3.1数据结构
部门信息表(depart)
字段名
类型
允许为空
默认值
说明
departid
int
×
主键
departname
varchar
×
部门名称
员工信息表(staff)
字段名
类型
允许为空
默认值
说明
clientid
int
×
主键
clientname
varchar
×
名字
clientsex
char
×
性别
clientno
varchar
×
编号
clientwage
bigint
√
工资
clienttel
varchar
√
电话
用户表(users)
字段名
类型
允许为空
默认值
说明
userid
int
×
用户编号
username
varchar
×
用户姓名
userpass
varchar
×
用户密码
2.3.2数据处理
员工查询:
输入员工编号,输出员工信息
员工修改:
输入员工编号,修改员工信息
管理员对员工查询:
输入员工编号,输出员工信息
管理员对员工修改:
输入员工编号,修改员工信息
管理员对员工删除:
输入员工编号,删除员工信息
管理员对员工增加:
输入员工编号,增加员工信息
管理员对部门查询:
输入部门编号,输出部门信息
管理员对部门修改:
输入部门编号,修改部门信息
管理员对部门删除:
输入部门编号,删除部门信息
管理员对部门增加:
输入部门编号,增加部门信息
管理员对工资查询:
输入工资编号,输出工资信息
管理员对工资修改:
输入工资编号,修改工资信息
管理员对工资删除:
输入工资编号,删除工资信息
管理员对工资增加:
输入工资编号,增加工资信息
3数据库需求分析
3.1概念结构
3.2逻辑结构
3.2物理结构
3.3创建表的脚本文件
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2008*/
/*Createdon:
2011-12-2623:
27:
42*/
/*==============================================================*/
ifexists(select1
fromsysobjects
whereid=object_id('depart')
andtype='U')
droptabledepart
go
ifexists(select1
fromsysobjects
whereid=object_id('staff')
andtype='U')
droptablestaff
go
ifexists(select1
fromsysobjects
whereid=object_id('users')
andtype='U')
droptableusers
go
/*==============================================================*/
/*Table:
depart*/
/*==============================================================*/
createtabledepart(
departidintnotnull,
departnamevarchar(32)notnull,
constraintPK_DEPARTprimarykeynonclustered(departid)
)
go
/*==============================================================*/
/*Table:
staff*/
/*==============================================================*/
createtablestaff(
clientidintnotnull,
departidintnull,
useridintnull,
clientnamevarchar(32)notnull,
clientsexchar(32)notnull,
clientnovarchar(32)notnull,
clientwagebigintnull,
clienttelvarchar(32)null,
constraintPK_STAFFprimarykeynonclustered(clientid)
)
go
/*==============================================================*/
/*Table:
users*/
/*==============================================================*/
createtableusers(
useridintnotnull,
clientidintnull,
userpassvarchar(32)notnull,
userrootintnotnull,
constraintPK_USERSprimarykeynonclustered(userid)
)
go
4系统设计
4.1系统分析设计
4.1.1需求分析
本工资管理系统具有如下功能模块:
密码修改模块:
对当前登陆用户或管理员进行登陆密码的修改。
时钟模块:
在主界面提供了本地当时的时间(日期,时间,星期*)。
员工模块:
对员工信息的查询和修改。
报表模块:
部门信息的报表和工资信息的报表。
管理员模块:
对部门基本信息进行管理,可以添加、查询、修改和删除基本信息;对员工基本信息进行管理,可以添加、查询、修改和删除基本信息;对工资基本信息进行管理,可以添加、查询、修改和删除基本信息。
4.1.2系统功能模块
本系统分为以下三大模块:
部门管理模块、工资管理模块、报表模块。
图2-1功能模块划分图
4.1.3功能设计
各模块功能设计如下:
1.系统管理模块:
可以方便地了解系统,帮助选项和系统退出及密码修改等。
2.部门信息管理模块:
基本信息录入功能,输入部门信息,可以实现添加此信息到相应的数据库表里。
基本信息查询功能,输入编号,可以查询此部门信息的详细。
基本信息修改功能:
输入编号,可以显示此部门信息的详细,然后作修改操作,并保存修改后的信息到相应的数据库表里。
基本信息删除功能:
输入编号,可以显示该部门信息的详细,然后作删除操作,可以把数据库表中对应的该部门的记录全部删除。
3.工资信息管理模块:
工资信息录入功能,输入工资信息,可以实现添加此信息到相应的数据库里。
工资信息查询功能,输入编号,可以查询此工资信息的详细。
工资信息修改功能:
输入编号,可以显示此工资信息的详细,然后作修改操作,并保存修改后的信息到相应的数据库表里。
工资信息删除功能:
输入编号,可以显示该工资信息的详细,然后作删除操作,可以把数据库表中对应的该学生的记录全部删除。
4.员工信息管理模块:
员工信息录入功能,输入员工信息,可以实现添加此信息到相应的数据库表里。
员工信息查询功能,输入编号,可以查询此员工信息的详细。
员工信息修改功能:
输入编号,可以显示此员工信息的详细,然后作修改操作,并保存修改后的信息到相应的数据库表里。
员工信息删除功能:
输入编号,可以显示该员工信息的详细,然后作删除操作,可以把数据库表中对应的该员工的记录全部删除。
5.报表模块:
基本信息浏览表功能:
通过以表格的形式,给用户显示数据库里所有书籍读者种类对应的书名编号,书名,作者,借书期限的信息一目了然,可以浏览所有书籍的基本信息。
里面包含了借阅书本和查询借阅信息的功能,使读者能知道自己接了什么书,那些书被谁借走了。
4.2系统的设计与实现
对于本系统各个功能块的实现,是通过JAVA语言在JDK6.0环境下完成的,界面是用J2EE编写的,用Sqlserver2008实现JAVA语言与数据库的连接,最后完成整个系统的开发。
4.2.1登录界面(Login.jsp)
系统运行,显示用户登陆界面,运行界面如图2-4所示。
图2-4登陆界面
登录主要代码实现如下:
Stringinfo=request.getParameter("info");
Stringoutput=null;
if(("1").equals(info)){
output="密码不正确或用户名不存在,请重新登陆!
";
}
elseif(("2").equals(info)){
output="密码不正确或用户名不存在,请重新登陆!
";
}
elseif(("3").equals(info)){
output="验证码不正确,请重新输入!
";
}
else{
output="欢迎使用工资管理系统";
}
4.2.2主界面(MainWindow.jsp)
系统运行,显示主界面,并且显示员工的相关信息,如图2-5所示。
图2-5主界面
因为跟数据库连接的缘故,所以所调用的类的构造函数必须设置成带rs(结果返回集)参数的。
--
-->
4.2.3密码修改界面(resetpass.jsp)
此界面是给予用户自己修改自己的密码的界面,不能修改别人的登录密码。
在原始密码处输入刚刚使用的登录密码,否则弹出如图如图2-6所示
图2-6
在新建密码输入新的登录密码,并在确认密码处输入相同的密码,否则弹出如图如图2-7所示
图2-7
在数据全部正确时弹出如图如图2-8
图2-8
密码修改界面运行界面入下图2-9
图2-9
此界面密码修改实现的代码如下:
IntegerUuid=(Integer)session.getAttribute("loginid");
intUid=Uuid.intValue();
StringUpass=request.getParameter("userpass");
Stringinfo=request.getParameter("info");
Stringoutput=null;
if(("1").equals(info)){
output="两次密码不一致,请重新输入!
";
}
elseif(("0").equals(info)){
output="请输入新密码并重新登陆!
";
}
4.2.4数据库链接(DownloadServlet.java)
此类写了2.2.3密码修改界面(Mima)的数据库链接方法。
检验密码的主要代码实现如下:
publicclassDownloadServletextendsHttpServlet
{
StringdbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connectionconn;
Statementstmt;
ResultSetrs;
Stringsql=null;
publicvoidinit()throwsServletException
{
try
{
Class.forName(dbDriver);
}
catch(Exceptione)
{
e.printStackTrace();
}
}
//ProcesstheHTTPGetrequest
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
conn=null;
PreparedStatementpstmt=null;
ResultSetrs=null;
StringstrId=request.getParameter("id");
if(null==strId||strId.equals(""))
{
return;
}
InputStreamis=null;
StringfileName=null;
intfileSize=0;
if(strId.equals("111"))
{
Filefile=newFile("D:
\\fileupload\\tomcat5.exe");is=newFileInputStream(file);
fileName=file.getName();
fileSize=(int)file.length();
}
else
{
intid=Integer.parseInt(strId);
try
{
conn=DriverManager.getConnection("jdbc:
odbc:
DataSource");pstmt=conn.prepareStatement("select*fromuploadfilewhereid=?
");
pstmt.setInt(1,id);
rs=pstmt.executeQuery();
if(rs.next())
{
fileName=rs.getString("filename");
fileSize=rs.getInt("filesize");
is=rs.getBinaryStream("data");
}
4.2.5员工管理界面(EmpleeMgr.jsp)
此类记录了员工的姓名,编号,工资,部门及其修改操作。
运行界面如下图2-10
图2-10
主要实现代码如下:
50px"scope=col>
4.2.6员工个人信息录入与修改(ZhongleiConnect)
此类写了员工个人信息的数据处理,里面封装了2个方法:
提交,重置。
具体关键部分实现如下:
4.2.7员工个人信息查询(showWage.jsp)
此类是一个对员工自助服务,查询自己的基本信息。
运行界面如图2-14
图2-14
主要实现代码如下:
4.2.8部门信息界面(showDepart.jsp)
此界面提供了显示数据库里的部门信息。
运行界面如图2-15
图2-15
显示数据的SQL如下:
50px"scope=col>
<%while(rs.next()){%>
50px"> src="EmployeeMgr.files/bg_users.gif"> 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1