• 274.00 KB
  • 25页

贩卖管理系统项目报告

  • 25页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'大型软件项目实训报告题目:贩卖管理系统选题来源:校内指导教师:王光姓名:王玉菲班级:财升本09-2学号:辽宁工程技术大学软件学院 目录1.序言11.1选题背景21.2选题目的及意义21.3选题完成情况22.项目需求分析32.1项目功能需求32.2项目性能需求32.3其他需求43.项目概要设计53.1系统功能结构设计53.2受注管理数据流图63.3数据库结构设计64.项目详细设计134.1订单受理模块描述134.1.1功能描述134.1.2性能描述164.1.3输入输出项设计174.1.4算法描述/逻辑流程184.1.5接口(或关键函数)设计185.实训总结235.1技术总结235.2思想总结23 1.序言1.1选题背景软件技术的不断发展,大大地提高了人们的工作效率和对数据的整理效率。软件管理系统的诞生使得工作变的更加方便。工作人员再也不用每日用纸笔进行大量的数据记录,也不会因账册的损坏和丢失而造成数据的丢失。现在只需要打开计算机,进入管理软件进行简单的操作便可以完成这些繁杂的事务。软件管理系统诞生所带来的便利是不言而喻的。同时,也由于本人所在的实训单位是大连华信软件公司,该公司主营对日外包,擅于进行软件管理系统的开发。再加上同学的建议,实训单位便同意对我们进行商品管理系统软件的开发。1.2选题目的及意义软件管理系统的广泛应用,促使我们需要掌握管理系统软件的开发技术。通过此次项目实训,进一步提升了我们的编程技术,也带领我们真正的进入了软件开发的流程,进一步加深对软件项目开发的认识。与此同时,这也是我们参加工作之前必须掌握的一门专业基础。充分的掌握管理系统软件开发技术,不但可以丰富我们的知识,还可以增加我们就业的竞争力。1.3选题完成情况由于该项目规模较大,而时间又很紧迫,因此指导老师为我们做好了该项目的前台工作,我们只需要完成该项目后台工作的部分功能。在实训老师的安排下该项目分小组完成,每个小组独立完成该项目,小组成员5人。小组内部由小组长负责,小组成员分工协作完成该项目。并且在项目开始时,在实训老师的带领下了解了该项目的式样书,进行了概要设计和详细设计。在实训老师的指导下,我小组成员共同努力顺利完成了指定的分配任务。 2.项目需求分析2.1项目功能需求系统登陆功能:客户端连接到服务器,并验证负责人的编号和密码是否正确,当验证通过时才可以进入管理系统。提交订单功能:填写顾客编号、负责人编号、所定货物的编号和数量,以及客户希望的预定提交日期。商品出库功能:将当天所定商品的编号以表格形式输出,将商品编号、商品名、商品单位以及商品出库总数以表格形式输出。顾客日报表输出功能:将指定日期形式输入后,输出指定日期当天的顾客编号、顾客名字、每位顾客所预定所有商品的总价格,以及当天顾客所预定商品的总收入。商品日报表输出功能:将指定日期形式输入后,输出指定日期当天的商品编号、商品名、每个商品的预订数量、每个商品改天的售出总价格,以及当天所被预定商品的总收入。顾客月报表输出功能:将指定年份和月份输入后,输出指定年份和月份的顾客编号、顾客名字、每位顾客所预定所有商品的总价格,以及指定年份和月份的顾客所预定商品的总收入。商品月报表输出功能:将指定年份和月份输入后,输出指定指定年份和月份的的商品编号、商品名、每个商品的预订数量、每个商品指定年份和月份的售出总价格,以及指定年份和月份所被预定商品的总收入。查询商品在库数和名称的功能:将数据库中已存在的商品编号输入后,输出该编号的商品的名称以及在库数。2.2项目性能需求性能需求:a.精度需求:要求顾客输入的编码和密码有一定的长度限制,如果超出这个范围,系统会提示操作人员,输入错误。 b.响应时间:小于0.3秒,系统的响应时间取决与系统的硬件和软件两部分,在软件设计中不使用镶嵌式循环语句,在SQL语句中不使用复杂查询语句,可提高系统的响应时间。c.更新处理时间:小于0.2秒d.数据的转换和传送时间:小于0.3秒,数据的转换尽量使用先进的算法,以减少数据的冗余,减少数据转换时间。2.3其他需求a.可用性:软件开发完成后,需经过严格的测试才能移交用户使用。b.安全性:本系统需用户登录才能使用,用户的ID和密码保存在后台数据库里。由于本系统应用于内部局域网,所有无需对库存数据以及数据传输加密。c.可维护性:本系统开发过程中附有软件开发文档和有关的设计信息。当发现软件产品中的潜伏错误,或用户提出要对软件需求进行修改,或软件环境发生变化时都需对软件进行维护。软件维护人员可根据软件文档和有关的设计信息对软件系统再分析和对软件信息的理解。d.数据库:数据库内数据的正确性、完整性和稳定性,是支持该管理系统正常运行的必要条件。e.操作:按系统的要求输入数据,对该系统的正确操作,也是系统提供更好服务的必要前提。 3.项目概要设计3.1系统功能结构设计贩卖管理系统受注管理卖掛管理发注管理情报管理买掛管理商品别受注实际月报作成顾客别受注实际月报作成商品别受注实际日报作成顾客别受注实际日报作成商品别出库表作成受注入力在库查询顾客编号希望提交日期商品提交地点负责人编号商品编号预定数量输入年月输入年月输入年月日输入商品编号输入年月日图3.1系统功能结构图 3.2受注管理数据流图D1库存清单库存清单1.3处理订货1.2更新库存清单1.1接受订单库存订单顾客信息订货信息D2订货信息订货信息2产生报表订货负责人报表图3.2受注管理数据流图部门编号密码姓名编号3.3数据库结构设计编号地址M1顾客负责人姓名电话NM商品MN数量单价单位名称编号图3.3受注管理E-R图 数据库设计:createtablem005(m00501varchar2(3)primarykey,m00502varchar2(18));createtablem003(m00301varchar2(3)primarykey,m00302varchar2(18),m00303varchar2(12)notnull,--passwordm00304varchar2(3)REFERENCESm005(m00501)--department--constraintmmcheck(length(m00303)>=6)));createtablem001(m00101varchar2(5)primarykey,m00102varchar2(20),m00103varchar2(40),m00104varchar2(40),m00105varchar2(80),m00106varchar2(8),m00107varchar2(12),m00108varchar2(12),m00109date,m00110number(8),m00111referencesm003(m00301)notnull,m00112number(8));createtablem004( m00401varchar2(4)primarykey,m00402varchar2(20),m00403varchar2(40),m00404varchar2(40),m00405varchar2(80),m00406varchar2(8),m00407varchar2(12),m00408varchar2(12),m00409date,m00410varchar2(14),m00411number(8));createtablem002(m00201varchar2(5)primarykey,m00202varchar2(40),m00203number(6),m00204varchar2(6),m00205number(6),m00206referencesm004(m00401)notnull,m00207number(4),m00208number(4),m00209number(4),m00210varchar2(1)default0);createtablet004(t00401number(4)primarykey,t00402date);createtablet003(t00301number(4)primarykey, t00302date,t00303referencest004(t00401));createtablet001(t00101number(5)primarykey,t00102date,t00103date,t00104date,t00105referencesm001(m00101)notnull,t00106varchar2(80),t00107referencesm003(m00301)notnull,t00108referencest003(t00301));createtablet002(t00201referencest001(t00101),t00202referencesm002(m00201),t00203number(4),primarykey(t00201,t00202));createtablet005(t00501number(4)primarykey,t00502date,t00503referencesm004(m00401)notnull,t00504date,t00505date);createtablet006(t00601referencest005(t00501),t00602referencesm002(m00201),t00603number(4), primarykey(t00601,t00602));createtablet007(t00701number(3)primarykey,t00702date,t00703referencesm004(m00401)notnull,t00704number(8));dropsequencen001;dropsequencen002;dropsequencen003;dropsequencen004;dropsequencen005;createsequencen001minvalue10000maxvalue99999nocyclenocache;createsequencen002minvalue1000maxvalue9999nocyclenocache;createsequencen003minvalue1000maxvalue9999nocyclenocache;createsequencen004minvalue1000maxvalue9999nocyclenocache;createsequencen005minvalue100maxvalue999nocyclenocache;表3.3对照表:NOT主要钥匙外部码表名称实体名称日语名称物理名称原数据型NULL顾客masterM001顾客M00101VARCHAR2(5)○○加纳名顾客M00102VARCHAR2(20)顾客名M00103VARCHAR2(40)顾客地址加密M00104VARCHAR2(40) 顾客地址M00105VARCHAR2(80)顾客邮政编码M00106VARCHAR2(8)顾客电话号码M00107VARCHAR2(12)顾客用传真号码M00108VARCHAR2(12)顾客登记日M00109DATE信用限度M00110NUMBER(8)营业事务M00111VARCHAR2(3)○○贩卖金余额M00112NUMBER(8)商品M002商品编号M00201VARCHAR2(5)○○商品名称M00202VARCHAR2(40)销售单价M00203NUMBER(6)单位M00204VARCHAR2(6)单价M00205NUMBER(6)进货渠道代码M00206VARCHAR2(4)○○库存数量M00207NUMBER(4)安全库存数量M00208NUMBER(4)订货单位M00209NUMBER(4)订货标记M00210VARCHAR2负责人M003确认在担当者codeM00301VARCHAR2(3)○○负责人名M00302VARCHAR2(14)负责人密码M00303VARCHAR2(12)○部门代码M00304VARCHAR2(3)○进货渠道M004进货渠道代码M00401VARCHAR2(4)○○进货渠道名加密M00402VARCHAR2(20)进货渠道名M00403VARCHAR2(40)前任所加密M00404VARCHAR2(40)原住的地方M00405VARCHAR2(80) 进货渠道邮政编码M00406VARCHAR2(8)进货渠道电话号码M00407VARCHAR2(12)进货渠道传真号码M00408VARCHAR2(12)登陆日M00409DATE采购负责人M00410VARCHAR2(14)贩卖金余额M00411NUMBER(8)部门M005部门代码M00501VARCHAR2(3)○部门名M00502VARCHAR2(18)表实体名称日本语名称物理名称原数据型NOTNULL主要钥匙外部码销售额数据T001订单代码T00101NUMBER(5)○○订单日期T00102DATE预期日供货T00103DATE交货日期T00104DATE顾客日期T00105VARCHAR2(5)○○供货对象T00106VARCHAR2(80)确定在担当者codeT00107VARCHAR2(3)○○申请书号码T00108NUMBER(4)○销售明细数据T002订单代码T00201NUMBER(5)○○○商品编码T00202VARCHAR2(5)○○○销售数量T00203NUMBER(4)请求数据T003申请书号码T00301NUMBER(4)○○申请日期T00302DATE 存入现金代码T00303NUMBER(4)○数据存入现金T004存入现金代码T00401NUMBER(4)○○定期存入现金T00402DATE数据订货T005订货代码T00501NUMBER(4)○○日期订货T00502DATE进货渠道代码T00503VARCHAR2(4)○○预期招标供货日期T00504DATE订货供货日期T00505DATE订货明细数据T006订货代码T00601NUMBER(4)○○○商品编号T00602VARCHAR2(5)○○○数量T00603NUMBER(4)支付数据T007支付代码T00701NUMBER(3)○○支付日期T00702DATE进货渠道代码T00703VARCHAR2(4)○○支付额T00704NUMBER(8)表实体名称日本语名称物理名称原数据型NOTNULL主要钥匙外部码确定订单N001确定订单申请书号码N002申请书号码存入现金代码N003存入现金代码确定订货N004确定订货 支付确定N005支付确定4.项目详细设计4.1订单受理模块描述4.1.1功能描述a.进入系统前将负责人的编号和密码输入,选择登录按钮进入系统,如果输入有误会提醒登陆者出错;选择退出按钮退出该管理系统。系统主页面校验负责人编号校验密码负责人编号密码输入处理输出图4.1.1-1进入系统IPO图进入系统后将鼠标移至受注管理项,会产生一个子菜单。b. 选择受注入力项,进入订单内容,填写顾客的编号、顾客希望的交货日期、交货地点、负责人编号、所定货物的编号和数量。选择清除键将所填写内容清空;选择发行键提交订单,并弹出一个详细的发货单,内有详细的资料,如顾客的名称、负责人名称、具体交货日期和地点,以及所定货物一览表;选择退出键返回上一级菜单。输入处理输出顾客编号希望交货日期交货地点负责人编号货物编号货物数量更新数据库订货清单图4.1.1-2受注IPO图c.选择商品别出库表作成项,会弹出一个页面,该页面显示当天的所有订单编号一览表,以及当天商品编号、商品名称、单位及合计出库数一览表。选择退出键返回上一级菜单。d.选择顾客别受注实际日报作成项,填写指定形式的日期,选择打印键。弹出一个页面,该页面显示指定日期顾客下订单的顺序编号、顾客编号、顾客名、每位顾客所定货物的总额,以及当天所有顾客预定货物的总额。年月日校验日期顾客别受注实际日报表输入处理输出图4.1.1-3顾客别受注实际日报作成IPO图e.选择商品别受注实际日报作成项,填写指定形式的日期,选择打印键。弹出一个页面,该页面显示指定日期商品被预定的顺序编号、商品编号、商品名、每种商品的预定数量、每种商品当天的预定总额,以及当天所有被预定的商品的总额。输入处理输出 商品别受注实际日报表校验日期年月日图4.1.1-4商品别受注实际日报作成IPO图f.选择顾客别受注实际月报作成项,填写指定形式的年份和月份,选择打印键。弹出一个页面,该页面显示指定年月顾客下订单的顺序编号、顾客编号、顾客名、每位顾客所定货物的总额,以及在指定年月下所有顾客预定货物的总额。输入处理输出顾客别受注实际月报表校验日期年月图4.1.1-5顾客别受注实际月报作成IPO图g.选择商品别受注实际月报作成项,填写指定形式的年份和月份,选择打印键。弹出一个页面,该页面显示指定年月商品被预定的顺序编号、商品编号、商品名、每种商品的预定数量、每种商品在指定年月的预定总额,以及在指定年月所有被预定的商品的总额。输入处理输出校验日期年月商品别受注实际月报表图4.1.1-3商品别受注实际月报作成IPO图h.选择商品在库情况项,填写商品编号。选择在库查询键,显示该商品的在库数以及该商品编号的商品名。选择清除键,清除表框中的数据。选择终了键,返回上一级菜单。校验商品编号商品编号商品在库数和商品名输入处理输出图4.1.1-3商品在库查询IPO图 4.1.2性能描述a.精度需求:要求顾客输入的编码和密码有一定的长度限制,如果超出这个范围,系统会提示操作人员,输入错误。b.响应时间:小于0.3秒,系统的响应时间取决与系统的硬件和软件两部分,在软件设计中不使用镶嵌式循环语句,在SQL语句中不使用复杂查询语句,可提高系统的响应时间。c.更新处理时间:小于0.2秒d.数据的转换和传送时间:小于0.3秒,数据的转换尽量使用先进的算法,以减少数据的冗余,减少数据转换时间。e.可用性:软件开发完成后,需经过严格的测试(包括软件内测和公测)才能移交用户使用。f.安全性:本系统需用户登录才能使用,用户的ID和密码保存在后台数据库里。由于本系统应用于内部局域网,所有无需对库存数据以及数据传输加密。g.可维护性:本系统开发过程中附有软件开发文档和有关的设计信息。当发现软件产品中的潜伏错误,或用户提出要对软件需求进行修改,或软件环境发生变化时都需对软件进行维护。软件维护人员可根据软件文档和有关的设计信息对软件系统再分析和对软件信息的理解。h.数据库:数据库内数据的正确性、完整性和稳定性,是支持该管理系统正常运行的必要条件。i.操作:按系统的要求输入数据,对该系统的正确操作,也是系统提供更好服务的必要前提。4.1.3输入输出项设计a.进入系统前将负责人的编号和密码输入。负责人编号:字符型,长度为3。密码:字符型,长度为12,以实心圆点形式显示在表框内。进入系统后将鼠标移至受注管理项,会产生一个子菜单。b.选择受注入力项,进入订单内容,填写顾客的编号、顾客希望的交货日期、交货地点、负责人编号、所定货物的编号和数量。 顾客编号:字符型,长度为5。顾客希望交货日期:日期类型,以YYYY/MM/DD形式输入。交货地点:字符型,长度为80。负责人编号:字符型,长度为3。商品编号:字符型,长度为5。商品数量:数值型,长度为4。c.选择商品别出库表作成项,会弹出一个页面,该页面显示当天的所有订单编号一览表,以及当天商品编号、商品名称、单位及合计出库数一览表。不需要输入数据。d.选择顾客别受注实际日报作成项,填写指定形式的日期。输入指定日期:日期类型,以YYYY/MM/DD形式输入。e.选择商品别受注实际日报作成项,填写指定形式的日期。输入指定日期:日期类型,以YYYY/MM/DD形式输入。f.选择顾客别受注实际月报作成项,填写指定形式的年份和月份。输入指定日期:日期类型,以YYYY/MM形式输入。g.选择商品别受注实际月报作成项,填写指定形式的年份和月份。输入指定日期:日期类型,以YYYY/MM形式输入。h.选择商品在库情况项,填写商品编号。输出商品在库数以及商品名。商品编号:字符型,长度为5。在库数:数值型,长度为4。商品名:字符型,长度为20。4.1.4算法描述/逻辑流程1.ShuKoDAO.javapublicArrayListselectURiADe_Ta()throwsSQLException{Connectionconn=null;ArrayListarr1=newArrayList();ArrayListarr2=newArrayList();ArrayListarr=newArrayList(); conn=ds.getConnection();PreparedStatementps=conn.prepareStatement("SELECTLPAD(T00101,5,"0")FROMT001WHERET00103=to_char(sysdate,"yyyy/mm/dd")ANDT00104isnull");ResultSetrs=ps.executeQuery();for(inti=1;i<=6;i++){if(rs.next()){arr1.add(rs.getString(1));}else{arr1.add(" ");}}for(intj=1;j<=6;j++){if(rs.next()){arr2.add(rs.getString(1));}else{arr2.add(" ");}}conn.close();arr.add(arr1);arr.add(arr2);returnarr;}publicArrayListselectShuKo()throwsSQLException{ArrayListlist=newArrayList();Connectionconn=null; conn=ds.getConnection();PreparedStatementps=conn.prepareStatement("SELECTM002.M00202,T002.T00202,"+"to_char(SUM(T002.T00203),"999,999,999"),M002.M00204FROMM002,T002,T001WHERET002.T00202=M002.M00201"+"ANDT002.T00201=T001.T00101ANDT001.T00103=to_char(sysdate,"yyyy/mm/dd")AND"+"T001.T00104isNULLGROUPBYT002.T00202,M002.M00202,M002.M00204");ResultSetrs=ps.executeQuery();while(rs.next()){Shouhinbecushukokasuarr=newShouhinbecushukokasu();arr.setShouhinCode(rs.getString(2));arr.setShouhinMei(rs.getString(1));arr.setTanni(rs.getString(4));arr.setGoukeishukokasu(rs.getString(3));list.add(arr);}conn.close();returnlist;}publicStringselectNounyuuKibouBi()throwsSQLException{Connectionconn=null;Stringstr=null;conn=ds.getConnection();PreparedStatementps=conn.prepareStatement("SELECTto_char(sysdate,"yyyy/mm/dd")FROMDUAL");ResultSetrs=ps.executeQuery(); if(rs.next()){str=rs.getString(1);}conn.close();returnstr;}2.ShuKoService.javapublicclassShuKoService{privateShuKoDAOsdao;publicShuKoService(DataSourceds){sdao=newShuKoDAO(ds);}publicArrayListgetURiADe_Ta()throwsSQLException{ArrayListarr=sdao.selectURiADe_Ta();returnarr;}publicArrayListgetShuKo()throwsSQLException{ArrayListarr=sdao.selectShuKo();returnarr;}publicStringgetNounyuuKibouBi()throwsSQLException{Stringstr=sdao.selectNounyuuKibouBi();returnstr;} }3.ShuKoAction.javapublicclassShuKoActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){DataSourceds=this.getDataSource(request);ShuKoServicess=newShuKoService(ds);try{ArrayListarr=ss.getURiADe_Ta();ArrayListalt0=(ArrayList)arr.get(0);ArrayListalt1=(ArrayList)arr.get(1);ArrayListlist=ss.getShuKo();Stringstr=ss.getNounyuuKibouBi();if(alt0.get(0).equals(" ")){returnnewActionForward(mapping.getInput());}else{request.setAttribute("infoZero",alt0);request.setAttribute("infoOne",alt1);request.setAttribute("infoTwo",list);request.setAttribute("infoThree",str);}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnmapping.findForward("success");}}4.1.5接口(或关键函数)设计贩卖管理系统受注管理卖掛管理发注管理情报管理买掛管理商品别受注实际月报作成顾客别受注实际月报作成商品别受注实际日报作成顾客别受注实际日报作成商品别出库表作成受注入力在库查询图4.1.5系统层次图 5.实训总结5.1技术总结经过为期6周的实训,让我的技术水平有了明显的提高。在校实训期间,当堂有问题及时予以解决。动手能力有了明显的提高。在外培训时,将在校内学到的理论知识与在实训机构学习到的技术结合起来,使得自己在技术方面有了更进一步的提高。在校实训期间,老师讲的每个知识点及时的付诸实践,直接上机操作,增加了对知识的掌握牢靠程度。同时也学会了一些基本的调试程序的方法,接触了新的编译软件、新的编程规则,这些都是以前所从未掌握过的。非常感谢学院能给予我们这次在校实训的机会。5.2思想总结这次在校培训使我深刻的意识到自己对理论知识掌握不牢所带来的弊端。在校实训期间,同学们都为新的学习环境而感到兴奋无比。而与此同时,也感到同学们相互竞争带来的压力,以及培训期结束后即将面临就业所带来的压力。因此同学们的学习热情十分高涨,每个人都憋足了劲努力学习技术。而在最后的项目实训期间,老师将同学们划分成几个小组来进行项目研发,研发期间我感觉到团队合作的真正含义。一个项目不是单单只靠一个人来完成的,需要大家齐心,共同来完成。与此同时,在进行校内实训时,学院为了我们能全身心的投入到实训中,派老师亲自为我们授课,使大家深受感动。在此,感谢学院领导和老师们为我们付出的一切。'