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

上传人:b****8 文档编号:28189380 上传时间:2023-07-09 格式:DOCX 页数:19 大小:420.65KB
下载 相关 举报
大工软件工程课程大作业答案.docx_第1页
第1页 / 共19页
大工软件工程课程大作业答案.docx_第2页
第2页 / 共19页
大工软件工程课程大作业答案.docx_第3页
第3页 / 共19页
大工软件工程课程大作业答案.docx_第4页
第4页 / 共19页
大工软件工程课程大作业答案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

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

《大工软件工程课程大作业答案.docx》由会员分享,可在线阅读,更多相关《大工软件工程课程大作业答案.docx(19页珍藏版)》请在冰豆网上搜索。

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

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

 

网络教育学院

《软件工程》课程大作业

 

 

题目:

企业货物管理系统

学习中心:

层次:

专业:

年级:

学号:

学生:

完成日期:

 

总体设计说明书,

一、运行环境

硬件开发环境:

CPU:

IntelPentium42.00GHz

内存:

2G

硬盘:

160G

软件开发环境:

操作系统:

MicrosoftWindowsXPProfessionalSP2

开发工具包:

Java(TM)SEDevelopmentKit6

开发工具:

MyEclipseEnterpriseWorkbench5.5.1GA

JSP服务器:

ApacheTomcat5.5.26

数据库:

MicrosoftSQLServer2000并安装升级补丁

浏览器:

MicrosoftInternetExplorer6.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

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

 

详细设计说明书

一、系统数据表

表1货物表

列名

数据类型

长度

主外键情况

是否为空

货物编号

Char

4

主键

非空

名称

Char

10

非空

单位

Char

8

可为空

进价

Money

8

可为空

卖价

Money

8

可为空

类型

Char

10

非空

厂家

Char

30

可为空

表2仓库表

列名

数据类型

长度

主外键情况

空值情况

仓库号

Char

2

主键

非空

货物类型

Char

10

可为空

仓库主任

Char

6

可为空

仓库电话

Char

12

非空

仓库面积

Char

4

可为空

仓库地址

Char

50

可为空

表3管理员表

列名

数据类型

长度

主外键情况

空值情况

职工编号

Char

4

主键

非空

姓名

Char

6

非空

性别

Char

2

可为空

出生年月

Datetime

8

可为空

职位

Char

10

可为空

电话

Char

12

可为空

家庭住址

Char

50

可为空

仓库号

Char

2

外键

非空

表4入库表

列名

数据类型

长度

主外键情况

空值情况

货单编号

Char

4

主键

非空

供应商名称

Char

30

非空

日期

Datetime

8

可为空

经手人

Char

6

可为空

表名5出库表

列名

数据类型

长度

主外键情况

空值情况

货单编号

Char

4

主键

非空

收货单位

Char

30

非空

日期

Datetime

8

可为空

经手人

Char

6

非空

取货人

Char

6

可为空

表6用户表

列名

数据类型

长度

主外键情况

空值情况

职工编号

Char

4

主键

非空

密码

Char

4

主键

非空

表7调价记录表

列名

数据类型

长度

主外键情况

空值情况

编号

Char

4

主键

非空

名称

Char

30

非空

负责人

Char

6

可为空

电话

Char

11

可为空

调价时间

Char

50

可为空

调价记录

Char

30

可为空

类别

Char

6

可为空

二、核心程序

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

本系统使用了一个java文件,文件为:

ConnFactory.java

本文件用于连接数据库,实现数据库查询、删除及更新操作。

本项目采用JDBC直接连接数据库,数据库名称为orcl,用户名为“demo”,密码为“demo”。

方法publicstaticConnectiongetConnection()主要用于载入驱动程序。

关键代码如下:

packagemycase.dao;

importjava.sql.*;

importoracle.jdbc.driver.OracleDriver;

publicclassConnFactory{

publicstaticConnectiongetConnection()throwsException{

DriverManager.registerDriver(newOracleDriver());

Stringurl="jdbc:

oracle:

thin:

@PC-20110412UIFW:

1521:

orcl";

Stringuser="demo";

Stringpassword="demo";

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

returnconn;

}

/*

//测试

publicstaticvoidmain(String[]args)throwsException{

ConnFactory.getConnection();

}

*/

}

本系统设有权限分配,和为管理员和操作员两种管理权限,只有输入正确的账号密码,选取相应的管理级别,方能登入到管理系统。

登陆验证过程是通过过滤器实现的,同时也屏蔽掉一些字符,如“、”、‘、‘和=等,目的在于防止SQL注入式攻击。

过滤器代码如下:

packagemycase.filter;

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclassMyFilterimplementsFilter{

publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,

FilterChainarg2)throwsIOException,ServletException{

HttpServletRequestrequest=(HttpServletRequest)arg0;

HttpServletResponseresponse=(HttpServletResponse)arg1;

HttpSessionsession=request.getSession();

//判断登陆

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

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

return;

}

//继续向下执行

arg2.doFilter(request,response);

}

publicvoidinit(FilterConfigarg0)throwsServletException{

}

publicvoiddestroy(){

}

}

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

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

页面的操作代码如下:

<%

setconn=server.CreateObject("adodb.connection")'创建数据库对象

setrs=server.CreateObject("adodb.recordset")'创建记录集对象

setmyrs=server.CreateObject("adodb.recordset")'创建记录集对象

setrec=server.CreateObject("adodb.recordset")'创建记录集对象

conn.openapplication("dsn")'打开数据库

sql="selectidfromtab_cgdan"

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

str=myrs("id")

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

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

else

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

endif

session("auto")=cgid'生成职工信息

%>

三、模块相关截图

登录页面如图1所示,未登录的用户无法访问该系统,如果新用户第一次使用该系统可以通过注册链接去注册一个用户名和系统。

图1登录界面

2)管理员主页面如图2所示,系统管理员用户登录成功之后可以对物资及用户的相关信息进行管理。

图2管理员主界面

3)入库信息显示界面如图3所示,管理员用户可对当前仓库当中所有的已入库的信息进行查询及删除操作。

图3入库信息显示界面

4)添加入库信息界面如图4所示,管理员可对新入库的物资信息进行添加操作。

图4添加入库信息界面

5)普通用户界面如图5所示,普通用户登录系统成功后可对个人信息进行管理,并且可以申请某种物资的使用。

图5普通用户界面

测试报告书

1测试的主要内容

为了保证测试的质量,将测试过程分成几个阶段,即:

代码审查、单元测试、集成测试、确认测试和系统测试。

1单元测试

单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。

2集成测试

集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。

如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。

3确认测试

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。

经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

4系统测试

软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。

包括恢复测试、安全测试、强度测试和性能测试等。

单独对系统的测试主要从以下几方面入手:

(1)功能测试:

测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。

功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。

(2)强度测试及性能测试:

测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。

(3)安全测试:

验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。

针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。

经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。

2测试方法分类

系统测试通常分为两中方法:

黑盒测试和白盒测试。

在下面会对这两种方法进行简单介绍。

对于软件测试而言,黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。

也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

黑盒测试又称为功能测试。

白盒测试法与黑盒测试法相反,它的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理方法。

这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。

白盒测试又称为结构测试。

黑盒测试着重测试软件的功能。

黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型的错误。

白盒测试在测试过程的早期阶段进行,而黑盒测试主要用于测试过程的后期。

3系统功能测试

对系统的查询、添加、删除、修改、预定功能进行测试,测试内容如下:

查询功能测试:

系统是否能进行相关内容的查询,查询显示出的内容是否和所要查询的内容一致。

添加功能测试:

填写完添加内容提交后,是否出现错误信息或出现确认信息,提交添加后,相应的数据库中是否存在添加内容。

删除功能测试:

提交删除命令后,是否出现提示信息,提交删除后,相应数据库中信息是否被删除。

修改功能测试:

填写完修改内容提交后,是否出现错误信息或出现确认信息,提交修改后,数据库中内容是否进行相应的修改。

4系统安全性分析

系统对于错误操作和非法用户的恶意破坏的安全保证的可靠程度。

在本系统中,测试了所有可能涉及的错误操作,每个可能涉及到的错误操作都有相应的错误处理机制,在系统实现过程中,定义了本系统可能出现的错误的处理信息以及相应的解决办法。

5系统实用性分析

对于系统全部模块进行测试,达到了系统用户起初的设计需求。

详细说明如下:

全部功能要求达到满足,全部性能达到要,文件与数据库正常。

6测试结果

(1)登录信息判断

测试用例

判断登录是否成功

结果

登录成功

操作

用户将自己的用户名与密码输入到登录界面

结论

测试成功

(2)添加货物

测试用例

判断是否添加货物

结果

添加成功

操作

根据用户输入的内容是否符合添加货物的信息

结论

测试成功

(3)删除货物

测试用例

判断是否删除货物

结果

删除成功

操作:

根据用户输入的货物名称来判断是否在数据库中存在

结论

测试成功

(4)查找货物

测试用例

判断是否能执行查找货物的操作

结果

搜索成功

操作

根据输入货物的特性来模糊查找货物

结论

测试成功

(5)查找用户

测试用例

判断是否能执行查找用户的操作

结果

搜索成功

操作

根据输入用户的特性来模糊查找用户

结论

测试成功

(6)添加用户

测试用例

能是否能执行添加用户的功

结果

插入成功

操作

输入用户的信息

结论

测试成功

(7)删除用户

测试用例

是否能执行删除用户功能

结果

删除成功

操作

输入要删除用户的名字

结论

测试成功

(8)修改密码

测试用例

修改用户密码

结果

修改成功,返回数据库查看修改结果,该行数据已被修改

操作

输入新密码,修改密码

结论

测试成功

(9)退出

测试用例

退出系统

结果

成功退出,转到登录界面

操作

用户退出系统

结论

测试成功

学习心得

学习了这门课程,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。

整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。

是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。

整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模等。

接着我就详细介绍下我对这门课程知识点的理解概括:

软件:

软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。

软件的特征:

①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。

③软件成为产品后,其生产只是简单的拷贝,不同于硬件制造。

④维护过程比硬件复杂的多,甚至会引发新的错误。

软件危机:

指的是软件开发和维护过程中遇到的一系列严重问题。

出现软件危机的原因:

①软件维护费用急剧上升,直接威胁计算机应用的扩大。

②软件生产技术进步缓慢。

软件工程是指导计算机软件开发和维护的工程学科。

《软件工程》课程既强调基本概念和基本知识的理解和掌握,又侧重软件项目的分析、设计、实现和维护的基本技能。

比较注意“点”和“面”的结合。

我还是蛮喜欢这门课的,通过对这门课的学习让我意识到理论学习很重要,实践更重要,实践是检验真理的唯一标准,只有将理论与实际结合,才更能发挥我们所学的知识的作用,更能直接的创造效益,社会和国家做出贡献。

 

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1