实验室设备管理系统软件工程试验完整版.docx

上传人:b****8 文档编号:9710749 上传时间:2023-05-20 格式:DOCX 页数:77 大小:549.40KB
下载 相关 举报
实验室设备管理系统软件工程试验完整版.docx_第1页
第1页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第2页
第2页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第3页
第3页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第4页
第4页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第5页
第5页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第6页
第6页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第7页
第7页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第8页
第8页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第9页
第9页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第10页
第10页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第11页
第11页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第12页
第12页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第13页
第13页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第14页
第14页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第15页
第15页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第16页
第16页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第17页
第17页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第18页
第18页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第19页
第19页 / 共77页
实验室设备管理系统软件工程试验完整版.docx_第20页
第20页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验室设备管理系统软件工程试验完整版.docx

《实验室设备管理系统软件工程试验完整版.docx》由会员分享,可在线阅读,更多相关《实验室设备管理系统软件工程试验完整版.docx(77页珍藏版)》请在冰点文库上搜索。

实验室设备管理系统软件工程试验完整版.docx

实验室设备管理系统软件工程试验完整版

实验项目:

实验室设备管理系统

一、项目管理:

阶段

时间及实验

任务

参与人员

产生文档

项目管理

2009.10.27

实验一

确定课题,组织组员,合理分工。

分工明细及项目进程表

需求分析

2009.10.27

实验一

确定软件的功能和需求、性能需求和运行环境约束,编制软件需求规格说明、软件系统的确认测试准则

需求规格说明书

确认测试准则

概要设计

2009.10.27

验一

建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,涉及全局数据库,规定涉及约束,制定组装测试计划。

概要设计说明书

组装测试计划

数据库设计

2009.10.28实验二

根据概要设计对本软件所必须的数据库进行分析及设计

数据库设计说明书

详细设计

2009.10.28实验二

对概要设计产生的功能模块逐步细化,形成若干个可编程的程序模块

模块测试方案

编码

2009.10.28

2009.10.29

实验三

根据详细设计文档将详细设计转化为所要求的编程语言或数据库语言的程序,并对这些程序进行调试和程序单元测试,验证程序模块与详细设计文档的一致性

源程序清单

测试

单元测试

2009.10.28

2009.10.29

实验三

采用白盒测试技术进行如下测试:

1.模块接口测试;

2.模块局部数据结构测试;

3.模块边界条件测试;

4.模块中所有独立执行通路测试;

5.模块的各条错误处理通路测试。

单元测试报告

综合测试

2009.10.29

实验三

发现与接口有关的各种错误

综合测试报告

确认测试

2009.10.29实验三

检查软件是否满足软件需求说明书中的确认标准

确认测试报告

项目实施

2009.10.29

2009.10.30

实验四

完善程序流图

书写软件使用说明书和用户手册

项目开发总结报告

最终用户手册

二、软件需求分析

1软件系统需求描述:

实验室设备管理系统是利用Eclipse作为开发工具、SQLServer2000作为数据库的系统。

要求实现如下功能:

⑴所有工作由专门人员负责完成,其他人不得任意使用;

⑵对于已彻底损坏的作报废处理,同时详细记录有关信息;

⑶对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等;

⑷对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。

新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容;

⑸随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。

本管理系统通过计算机对实验设备进行自动管理,设备管理员可以直接在计算机实现实验设备的信息管理,并在一定程度上实现自动化,改善了工作运行效率和效果。

2软件系统数据流图

1)顶层数据流图

2)0层数据流图

3)一层数据流图

4)总数据流图

3软件系统数据字典:

1、数据流条目

1登陆信息

输入:

设备管理员

输出:

身份验证1

描述:

登陆信息=用户名+密码+登陆权限

2查询信息

输入:

合法人员对设备的查询操作

输出:

设备信息表

描述:

查询信息=设备名/型号/类别/购置日期

3维修信息

输入:

所需维修设备的信息

输出:

确定维修设备的记录

描述:

维修信息=设备名+修理日期+修理厂家+修理费+负责人

4新设备

输入:

购买设备的信息

输出:

确定购买的新设备的记录

描述:

新设备=类别+设备名+型号+规格+单价+数量等

5报废设备

输入:

所需报废的设备的信息

输出:

报废的设备记录

描述:

报废设备=类别+设备名+型号等

6审核信息

输入:

审核3

输出:

上级领导

描述:

审核信息=报废设备信息/新设备购买记录

 

2、加工条目

身份验证1,统计查询2.1,维修2.2,购买2.3,报废2.4,生产报表3.1,审核3.2

3、文件条目

1登陆表

输入:

身份验证1

输出:

身份验证1

数据结构:

用户名+密码+登陆权限

2设备基本信息表

输入:

统计查询2.1

数据结构:

类别+设备名+型号+规格等

3维修记录表

输入:

统计查询2.1,维修2.2

输出:

统计查询2.1

数据结构:

设备名+修理日期+修理厂家+修理费+责任人等

4新设备表

输入:

统计查询2.1,购买2.2

输出:

统计查询2.1

数据结构:

类别+设备名+型号+规格+单价+数量+生产厂家+购买人等

5报废记录表

输入:

报废2.4,统计查询2.1,生产报表3.1

输出:

统计查询2.1,生产报表3.1

数据结构:

类别+设备名+型号等

6申请表

输入:

统计查询2.1,生产报表3.1

输出:

统计查询2.1,生产报表3.1,购买2.3

数据结构:

设备名+型号+规格+数量+负责人

三:

软件设计

1实验室设备管理系统模块结构图

 

2界面设计

3实验室设备管理系统数据设计

4管理系统其中的3个模块的详细设计

1上级领导操作模块

②设备管理员操作模块

3统功能操作模块

 

5数据库设计

1登陆表

列名

数据类型

长度

允许空

用户名

varchar

50

notnull

密码

varchar

50

notnull

登陆权限

char

10

notnull

2设备基本信息表

列名

数据类型

长度

允许空

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

规格

varchar

10

notnull

单价

float

8

null

购买日期

datetime

8

null

生产厂家

varchar

20

null

购买人

varchar

10

null

数量

Int

4

null

3维修记录表

列名

数据类型

长度

允许空列名

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

维修日期

datetime

8

null

维修厂家

varchar

30

null

维修费用

float

8

null

责任人

varchar

10

null

4报废记录表

列名

数据类型

长度

允许空

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

报废日期

datetime

8

null

责任人

varchar

10

null

5申请表

列名

数据类型

长度

允许空

设备名

varchar

10

notnull

日期

Datatime

8

notnull

规格

varchar

10

notnull

数量

int

4

null

申请人

Varchar

10

Null

 

四、编码与单元测试

1、各模块示意图

2、用户登录界面:

packageshebeiguanli;

 

importjava.applet.*;

importjava.sql.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importcom.borland.jbcl.layout.*;

/**

*

Title:

实验室设备管理系统登录界面

*@authorgengdexin

*@version1.0

*/

publicclassLogextendsJFrame{

/*

*构建显示对象

*/

JPanelcontentPane;

XYLayoutxYLayout1=newXYLayout();

JPasswordFieldpassword=newJPasswordField();

JLabeljLabel1=newJLabel();

JLabeljLabel2=newJLabel();

JLabeljLabel4=newJLabel();

JTextFieldjTextField1=newJTextField();

JLabeljLabel3=newJLabel();

JLabeljLabel5=newJLabel();

JLabeljLabel6=newJLabel();

publicLog(){

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

try{

jbInit();

}

catch(Exceptione){

e.printStackTrace();

}

}

privatevoidjbInit()throwsException{

contentPane=(JPanel)this.getContentPane();

password.addActionListener(newLog_password_actionAdapter(this));

contentPane.setLayout(xYLayout1);

this.setSize(newDimension(500,400));

this.setTitle("实验室设备管理系统");

jLabel1.setFont(newjava.awt.Font("SansSerif",0,25));

jLabel1.setForeground(Color.red);

jLabel1.setText("欢迎进入实验室设备管理系统");

jLabel2.setFont(newjava.awt.Font("SansSerif",0,20));

jLabel2.setText("姓名");

jTextField1.setText("");

jLabel3.setFont(newjava.awt.Font("SansSerif",0,20));

jLabel3.setText("密码");

jLabel4.setFont(newjava.awt.Font("SansSerif",0,20));

jLabel4.setText("开发人员:

耿德新蔺明亮毛冬冬");

jLabel5.setFont(newjava.awt.Font("SansSerif",0,20));

jLabel5.setText("李章华吕文强顾海驹");

jLabel6.setFont(newjava.awt.Font("SansSerif",0,15));

jLabel6.setForeground(Color.red);

jLabel6.setText("交流:

****************");

contentPane.add(jLabel1,newXYConstraints(80,10,350,34));

contentPane.add(jLabel2,newXYConstraints(92,142,-1,-1));

contentPane.add(jTextField1,newXYConstraints(130,145,91,26));

contentPane.add(jLabel3,newXYConstraints(222,144,-1,-1));

contentPane.add(password,newXYConstraints(263,144,105,28));

contentPane.add(jLabel4,newXYConstraints(50,250,-1,-1));

contentPane.add(jLabel5,newXYConstraints(150,280,-1,-1));

contentPane.add(jLabel6,newXYConstraints(100,340,-1,-1));

}

protectedvoidprocessWindowEvent(WindowEvente){

super.processWindowEvent(e);

if(e.getID()==WindowEvent.WINDOW_CLOSING){

System.exit(0);

}

}

voidpassword_actionPerformed(ActionEvente){

try{

Frame1Frame=newFrame1();

Frame.show();

validID();

}

catch(Exceptionew){

System.out.println(ew.getMessage());

}

 

this.setVisible(false);

}

//连接sql

voidvalidID(){

try{

Stringstr1,str2;

str1=jTextField1.getText();

str2=password.getText();

Connectioncon=null;

Stringurl="jdbc:

odbc:

shebeiguanli";

Stringuser="";

Stringpassword="";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection(url,user,password);

Statementstmt=con.createStatement();

//执行动态的sql语句

PreparedStatementpstmt=con.prepareStatement(

//依据读者的名字查询读者的信息的sql语句

"useshebeiguanliselect*from登录whereusername=?

");

//将读者的名字添加到具体的sql语句中

pstmt.setString(1,str1);

//使用ResultSet中的方法executeQuery()来完成sql语句的执行

ResultSetres=pstmt.executeQuery();

//使用getString()来获取sql查询的结果

if((!

res.next())||res.getString("password")==null){

JOptionPane.showMessageDialog(this,"查无此人","错误",

JOptionPane.ERROR_MESSAGE);

}else{

//if(!

res.getString

(2).equals(str2)){

if(!

res.getString

(2).equals(str2)){

JOptionPane.showMessageDialog(this,"密码错误","错误",

JOptionPane.ERROR_MESSAGE);

}else{

System.out.println("正确");

do{

System.out.println(res.getString

(1)+":

"+res.getString

(2));

}while(res.next());

loader();

}

}

pstmt.close();

con.close();

}

catch(ClassNotFoundExceptione){

System.out.println(e.getMessage());

}catch(SQLExceptionedd){

edd.printStackTrace();

System.out.println(edd.getMessage());

}

}

voidloader(){

try{

Frame9Frame=newFrame9();

Frame.show();

}

catch(Exceptionew){

System.out.println(ew.getMessage());

}

}

}

classLog_password_actionAdapterimplementsjava.awt.event.ActionListener{

Logadaptee;

Log_password_actionAdapter(Logadaptee){

this.adaptee=adaptee;

}

publicvoidactionPerformed(ActionEvente){

adaptee.password_actionPerformed(e);

}

}

3、主界面:

packageshebeiguanli;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importcom.borland.jbcl.layout.*;

//系统主界面

publicclassFrame9extendsJFrame{

JPanelcontentPane;

JMenuBarjMenuBar1=newJMenuBar();

JMenu设备查询=newJMenu();

JMenuItem设备信息=newJMenuItem();

JMenu设备申请=newJMenu();

JMenuItem申请登记=newJMenuItem();

XYLayoutxYLayout1=newXYLayout();

JLabeljLabel1=newJLabel();

JMenujMenu2=newJMenu();

JMenuItemjMenuItem7=newJMenuItem();

JMenujMenu3=newJMenu();

JMenuItemjMenuItem8=newJMenuItem();

JMenuItemjMenuItem1=newJMenuItem();

JMenuItemjMenuItem3=newJMenuItem();

JLabeljLabel2=newJLabel();

JLabeljLabel3=newJLabel();

JLabeljLabel4=newJLabel();

JMenujMenu5=newJMenu();

JMenuItemjMenuItem2=newJMenuItem();

publicFrame9(){

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

try{

jbInit();

}

catch(Exceptione){

e.printStackTrace();

}

}

privatevoidjbInit()throwsException{

contentPane=(JPanel)this.getContentPane();

contentPane.setLayout(xYLayout1);

this.setSize(newDimension(600,500));

this.setTitle("实验室管理系统");

设备查询.setFont(newjava.awt.Font("SansSerif",0,20));

设备查询.setText("设备查询");

设备信息.setFont(newjava.awt.Font("SansSerif",0,20));

设备信息.setText("设备信息查询");

设备信息.addActionListener(newFrame9_设备信息_ActionAdapter(this));

设备申请.setFont(newjava.awt.Font("SansSerif",0,20));

设备申请.setText("设备申请");

设备申请.addActionListener(newFrame9_设备申请_actionAdapter(this));

申请登记.setFont(newjava.awt.Font("SansSerif",0,20));

申请登记.setText("申请登记");

申请登记.addActionListener(newFrame9_申请登记_ActionAdapter(this));

jLabel1.setFont(newjava.awt.Font("SansSerif",0,40));

jLabel1.setForeground(newColor(210,0,0));

jLabel1.setHorizontalAlignment(SwingConstants.LEADING);

jLabel1.setText("实验室管理系统");

contentPane.setFont(newjava.awt.Font("Dialog",0,11));

contentPane.setForeground(Color.darkGray);

 

jMenu2.setFont(newjava.awt.Font("SansSerif",0,20));

jMenu2.setFocusPainted(false);

jMenu2.setText("维修记录");

jMenuItem7.setFont(newjava.awt.Font("SansSerif",0,20));

jMenuItem7.setText("维修记录登记");

jMenuItem7.addActionListener(newFrame9_jMenuItem7_actionAdapter(this));

jMenu3.setFont(newjava.awt.Font("SansSerif",0,20));

jMenu3.setText("报废记录");

jMenuItem8.setFont(newjava.awt.Font("SansSerif",0,20));

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2