软件项目开发总结材料报告材料模版.pdf
《软件项目开发总结材料报告材料模版.pdf》由会员分享,可在线阅读,更多相关《软件项目开发总结材料报告材料模版.pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用文档文案大全火车票系统的开发1 引言研究报告( 1. 研究计划; 2. 完成的研究内容、研究方法、研究过程与结论、成果;3. 比照研究计划,分析超过或未达到预定目标、进度、研究内容的原因;4. 参考文献等。 )随着人们生活水平和经济水平的提高,网络科技的全球化的发展,出游和出差的频率越来越多。这大大的激发了交通水平的发展。其中, 火车这种又方便有便宜的交通工具作为人们的首选, 火车站的客运列车增加,客运量也随之增加。原有的售票的方式已经不再能满足旅客的需求了。 为了方便旅客售票系统不仅仅只能售票也能够了解列车的各种信息。这样才能成为现在网络社会的真的适应者。2 需求分析该售票系统是融合了火
2、车票销售、退票、列车管理、 车票管理、 售票员管理、 列车管理信息,以及售票信息查询为一体的综合系统。该系统主要编写的功能是列车和售票信息的查询及售票功能。2.1 用户该系统主要有两类用户: 管理员和售票员。 管理员主要工作有车次管理,车票管理和售票员管理。 对于每项功能都有添加, 删除和修改的功能。 售票的主要工作是售票和退票。2.2 主要功能该系统从功能方面可以分为四个方面:登录。不管你是管理员还是售票员必须登录以后才可以进行系统允许的操作。当然要登录的管理员和售票员都必须是再数据库中已经发布的。基本设置: 该模块主要是修改售票员的相关信息,修改列车的相关信息和修改车票的相实用文档文案大全
3、关信息。这一块的功能只有管理员才可以操作。其他的售票员是不可以对他进行操作的。售票和退票: 这部分工作主要是售票员来操作的。售票员根据买票人员提出的要求进行查询。 查询的方式有两种:一是根据车次查询;一是根据目的地来查询。退票主要是将已经出售的车票在列车开出之前再一次的返回到数据库中,并继续出售。列车和车票查询; 当需要查询列车信息或者是车票信息是所做的操作。2.3 基本流程3 开发过程3.1 内容该程序包括三个部分数据库的设计、通用模块的实现、各个模块的实现。3.1.1 数据库的设计:将本系统所需的所有的数据都存储到数据库中。需要在数据库中管理员表、售票员表、列车信息表和车票信息表。如图所示
4、:实用文档文案大全管理员表:售票员表:列车信息表:实用文档文案大全车票信息表:3.1.2 通用模块的实现:通用模块为了减少代码的重复。在该系统中, 对经常使用的操作进行封装,如将多次需要调用的数据库和操作数库的增、删、改和查等操作进行封装。使代码有很好的重用性,即使出现错误也很容易调试。如本程序中的Conn.java import java.sql.*; publicclass Conn privatestatic Connection con; privatestaticfinal String DRIVER= “com.mysql.jdbc.Driver“; privatestaticfi
5、nal String URL = “jdbc:mysql:/localhost:3306/newdatabase“; privatestaticfinal String NAME=“root“; privatestaticfinal String PASSWORD=“021702190804“ ; static try Class.forName(DRIVER); catch (ClassNotFoundException e) e.printStackTrace(); publicstatic Connection getConnection() try con=DriverManager.
6、getConnection(URL,NAME,PASSWORD); catch (SQLException e) e.printStackTrace(); returncon; publicstaticvoid closeCon(Connection con) try if (con!= null ) con.close(); catch (SQLException e) 实用文档文案大全e.printStackTrace(); publicstaticvoid closePt(PreparedStatement pt) try if (pt!= null ) pt.close(); catc
7、h (Exception e) e.printStackTrace(); publicstaticvoid closeRs(ResultSet rs) try if (rs!= null ) rs.close(); catch (Exception e) e.printStackTrace(); 用户登录界面的设计、主界面的设计、 基本设置模块、 销售及退票模块和列车及车票查询模块。用户登录模块: 该部分是通过设计login.java来实现的。 这部分代码的作用是用户首先选择自己的登录的是管理员还是售票员,然后输入账号和密码。单击登录, 用户先判断用户登录的类型,然后给sql 变量赋 SQL语
8、句值,系统调用DAO.java 类的 login ()传入sql 变量。 . Login 代码是:import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; import com.huizhi.dao.DAO; public class Login private Text nameText; private Text pa
9、ssText; private Combo combo; private String type; private Display display = new Display(); private Shell shell = new Shell(display); public Login() 实用文档文案大全FormLayout layout = new FormLayout(); layout.marginHeight =40; layout.marginWidth =40; shell.setLayout(layout); shell.setText(“login“); Image im
10、age = new Image(display,“2.jpg“); shell.setBackgroundImage(image); setUIControl(); shell.pack(); shell.open(); while (!shell.isDisposed() if (!display.readAndDispatch() display.sleep(); display.dispose(); private void setUIControl() Label username = new Label(shell, SWT.NONE); username.setText(“user
11、name“); nameText = new Text(shell, SWT.SINGLE | SWT.BORDER); Label password = new Label(shell, SWT.NONE); password.setText(“password“); passText = new Text(shell, SWT.SINGLE | SWT.BORDER| SWT.PASSWORD); / passText.setEchoChar(*); Label select=new Label(shell, SWT.NONE); select.setText(“ select “); B
12、utton submit = new Button(shell,SWT.PUSH); submit.setText(“login “); submit.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) type=combo.getText(); String name=nameText.getText(); String pass=passText.getText(); String sql=null; boolean flag=false; MessageBox b
13、ox=new MessageBox(shell,SWT.OK); if(“.equals(type)|“.equals(name)|“.equals(pass) box.setMessage(“please input all the information“); box.open(); return ; 实用文档文案大全 DAO dao=new DAO(); if(“users“.equals(type) sql=“select * from users where username=“+name+“ and password=“+pass+“; else if(“admin“.equals
14、(type) sql=“select * from admin where username=“+name+“ and password=“+pass+“; flag=dao.login(sql); if(flag) shell.dispose(); new Main(type); else box.setMessage(“wrong name or password“); box.open(); ); Button reset = new Button(shell, SWT.PUSH); reset.setText(“cancel“); String value=“users“,“admin
15、“; combo=new Combo(shell,SWT.DROP_DOWN); combo.setItems(value); FormData data = new FormData(); data.top = new FormAttachment(30,0); username.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(username,0,SWT.CENTER); data.left = new FormAttachment(username,10, SWT.RIGHT); name
16、Text.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(select,0,SWT.CENTER); data.left = new FormAttachment(select,10, SWT.RIGHT); combo.setLayoutData(data); data = new FormData(); data.top = new FormAttachment(username,10, SWT.BOTTOM); password.setLayoutData(data); 实用文档文案大全d
17、ata = new FormData(); data.top = new FormAttachment(password,0,SWT.CENTER); data.left = new FormAttachment(nameText,0,SWT.LEFT); passText.setLayoutData(data); data=new FormData(); data.top=new FormAttachment(password,10,SWT.BOTTOM); submit.setLayoutData(data); data=new FormData(); data.top=new FormA
18、ttachment(submit,0,SWT.CENTER); data.left=new FormAttachment(submit,20,SWT.RIGHT); reset.setLayoutData(data); public static void main(String args) new Login(); DAO.java 的 login ()代码:public boolean login(String sql) boolean flag=false; con=Conn.getConnection(); try pt=con.prepareStatement(sql); rs=pt
19、.executeQuery(); if(rs.next() flag=true; catch (SQLException e) e.printStackTrace(); finally Conn.closeRs(rs); Conn.closePt(pt); Conn.closeCon(con); return flag; 图示为 ; 实用文档文案大全实现主界面:import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.ev
20、ents.*; public class Main private String type; Display display=Display.getCurrent(); Shell shell=new Shell(display); public Main(String type) this.type=type; shell.setText(“Train ticketing system“); shell.setLayout(new FillLayout(); Menu menu=new Menu(shell,SWT.BAR); /第一个菜单MenuItem basic=new MenuIte
21、m(menu,SWT.CASCADE); basic.setText(“Basic Settings“); if(“users“.equals(type) basic.setEnabled(false); Menu filemenu=new Menu(shell,SWT.DROP_DOWN); MenuItem train=new MenuItem(filemenu,SWT.PUSH); train.setText(“Trains Management“); train.addSelectionListener(new SelectionAdapter() public void widget
22、Selected(SelectionEvent e) new TrainManage(); ); MenuItem ticket=new MenuItem(filemenu,SWT.PUSH); ticket.setText(“Tickets Management“); 实用文档文案大全ticket.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new TicketManage(); ); MenuItem users=new MenuItem(filemenu,
23、SWT.PUSH); users.setText(“Users Management“); users.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new UsersManage(); ); MenuItem exit=new MenuItem(filemenu,SWT.PUSH); exit.setText(“quit“); basic.setMenu(filemenu); exit.addSelectionListener(new SelectionAdap
24、ter() public void widgetSelected(SelectionEvent e) display.dispose(); ); / 第二个菜单MenuItem market=new MenuItem(menu,SWT.CASCADE); market.setText(“Sales and Refunds“); Menu editMenu=new Menu(shell,SWT.DROP_DOWN); MenuItem marketItem=new MenuItem(editMenu,SWT.PUSH); marketItem.setText(“Sales Tickets“);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 开发 总结 材料 报告 模版
限制150内