




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE20软件设计书仓库管理系统系别:应用数学系专业:信息与计算科学系别:应用数学系专业:信息与计算科学班级:学号:姓名:第一章可行性研究报告1.1引言1.1.1目的本软件是用来有效的管理超市仓库货物数量及种类,以方便超市工作人员可以全面的了解超市仓库库存货物数量和种类来方便高效的管理超市仓库。该项目可行性研究报告也是对超市仓库管理系统的全面考虑,是项目分析员进行进一步工作的前提,是软件开发人员成功的开发项目的前提.此分析研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,可以节省时间、财力和精力,并且避免了专业方面的困难.及早地预测项目的可行性,在可行的前提下获得最好的实施方案。1.1.2背景随着社会的不断发展,物质的不断丰富,为了满足人们的需求,超市的货物也是越来越丰富。为了方便超市管理人员及时有效的了解仓库情况,更好的管理超市货物,提高管理效率,从而提出本软件。1.2.要求和目标1.2.1基本要求·功能:具有一定权限的管理人员可以对货物的售出和补充,以及新增加的商品和种类及时的进行修改,同时还具有缺货提示功能。·性能:详实有效的罗列出商品货物的数量和种类,来方便超市管理人员。·输入:具有一定权限的管理人员对货物数量种类进行修改。·输出:查询结果。系统功能模块图1-1,仓库管理系统仓库管理系统货物列表添加货物修改货物货物信息删除货物缺货提示进出货物显示管理员添加管理员删除管理员管理员列表图1-1系统功能模块图仓库管理人员仓库管理人员仓库管理录入货物信息、更新货查看管理人员功能模块及流图的简要描述:首先超市管理人员需要登录系统,如果登陆成功则以进入系统进行操作,否则会提示错误,要求重新登录。登录成功后,管理人员可以根据自己的需要进行操作。当添加货物种类,更改货物数量,都需要管理人员登录系统后才能操作。当货物数量较少时,系统会自动提示管理人员要进货了。本系统还可以管理管理人员的登录,即可以对有权限操作该系统的人员进行增、删、改功能。·在安全与保密方面的要求:对于有权限的人员才可以进行对系统的操作。1.2.2开发目标①方便使用者对仓库货物的查询、删除、更新,减少人力和设备的需求。②方便了解进出仓库货物情况。③及时为用户发出缺货提示。④提高工作的效率。⑤降低仓库管理及维护费用。1.2.3具备条件①开发条件:计算机实验室所提供的环境即可。②开发时间:开发的全过程必须在3个月内完成。③开发所需的经费:无。④运行的系统:Window7以上版本即可⑤数据库:sqlserver2000或者sqlsever20051.3.社会因素方面的可行性1.3.1法律方面的可行性该系统的开发和研制,将不会侵犯他人、集体和国家的利益,不会违犯国家政策和法律。1.3.2使用方面的可行性该系统操做简单,不需要专业培训,一般人员即可胜任。1.4.结论综上所述,该项目应立即开始进行研发。从人力资源优化角度来说,可以充分利用人力资源。从经济利益的角度来看,即时开发完成即可用,可以立即赢利。但系统仍旧有些不足,例如修改方面还需人工手动修改数量等。在系统的交付使用中如有不足还望指出,以便改进。第二章仓库管理系统需求分析本系统的主要需求者是超市后台管理员。2.1.本项目概述本项目所开发的超市仓库管理系统完成超市管理员对货物的管理,减少数据漏掉的情况,更方便管理人员的浏览和操作,节省了人力物力。2.2.系统一般性描述由于本系统的数据还算不上大型的。所以数据库服务器与web服务器共用同一台计算机。系统中的货物信息和管理员信息都存放在sqlserver数据库中。2.2.1系统的用例图‘图2-1系统用例图’,用例图说明:图2-1系统用例图本系统主要只针对具有权限的理员进行操作,首先管理员必须具有正确的账号和密码才能进入系统进行操作。进入系统后的主要功能模块如下:添加功能:可以添加货物的具体信息同时还可以增加管理员。修改功能:可以对货物的所有信息进行修改。删除功能:删除超市已经不存在的货物的信息同时还可以删除不存在的管理员。查询功能:可根据货物的品牌或者名称对货物进行查询,也可以根据管理员账号或者管理员用户名对用户进行查询。进货出货功能:可以对货物的数量进行修改。缺货提示:当货物的数量小于50件时在主页面会为管理员进行提示已缺货。更改密码功能:当某个管理员登录系统后可以更改自己的密码。2.2.2系统的用类‘图2-2类图’,类图说明:图2-2类图类的详细说明:商品类:属性:商品编号:商品编号是用来确定商品唯一性的。商品数量:说明商品的库存量。商品名称:说明商品的名称。方法:登录系统:用于验证管理身份。增加商品:用于增加系统内没有的商品信息。删除商品:仓库没有的商品信息。修改商品:用于修改商品的具体信息。进货:用于只对要增加货物量的商品进行操作。出货:用于只对要减少货物量的商品进行操作。缺货提示:当商品数量低于10后会在主页上提示缺货。管理员类:属性:管理员ID:该属性是自动增长型,具有唯一性。管理员账号:用于登录时的账号。管理员名称:该属性和账号一起可以识别唯一的管理员。管理员密码:用于登录时和账号一起用于身份验证。方法:增加管理员:可以赋予没有权限的人管理权限。删除管理员:可以删除不存在的管理员。2.2.数据流图对用户需求进行分析,画出系统的数据流图,如图3.1——图3.2所示。图3.1系统的顶层数据流图图3.2系统的0层数据流图图3.3仓库管理系统的1层DFD——“货物入库管理”加工的分解图2.2.5仓库管理系统的E-R图根据系统数据流程图,我们可以列出以下系统所需的数据项:员工(员工号,姓名,密码,证件号,员工类型,是否员工)商品(商品编号,商品名称,商品数量)仓库(商品编号,商品名称,库存量)入库(入库编号,商品编号,商品名称,入库数量,入库人,入库时间)出库(出库编号,商品编号,商品名称,出库数量,出库人,出库时间)仓库管理系统的E-R模型如图3.3-图所示。通过对系统结构化的分析得到本系统有四大模块:一、 系统管理:对用户的一些添加,删除,修改。二、 信息管理:对一些基本信息(商品,往来单位,仓库)的管理。三、 出入库管理:对出库入库的管理。四、 查询管理:对出库、入库单、库存信息的查询。图3.3实体之间关系E-R图第三章设计说明书3.1引言3.1.1系统概要及其运行环境软件详细设计阶段是软件设计的重要阶段,本阶段的工作就是要对系统中的每个模块给出足够详细的过程性描述,因此也称为“过程设计”。详细设计的根本目的就是确定应该怎样具体实现所需求的系统,也就是说经过这一阶段的设计,会得出对学生选课系统的精确描述。其根本任务就是设计出程序的“蓝图”3.1.2系统的组成部分及其结构本系统分为四大模块,即用户管理模块、出库模块、入库模块、库存管理模块。管理员模块可分为普通用户模块和管理员模块,库存管理模块包括查询模块和修改模块。详细操作请见类图3.2软件设计约束本系统采用Java技术,基本上没有什么平台约束。在数据库方面,需要创建本地数据源。3.2.1设计目标和原则本设计欲达到的目标:能够使用户简单快捷的完成商品出库和入库的功能及库存管理功能。系统的性能达到高效,实用,易于维护。3.2.2设计约束(1)无论是普通用户还是管理员,都可以在本地访问该系统。完成各自授权的活动和工作。(2)该系统考虑性能、安全、可靠性、易用、可扩展和可维护。(3)整个开发过程应满足软件需求分析的进度要求所规定的时间。3.3软件设计描述3.3.1总体结构设计本系统由以下几个功能模块组成:用户管理模块汇总:(1)添加普通用户信息(仅管理员可以使用,可以添加用户到数据库中)(2)管理普通用户信息(仅管理员可以使用,可以对普通用户进行修改删除等操作)库存管理模块汇总(1)查询入库信息(普通用户使用,对自己入库的商品进行查询操作)(2)查询出库信息(普通用户使用,对所出库的商品进行相关操作)(3)所有库存信息(对所有商品信息进行查询)3.3.2详细结构设计用户用户主界面用户管理商品出入库库存管理退出系统图3-1仓库管理系统顺序图3.4系统界面设计描述当用户启动程序后真接显示主界面,在主界面中有‘用户管理’,‘商品入库’,‘商品出库’,‘库存管理’以及退出系统。当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则显示登录界面,让用户进行登录。若登录的帐号不存在则表示该用户还不是员工,故需要用户重新申请新的用户,新用户的类型为普通员工,当普通用户已经通过管理员审核,并且分配了相关的权限后就可以登录系统。若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删除库存表及商品出入库表中的相关信息。若用户是普通员工则只能进行商品的出入库及查询。3.4.1登录界面设计用户通过输入登录的账号和密码及类型系统进行验证图3-2用户登录界面3.4.2商品出入库界面设计图3-3商品出入库界面设计3.4.3库存界面设计图3-4库存界面设计3.5数据库设计数据库名:StoreHouseDB用户表:Users 主键:员工号商品入库表:InStore 主键:入库编号商品出库表:OutStore 主键:出库编号库存表:StoreManage 主键:商品编号商品表:goods主键:商品编号3.5.1建表下面具体给出各个表表3-1Users列名属性员工号Varchar(13)员工姓名Varcahar(20)密码Varchar(16)证件号Varchar(18)员工类型Varchar(8)是否员工Varchar(2)表3-2InStore列名属性入库编号int商品编号Varchar(20)商品名称Varchar(50)入库数量Int入库人Varchar(13)入库时间Datetime()表3-3OutStrore列名属性出库编号Int商品编号Varchar(20)商品名称Varcahr(50)出库数量Int出库人Varchar(13)出库时间Datetime()表3-4StoreManage列名属性商品编号Varchar(20)商品名称Varchar(50)库存量Int表3-5goods列名属性商品编号Varchar(20)商品名称Varchar(50)商品数量Int第四章系统相关代码4.1登录界面(主要代码)publicbooleanisExistsEmply(Stringid){ booleanflags=false; try { intcount=0; Stringsql1="select员工号fromUserswhere员工号=?"; PreparedStatementps=conn.prepareStatement(sql1); ps.setString(1,(String)id); ResultSetresult=ps.executeQuery(); while(result.next()) { count=result.getRow(); } result.close(); ps.close(); if(count>0) { this.UID=id; flags=true; getInfo(id); returnflags; } else { error.errorDialog((String)id); } } catch(Exceptione) { e.printStackTrace(); } returnflags; } //根据‘工号’分别获取对应的的信息 publicvoidgetInfo(Stringuid){ try { Stringsql2="select员工姓名,密码,员工类型,是否员工fromUserswhere员工号=?"; PreparedStatementpps=conn.prepareStatement(sql2); pps.setString(1,uid); ResultSetresult=pps.executeQuery(); while(result.next()) { name=result.getString(1).toString().trim(); password=result.getString(2).trim(); employtype=result.getString(3).toString().trim(); emplooy=result.getString(4).toString().trim(); } result.close(); pps.close(); } catch(Exceptione) { e.printStackTrace(); } } //对登录的'工号'进行密码验证 publicbooleanlogin(Stringid,Stringpwd,Stringtype){ booleanisEmploy=false; try { if(id.equals(UID)&&pwd.equals(password)&&type.equals(employtype)) { isEmploy=true; returnisEmploy; } else { returnisEmploy; } } catch(Exceptione) { e.printStackTrace(); } returnisEmploy; } //判断用户是否已经通过管理员的审核 publicbooleanY_NEmply(){ booleanisE=false; if(this.emplooy.equals("是")) { System.out.println("员工号:"+UID+"已经通过了审核"); main.showMainFarme(); isE=true; returnisE; } elseif(this.emplooy.equals("否")) { error.noEmplo0y(UID); returnisE; } returnisE; }4.2出库界面(主要代码)publicObjectsetSdata2(){ try { Stringsql2="select*fromOutStore"; Statementst=conn.createStatement(); ResultSetresult=st.executeQuery(sql2); Sdata2=newObject[Row2][Column2]; intn=0; while(result.next()) { Sdata2[n][0]=result.getString(1).toString().trim(); Sdata2[n][1]=result.getString(2).toString().trim(); Sdata2[n][2]=result.getString(3).toString().trim(); Sdata2[n][3]=result.getString(4).toString().trim(); Sdata2[n][4]=result.getString(5).toString().trim(); Sdata2[n][5]=result.getString(6).toString().trim(); n++; } result.close(); st.close(); returnSdata2; } catch(Exceptione) { e.printStackTrace(); } returnSdata2; } //先判断库存表中是否存在要出库的商品编号 publicbooleanisExistsGid(Stringgid){ booleanflags=false; try { intcount=0; Stringsql3="selectcount(商品编号)fromStoreManagewhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql3); ps.setString(1,gid); ResultSetresult=ps.executeQuery(); while(result.next()) { count++; } result.close(); ps.close(); if(count>0) { flags=true; returnflags; } else { returnflags; } } catch(Exceptione) { e.printStackTrace(); } returnflags; } //判断库存表中的库存量是否满足出库的笨条件 publicbooleanlookNumber(Stringgid,intnumber){ booleanflags=false; try { intnum=0; Stringsql4="select库存量fromStoreManagewhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql4); ps.setString(1,gid); ResultSetresult=ps.executeQuery(); while(result.next()) { num=result.getInt(1); } result.close(); ps.close(); if(number<=num) { flags=true; } else flags=false; returnflags; } catch(Exceptione) { e.printStackTrace(); } returnflags; } //商品出库向出库表写入一条数据的出库记录 publicvoidnewStoreOuput(Stringoutgid,Stringoutgname,intoutgnum){ try { Stringsql5="insertintoOutStore(商品编号,商品名称,出库数量,出库人,出库时间)values(?,?,?,?,getdate())"; PreparedStatementps=conn.prepareStatement(sql5); ps.setString(1,outgid); ps.setString(2,outgname); ps.setInt(3,outgnum); ps.setString(4,outpeople); ps.executeQuery(); ps.close(); } catch(Exceptione) { e.printStackTrace(); } } //这是要修改库存表中的库存量 publicvoidupdateStoreManage(Stringoutgid,intnum){ try { Stringsql6="updateStoreManageset库存量=(select库存量fromStoreManagewhere商品编号=?)-?where商品编号=?"; PreparedStatementps=conn.prepareStatement(sql6); ps.setString(1,outgid); ps.setInt(2,num); ps.setString(3,outgid); ps.executeQuery(); ps.close(); } catch(Exceptione) { e.printStackTrace(); } } //向出库表模型中添加一条新一出库记录 publicObjectaddOutStoreToTable(Stringoutgid){ try { Stringsql7="select*fromOutStorewhere商品编号=?and出库编号=(selectcount(*)fromOutStore)"; PreparedStatementps=conn.prepareStatement(sql7); ps.setString(1,outgid); ResultSetresult=ps.executeQuery(); while(result.next()) { newStoreOfOut[0]=newInteger(result.getInt(1)); newStoreOfOut[1]=result.getString(2).toString().trim(); newStoreOfOut[2]=result.getString(3).toString().trim(); newStoreOfOut[3]=newInteger(result.getInt(4)); newStoreOfOut[4]=result.getString(5).toString().trim(); newStoreOfOut[5]=result.getString(6).toString().trim(); } result.close(); ps.close(); returnnewStoreOfOut; } catch(Exceptione) { e.printStackTrace(); } returnnewStoreOfOut; }4.3入库界面publicObjectsetSdata(){ try { Stringsq2="select*fromInStore"; Statementst=conn.createStatement(); ResultSetresult=st.executeQuery(sq2); Sdata=newObject[Row][Column]; intn=0; while(result.next()) { Sdata[n][0]=result.getString(1).toString().trim(); Sdata[n][1]=result.getString(2).toString().trim(); Sdata[n][2]=result.getString(3).toString().trim(); Sdata[n][3]=result.getString(4).toString().trim(); Sdata[n][4]=result.getString(5).toString().trim(); Sdata[n][5]=result.getString(6).toString().trim(); n++; } result.close(); st.close(); returnSdata; } catch(Exceptione) { e.printStackTrace(); } returnSdata; } //向入库表中插入新的数据 publicvoidgoodsInserData(Stringgid,Stringgname,intgnum){ try { Stringsql3="insertintoInStore(商品编号,商品名称,入库数量,入库人,入库时间)values(?,?,?,?,getdate())"; PreparedStatementps=conn.prepareStatement(sql3); ps.setString(1,gid); ps.setString(2,gname); ps.setInt(3,gnum); ps.setString(4,inpeople); ps.executeUpdate(); ps.close(); } catch(Exceptione) { e.printStackTrace(); } } //判断库存表中是否有相同商品编号的商品存在 publicbooleanisExistsGood(Stringgid){ booleanflags=false; try { Stringsql4="select*fromStoreManagewhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql4); ps.setString(1,gid); ResultSetresult=ps.executeQuery(); inti=0; while(result.next()) { i++; } result.close(); ps.close(); if(i>0) { //如果库存表中存在该商品的商品编号,则调用修改函数 flags=true; returnflags; } else { //若库存表中不存在则调用插入函数新插入一条数据 returnflags; } } catch(Exceptione) { e.printStackTrace(); } returnflags; } //若库存表中不存在则新建一条信息 publicvoidinsertStoreManage(Stringgid,Stringgname,intgnum){ try { Stringsql5="insertintoStoreManage(商品编号,商品名称,库存量)values(?,?,?)"; PreparedStatementps=conn.prepareStatement(sql5); ps.setString(1,gid); ps.setString(2,gname); ps.setInt(3,gnum); ps.executeUpdate(); ps.close(); } catch(Exceptione) { e.printStackTrace(); } } //如果存在直接修改原有的数量 //1、先获取原有的库存量 publicintgetStoreNumber(Stringgid){ intnum=0; try { Stringsql6="select入库数据fromStoreManagewhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql6); ps.setString(1,gid); //ps.executeQuery(); ResultSetresult=ps.executeQuery(); while(result.next()) { num=result.getInt(1); } result.close(); ps.close(); returnnum; } catch(Exceptione) { e.printStackTrace(); } returnnum; } //2、再修改库存量 publicvoidupdateStoreManage(intcount,Stringgid){ try { intNUM=getStoreNumber(gid)+count; Stringsql7="updateStoreManageset库存量=NUMwhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql7); ps.setString(1,gid); //ps.setInt(1,count); //ps.setString(2,gid); ps.executeUpdate(); ps.close(); } catch(Exceptione) { e.printStackTrace(); } } //error!没有注意到出库表会存在多条相同的记录 //向入库表模型中添加一条入库记录 publicvoidaddStoreOnInStore(Stringgid){ Object[]newRow=newObject[6]; try { Stringsql8="select*fromInStorewhere商品编号=?and入库编号=(selectcount(*)fromInStore)"; PreparedStatementps=conn.prepareStatement(sql8); ps.setString(1,gid); ResultSetresult=ps.executeQuery(); while(result.next()) { newRow[0]=newInteger(result.getInt(1)); newRow[1]=result.getString(2).toString().trim(); newRow[2]=result.getString(3).toString().trim(); newRow[3]=newInteger(result.getInt(4)); newRow[4]=result.getString(5).toString().trim(); newRow[5]=result.getString(6).toString().trim(); } result.close(); ps.close(); //向表模式中添加一行新数据 dtm1.addRow(newRow); } catch(Exceptione) { e.printStackTrace(); } }4.4库存管理界面publicObjectsetSData(){ try { Stringsql2="select*fromStoreManage"; Statementst=conn.createStatement(); ResultSetresult2=st.executeQuery(sql2); Sdata=newObject[Row][Column]; intn=0; while(result2.next()) { Sdata[n][0]=result2.getString(1).toString().trim(); Sdata[n][1]=result2.getString(2).toString().trim(); Sdata[n][2]=result2.getInt(3); n++; } result2.close(); st.close(); returnSdata; } catch(Exceptione) { System.out.println(e.getMessage()); } returnSdata; } publicvoidinit(){ //先调用方法获得表头和二维表的表数据 //this.setSData(); //this.setHeader(); this.setTitle("天涯仓库管理"); this.setSize(700,300); this.setLocation(300,150); this.setLayout(newGridLayout(2,1)); dtm1=newDefaultTableModel(Sdata,Sheader); jtable=newJTable(dtm1); pane1=newJScrollPane(jtable); jtable.setRowHeight(30); jtable.setGridColor(Color.blue); jp1.add(jlbl1); jp1.add(jtxt1); jp1.add(jlbl2); jp1.add(jtxt2); jp1.add(jlbl3); jp1.add(jtxt3); jp1.add(btnupdate); jp1.add(btndel); btnupdate.addActionListener(this); btndel.addActionListener(this); jtable.addMouseListener(this); //dtm1.addTableModelListener(jtable); this.add(pane1); this.add(jp1); this.show(); } publicbooleanUpdateStoreDate1(Stringgoodid,Stringgoodname,intgoodnum){ booleanflags=false; try { StringSql3="updateStoreManageset商品名称=?,库存量=?where商品名称='goodid'"; PreparedStatementps=conn.prepareStatement(Sql3); ps.setString(1,goodname); ps.setInt(2,goodnum); ps.executeUpdate(); flags=true; } catch(Exceptione) { System.out.println(e.getMessage()); } returnflags; } //更新数据 publicbooleanUpdateStoreDate(Stringgoodid,Stringgoodname,intgoodnum){ booleanflags=false; try { StringSql3="updateStoreManageset商品名称=?,库存量=?where商品名称=?"; PreparedStatementps=conn.prepareStatement(Sql3); ps.setString(1,goodname); ps.setInt(2,goodnum); ps.setString(3,goodid); ps.executeUpdate(); ps.close(); flags=true; } catch(Exceptione) { System.out.println(e.getMessage()); } returnflags; } //删除选中的数据 publicbooleanDelStoreDate(Stringgoodid){ booleanflags=false; try { Stringsql4="deletefromStoreManagewhere商品编号=?"; PreparedStatementps=conn.prepareStatement(sql4); ps.setString(1,goodid); ps.executeUpdate(); ps.close(); flags=true; } catch(Exceptione) { System.out.println(e.getMessage()); } returnflags; } //判断是否缺货 publicbooleanIsDeletio(){ booleanflags=false; try { Stringsql5="selectcount(商品编号)fromStoreManagewhere库存量<=50"; Statementst=conn.createStatement(); ResultSetresult=st.executeQuery(sql5); intm=0; while(result.next()) { m++; } //判断是否有商品缺失 if(m>0) { flags=true; } } catch(Exceptione) { System.out.println(e.getMessage()); } returnflags; }第五章测试计划报告5.1.引言5.1.1目的本软件是用来有效的管理超市仓库货物数量及种类,以方便超市工作人员可以全面的了解超市仓库库存货物数量和种类来方便高效的管理超市仓库。该项目可行性研究报告也是对超市仓库管理系统的全面考虑,是项目分析员进行进一步工作的前提,是软件开发人员成功的开发项目的前提.此分析研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,可以节省时间、财力和精力,并且避免了专业方面的困难.及早地预测项目的可行性,在可行的前提下获得最好的实施方案。5.1.2背景随着社会的不断发展,物质的不断丰富,为了满足人们的需求,超市的货物也是越来越丰富。为了方便超市管理人员及时有效的了解仓库情况,更好的管理超市货物,提高管理效率,从而提出本软件。系统名称:超市仓库管理系统。5.1.3测试环境测试的重点是选课管理系统的选课功能和登录界面的功能。5.1.4测试过程及结果根据需求分析文档,设计测试用例,填写预期结果,在测试时,填写实际结果。5.1.5参考资料[1]李东生、崔冬华等编著的《软件工程—原理、方法和工具》5.1.6术语①C/.S:客户端/服务器。5.2测试内容5.2.1测试名称给出第N项测试的名称(N为测试序号)5.2.2测试进度给出测试的日期和工作内容的详细安排5.2.3测试人员给出测试负责人和所有参加测试的单位及负责人5.2.4测试用例重点给出输入数据,输出结果,及测试步骤5.2.5评价说明所选择的测试用例能够检查的范围和局限性5.2.6附录列出测试用例清单,分别标志每个测试用例并给出驱动程序清单等5.3.实验过程5.3.1登录界面的测试测试1:名称:系统登录操作测试目的:测试系统登录界面的稳定性内容:账号,密码的合法性检查数据库数据表3-1管理员表3-2普通员工表3-3是否员工(是)表3-4是否员工(否)登录失败的结果试图如下:图3-1登录失败试图测试1.1:测试用例输入输出账号密码身份测试结果‘’‘asdsf’普通员工用户名或密码错误‘12345’‘asds’普通员工用户名或密码错误‘’‘’普通员工用户名或密码错误‘TCT01’‘000000’普通员工用户名或密码错误‘admin’‘admin’普通员工用户名或密码错误‘0001’‘123456’普通员工登录成功,进入‘’‘sadas’管理员用户名或密码错误‘46464’‘asdda’管理员用户名或密码错误‘’‘’管理员用户名或密码错误‘TCT01’‘123456’管理员用户名或密码错误‘0001’‘123456’管理员用户名或密码错误‘admin’‘admin’管理员登录成功,进入用户管理界面的测试测试1:名称:用户管理操作测试目的:测试系统用户管理的功能内容:使用不同数据,对用户管理功能进行合理性测试数据库信息:表3-5用户管理用户管理界面图3-2用户管理试图用户管理失败界面图3-3用户管理失败测试图总结本次仓库管理系统从开始的可行性研究到需求分析再到设计开发直至测试完成,期间出现了不少的问题和漏洞,最主要的就是设计的时候考虑不周全导致系统功能不完善,不过经过多次的测试检查以后,逐渐达到了预期的目标,可能其中还有不完善的,不过我们很乐意接受用户的建议进行修改完善,争取达到预期效果,使老师满意,用户放心。仓库管理系统虽然规模不大,但是对于我们初次独自做系统来说还是有点困难的,这对我来说是个挑战也是个机会,从中我知道了做系统最不可少的是耐心和对全局观的把握,只有这样才能做的更好。当然如果没有老师和同学的帮助也不可能如此顺利完成,谢谢老师和同学!信息技术为阅读教学打开另一扇窗摘要:随着教育技术的发展,信息技术越来越广泛地被运用到学科教学之中。大力推动信息技术与学科教学整合的研究成了课程改革的重要组成部分。结合课题研究和教学实际,实践并总结了一些信息技术促进阅读教学的方法,使语文阅读的平台变得更为广阔。它对于推进语文教学改革,提高语文教学效率,提升学生的语文素养和语文能力,有着积极的意义。关键词:信息技术;阅读教学;读,思,交流;写;语文素养随着教育技术的发展,信息技术越来越广泛地被运用到学科教学之中。而《基础教育课程改革纲要(试行)》中也明确指出:基础教育课程改革要“大力推进信息技术在教学过程中的普遍运用,促进信息技术与学科课程的整合,逐步实现教学内容的呈现方式、学生的学习方式、教师的教学方式和师生互动方式的变革,充分发挥信息技术的优势,为学生的学习和发展提供丰富多彩的教育环境和有力的学习工具”。因此,大力推动信息技术与学科教学整合的研究成了课程改革的重要组成部分。
[2]《语文课程标准》也特殊要求“应拓宽语文学习和运用的领域,注重跨学科的学习和现代科技手段的运用。”那么,作为语文教师,如何利用信息技术促进语文阅读教学,使学生的学习内容更为丰富多彩、更具时代气息,最大限度地提高学生的语文素养和语文能力呢?本人的做法是:
一、利用现代信息技术促“读”[1]读书是阅读教学的基本环节。古人云:“书读百遍,其义自见。”意思是说,书读熟了,自能理解。这句话很有道理,那么怎样让学生乐于把书读熟呢?方法、策略有很多,我们致力于运用信息技术的作用促使学生乐读、读会、会读,使学生在身心愉悦的状态下读“得”其乐,读“得”其法。我们尝试在不同阶段恰当地借助信息技术,使它发挥积极的作用。(一)预习阶段激励学生在读文本的基础上,运用电脑网络查阅与本课内容联系紧密的资料,扩大信息量,提高理解文本的能力。这样的例子不胜枚举,现举一例:张爱玲老师在执教《海底世界》一文前,要求学生在预习中使用信息技术多种方法查阅相关音像资料和文字资料,找出海底还有哪些珍奇动物,它们是如何活动的?这样做可以拓宽学生视野,增加语言文字积累。同时也激发了学生读书的乐趣。(二)阅读理解阶段此阶段学生对文本完成由认读到理解再到感悟、欣赏、积累的过程,读书起着至关重要的作用。信息技术的参与加速这一过程,并提高这一过程的质量。如教学《小小的船》一课,运用多媒体制作精美的课件帮助学生过好认读关。将文中生字词放在设计的“生字词乐园”里,通过多种方式的认读,学生已熟记于心,为理解课文做好了准备。又如《丑小鸭》一课,为促进学生对文本的感悟和体验,教师将文本改编成诗歌的形式出示在屏幕上,伴随着悠扬的音乐引导孩子们朗读、朗诵。学生在读诗的过程中又一次加深了对文本的理解。又如在教学《桂林山水》时,我也是借助信息技术跨越时空的特点让学生“身临其境”地整体感知课文内容,使学生沉醉在漓江那动人心弦、夺人魂魄的天然美景之中,从而使学生在宽松愉快的氛围中体验到了漓江水的静、清、绿以及桂林群峰的奇、秀、险。另外,在理解文中的“舟行碧波上,人在画中游”这一难句时,我并没有用过多的语言来为学生解说,而是让学生欣赏桂林山水的漂亮画卷,再配以一些优雅动听、令人赏心悦目的曲子,让学生一边欣赏,一边展开想象,使学生仿佛亲临桂林,置身于漓江之上……在享受美的同时,在不知不觉中,突破了课文的难点,从而达到了诱导学生入境悟情、化难为易的教学效果。(三)拓展阶段有些文本需要学生在课外搜集相关资料阅读,以扩充知识的积累。此时引导学生运用网络资源,实现课后的阅读任务。如《圆明园的毁灭》(人教版第八册)这篇文章,作者用了大量的篇幅来介绍它辉煌的过去,而对于它毁灭的过程作者只用了一个短小的自然段、三个简短的句子来介绍而已。当然,这样的写作安排自有作者的用意,但是,圆明园到底是怎样的一个毁灭过程?它原来所收藏的奇珍异宝到底有多少?现在又流落在何处?通过教师点拔,学生提出了以上几个问题。对此,我并未做正面回答,而是乘机诱导学生,利用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年养老保险考试试题及答案
- 2025年电网会计面试题及答案
- 2025年你的理解测试题及答案
- 修身语100则:原文+译文
- 2025年建材销售面试试题及答案
- 2025年空间站面试题及答案
- 2025年股权销售面试试题及答案
- 2025年测绘副总理论试题及答案
- 2025年高中资料测试题及答案
- 2025年骨生物力学试题及答案
- 数字文化博物馆建议书可行性研究报告备案
- 《东北风俗文化介绍》课件
- 2024届江西省南昌市高三一模英语试卷(解析版)
- 案例2 进化医疗-跨物种肿瘤基因治疗的开拓者
- 小红书种草营销师(初级)认证考试题库(附答案)
- 网络安全知识基础培训课件
- 中职金融学基础
- 腮腺炎病人护理常规
- 运用精益管理(TPS)缩短医院门诊患者就诊时间医院品质管理成果汇报
- 《铁路轨道维护》课件-混凝土枕硫磺改锚作业
- 2024解析:第十五章电流和电路-基础练(解析版)
评论
0/150
提交评论