《软件工程实验论文.doc》由会员分享,可在线阅读,更多相关《软件工程实验论文.doc(11页珍藏版)》请在金锄头文库上搜索。
1、台吧自动计费系统1. 项目概述1.1目的:随着计算机技术与自动化技术的发展,软件系统在日常生活中的使用变得越来越频繁。“台吧自动计费系统”是为了实现两个方面的功能。一是为了满足管理员能够清楚快速、方便的检索到整个球馆的球桌使用情况,同时也能够对用户的消费实现实时监控,大大降低了人工收费时的难度。另一个是球员能够通过每个球桌上的客户端界面,点所需要的食品,能够被统计系统所统计到。1.2使用范围:应用于“中大型台球吧”。2. 需求分析2.1功能模块的定义:本系统总体分为两个模块:1.查询模块;2.控制模块。其细致划分如下:1) 查询球桌使用情况模块;2) 查询用户信息模块;3) 用户信息判断模块;
2、4) 更新用户信息、更新球桌信息模块;5) 客户端启动处理模块;6) 查询并选购商品模块;7) 统计时间;8) 账单读取和打印模块。各个模块的功能的需求表:功能编号1功能名称查询球桌使用情况功能描述能够查询到整个台吧当中的所有球桌的使用状态,即“使用”或者“空闲”,显示给管理员查看。在有空闲球桌的时候,能够为使用者分配球桌。输入项用户的姓名、(会员号)、身份证号处理描述管理员进入系统主界面,点击“查询球桌使用信息”按钮,查询出所有的球桌使用的状态信息并显示;若存在空闲的球桌,则提示“有空闲球桌可选”,输入用户信息,选择了空闲球桌信息之后,提示选桌是否成功的信息。输出项显示出,整个台吧当中的所有
3、台球桌的状态(分为“使用”和“空闲”两类显示)。如果存在空闲的球桌,能够将空闲球桌分配给相应的用户,有“分配成功”和“分配失败”两个提示信息。功能编号2功能名称查询用户信息功能描述查询到该用户是否已在该系统中注册,若注册,是否是会员输入项用户的姓名、身份证号处理描述从用户表当中查询出当前输入的用户是否存在,若果存在的话,同时查询出该用户是否为会员。输出项若不存在,显示不存在,提示要注册;若存在,则将该用户的信息显示出来,包括用户的“状态”,“账户余额”功能编号3功能名称用户信息判断功能描述该模块是模块“2”的一个扩充,在判断为“还未注册用户”,进入注册页面,将输入的用户信息以及预存额输入该系统
4、交给相应的处理程序;在判断为“非会员”时,若想注册会员,则将注册信息提交给另一个处理模块。输入项用户的姓名、身份证号处理描述保存用户提交的信息并做相应的处理及响应输出项“注册成功”或者“注册失败”功能编号4功能名称更新用户信息、更新球桌信息功能描述根据提交的用户信息,更新用户信息表中的用户信息和球桌使用表中球桌使用状态信息输入项用户姓名、身份证号、预交金额、是否为会员状态;球桌编号处理描述根据提交模块传过来的信息,对用户信息表、球桌使用表当中的信息实现更新。输出项无功能编号5功能名称客户端启动处理模块功能描述客户端接收后台管理模块传递过来的启动信号,客户端自动开启系统程序,进入相应的服务主界面
5、。输入项启动信号处理描述先接收发送来的信号,开启客户端程序,最后向后台管理模块传递出启动成功或者失败的提示信息。输出项显示客户端的食品查询、选购功能模块功能编号6功能名称查询并选购商品模块功能描述能够将商品表中的一些基本信息显示出来,能够显示其对应的数量;能够对用户选择的商品进行提交,更新商品信息表和用户表。输入项商品的标号,选购的数量处理描述从商品表中查询,输出商品表中的商品的信息,有编号、名称、价格、库存量;如果用户输入的信息,能够执行,就更新商品信息表,同时更新相应的用户信息表输出项显示相应的提示信息功能编号7功能名称统计时间;功能描述记录用户打球的时间输入项初始时间、结束时间处理描述再
6、启动客户端之后,开始计时,作为初始时间;当客户端关闭之后,结束计时,最终将时间间隔写入到相应的表中输出项使用时间功能编号8功能名称账单读取和打印模块功能描述从用户表中读取相应的用户信息,将显示的信息交给打印机的打印模块打印出表单输入项用户编号,姓名处理描述从用户信息表中查询出相应的编号的用户的信息,同时将信息提交给打印机的打印程序输出项消费账单2.2各个功能模块之间的关系如下:2.3数据字典的编写:1)球桌使用信息=球桌号+使用状态+已使用时间+使用人会员号2)球桌使用表=球桌号+使用状态3)用户信息表=会员号+会员等级+账户余额+注册时间+在线状态4)账单=会员号+使用时间+消费物品名称+消
7、费物品数量+物品单价+应付金额5)商品信息表=物品名称+库存数量+物品单价3. 系统设计3.1软硬件配置方案3.11硬件要求 现行的任何32/64位微机3.1.2软件要求Web服务器一台l Database服务器一台l 技术解决方案:l Webserver:Tomcat 6.0l Database:Mysql l 人员支持l 系统分析员l 程序员l 美工l 文档撰写l 数据录入l 测试人员l 所需软件3.2网络拓扑结构设计根据中小企业的建网规模,本设计可以采用100 BASE-FX,即用光传输介质上快速以太网。端口价格低,对光缆要求不高。是一种非常经济的选择。主干网的焦点是核心交换机(或路由器
8、)。如果考虑提供较高的可用性,而且经费允许,主干网可采用双星(树)结构,即采用两台同样的交换机,与接入层/分布层交换机分别连接。双星结构解决了单点故障失效问题,不仅抗毁性强,而且通过采用较新的链路聚合技术,例如快速以太网的FEC、千兆以太网的GEC等技术,则可以通过允许每条冗余连接链路实现负载分担。千兆以太网一般采用光缆作为传世介质。多种波长的单模和多模光纤分别用于不同的场合和距离。单模光纤本身不贵,昂贵的是光端口及组件。根据需要对骨干网及核心交换机改善设计或对旧网经行升级改造的技术,如:FEC/GEC(快速以太网/千兆以太网链路聚合技术)、CGMP(分组管理协议)、GBIC(千兆位集成电路)
9、、HSRP(热等待路由协议)。3.3 系统中实体关系的设计如下3.4 SC图(结构化设计)4. 系统测试4.1 测试方案单元测试方案:由开发人员在系统开发过程中对编写的系统函数以及数据库接口函数等使用白盒测试方法进行单元测试。集成测试方案:由测试小组在单元测试结束后对使用黑盒测试方法对各单元组合在一起能否按照既定意图写作运行进行测试。系统测试方案:由测试小组在集成测试结束后对整个系统能否在实际软件要求的环境正常运行,并且对最终的系统软件进行全面的测试,以确保最终软件系统满足产品需求并且遵循系统设计。4.2 测试方法采用黑盒测试方法,整个过程采用自底向上,逐个集成的办法,依次进行单元测试、组装测
10、试。测试用例的设计应包括合理的和不合理的输入条件。4.3测试范围与主要测试内容测试一 名称:主流程测试 目的:与数据库的连接 系统设置的操作 主界面的进入 用户进入 内容:测试与用户登录管理连接的正确性 测试与商品管理连接的正确性 测试与商品订购连接的正确性 测试与客户端连接的正确性 测试与留言管理连接的正确性测试二 名称:用户商品选购模块目的:测试选购商品过程中能否与后台进行正确的连接 内容:输入正确的商品编号和数量 观察返回的结果测试三 名称:台球桌管理目的:测试台球桌的使用状态内容:输入正确的管理员密码,管理员身份验证 输入正确的球桌号码 查询球桌使用状态的正确性测试四 名称:收费管理目
11、的:测试收费管理功能内容:输入正确的管理员密码,管理员身份验证 查询用户收费信息的正确性 生成信息的正确性显示最新更新4.4测试举例4.4.1功能测试4.4.2性能测试4.4.3功能测试举例测试球桌的状态判断模块:等价类的划分输入数据有效等价类无效等价类输入数据的格式(1)以字母开头,字母和数字共同组合(2)全部是数字(3)全部都是字母对应的值(4)数字为正值(5)数字为负值5. 总结通过这个实际系统的开发,是我明白了软件在开发的过程中采用工程化的方法来开发,要比没有目的的想到一个就开发一个模块的开发方法要方便的多。可见,软件工程的出现,对整个软件行业的发展起到了非常巨大的作用。在面对具体的开
12、发项目的时候,一开始没有什么头绪,感觉要做这样一个任务是没有什么可能的事情。但是随着开发进程的一步步推进,从最简单的“项目计划”,这虽然是一个简单的任务,但是合理的规划,能够让软件的开发进度很大的提高。接着完成结构化分析、设计,面向对象设计,这样一步步的做下去,首先在结构化分析阶段有很大的困难,主要是对这个系统的认识还是很肤浅,通过结构化分析对系统的功能有了更深入的了解。这样,坚持一步一步的做下去,最终就完成了一个完整的系统从分析到设计的全过程。软件工程是一项浩大的工程,它需要许多人合作.我们组员在组长艾菁的领导下,在组员的共同努力下,终于在规定期限内完成了任务.通过这次合作,大家的合作意识都得到了增强,为以后进入社会打下了一定的基础.在此我非常感谢徐老师给我们这次机会来锻炼我们的能力和合作意识。另一个重要点就是:开发规范在项目开发工作中起着事前约定的作用,需要所有开发人员共同遵守。它约束开发人员的行为和设计、编程风格,使不同子系统和模块的设计、编程人员达成默契,以便形成整个系统的和谐步调和统一风格,也便于今后的系统维护和扩展工作。所以,软件开发是一个团队项目,交流与合作在开发的过程中起到了非常巨大的作用。