大工软件工程课程大作业答案

网络教育学院《软件工程》课程大作业

题目:企业货物管理系统

学习中心:

层次:

专业:

年级:

学号:

学生:

完成日期:

总体设计说明书,

一、运行环境

硬件开发环境:

CPU:Intel Pentium 4 2.00GHz

内存:2G

硬盘:160G

软件开发环境:

操作系统:Microsoft Windows XP Professional SP2

开发工具包:Java(TM) SE Development Kit 6

开发工具:MyEclipse Enterprise Workbench 5.5.1 GA

JSP服务器:Apache Tomcat 5.5.26

数据库:Microsoft SQL Server 2000并安装升级补丁

浏览器:Microsoft Internet Explorer 6.0以上

二、系统功能模块设计、

系统功能模块设计介绍管理人员的登录与注册模块、进货入库管理模块、退货管理模块、商品调价管理模板的具体功能。

登录:用以实现用户的登录和注册。

用户管理:对系统所有的用户以列表形式浏览并能进行删除。

部门管理:对本企业的部门进行管理,有添加、删除、修改等管理。

供应商管理:对提供物资的企业或厂商信息进行添加、删除、修改。

员工管理:对企业的员工进行添加、删除、修改。

进货合同:对企业采购物品的合同进行添加、删除、修改管理。

库房管理:对企业库房进行管理。

库存管理:对所有库存中的物资以列表形式列出,可以对该信息进行修改和删除。

退货管理:对核查不合格的产品情况进行管理。

核查管理:对所采购的物资进行核查,合格进入库房,不合格列入退货列中。

库存查询管理模块:根据查询条件进行查询,查询条件可以是条形码、产品名称、产品类型、所在库房。

三、系统层次结构图

需求分析规格书

一、功能需求分析

本企业货物管理系统根据管理员的ID和密码登陆,登陆成功后根据管理人员的需求选择相应的操作。在这里包括的模块分别为:登陆模块、用户管理模块,部门管理模块、库房管理模块、货物新增管理模块、库存管理模块、退货单管理模块、库存查询管理模块。现在对每个模块画出业务流程图,并做业务分析。

通过对客户的了解,以及对系统的分析,我们得出以下的结论,在货物管理系统中,数据库至少要记录入库货物的详细记录的信息,货物出库的详细记录的信息,职工的基本信息,供应商的基本信息,以及库房中每一种货物的边际值,即库房中的货物数量到了一定的界限,就要提醒管理员进货,具体的内容如下:(1)用最低的费用最短的时间提供尽可能精确、正确的信息,以便选择最佳的实施方案,以提高商家的经济效益。

(2)完整、及时提供在管理及决策中需要的数据。

(3)利用指定的数据关系分析数据,客观预测未来。

(4)不仅要对物质的信息进行管理,还要了解物质的相关信息。

(5)用统一标准处理和提供物质基本信息,排除使用前后矛盾的不完整的数据。

图1

二、数据需求分析

1.职工与仓库的局部ER图

通过分析我们可以知道,一个仓库可以有多个职工在里面工作,但是一个职工只能在一个仓库中工作,因此仓库和职工之间的关系是1对多的,它们的局部E-R图如图2所示:

图2

2.供应商和货物的局部ER图

通过分析我们可以知道,一个供应商可以提供多种货物,每一种货物也可以由不同的供应商提供,因此供应商和货物之间的关系是多对多的,它们的局部E-R图如图3所示:

图3

3. 货物与仓库的局部ER图

通过分析我们可以知道,一种货物可以存储在多个仓库中,每一个仓库也可以存储多种货物,因此货物和仓库之间的关系是多对多的,它们的局部E-R图如图4所示:

图4

4. 系统的全局ER图

通过以上的分析,把仓库,仓库管理员,货物,供应商集合到一起,形成全局E-R图如图5所示:

图5

以上就是对货物管理系统的概念设计的全过程。

详细设计说明书一、系统数据表

表3管理员表

表4入库表

表名5出库表

表6用户表

二、核心程序

由于本项目的许多文件需要访问数据库,利用JDBC可以实现与后台数据库管理系统ORACLE之间进行数据传输。本系统使用了一个java文件,文件为:ConnFactory.java

本文件用于连接数据库,实现数据库查询、删除及更新操作。本项目采用JDBC直接连接数据库,数据库名称为orcl,用户名为“demo”,密码为“demo”。方法public static Connection getConnection()主要用于载入驱动程序。关键代码如下:

package mycase.dao;

import java.sql.*;

import oracle.jdbc.driver.OracleDriver;

public class ConnFactory {

public static Connection getConnection() throws Exception {

DriverManager.registerDriver(new OracleDriver());

String url = "jdbc:oracle:thin:@PC-20110412UIFW:1521:orcl";

String user = "demo";

String password = "demo";

Connection conn = DriverManager.getConnection(url,user,password);

return conn;

}

/*

//测试

public static void main(String[] args) throws Exception {

ConnFactory.getConnection();

}

*/

}

本系统设有权限分配,和为管理员和操作员两种管理权限,只有输入正确的账号密码,选取相应的管理级别,方能登入到管理系统。登陆验证过程是通过过滤器实现的,同时也屏蔽掉一些字符,如“、”、‘、‘和=等,目的在于防止SQL 注入式攻击。过滤器代码如下:

package mycase.filter;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyFilter implements Filter {

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain arg2) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) arg0;

HttpServletResponse response = (HttpServletResponse) arg1;

HttpSession session = request.getSession();

//判断登陆

if (session.getAttribute("adminname") == null){

response.sendRedirect("../login.jsp");

return;

}

//继续向下执行

arg2.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {

}

public void destroy() {

}

}

系统的内部查询界面设计,这主要是系统的管理员用来登陆用的,管理物资管理系统中的所有信息,仓库管理员不可以进入。

系统的职工的基本信息模块,它主要是用来管理仓库中职工的基本信息,实现职工的添加,删除和修改等操作。页面的操作代码如下:

<%

set conn=server.CreateObject("adodb.connection") '创建数据库对象set rs=server.CreateObject("adodb.recordset") '创建记录集对象set myrs=server.CreateObject("adodb.recordset") '创建记录集对象set rec=server.CreateObject("adodb.recordset") '创建记录集对象conn.open application("dsn") '打开数据库

sql="select id from tab_cgdan"

rs.open sql,conn,1,3 '打开记录集

str=myrs("id")

cgid=cint(mid(str,7,5))+1

cgid="cg"&year(date())&cstr(cgid)

else

相关文档
最新文档