收藏 分销(赏)

本科毕业答辩论文格式软件工程样例样本.doc

上传人:二*** 文档编号:4519754 上传时间:2024-09-26 格式:DOC 页数:40 大小:1.24MB
下载 相关 举报
本科毕业答辩论文格式软件工程样例样本.doc_第1页
第1页 / 共40页
本文档共40页,全文阅读请下载到手机保存,查看更方便
资源描述
本科毕业答辩论文格式软件工程样例 中文题目:物流管理系统 外文题目:LOGISTICS MANAGEMENT SYSTEM 毕业设计(论文)共 ××页(其中:外文文献及译文××页)图纸共 0张 完成日期 20××年×月 答辩日期20××年×月 摘要 本物流管理系统应用于物流公司管理物流信息,主要使用了JSP、Struts、JDBC技术。控制层由Action控制流程,并调用业务层的相应方法进行不同的业务处理管理员端主要包括货物信息管理、物流信息管理、车辆信息管理、企业信息管理、客户订单管理、客户信息管理以及个人管理,管理员能对客户和货物、物流、车辆等进行增、删、查、改的操作,还能修改自己的基本信息并且在订单签订时操作员能自动提取目前登陆的用户名。客户端能查看货物车辆物流公司概况等基本信息,以及根据物流编号对物流信息进行查询,修改个人信息等操作。能更高效的提高物流公司的管理。 关键词:物流;JSP; Struts;管理 ABSTRACT The logistics management system used in logistics company management logistics information, The main use the JSP, Struts, JDBC technology. the administrator mainly includes cargo information management, logistics information management, vehicle information management, enterprise information management, management of customer orders, customer information management, and personal management, the administrator can to client and goods, logistics, vehicles and so on them, delete, check, change of operation, also can modify your basic information and signed in order when the operator can automatically extracted at present on the user name. The client can check goods vehicle logistics company profile and other basic information, and according to the logistics Numbers in logistics information query, modify the personal information and other operational. Can more efficient logistics to improve the management of the company. Keywords: logistics, JSP, Struts, management, 目录 引言 1项目概述 1 2可行性分析 1 3系统需求分析 1 2 2 2 2 2 4系统概要设计 2 E-R图 3 物流信息 3 货物信息 4 车辆信息 4 企业信息 5 5 5系统详细设计 9 9 : 10 : 10 货物信息管理: 12 物流信息管理: 16 18 20 21 22 6系统测试 23 7 结论 23 致谢 24 参考文献 24 引言 在当今高速发展的信息社会,现代物流行业突飞猛进发展,伴随着我国国民经济连续多年的高速增长,为现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,展望整个21世纪,可以说现代物流业还将有更大的发展。 在发达国家,物流理论促使物流实践快速发展。经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。传统物流行业的操作模式已经不适应现代的物流行业,如何缩短物流过程,降低产品库存,加速对市场的反应,这是所有企业所面对的问题。本系统就是针对这些问题根据中小型企业的实际需求而开发的一套物流管理系统。系统的开发能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。 物流管理系统是集现代运输、仓储配送、搬运、调度、跟踪为一体的网络系统,系统的开发实现了商品从原料供应商、制造商、分销商到零售商再到消费者的各个环节的有机结合。 1项目背景和意义 在当今高速发展的信息社会,现代物流行业突飞猛进发展,伴随着我国国民经济连续多年的高速增长,为现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,展望整个21世纪,可以说现代物流业还将有更大的发展。 本系统就是针对这些问题根据中小型企业的实际需求而开发的一套物流管理系统。系统的开发能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。 物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、信息查询、到最后订单的生成,清晰的业务流程,使操作人员能够按照流程清晰的进行实际的操作,保证物流运作有序而高效的进行。 本文档旨在陈述本人在完成该招商管理系统中所遵循项目开发流程,系统、详细地介绍了物流管理系统的各项工作,从需求分析、总体设计、详细设计三个层面展开详述了该系统的开发过程,简洁、直观,具有很强的可读性、实用性和可操作性,是物流管理系统使用和维护的必备的工作手册。 2可行性分析 系统运行于Apache Tomcat + Mysql平台。主要使用了JSP、Struts、JDBC技术。控制层由Action控制流程,并调用业务层的相应方法进行不同的业务处理,可以对数据库中的表进行增、删、改、查等基本操作。表示层则由JSP页面通过struts标签显示。 实现逻辑: DB Dao类 Service类 Action类 页面 数据库连接 对用户身份进行判断,管理员进入到管理员操作界面,普通用户进入到普通用户操作界面。对用户名输入框及密码输入框做非空判断处理。 用于调用各个功能模块。 货物信息管理:能增加、修改、删除和编辑货物,也可以根据货物编号查找货物信息,添加时货物编号(主键)自动生成。 物流信息管理:能增加、修改、删除和编辑物流信息,也可以根据运单号查找物流信息 车辆信息管理:能增加、修改、删除和编辑车辆 企业信息管理:能增加、修改、删除和编辑企业信息 、客户信息管理 客户信息管理:能增加、修改、删除和编辑客户信息 客户订单管理:能够多订单进行签订、编辑、修改、删除操作。 、个人信息管理 个人信息管理:对自己的详细信息进行编辑(密码修改等) 4、系统概要设计 物流系统处理流程如图4-1所示 登陆 主页 基本信息 客户管理 快速查询 个人管理 首页 货物信息 物流信息 车辆信息 企业信息 会员信息 客户订单 货物状态查询 客户信息查询 个人管理 安全设置 总体流程图 物流信息E-R图如图4-2所示 货物类型 货物重量 货物数量 货物编号 货物名称 起始省份 起始城市 备注 物流信息 到达省份 收件人电话 到达城市 收件人 发件人 发件人 收件人地址 收件人电话 收件人电话 收件人电话 发货时间 发件人电话 发件人地址 图4-2 物流信息E-R图 货物信息E-R图如图4-3所示 货物信息 货物名称 货物编号 货物类型 货物数量 货物重量 货物价格 货物状态 货物产地 备注 图4-3 货物信息E-R图 车辆信息E-R图如图4-4所示 车辆信息 车辆编号 车辆类型 车辆名称 车辆载重量 备注 联系人 使用年限 联系电话 使用年限 车牌号 驾驶员驾龄 驾驶证号 图4-4 车辆信息E-R图 企业信息E-R图如图4-5所示 企业信息 企业编号 企业名称 企业类型 企业邮箱 联系电话 联系人 经营范围 企业地址 企业网址 图4-5 企业信息E-R图 、数据库表 本次设计主要要用到的数据库表分别如表4-1,4-2,4-3,4-4,4-5,4-6所示: 4-1 货物信息表 字 段 类 型 描 述 是否允许为空 是否为主键 code Varchar(20) 货物编号 否 是 name Varchar(20) 货物名称 否 否 price Varchar(20) 货物价格 否 否 type Varchar(20) 货物类型 否 否 count Varchar(20) 货物重量 否 否 number Varchar(20) 货物数量 否 否 state Varchar(20) 货物状态 否 否 originaddr Varchar(20) 货物产地 否 否 remark Varchar(20) 货物简介 是 否 opuser_cd Varchar(20) 添加人 否 否 4-2物流信息表 字 段 类 型 描 述 是否允许为空 是否为主键 billId Varchar(20) 物流编号 否 是 code Varchar(20) 货物编号 否 外键(货物表) name Varchar(20) 货物名称 否 外键(货物表) gcount Varchar(20) 货物重量 否 否 gnum Varchar(20) 货物数量 否 否 company Varchar(20) 货运公司 否 否 sprov Varchar(20) 起始省份 否 否 scity Varchar(20) 起始城市 否 否 eprov Varchar(20) 到达省份 否 否 ecity Varchar(20) 到达城市 否 否 addr Varchar(30) 收件人地址 否 否 gname Varchar(20) 收件人 否 否 tel Varchar(20) 收件人电话 否 否 date Varchar(20) 添加时间 否 否 sender Varchar(20) 发件人 否 否 sendtel Varchar(20) 发件人电话 否 否 sendaddr Varchar(20) 发件人地址 否 否 4-3车辆信息表 字 段 类 型 描 述 是否允许为空 是否为主键 vehicleId Varchar(20) 车辆编号 否 是 vehiclename Varchar(20) 车辆名称 否 否 vehicletype Varchar(20) 车辆类型 否 否 vehiclenum Varchar(20) 车牌号 否 否 years Varchar(20) 使用年限 否 否 dname Varchar(20) 司机姓名 否 否 dage Varchar(20) 司机驾龄 否 否 dtel Varchar(20) 司机电话 否 否 remark Varchar(20) 备注信息 是 否 licensenum Varchar(20) 假证号码 否 否 4-4 企业信息表 字 段 类 型 描 述 是否允许为空 是否为主键 qyId Varchar(20) 企业编号 否 是 qyname Varchar(20) 企业名称 否 否 qytype Varchar(20) 企业类型 否 否 qywz Varchar(20) 企业网址 否 否 email Varchar(20) 企业邮箱 否 否 tel Varchar(20) 企业电话 否 否 addr Varchar(20) 企业地址 否 否 name Varchar(20) 联系人 否 否 remark Varchar(20) 备注信息 是 否 scope Varchar(20) 经营范围 否 否 4-5订单信息表 字 段 类 型 描 述 是否允许为空 是否为主键 orderId Varchar(20) 订单编号 否 是 clientname Varchar(20) 客户名称 否 否 visatime Varchar(20) 签订日期 否 否 payment Varchar(20) 付款方式 否 否 price Float(10) 货物价格 否 否 name Varchar(20) 货物名称 否 否 Code Varchar(20) 货物编号 否 否 company Varchar(20) 货运公司 否 否 gname Varchar(20) 收件人姓名 是 否 addr Varchar(20) 收件人地址 是 否 Tel Varchar(20) 收件人电话 否 否 4-6会员信息表 No. 对象名 字段名 类型 长度 Null许可 主键 1 客户编号 empId char 15 否 PK 2 客户密码 emppassword char 20 否   3 客户姓名 name varchar 30 否   4 性别 sex char 2 否   5 年龄 age char 4 否   6 职位 job varchar 30 是   7 身份证号码 codeid varchar 40 是   8 学历 studyeffort varchar 40 是   9 现住址 empadress varchar 50 是   10 联系电话 tel varchar 50 是   11 邮箱 email varchar 50 是   12 录入时间 imputtime varchar 12 是   13 操作员 operator varchar 20 是   5、系统详细设计 5-1类模块具体设置 模块 实现类(action) 数据存储类 (form) 事务处理类 (DAO) 处理类 (service) 实现页面 (jsp) Cargo CargoInfoAction CargocAction cargo CargoDao CargocDao CargoInfoService CargocService CargoInfo.jsp Cargoc.jsp Company CompanyAction CompanyForm CompanyDao CompanyService company.jsp addcompany.jsp detailcp.jsp Logistic LogisticAction LogisticcAction LogisticForm LogisticDao LogisticcDao LogisticService LogisticcService logistic.jsp opencode.jsp logisticc.jsp Vehicle VehicleAction VehicleForm VehicleDao VehicleService addVehicle.jsp Vehicle.jsp Detailvehicle.jsp Personal LoginAction LoginForm LoginDao LoginService personInfo.jsp safe.jsp personc.jsp OrderForm orderformAction OrderForm orderFormDao orderFormService orderForm.jsp openCargo.jsp huiyuan EmployeeAction EmployeeForm EmployeeDao EmployeeService OwnerInfo.jsp Login Loginc LoginAction LogincAction LoginForm LoginDao LogincDao LoginService LogincService main.jsp vehicle. jsp index.jsp login.jsp loginc.jsp cargoInfo.jsp company.jsp logistic.jsp Regusersign.jsp 、具体功能模块设计: 、登录模块: 登录模块用Javascript代码实现了用户名、密码非空判断。若用户名或者密码为空则提示:用户名为空或者密码为空。直到用户名和密码都输入,则调用Service里面的getUser ()方法判断用户名是否存在,密码是否错误。直到输入正确的用户名或者密码便进入主界面,截图如5-1所示: 5-1 主界面截图 登陆进去后能获取到用户名和当前时间。 重点代码:public ActionForward getInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ LoginForm tf=(LoginForm)form; String userName = ("opUserName"); String password = ("userPassword"); (userName); (password); int x=(tf); if(x==1){ ("message","用户名不存在"); return ("login"); } else if(x==3){ ("message","密码错误"); return ("login"); } //获得登录者的相关信息 LoginForm loginForm = (LoginForm)form; String operatorId = (userName,password); String operatorName = (); HttpSession session = (); ("operatorName",operatorName); ("operatorId",operatorId); return ("index"); } } 货物信息管理: 图 5-2 初始界面 (1)初始界面默认显示货物的所有信息,上方信息录入框显示第一条货物信息,仅“添加”“返回”按钮可用。输入货物编号,可查找到相应信息。 图 5-2 货物信息1 (2)点击货物编号链接,“编辑”按钮可用,上方信息录入框显示链接货物信息。点击“编辑”按钮,录入框中输入框可用,此时可以修改货物信息,点击“取消”取消编辑操作,点击“保存”保存修改后的信息。 (3)点击“添加”可以增加货物信息,货物编号系统自动生成,在保存时可以自动判断输入信息的正误,提示引导用户填入有效数据。 (4)点击删除可删除货物信息。 物流信息管理: 图5-3 货物信息管理11 (1)页面初始化上半部分显示表中第一条详细记录,不可修改,只有“添加”和“返回”按钮可操作,下半部分列表中显示所有物流信息。点击右面的“删除”可永久注销员工信息,并注销相对应的登录编号。 (2)点击“添加”按钮进入添加界面,运单号自动获取,点击货物编号旁边按钮客从货物列表中获得货物编号和货物名称自动填取进去,发货时间选用隐式添加,鼠标点击自动出来日历,并且对各个输入框做了非空判断,点击保存即可添加成功。 图5-4 物流信息管理 (2)点击“编辑”、“取消”、“返回”、“保存”按钮可对数据库中信息进行相关操作。添加员工信息时,录入时间和操作员隐式添加,入职时间用日历组件选录。 (3)查询文本框可根运单号查询此运单信息,结果显示在下面的列表框。 (4)点击下半部分列表中的某个员运单号,在上半部分各数据项文本框中可显示对应单号的详细信息。 重点代码: public ActionForward getList(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response)throws Exception{ List list = (); ("list",list);//把查询结果list放入request容器中,以便页面取值 LogisticForm tf = new LogisticForm(); if(()!=0){//将第一条信息提取到表单 tf = (LogisticForm)(0);//将查询结果的第一条信息赋值给tf } ("LogisticForm",tf);//将hf放入request容器中 return ("logistic"); } public static void updateLogistic(LogisticForm tf) throws SQLException { String sql = " update t_logistics set billId='"+()+"'code='"+()+"',name='"+()+"',gname='"+()+"'gcount='"+()+"',company='"+()+"',sprov='"+()+"',scity='"+()+"',eprov='"+()+"' ,ecity='"+()+"' ,sender='"+()+"',addr='"+()+"',sendaddr='"+()+"',"tel='"+()+"',date='"+()+"',sendtel='"+()+"' where billId='"+()+"'"; (sql);} 、车辆信息管理模块 图5-5 车辆信息管理 主要实现对车辆信息的管理。从数据库中提取车辆信息显示在表中,对其中的每一个车辆信息项目,都有编辑和删除两个操作。 点击操作中的编辑,会自动跳转到编辑收车辆信息的页面,在此页面中填入相关信息,提交之后会对车辆信息列表中的该记录进行更新。点击编辑车辆信息详细页面中的返回则退回到车辆信息列表页面,即未对车辆信息进行修改。 图5-6 车辆信息详细 点击车辆信息管理中的删除,则删除数据库中的该条记录的所有相关信息。 点击车辆信息管理页面中的增加车辆,则会跳转到添加车辆信息页面,实现对车辆信息添加操作。提交之后显示添加成功,该记录已自动添加到列表中。点击添加车辆信息页面中的“返回”按钮则退回到车辆信息列表。 图5-7 增加车辆信息 点击车辆信息管理中的返回,则返回到一进入系统时的显示页面。 重点代码: public ActionForward addCargo(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response )throws Exception{ cargo tf = (cargo)form; String code=("code"); if(("******")) {code=(); (code); } (tf); List list = (); ("list",list); ("CargoInfoForm",tf); return ("cargoInfo"); } public static void addCargo(cargo tf) throws SQLException, DataBaseException { String sql = “insert into cargo (code,name,number,count,state,price,type, originaddr, remark)values('"+()+"','"+()+"','"+()+"','"+()+"','"+()+"','"+()+"','"+()+"','"+()+"','"+()+"')"; (sql); } 、企业信息管理模块 图5-8 企业信息管理 主要实现对企业信息的管理。从数据库中提取企业信息显示在表中,对其中的每一个企业信息项目,都有编辑和删除两个操作。 具体操作同车辆信息相同。 、订单信息管理模块 图5-9 客户订单管理 (1)初始界面默认显示客户订单的所有信息,上方信息录入框显示第一条订单信息,仅“添加”“返回”按钮可用。下方显示所有订单信息,当超过一定数量的订单,自动添加滚动条。 (2)点击订单信息中订单链接,“编辑”按钮可用,上方信息录入框显示链接楼宇信息。点击“编辑”按钮,录入框中输入框可用,此时可以修改订单信息,点击“取消”取消编辑操作,点击“保存”保存修改后的信息。 (3)点击“添加”可以增加订单信息,订单编号系统自动生成,点击货物编号旁边按钮可从货物表中选择货物编号、货物名称和货物价格自动填入, 表5-1 订单信息 在保存时可以自动监测是否输入特殊字符和非空处理,提示引导用户填入有效数据。 (4)点击订单删除可删除订单信息。 重点代码: public ActionForward getList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub List list=(); if(()!=0){ OrderForm tf=(OrderForm) (0); ("OrderForm",tf); ("xdx",());} else {("xdx","");} ("message","0"); ("list",list); return ("order"); } public static List getCargo() throws SQLException { // TODO Auto-generated method stub String sql="select * from cargo"; List list=(sql); return list; } 、个人信息管理模块 5-10 个人信息 5-11 修改密码 主要实现对个人信息的管理,安全设置中可以修改个人信息和登录密码。 重点代码: public ActionForward upsafe(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm tf=(LoginForm)form; HttpSession session = (); String userId=(String) ("userid"); String password = ("pwd1"); (password); (userId); (tf); String message="修改密码成功!"; ("message",message); return ("safe"); } 6 系统代码 重点代码: (1) Action类 public ActionForward cargoInfoSelect(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub String code=("code"); cargo tf=(cargo) (code); //把tf放入request中 页面进行读取 List list = (); ("list",list); ("CargoInfoForm",tf); ("updateDis","updateDis");//取消编辑按钮不可操作的属性 return ("cargoInfo"); } (2) Sevice类: public static cargo getSelect(String code) throws SQLException, DataBaseException { String sql = "select * from cargo where code='"+("'","''")+"'"; cargo tf= (sql); //返回form return tf; } public static void updateCargo(cargo tf) throws SQLException { String sql = " update cargo set name='"+()+"',code='"+()+"',number='"+()+"',type='"+()+"',price='"+()+"',count='"+()+"',state='"+()+"',originaddr='"+()+"',remark='"+()+"' where code='"+()+"'"; (sql);} public static void addCargo(cargo tf) throws SQLException, DataBaseException String sql = "insert into cargo(code,name,number,count,state,price,type, originaddr, remark)values('"+()+"','"+()+"','"+()+"','"+()+"',"'"+()+"','"+()+"','"+()+"','"+()+"','"+()+"')"; (sql); } //查找最大Id public static String getId() throws SQLException, DataBaseException { // TODO Auto-generated method stub String sql="select max(code) from cargo"; String id=(sql); if(id==null){ id="BH0001"; }else{ String test=(2,6); test=((test)+1)+""; for(int i=();i<4;i++){ test="0"+test; } id="BH"+test; } return id; } (3) Dao类: public static List getList(String sql) throws DataBaseException, SQLException { List<cargo> list=new ArrayList<cargo>(); Connection con=();//进行sql预处理 PreparedStatement ps=(sql);//运行ps 结果集rs接受sql语句查询出的数据 ResultSet rs=();//进行rs取值操作? 存入form中并把form封装入list while(()) {ca
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 论文答辩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服