您好,欢迎访问三七文档
超市结算系统组长:00648105杨涛组员:00648092洪志评00648061王旭00648132崔毅00648091尹泓钦00648066徐倩00648064沈艳艳00648115易波00648295蒋浩00648160李方舟00648154金靖00648015邓琨项目背景简介软件系统的名称:超市结算系统项目简介:本系统的目的是实现超市结算过程中的自动化所需的一切功能,包括管理货物,支持用户结算、统计货物销售情况等。本系统将提供给超市前台、会计以及经理等管理人员使用,进行日常任务、工作的管理,提高工作效率。本系统将实现各项功能的完善封装以及建立友好的图形用户界面(GUI),使得即使不十分了解一般软件操作的用户也能较快上手使用。本系统也将明晰各个功能接口,方便今后根据特殊用户的特殊需求进行进一步开发。项目背景简介——实施计划项目开发计划书杨涛进行结构化分析与设计,形成软件需求规格说明书、软件概要设计说明书和软件详细设计说明书邓琨蒋浩进行面向对象的分析与设计,形成面向对象分析和设计的规约王旭沈艳艳选择一种面向对象进入面向对象的系统实现徐倩洪志评崔毅尹泓钦进行软件测试,给出软件测试报告易波金靖进行项目的收尾,写出软件项目总结报告李方舟面向对象分析与设计面向对象分析与设计面向对象分析与设计——商品结算面向对象分析与设计——商品信息管理面向对象分析与设计——人员信息管理面向对象分析与设计——用况图面向对象分析与设计——用况图产品介绍名称:超市结算系统编程语言:Java形式:以安装文件的形式发布,不提供源代码给用户功能:对当前超市货物信息的管理、用户结算、统计货物的销售情况、查询货物信息,并且满足对大量数据存储以及高效处理效率的要求。产品介绍程序文件名称本产品程序由9个java文件构成:dataBase.javaNewJFrame.javaProduct.javaSalesManager.javaSalesmen.javaShoppingList.javaSupermarketMember.javaSupermarketWorker.javaWarehouseManager.java产品介绍数据库设计(基于mysql)Staff表经理,销售人员,仓库管理人员存在同一张表中,用职位域加以区别,其中3代表经理,2代表销售人员,1代表仓库管理人员。经理和销售人员不需要“WarehouseID”这个域,其值为null或者空字符串。ID为主码唯一。ID、PersonName、WarehouseID为字符串产品介绍数据库设计(基于mysql)Goods表包括商品的条形码、名称、价格、折扣、库存量、所在库房号,其中条形码为主吗唯一。价格和折扣为双精度浮点数,库存量为整数,库房号为字符串产品介绍数据库设计(基于mysql)VIP表包括会员号和积分,其中会员号为主码唯一。会员号为字符串,积分为整数产品介绍数据库设计(基于mysql)Bill表编号为主码唯一。编号和时间为字符串,其余项为双精度浮点数产品功能演示产品实际功能与开发目标产品实际性能与开发目标产品(计划)开发进度表阶段描述时间前期准备组长与助教商讨整个项目的实施计划11.6号之前完成项目开发计划书组长完成项目开发计划书并分发给小组成员11.6-11.8结构化设计与分析2个人组成一组进行结构化分析与设计,最终结果分发给小组成员进行审核11.9-11.15面向对象的分析与设计2个人一组进行面向对象的分析与设计,最终结果分发给小组成员进行审核11.16-11.22系统实现4人一组开始进行系统实现11.23-11.29测试2人一组进行系统测试并撰写测试报告11.30-12.6项目总结一名小组成员根据整个项目实施的过程以及遇到的问题进行总结,写成项目开发总结报告12.7-12.12产品(实际)开发进度表阶段描述完成时间(计划)前期准备组长与助教商讨整个项目的实施计划11.6号之前完成项目开发计划书组长完成项目开发计划书并分发给小组成员11/8(11.6-11.8)结构化设计与分析2个人组成一组进行结构化分析与设计,最终结果分发给小组成员进行审核11/4(11.9-11.15)面向对象的分析与设计2个人一组进行面向对象的分析与设计,最终结果分发给小组成员进行审核11/29(11.16-11.22)系统实现4人一组开始进行系统实现12/21(11.23-11.29)测试2人一组进行系统测试并撰写测试报告12/27(11.30-12.6)项目总结一名小组成员根据整个项目实施的过程以及遇到的问题进行总结,写成项目开发总结报告…(12.7-12.12)产品实际开发进度产品实际开发进度明显延迟,其主要原因有以下几点:1.对于期中考试和其他课程活动的估计不足:尽管在开发过程中适当调整了各个阶段的deadline,但是很多不可抗拒因素导致同学们无法专注于项目2.对于系统实现的估计不足:系统实现花费的时间将近一个月,这并不是同学们不努力的结果,初始的代码在一周之内就基本成型了,但是由于对于mysql的陌生造成了比较高的使用成本。不同代码层次之间的接口以及统一多平台开发的代码格式是导致系统实现的进度严重延迟的主要原因产品实际开发进度产品实际开发进度明显延迟,其主要原因有以下几点:3.项目小组第一次参与软件工程项目开发,团队配合的默契程度以及各自角色的熟悉程度较低,但是在整个项目开发的后半期,项目组成员间的互动明显增加,也使得项目开发进度得以提速4.一些不可抗拒因素:由于项目组成员较少,每个人都有不小的任务在身,再加之使用类似于流水线的开发规划,因此在开发过程中一些突发事件(如疾病等)导致的成员暂时退出会造成整个项目组开发进度停滞测试及项目开发评价测试目的:◦发现软件产品的错误和不合理的地方◦检查产品是否符合规范的要求◦找出软件运行预期结果与实际结果之间的差别测试工作内容:◦从用户角度体验软件产品的可用性,功能的有效性◦单元测试:用junit测试单元模块◦与编码组同学交流,提出建议,由编码组人员进行修改测试及项目开发评价测试方法:◦黑盒方面:根据产品使用说明书对软件产品进行体验,通过多组数据的测试,发现输出结果与预期结果的差距◦白盒方面:使用Junit框架对软件主要类的各个模块进行单元测试,通过对模块提供的接口的调用,在数据库中查看调用结果,与预期结果进行比较测试结果及分析:◦黑盒方面:某些功能与产品说明书不符,界面中某些按钮无效(已交由编码同学修正)◦白盒方面:各模块返回结果与预期结果基本一致测试及项目开发评价生产效率:出错率:错误原因分析:总结设计部分的重要性:为之后的开发实现服务,精确定位代码部分可以看做采用三层架构设计:表示层(UI)、业务逻辑层、数据访问层出现的问题:各个层之间的协调不够好,层之间相互依赖的部分没有及时沟通导致延缓完成进度通过测试发现了产品中某些错误及不合理的地方,交由编码同学修正后,某种程度上提高了软件产品的可用性——可以把测试和系统实现看做是相辅相成的两个部分Junit是一种比较方便易用的测试框架多平台开发之前统一编码格式(在统一编码格式上浪费了时间)总结项目开发的实际进度的严重延迟对于软件工程的要素的理解和掌握软件开发能力、实践能力和团队精神的大幅提高体会到团队中每个人的重要性和彼此互动的积极效果◦阅读其他成员的报告、代码、参考文档◦任务分工的精确性提高了每个人的重要性,但降低了团队的灵活性Q&A
本文标题:超市结算系统
链接地址:https://www.777doc.com/doc-1410128 .html