《2022研发项目总结报告模板.docx》由会员分享,可在线阅读,更多相关《2022研发项目总结报告模板.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022研发项目总结报告模板 研发项目总结报告模板项目总结报告项目编号:项目名称:LPDT:1项目状况综述简要介绍项目所开发的产品在产品线路标规划中的位置、主要的功能等状况;项目目标:从进度、产品需求、质量等方面说明。2管理总结2.1安排制定与监控安排与实际工期对比图;累计安排偏移率;估计工作量与实际对比图;各阶段工作量比率;交付件完成率;交付件延期缘由分布等风险管理风险管理表;风险规避措施实行状况需求管理需求跟踪和实现状况;需求变更和影响状况物料管理成本达成状况和分析2.22.32.42.53技术总结关键技术的实现或突破;重大技术问题4测试总结4.1缺陷分析及说明缺陷汇总分析图系统测试总结B
2、eta测试总结试生产总结4.24.34.45各部门总结6其它(沟通、评审、供应商管理等等)201*-4-22Companyconfidential1/项目总结报告7综述总的做的比较好的地方、存在的问题和改进建议201*-4-22Companyconfidential2/扩展阅读:软件项目开发总结报告模版武汉理工高校软件开发工具论文报告火车票系统的开发1引言随着人们生活水平和经济水平的提高,网络科技的全球化的发展,出游和出差的频率越来越多。这大大的激发了交通水平的发展。其中,火车这种又便利有便宜的交通工具作为人们的首选,火车站的客运列车增加,客运量也随之增加。原有的售票的方式已经不再能满意旅客的
3、需求了。为了便利旅客售票系统不仅仅只能售票也能够了解列车的各种信息。这样才能成为现在网络社会的真的适应者。2需求分析该售票系统是融合了火车票销售、退票、列车管理、车票管理、售票员管理、列车管理信息,以及售票信息查询为一体的综合系统。该系统主要编写的功能是列车和售票信息的查询及售票功能。2.1用户该系统主要有两类用户:管理员和售票员。管理员主要工作有车次管理,车票管理和售票员管理。对于每项功能都有添加,删除和修改的功能。售票的主要工作是售票和退票。2.2主要功能该系统从功能方面可以分为四个方面:登录。不管你是管理员还是售票员必需登录以后才可以进行系统允许的操作。当然要登录的管理员和售票员都必需是
4、再数据库中已经发布的。基本设置:该模块主要是修改售票员的相关信息,修改列车的相关信息和修改车票的相关信息。这一块的功能只有管理员才可以操作。其他的售票员是不行以对他进行操作的。售票和退票:这部分工作主要是售票员来操作的。售票员依据买票人员提出的要求进行查询。查询的方式有两种:一是依据车次查询;一是依据目的地来查询。退票主要是将已经出售的车票在列车开出之前再一次的返回到数据库中,并接着出售。列车和车票查询;当须要查询列车信息或者是车票信息是所做的操作。2.3基本流程武汉理工高校软件开发工具论文报告3开发过程3.1内容该程序包括三个部分数据库的设计、通用模块的实现、各个模块的实现。3.1.1数据库
5、的设计:将本系统所需的全部的数据都存储到数据库中。须要在数据库中管理员表、售票员表、列车信息表和车票信息表。如图所示:武汉理工高校软件开发工具论文报告管理员表:售票员表:列车信息表:武汉理工高校软件开发工具论文报告车票信息表:3.1.2通用模块的实现:通用模块为了削减代码的重复。在该系统中,对常常运用的操作进行封装,如将多次须要调用的数据库和操作数库的增、删、改和查等操作进行封装。使代码有很好的重用性,即使出现错误也很简单调试。如本程序中的Conn.javaimportjava.sql.*;publicclassConnprivatestaticConnectioncon;privatesta
6、ticfinalStringDRIVER=com.mysql.jdbc.Driver;privatestaticfinalStringURL=jdbc:mysql:/localhost:3306/newdatabase;privatestaticfinalStringNAME=root;privatestaticfinalStringPASSWORD=021702190804;staticpublicstaticConnectiongetConnection()publicstaticvoidcloseCon(Connectioncon)tryif(con!=null)con.close();
7、trycon=DriverManager.getConnection(URL,NAME,PASSWORD);catch(SQLExceptione)returncon;e.printStackTrace();tryClass.forName(DRIVER);e.printStackTrace();catch(ClassNotFoundExceptione)catch(SQLExceptione)武汉理工高校软件开发工具论文报告publicstaticvoidclosePt(PreparedStatementpt)publicstaticvoidcloseRs(ResultSetrs)tryif
8、(rs!=null)rs.close();tryif(pt!=null)pt.close();e.printStackTrace();catch(Exceptione)e.printStackTrace();catch(Exceptione)e.printStackTrace();用户登录界面的设计、主界面的设计、基本设置模块、销售及退票模块和列车及车票查询模块。用户登录模块:该部分是通过设计login.java来实现的。这部分代码的作用是用户首先选择自己的登录的是管理员还是售票员,然后输入账号和密码。单击登录,用户先推断用户登录的类型,然后给sql变量赋SQL语句值,系统调用DAO.java
9、类的login()传入sql变量。.Login代码是:importorg.eclipse.swt.SWT;importorg.eclipse.swt.events.*;importorg.eclipse.swt.graphics.Image;importorg.eclipse.swt.layout.*;importorg.eclipse.swt.widgets.*;importcom.huizhi.dao.DAO;publicclassLoginprivateTextnameText;privateTextpassText;privateCombocombo;privateStringtype
10、;privateDisplaydisplay=newDisplay();privateShellshell=newShell(display);publicLogin()FormLayoutlayout=newFormLayout();武汉理工高校软件开发工具论文报告layout.marginHeight=40;layout.marginWidth=40;shell.setLayout(layout);shell.setText(login);Imageimage=newImage(display,2.jpg);shell.setBackgroundImage(image);setUICont
11、rol();shell.pack();shell.open();while(!shell.isDisposed()if(!display.readAndDispatch()display.sleep();display.dispose();privatevoidsetUIControl()Labelusername=newLabel(shell,SWT.NONE);username.setText(username);nameText=newText(shell,SWT.SINGLE|SWT.BORDER);Labelpassword=newLabel(shell,SWT.NONE);pass
12、word.setText(password);passText=newText(shell,SWT.SINGLE|SWT.BORDER|SWT.PASSWORD);/passText.setEchoChar(*);Labelselect=newLabel(shell,SWT.NONE);select.setText(select);Buttonsubmit=newButton(shell,SWT.PUSH);submit.setText(login);submit.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelecte
13、d(SelectionEvente)type=combo.getText();Stringname=nameText.getText();Stringpass=passText.getText();Stringsql=null;booleanflag=false;MessageBoxbox=newMessageBox(shell,SWT.OK);if(.equals(type)|.equals(name)|.equals(pass)box.setMessage(pleaseinputalltheinformation);box.open();return;武汉理工高校软件开发工具论文报告DAO
14、dao=newDAO();if(users.equals(type)sql=select*fromuserswhereusername=+name+andpassword=+pass+;elseif(admin.equals(type)sql=select*fromadminwhereusername=+name+andpassword=+pass+;flag=dao.login(sql);if(flag)shell.dispose();newMain(type);elsebox.setMessage(wrongnameorpassword);box.open(););Buttonreset=
15、newButton(shell,SWT.PUSH);reset.setText(cancel);Stringvalue=users,admin;combo=newCombo(shell,SWT.DROP_DOWN);combo.setItems(value);FormDatadata=newFormData();data.top=newFormAttachment(30,0);username.setLayoutData(data);data=newFormData();data.top=newFormAttachment(username,0,SWT.CENTER);data.left=ne
16、wFormAttachment(username,10,SWT.RIGHT);nameText.setLayoutData(data);data=newFormData();data.top=newFormAttachment(select,0,SWT.CENTER);data.left=newFormAttachment(select,10,SWT.RIGHT);combo.setLayoutData(data);data=newFormData();data.top=newFormAttachment(username,10,SWT.BOTTOM);password.setLayoutDa
17、ta(data);武汉理工高校软件开发工具论文报告data=newFormData();data.top=newFormAttachment(password,0,SWT.CENTER);data.left=newFormAttachment(nameText,0,SWT.LEFT);passText.setLayoutData(data);data=newFormData();data.top=newFormAttachment(password,10,SWT.BOTTOM);submit.setLayoutData(data);data=newFormData();data.top=new
18、FormAttachment(submit,0,SWT.CENTER);data.left=newFormAttachment(submit,20,SWT.RIGHT);reset.setLayoutData(data);publicstaticvoidmain(Stringargs)newLogin();DAO.java的login()代码:publicbooleanlogin(Stringsql)booleanflag=false;con=Conn.getConnection();trypt=con.prepareStatement(sql);rs=pt.executeQuery();if
19、(rs.next()flag=true;catch(SQLExceptione)e.printStackTrace();finallyConn.closeRs(rs);Conn.closePt(pt);Conn.closeCon(con);returnflag;图示为;武汉理工高校软件开发工具论文报告实现主界面:importorg.eclipse.swt.*;importorg.eclipse.swt.widgets.*;importorg.eclipse.swt.layout.*;importorg.eclipse.swt.events.*;publicclassMainprivateStr
20、ingtype;Displaydisplay=Display.getCurrent();Shellshell=newShell(display);publicMain(Stringtype)this.type=type;shell.setText(Trainticketingsystem);shell.setLayout(newFillLayout();Menumenu=newMenu(shell,SWT.BAR);/第一个菜单MenuItembasic=newMenuItem(menu,SWT.CASCADE);basic.setText(BasicSettings);if(users.eq
21、uals(type)basic.setEnabled(false);Menufilemenu=newMenu(shell,SWT.DROP_DOWN);MenuItemtrain=newMenuItem(filemenu,SWT.PUSH);train.setText(TrainsManagement);train.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newTrainManage(););MenuItemticket=newMenuItem(filemenu,SWT
22、.PUSH);ticket.setText(TicketsManagement);武汉理工高校软件开发工具论文报告ticket.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newTicketManage(););MenuItemusers=newMenuItem(filemenu,SWT.PUSH);users.setText(UsersManagement);users.addSelectionListener(newSelectionAdapter()publicvoi
23、dwidgetSelected(SelectionEvente)newUsersManage(););MenuItemexit=newMenuItem(filemenu,SWT.PUSH);exit.setText(quit);basic.setMenu(filemenu);exit.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)display.dispose(););/其次个菜单MenuItemmarket=newMenuItem(menu,SWT.CASCADE);mar
24、ket.setText(SalesandRefunds);MenueditMenu=newMenu(shell,SWT.DROP_DOWN);MenuItemmarketItem=newMenuItem(editMenu,SWT.PUSH);marketItem.setText(SalesTickets);marketItem.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newXiaosTicket(););MenuItemrefundItem=newMenuItem(ed
25、itMenu,SWT.PUSH);refundItem.setText(RefundsTickets);market.setMenu(editMenu);refundItem.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newTuiTicket(););/第三个菜单MenuItemfind=newMenuItem(menu,SWT.CASCADE);find.setText(TrainsandTicketsquery);MenutaiMenu=newMenu(shell,S
26、WT.DROP_DOWN);MenuItemtrainFind=newMenuItem(taiMenu,SWT.PUSH);武汉理工高校软件开发工具论文报告trainFind.setText(Trainsquery);trainFind.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newFindTrain(););MenuItemticketFind=newMenuItem(taiMenu,SWT.PUSH);ticketFind.setText(Ticketquery);
27、find.setMenu(taiMenu);ticketFind.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newFindTicket(););shell.setMenuBar(menu);shell.setSize(500,400);shell.open();while(!shell.isDisposed()if(!display.readAndDispatch()display.sleep();display.dispose();图示为:基本设置模块包括车次管理,车票
28、管理和售票员管理。车次管理主要是是对于列车的增加,删除和修改等操作。其中包括它的相关的信息等。它是由TrainManagement.java.代码如下:importjava.util.List;武汉理工高校软件开发工具论文报告importorg.eclipse.swt.SWT;importorg.eclipse.swt.events.*;importorg.eclipse.swt.layout.*;importorg.eclipse.swt.widgets.*;importcom.huizhi.dao.DAO;importcom.huizhi.vo.Train;publicclassTrain
29、ManageDisplaydisplay=Display.getCurrent();Shelltmshell=newShell(display);finalTabletable=newTable(tmshell,SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER|SWT.FULL_SELECTION);TrainManagetm=this;publicTrainManage()RowLayoutrowLayout=newRowLayout();rowLayout.pack=true;rowLayout.wrap=true;r
30、owLayout.justify=false;rowLayout.marginTop=20;tmshell.setLayout(rowLayout);finalTableColumncolumn1=newTableColumn(table,SWT.LEFT);column1.setText(TrainID);column1.setWidth(80);finalTableColumncolumn2=newTableColumn(table,SWT.LEFT);column2.setText(TrainNum);column2.setWidth(80);finalTableColumncolumn
31、3=newTableColumn(table,SWT.LEFT);column3.setText(TrainType);column3.setWidth(80);finalTableColumncolumn4=newTableColumn(table,SWT.LEFT);column4.setText(Starting);column4.setWidth(80);finalTableColumncolumn5=newTableColumn(table,SWT.LEFT);column5.setText(startingTime);column5.setWidth(80);finalTableC
32、olumncolumn6=newTableColumn(table,SWT.LEFT);column6.setText(terminal);column6.setWidth(80);finalTableColumncolumn7=newTableColumn(table,SWT.LEFT);column7.setText(terminalTime);column7.setWidth(80);武汉理工高校软件开发工具论文报告finalTableColumncolumn8=newTableColumn(table,SWT.LEFT);column8.setText(iskongtiao);colu
33、mn8.setWidth(80);finalTableColumncolumn9=newTableColumn(table,SWT.LEFT);column9.setText(price);column9.setWidth(80);finalTableColumncolumn10=newTableColumn(table,SWT.LEFT);column10.setText(middleStation);column10.setWidth(80);finalTableColumncolumn11=newTableColumn(table,SWT.LEFT);column11.setText(y
34、zNum);column11.setWidth(80);finalTableColumncolumn12=newTableColumn(table,SWT.LEFT);column12.setText(rzNum);column12.setWidth(80);finalTableColumncolumn13=newTableColumn(table,SWT.LEFT);column13.setText(ywNum);column13.setWidth(80);finalTableColumncolumn14=newTableColumn(table,SWT.LEFT);column14.set
35、Text(rwNum);column14.setWidth(80);table.setHeaderVisible(true);table.setLinesVisible(true);freshData();table.setSize(800,200);Buttonadd=newButton(tmshell,SWT.PUSH);add.setText(addtrains);add.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)newAddTrain(tm););Buttonup
36、date=newButton(tmshell,SWT.PUSH);update.setText(modify);update.addSelectionListener(newSelectionAdapter()publicvoidwidgetSelected(SelectionEvente)TableItemselection=table.getSelection();TableItemselectedRow=selection0;Traintrain=newTrain();train.setId(Integer.parseInt(selectedRow.getText(0);train.se
37、tTrainNum(selectedRow.getText(1);train.setTrainType(selectedRow.getText(2);train.setStarting(selectedRow.getText(3);武汉理工高校软件开发工具论文报告train.setStartingTime(selectedRow.getText(4);train.setTerminal(selectedRow.getText(5);train.setTerminalTime(selectedRow.getText(6);train.setIskongTiao(selectedRow.getTe
38、xt(7);train.setPrice(Float.parseFloat(selectedRow.getText(8);train.setMiddleStation(selectedRow.getText(9);train.setYzNum(Integer.parseInt(selectedRow.getText(10);train.setRzNum(Integer.parseInt(selectedRow.getText(11);train.setYwNum(Integer.parseInt(selectedRow.getText(12);train.setRwNum(Integer.pa
39、rseInt(selectedRow.getText(13);newUpdateTrain(train,tm););Buttondelete=newButton(tmshell,SWT.PUSH);delete.setText(cancel);delete.addSelectionListener(newSelectionAdapter()box=newpublicvoidwidgetSelected(SelectionEvente)MessageBoxMessageBox(tmshell,SWT.YES|SWT.NO);box.setMessage(Areyousuretocancel?);
40、intnum=box.open();if(num=128)return;TableItemselection=table.getSelection();TableItemselectedRow=selection0;DAOdao=newDAO();Stringsql=deletefromtrainwhereid=+selectedRow.getText(0)+;inti=dao.update(sql);if(i0)box.setMessage(succeed);box.open();table.remove(table.getSelectionIndex();else);box.setMess
41、age(failure);box.open();武汉理工高校软件开发工具论文报告tmshell.setSize(1200,400);tmshell.setText(trainManagement);tmshell.open();while(!tmshell.isDisposed()if(!display.readAndDispatch()display.sleep();tmshell.dispose();publicvoidfreshData()table.removeAll();tryDAOdao=newDAO();Listlist=dao.getAllTrain();intnumber=l
42、ist.size();for(inti=0;i武汉理工高校软件开发工具论文报告e.printStackTrace();finallyConn.closePt(pt);Conn.closeCon(con);returni;publicListgetAllTrain()Listlist=newArrayList();con=Conn.getConnection();trypt=con.prepareStatement(select*fromtrain);rs=pt.executeQuery();while(rs.next()Traintrain=newTrain();train.setId(rs.
43、getInt(1);train.setTrainNum(rs.getString(2);train.setTrainType(rs.getString(3);train.setStarting(rs.getString(4);train.setStartingTime(rs.getString(5);train.setTerminal(rs.getString(6);train.setTerminalTime(rs.getString(7);train.setIskongTiao(rs.getString(8);train.setPrice(rs.getFloat(9);train.setMi
44、ddleStation(rs.getString(10);train.setYzNum(rs.getInt(11);train.setRzNum(rs.getInt(12);train.setYwNum(rs.getInt(13);train.setRwNum(rs.getInt(14);list.add(train);catch(SQLExceptione)e.printStackTrace();finallyConn.closeRs(rs);Conn.closePt(pt);Conn.closeCon(con);returnlist;其中的update的功能是,首先连接数据库,然后用传递过
45、来的SQl语句在列表中删除某辆列车的信息。getAllTrain()方法是显示全部的列车的信息。图示如下:武汉理工高校软件开发工具论文报告在车次管理中的对于列车信息添加的功能是通过AddTrain.java来实现的。代码如下:importorg.eclipse.swt.SWT;importorg.eclipse.swt.events.*;importorg.eclipse.swt.layout.*;importorg.eclipse.swt.widgets.*;importcom.huizhi.dao.DAO;publicclassAddTrainDisplaydisplay=Display.
46、getCurrent();Shelltmshell=newShell(display);TrainManagetrainmanage=null;publicAddTrain(TrainManagetm)trainmanage=tm;GridLayoutgridlayout=newGridLayout();tmshell.setText(addtrainsinformation);gridlayout.numColumns=2;gridlayout.makeColumnsEqualWidth=true;tmshell.setLayout(gridlayout);GridDatagd=newGridData(GridData.FILL_BOTH);Labell=newLabel(tmshell,SWT.LEFT);l.setText(trainNum);l.setLayoutData(gd);gd=newGridData(GridData.FILL_BOTH);finalTexttrainNum=newTe