当前位置:文档之家› 实验室设备管理系统实验报告1讲解

实验室设备管理系统实验报告1讲解

本科实验报告课程名称:软件工程导论实验项目:实验室设备管理系统实验地点:实验楼210专业班级:软件1319 学号:2013005655 学生姓名:张卫东指导教师:王会青2015年05 月21 日一、实验目的和要求1.系统简介某大学每学年都需要对实验室设备使用情况进行统计、更新。

其中:(1)对于已彻底损坏的实验设备做报废处理,同时详细记录有关信息。

(2)对于有严重问题(故障)的需要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。

(3)对于急需使用但实验室目前又缺乏的设备,需以“申请表”的形式送交上级领导请求批准购买。

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

(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等条件进行查询。

2.技术要求及限制条件(1)所有工作由专门人员负责完成,其他人不得任意使用。

(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。

(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。

(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。

(5)本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。

二、实验内容和原理可行性分析报告可行性研究主要是初步确定项目的规模和目标,确定项目的约束和限制。

对于项目的功能和性能方面的要求进行简要的概述。

详见组长田彦博的实验报告。

需求规格说明书需求规格说明书主要是进一步定制实验室设备管理系统软件开发的细节问题,便于用户与开发商协调工作。

在此主要绘制了系统的数据流图、相应的数据字典、E-R图、以及系统的功能图,对于各个方面的需求进行了详细的阐述。

详见组长田彦博的实验报告。

概要设计说明书概要设计说明书是为了说明整个实验室设备管理系统的体系架构,以及需求用例的各个功能点在架构中的体现。

在此主要绘制了系统流程图、总体结构和模块的外部设计,而且对于数据库中逻辑结构方面也进行了详细的设计。

详见组长田彦博的实验报告。

详细设计说明书------设备报废管理模块(一)、引言1.1编写目的:此详细设计说明书是为了说明整个实验室设备管理系统(laboratory equipment management system)各个层次中的每个程序(每个模块或子程序)的实际考虑,为程序员编写程序提供依据。

1.2项目背景:●项目的委托单位:学校;●项目的开发单位:自由小组。

●项目的主管部门:学校信息化管理中心。

1.4参考资料:[1]李爱萍.《软件工程》(第1版),人民邮电出版社[2]自编《软件工程实验指导书》[3]李东生等编著《软件工程——原理、方法和工具》[4]张海藩编著,软件工程导论,北京:清华大学出版社,2003 第4版(二)、任务概述2.1功能:设备报废管理模块:对于已经损坏的设备在符合报废标准的情况下做报废处理,并且能及时修改相应的设备记录,能查询到已经报废的设备号及设备名称等详细信息。

2.2输入和输出项目:设备报废管理模块:输入:已损坏设备的设备号,设备名称;输出:报废设备资金统计表以及报废设备的设备号,报废原因,报废日期,所属实验室,报废意见,责任人签名等详细信息。

2.3算法和程序逻辑:设备报废管理模块:1.模块伪代码:判断是查询还是记录报废设备IF 为记录则在窗体上显示出报废信息文本框将文本框的内容存入各个变量打开数据库,打开报废记录表将相关变量写入报废记录表的新建项的各个项目Return 报废记录已写入EndifIF 为查询则将窗体上的报废时间或者报废设备栏数据写入变量打开数据库,打开报废记录表If 为按设备名查询则在列名为设备名的列用变量查询IF 有项与变量相同则返回该项的相关信息到程序窗体上显示ELSE返回“无此类设备报废”EndifEndifIF 为按报废时间查询则在列名为报废日期的列用变量查询IF 有项小于变量则返回该项的相关信息到程序上显示ELSE返回“无此类设备报废”EndifEndifEndif2. 算法流程图:3.盒图(N-S):4.问题分析图(PAD):2.4数据库逻辑设计:设备报废管理模块数据类型及定义见表一。

表2.5存储分配:实验室设备的所有信息都存在数据库中,权限信息的所有资料也仍在数据库中。

系统启动界面,友好用户欢迎及与管理系统主系统界面的程序设计尚未需要设计到数据查询等功能,因此可以不分配存储空间。

而其他系统,子程序都需要涉及到数据库的查询,添加等操作,因此需要存储分配。

2.6限制条件:操作系统限制: windows98及以上内存要求:256MB以上CPU:P4及以上硬盘:空余600MB空间2.7测试要点:黑盒测试:也称功能测试或者数据驱动测试。

是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像是一个黑盒子。

软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种测试方法。

在黑盒测试方案中,采用等价划分技术设计。

白盒测试:也称结构测试或者逻辑驱动测试。

白盒测试与黑盒测试不同,测试人员将程序视作一个透明的白盒子,测试人员了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所以逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。

在白盒测试方法中,采用路径覆盖。

三、主要仪器设备●硬件:惠普6470b笔记本CPU:Intel 酷睿i5 3230M、内存:4GB(4GB×1) DDR3、硬盘:500GB●软件:Java语言编译器、Access 2007、Visio 2007Eclipse:3.8.0、JDK:1.6.0_45四、操作方法与实验步骤编码部分1.设备报废管理模块package实验室;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class LaboratoryDelate extends JPanel implements ActionListener{Connection con;Statement sql;JTextField t1, t2, t3, t4, t5, t6;JButton b;Box baseBox, bv1, bv2;LaboratoryDelate() {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException e) {}try {con= DriverManager.getConnection("jdbc:odbc:laboratory", "", "");sql = con.createStatement();} catch (SQLException ee) {}setLayout(new BorderLayout());b = new JButton("报废");b.setBackground(Color.cyan);b.addActionListener(this);t1 = new JTextField(8);t1.addActionListener(this);t2 = new JTextField(16);t3 = new JTextField(16);t4 = new JTextField(16);t5 = new JTextField(16);t6 = new JTextField(16);t2.setEditable(false);t3.setEditable(false);t4.setEditable(false);t5.setEditable(false);t6.setEditable(false);JPanel p1 = new JPanel(), p2 = new JPanel(); p1.add(new JLabel("输入要报废的设备号"));p1.add(t1);p1.add(b);bv1 = Box.createVerticalBox();bv1.add(new JLabel("设备型号"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("设备名"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("报废日期"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("实验室"));bv1.add(Box.createVerticalStrut(8));bv1.add(new JLabel("责任人"));bv1.add(Box.createVerticalStrut(8));bv2 = Box.createVerticalBox();bv2.add(t2);bv2.add(Box.createVerticalStrut(8));bv2.add(t3);bv2.add(Box.createVerticalStrut(8));bv2.add(t4);bv2.add(Box.createVerticalStrut(8));bv2.add(t5);bv2.add(Box.createVerticalStrut(8));bv2.add(t6);bv2.add(Box.createVerticalStrut(8)); baseBox = Box.createHorizontalBox(); baseBox.add(bv1);baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(bv2);p2.add(baseBox);add(p1, "North");add(p2, "Center");setSize(350,300);setBackground(Color.LIGHT_GRAY);}public void actionPerformed(ActionEvent e) {if (e.getSource() == t1) {try {delete();} catch (SQLException ee) {}} else if (e.getSource() == b) {try {delete();} catch (SQLException ee) {}int n = JOptionPane.showConfirmDialog(this, "确定要报废该设备吗?", "确定", JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {try {String s1 = "'" + t1.getText().trim() + "'";String temp = "DELETE FROM student WHERE id=" + s1;con= DriverManager.getConnection("jdbc:odbc:laboratory", "","");sql.executeUpdate(temp);JOptionPane.showMessageDialog(this, "报废处理成功!", "提示对话框",RMATION_MESSAGE);con.close();} catch (SQLException ee) {}} else if (n == JOptionPane.NO_OPTION) {}}}public void delete() throws SQLException {String type, name, date, laboratory, managementer;con = DriverManager.getConnection("jdbc:odbc:laboratory", "", "");type = t1.getText().trim();ResultSet rs = sql.executeQuery("SELECT * FROM laboratory where laboratory='"+ type + "'");if (rs.next()) {type = rs.getString("type");name = rs.getString("name");date = rs.getString("date");laboratory = rs.getString("laboratory");managementer = rs.getString("managementer");t2.setText(type);t3.setText(name);t4.setText(date);t5.setText(laboratory);t6.setText(managementer);// break;// }} else {JOptionPane.showMessageDialog(this, "没有该设备!", "提示对话框",RMATION_MESSAGE);}con.close();}}设备报废模块界面如图1所示。

相关主题