ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:30.54KB ,
资源ID:24939350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24939350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件项目开发总结报告模版精编WORD版.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件项目开发总结报告模版精编WORD版.docx

1、软件项目开发总结报告模版精编WORD版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】软件项目开发总结报告模版精编WORD版火车票系统的开发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.javaimport java.sql.*;public class Conn private static Connection con; private static final String DRIVER = c

5、om.mysql.jdbc.Driver; private static final String URL =jdbc:mysql:/localhost:3306/newdatabase; private static final String NAME=root; private static final String PASSWORD=021702190804; static try Class.forName(DRIVER); catch (ClassNotFoundException e) e.printStackTrace(); public static Connection ge

6、tConnection() try con=DriverManager.getConnection(URL,NAME,PASSWORD); catch (SQLException e) e.printStackTrace(); return con; public static void closeCon(Connection con) try if(con!=null) con.close(); catch (SQLException e) e.printStackTrace(); public static void closePt(PreparedStatement pt) try if

7、(pt!=null) pt.close(); catch (Exception e) e.printStackTrace(); public static void closeRs(ResultSet rs) try if(rs!=null) rs.close(); catch (Exception e) e.printStackTrace(); 用户登录界面的设计、主界面的设计、基本设置模块、销售及退票模块和列车及车票查询模块。 用户登录模块:该部分是通过设计login.java来实现的。这部分代码的作用是用户首先选择自己的登录的是管理员还是售票员,然后输入账号和密码。单击登录,用户先判断用

8、户登录的类型,然后给sql变量赋SQL语句值,系统调用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

9、 Text passText; 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 imag

10、e = 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(username)

11、; 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 ); Button subm

12、it = 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 box=new Messa

13、geBox(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(type) sql=select * from admin wher

14、e 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; combo=new Combo(shell,SWT.DROP_DOWN); combo.s

15、etItems(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); nameText.setLayoutData(data); data = new FormData();

16、 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); data = new FormData(); data.top = new FormAttachment(pass

17、word,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 FormAttachment(submit,0,SWT.CENTER); data.left=new FormAttach

18、ment(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.executeQuery(); if(rs.next() flag=true; catch (SQLExcepti

19、on 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.events.*;public class Main private String type; Display display=Display.g

20、etCurrent(); 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 MenuItem(menu,SWT.CASCADE); basic.setText(Basic Settings); if(users.equals(type)

21、 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 widgetSelected(SelectionEvent e) new TrainManage(); ); MenuItem ticket=new MenuItem(f

22、ilemenu,SWT.PUSH); ticket.setText(Tickets Management); ticket.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new TicketManage(); ); MenuItem users=new MenuItem(filemenu,SWT.PUSH); users.setText(Users Management); users.addSelectionListener(new SelectionAdapt

23、er() public void widgetSelected(SelectionEvent e) new UsersManage(); ); MenuItem exit=new MenuItem(filemenu,SWT.PUSH); exit.setText(quit); basic.setMenu(filemenu); exit.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) display.dispose(); ); /第二个菜单 MenuItem mark

24、et=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); marketItem.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent

25、e) new XiaosTicket(); ); MenuItem refundItem=new MenuItem(editMenu,SWT.PUSH); refundItem.setText(Refunds Tickets); market.setMenu(editMenu); refundItem.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new TuiTicket(); ); /第三个菜单 MenuItem find=new MenuItem(menu,

26、SWT.CASCADE); find.setText(Trains and Tickets query); Menu taiMenu=new Menu(shell,SWT.DROP_DOWN); MenuItem trainFind=new MenuItem(taiMenu,SWT.PUSH); trainFind.setText(Trains query); trainFind.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new FindTrain(); );

27、 MenuItem ticketFind=new MenuItem(taiMenu,SWT.PUSH); ticketFind.setText(Ticket query); find.setMenu(taiMenu); ticketFind.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) new FindTicket(); ); shell.setMenuBar(menu); shell.setSize(500,400); shell.open(); while(!

28、shell.isDisposed() if(!display.readAndDispatch() display.sleep(); display.dispose(); 图示为:基本设置模块包括车次管理,车票管理和售票员管理。车次管理主要是是对于列车的增加,删除和修改等操作。其中包括它的相关的信息等。它是由TrainManagement.java.代码如下:import java.util.List;import org.eclipse.swt.SWT;import org.eclipse.swt.events.*;import org.eclipse.swt.layout.*;import

29、org.eclipse.swt.widgets.*;import com.huizhi.dao.DAO;import com.huizhi.vo.Train;public class TrainManage Display display=Display.getCurrent(); Shell tmshell=new Shell(display); final Table table=new Table(tmshell,SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER|SWT.FULL_SELECTION); TrainManage tm=this; public TrainManage() RowLa

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1