1、机票预定系统的客户端。 参考资料1.机票预订系统项目开发计划书 2.机票预订系统需求分析说明书 3.软件工程实践者的研究方法 机械工程出版社2 程序系统的结构以类图形式展示:Server类图:Client类图:3 Server端程序说明:类ServerStart设计说明 调用窗口显示方法ServerGUI(),显示服务器主界面,Server be ready。 功能启动服务器。 测试计划能顺利启动服务器 用于服务器管理员登录。直接访问数据库,验证输入的用户名密码,如正确则进入服务器管理界面。 输入项用户名 String密码 String 输出项是否正确 bool 算法1.用getText()从
2、管理员登陆界面读取用户名与密码。2.将信息传递到方法中到数据库中查找。3.返回查找情况,找到true,未找到false。能正确识别输入的用户名与密码。输入正确的用户名与密码可跳转至服务器管理员界面,输入错误的则发出提示,不允许进入。 用于编辑管理员界面并显示。编辑管理员界面,传递参数给ServerLongON(),并显示界面。使用控件的监听事件达到上述效果界面能否正确显示,SeverLogON()方法能否正常运行。 database类设计说明 database()方法用于建立与数据库的链接,可被继承。建立与数据库的链接,可被继承,使其他类在访问数据库时不必再次建立连接。 性能为提升数据传输的效
3、率,访问数据库时间应尽量短。 Userdb类设计说明 Userdb()方法Userdb的构造方法。继承父类database()的构造方法,从而建立起与数据库的链接。 isExit()方法判断数据是否出现,可被其他方法调用。 .1 功能在查询函数中可被调用,用于判断所查询的数据是否出现。 .2 输出项输出bool变量,若存在,则为true,or 则为false updatedata()方法更新当前行数据更新当前行数据为修改过的数据,修改数据库内内容。要修改数据所在的列名 String修改后的数据 Object数据内的内容被修改。 InsertNew(User user)向数据库加入一行数据读入U
4、ser数据,将这行数据加入数据库中用户信息 User用户信息加入数据库 QueryData()查询数据是否存在。接收数据,到数据库中查询数据数据是否存在。用户名String密码String 余额 double 航班号String 票数int 查询种类int 查询种类必须输入,其他可根据需要选择性的输入。查询得到的信息加入游标数组。 CloseAll()关闭链接。关闭服务器与数据库之间的链接 Flightdb类设计说明 Flightdb()方法Flightdb的构造方法。 InsertNew(Flight flight)读入flight数据,将这行数据加入数据库中航班信息 Flight航班信息加
5、入数据库航班号 String起飞地点String 到达地点String起飞时间String 到达时间String 票价 double 查询类型int UserServer类设计说明 UserServer ()方法UserServer的构造方法。继承JFrame,建立界面用于把存放用户信息的数据库中的信息显示出来,便于管理员查看管理 Query()方法遍历数据库中信息。点击刷新时,遍历User数据库,将数据信息重新显示。1.建立足够大的存储空间2.与User数据库建立连接3.遍历数据库,把数据加入存储空间4.数据加入显示界面,显示出来。 FlightServer类设计说明 FlightServe
6、r ()方法FlightServer的构造方法。继承JFrame,建立界面用于把存放航班信息的数据库中的信息显示出来,便于管理员查看管理。点击刷新时,遍历Flight数据库,将数据信息重新显示。2.与Flight数据库建立连接 User类设计说明 User()方法User的构造方法,建立方便调用用户数据的数据结构。 getID()方法得到用户名。调用时,可返回用户名 setID()方法修改用户名。调用时,可修改用户名为指定值 其他类似方法getpassword()setpassword()getmoney()setmoneygetflight()setflightgetnum()不再赘述。 F
7、light类设计说明 Flight()方法Flight类的构造方法,建立方便调用航班数据的数据结构。 getnumofF()方法得到航班号。调用时,可返回航班号 setnumofF()方法修改航班号。调用时,可修改航班号为指定值getnumofF()setnumofF()getstartp()setstartp()getendp()setendp()getstartt()setstartt()getendt()setendt()getprice()setprice()setnum() Administrator类设计说明 addUserData ()方法添加用户信息。管理员可以通过这个方法跳过
8、注册直接添加用户。用户信息被加到User数据库中建立服务器与数据库的链接,使需要添加的用户信息如预料添加。 delateUserData ()方法删除用户信息。管理员可以通过这个方法删除用户。用户信息被从User数据库中删除建立服务器与数据库的链接,使需要删除的用户信息如预料删除。 addFlightLine ()方法添加新航线。管理员可以通过这个方法添加新航线。新航线被加到Flight数据库中建立服务器与数据库的链接,使需要添加的航线如预料添加。 delateFlightLine ()方法删除废弃航线。管理员可以通过这个方法删除废弃航线。航线被从Flight数据库中删除建立服务器与数据库的链
9、接,使需要删除的航线如预料删除。 serverThread类设计说明 serverThread ()方法serverThread类的构造方法建立Socket与端口,使客户端可以与服务器连接。 run ()方法启动多线程启动多线程,调用DealRequest()处理客户端发送的各种请求。 WriteControl()方法写控制台。把各个客户端的请求处理过程写进控制台,方便管理员查看。客户请求信息写入控制台。建立服务器与客户端的链接,客户端发送请求,确保服务器可以在控制台上写出正确的处理过程。 DealRequest()方法处理客户端请求。多线程接受客户端发送的请求,调用DealRequest()
10、方法处理。DealRequest()根据具体情况调用getAllMessage类中getInformation()方法处理,把结果发送至客户端。建立服务器与客户端的链接,客户端发送请求,确保服务器可以调用正确的getInformation()方法 getAllMessage类设计说明 getInformation ()方法服务器端最终要的方法,客户端与服务器交互的核心。处理客户端传递的一切请求,并得出相应的处理结果传递给客户端。输入项请求类型 int输出项处理结果 String算法1.客户端发出请求。2.多线程接受请求,调用DealRequest()处理请求。()调用getinformatio
11、n()处理具体请求,并将结果发送至客户端。建立服务器与客户端的链接,客户端发送请求,确保服务器可以返回正确的处理结果至客户端。4 client端程序说明:类Customer设计说明 用于用户登陆系统。用于用户登陆系统。能顺利登录系统 用于用户注册系统。用于用户注册系统。确认密码 String提示:是否注册成功如果该用户名已被使用,那么不能注册,如果输入的密码和确认的密码不统一,则输出提示。 用于用户退出系统。用于用户退出系统。能正确辨认用户是否已经登录,若已经登录,则可以退出系统。 用于用户查询航班。用于用户查询航班。起始地 String目的地 String符合条件的各航班的信息。能正确识别输
12、入的起始地和目的地,根据这两个数据进行查询。 orderFlight()方法 用于用户预定机票。用于用户预订机票。能正确识别用户是否选择相应的航班,若用户没选择,则会提示用户请选择你所需要的航班。 用于用户查询已定机票。用于用户查询已定机票。类order设计说明 用于清除某个用户的订单。用于清除某个用户的订单。能顺利清除订单 用于用户取消某一航班。用于用户取消某一航班。能按要求正确删除航班 用于用户预定航班后,加入到用户的订单中。用于用户预定航班后,加入到用户的订单中。能正确添加航班。类account设计说明 用于用户账户的扣钱。用于用户账户的扣钱。用户订票后,能根据所定的机票,扣除相应的钱。
13、 用于用户往账户里充钱。用于用户往账户里充钱。能正确往账户里充钱。 得到账户的用户名得到账户的用户名能得到正确的用户名补充:其余类flight和airport已在server中得到了解释,在这就不一一列举了啦。实验小结这次试验,让我更深一层次的了解到了团队的重要性,我不敢说我们的团队是最优秀的,但我可以肯定的说我们一直在变得更优秀!实验中我们分工合作,每个人都参与到了实验的整个过程,并且有自己主要负责的部分,这样既学到了知识又节省了时间。实验中我们相互鼓励、彼此沟通,当遇到问题时我们互相交流,进行探讨,真正感受到了合作的乐趣与沟通所产生的效率。这个实验让我从深层次理解了好的团队为什么会产生1+12的效果。不过通过程此次的实验,我不仅拓宽了自己的常识面,还在实践过程当中巩固和加深了自己所学的定见常识,使自己的技术素质有了进一步的提高,同时我的专业水平也有了很大的进步。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1