高级软件工程第八次作业:东理三剑客团队作业

团队的作业:图书管理系统

  • 队员学号:

    金安安(队长) 201810812003

    谢竟成     201810812002

    彭丽君     201810812010

1 Alpha版本测试报告
1.1 测试过程中发现的bug数

1.1.1 修复的bug

  1、检索图书,不能精准找到图书

  2、系统信息不能及时更新

  3、注册用户协议出错

  4、点击按钮时,提示信息出错

  5、注册信息的时候,转到的链接有误

1.1.2 不能重现的修复的bug

  有的时候按钮是灰的

1.1.3 By design的bug

  暂无

1.1.4 应该修复,但由于时间问题需要推迟到下一版本修复的bug

  1、系统信息不能及时更新

  2、注册用户协议出错

1.1.5 没有能力修复,将来也不打算修复的bug

  存储能力弱

1.2 场景测试

  用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。根据设计的基本流和备选流,设计测试用例,使用有错推断的测试方式,测试每一个备选流;

1.3 测试环境

  操作系统:装有Windows XP系统的PC机

  软件:MySQL

  开发工具:Eclipse

  环境:tomcat 6.0

  浏览器:ie6.0以上版本

1.4产品发布所满足的出口条件

  1、系统将数据库中的信息进行相应的操作:添加图书信息时,将新的图书信息保存在数据库中;修改图书信息时,将数据库中该图书的信息做相应的更新操作;删除图书信息时,则删除数据库中的相应图书记录。

  2、系统将数据库中的读者信息进行相应的操作:添加读者信息时,将新的读者信息保存在数据库中;修改读者信息时,将数据库中该读者的信息做相应的更新操作;删除读者信息时,则删除数据库中的相应读者记录。

  3、若有符合条件的读者信息,则系统显示读者信息。否则系统提示用户重新输入查询条件。

  4、 系统显示读者的借阅信息5、系统将借书记录保存到数据库

  5、系统删除数据库的借书记录6、数据库的密码能修改系统显示读者本人信息。

2,Alpha版本发布说明

2.1Alpha版本的所有功能

(1)登录(身份验证):

(2)总览功能模块

(3)学生管理模块

  总览用户信息

  添加用户

  增加用户的信息条目

(4)书籍管理模块

  总览图书信息

  添加书籍

(5)借阅

  借书操作

(6)归还

  归还书籍1

  归还书籍2

(7)退出系统

(8)读者的书籍查询入口

2.2对运行环境的要求

(1)终端硬件要求:

  中央处理器:300MHz或更高

  内存: 128MB

  显卡: Super VGA(800 x 600)或更高分辨率

  硬盘剩余空间: 1.5GB以上

(2)终端软件要求

  IE7以上版本的浏览器

  火狐浏览器

  谷歌浏览器

  猎豹浏览器

  360浏览器

(3)服务器硬件要求

  CPU:至强E3-1220 V5 四核四线程 主频3.0GHz

  内存:8G DDR3 ECC 最大支持:16根

  硬盘:500G SATA 3.5 7.2K最大支持:2块

  网卡:双10/100/1000M自适应

  电源:DELL 500W 电源

  带宽:15Mbps独享

(4)服务器软件要求

  Windows Server 2003

  Java jdk1.6

  My SQL数据库

2.3安装方法

  将服务器程序部署到服务器机上,设置号相应接口信息,部署数据库,即可在客户机浏览器通过访问地址+端口号访问服务器机。

2.4系统已知的问题和限制

(1)数据库层

  各表数据条目有待补充和完善

(2)处理层

  没有提供删除图书信息条目的方法;

  没有提供删除图书的方法;

  没有提供删除用户的方法;

  没有提供删除用户信息条目的方法。

(3)表现层

  部分操作提示不够明显,没有明显的图标指引或者文字指示;

  对IE浏览器的兼容性不足,在QQ浏览器上偶尔不稳定。

2.5软件的发布方式以及发布地址

(1)发布方式

  于coding.net开源发布

(2)发布地址

  https://git.coding.net/AnanKing/BookManageSystem.git

3 Alpha阶段个人总结

3.1金安安Alpha阶段个人总结

  在Alpha过程中,对我来说收获还是蛮大的,以前带领团队进行项目开发的时候,肯定没有现在这么规范,都是按照需求进行开发,然后开发途中问题不断,到了结束的时候发现前面有问题导致项目不能结束得从头到尾进行修改,时间成本很大,工作效率不高,造成很多资源浪费,这是淋淋的教训,通过这次团队项目的开发,让我更加清楚团队项目开发过程规范的重要性,也让我明白了团队项目开发过程中具有哪些步骤,并且知道在什么时候该做什么事,已经如何去做,并且要做到什么程度,也更加明白了团队开发项目的精髓,就是要多和队员进行沟通。而且我学会了更加标准、规范的团队分工方法,在本次团队分工中,本团队成员分工合作是利用团队成员自己擅长的地方进行分工,每个人做自己擅长的部分,如有都很擅长的,就随机选择一人进行开发;如有都不是很擅长的,根据队员的时间、精力以及学习能力等综合考虑再来安排一人进行开发。在此并学习到了一些经验,就是要多和队员们进行沟通,以便得知他们各自的优势,然后根据队员的具体情况,便好安排团队任务,可以使得团队任务正常进行,使得团队项目可以按照预计时间进行完成。

  在此次团队项目开发中,我学到的最重要的便是团队是如何进行项目管理,以前这方面我是很欠缺的,我学会了利用Coding进行项目管理,Coding的项目管理包含了任务、Wiki、文件等功能。支持多成员协作,并且深度集成了代码仓库的操作与状态。代码托管功能除了提供高性能远端Git仓库外,还支持代码审查、Bug跟踪和一键部署等功能。同时支持多平台协作,真正做到随时随地开发、协作与部署,很合适我们团队进行项目开发。

  当然对于团队之间是如何进行平衡时间/质量/资源,争取如期完成任务的,对我来说也是受益匪浅。在此次团队项目开发过程中,团队之间是如何平衡时间、质量、资源的,本团队所使用的方法是“二八定律”。在时间方面:80%的时间进行项目编写,20%的时间进行团队讨论,我们利用大家都有空闲的时间聚在一起进行讨论项目中遇到的问题以及困难,然后在一起进行解决,并且尽可能的团队在一起进行代码的编写;在质量方面:团队项目的个人部分质量用80%来保证,20%的个人部分质量保证用来进行团队保证;在资源方面:用80%来查找资源等,用20%进行团队内部资源共享。如此按照“二八定律”进行项目开发,严格按照之前制定Alpha计划进行开发,每天查看项目燃尽图,每天召开团队会议,进行总结昨天完成了什么、遇到了什么问题以及明天要做什么等等,以便项目可以如期进行。

  在做本次作业中,当然对自己的编程能力是一种锻炼,我以前编程能力较为欠缺,通过前面一系列的作业以及这次作业,对我的编程能力来说也是有一定的提高,特别是在思考问题过程中,自己思维能力的提升是最明显的,对问题的考虑也比以前更加细致,对题目中所能出现的问题也考虑的更加全面。此次项目也快接近尾声,但是自己学习的路途却才刚刚开始,不放弃不抛弃,学习永远在路上,越努力越幸运,好好学习,不辜负这研究生三年的学习生涯。

  再次完成能力评估表(和第二次作业时进行对比)

  上次能力评估表:语言、需求分析、项目管理、团队协作、理论素养这5部分对我个人来说比较重要,语言学了不下于10种,却没有一个精通的,简言之“多而不精”;需求分析方面,对软件所需要考虑的各方各面考虑的还不是很清楚,导致做出来的APP有很多bug,或者一些功能不尽人意;项目管理方面,带过好几个项目,最终都勉强完成,但是没有达到自己想要的结果;团队协作方面自认为还可以;理论素养还得继续加强。

  现在能力评估表:语言、需求分析、项目管理、团队协作、理论素养这5部分对现在的我来说,已经有了比较大的提高,语言方面,现在对java、python较为精通,和以前相比算是有个巨大的变化;需求分析方面,现在对项目需求的考虑更加全面仔细,对软件所需要考虑的各方各面考虑的都比较很清楚,这也是自己成长的一方面;项目管理方面,现在对项目管理方面有了质的量变,现在学会了利用Coding进行项目管理,Coding的项目管理包含了任务、Wiki、文件等功能。支持多成员协作,并且深度集成了代码仓库的操作与状态,代码托管功能除了提供高性能远端Git仓库外,还支持代码审查、Bug跟踪和一键部署等功能,同时支持多平台协作,真正做到随时随地开发、协作与部署,很合适我们团队进行项目开发;团队协作方面:现在也比以前有了明显的提高,理论素养也得到了相应的提高,但是还得继续加强。

3.2谢竟成Alpha阶段个人总结

  以下是完成该过程之后的一些感想。

  1,程序的健壮性极其重要,在任何情况下,都要保证程序的完整强健,程序在主界面接收非法数据后自动退出就很不合理,给用户的体验非常差。此外,数据之间设计成有关联的形式是很有必要的,这样可以避免很多错误,在这个程序中,如果不使用数据库,这一点完善起来非常困难,需要设计很多的检查方法,频繁查看文件也将大大影响程序的执行速度。

  2,数据之间的限制和逻辑关系时保证程序正确和健壮的重要因素,在测试当中由于人为原因,故意添加了很多错误的操作,由此导致的逻辑上的不合规矩,而程序又没有报错,如果将这些验证机制全部增加到程序之中或者将其扩充在今后的前端之中,将会使得代码非常复杂,无规则重复,难以调试和阅读,带来一连串的麻烦,于是,关系型数据库的重要性就得以体现,将数据存储组织成数据库是非常有必要的,是提升软件编写和运行效率,提高软件可靠性的关键。

  3,在前期的分析和设计当中,任何的错误或者不足将导致后期花费复杂的思路进行解决,做好分析设计远比编码更为重要,此外,前期工作还会影响到后期的测试组织和证明程序的易用可靠,我认为,设计是整个过程当中最为重要的环节。分析设计,更是测试和质量保证的重要依据。

  4,项目开发中,各种信息应尽量保存并对团队所有人公开,保证团队成员畅所欲言,及时反馈。这样做是因为这个项目中没有需要采取保护措施的部分。充分交流沟通,团队成员对正在开发的软件需要有经过讨论达成一致的目标,这样在分工和计划工作方面都有好处。各司其职,相互配合,相互协作(各成员的工作之间存在相互的渗透和依赖关系)。保持模块功能及模块之间相互配合的灵活,重视代码质量,对减少后期的返工现象极其重要。

  5,定期交流总结,及时吸取经验,这样做也能帮助团队注意到一些配合上的问题。

  在完成Alpha阶段任务后重新评估了自身能力,以下是结果和评分标准:

1、能力评估结果

 

2、评分标准

3.3彭丽君Alpha阶段个人总结

  在这次图书馆系统的开发中出错部分主要是由于数据库和网络方面。造成这种结果的原因是我们对以上两个部分的只是还不够熟悉,无法纯熟的使用有关它们的技术,还有就是大家合作的时间不是很长,没有很好的磨合,对每个模块进行测试的时候,文档的编写不太规范,造成可读性太差。

  在做测试的时候现象与原因所处的位置相距比较远,当纠正其他错误的时候,这一错误表现得现象有的时候暂时消失,但并未实际排除。有的错误是因为时序问题引起的,和处理过程却没有多大关系。此次测试过程用到了演绎排错法,就是从一般原理和前提出发,经过排查和精华过程推导出的结论的拍错方法,根据已有的测试用例,设想或枚举出所有可能出错的原因作为假设,再用原始测试数据或新测试,排除不正确的假设,最后,用测试数据检验剩余假设出错的原因。

  编程没有工程化的意识,没有严格按照概要设计说明书来指导自己的工作,造成写的代码出来后测试出现bug。

  这个作业我们每个人有每个人的明确分工,但是我们却没有经常交流下经验,信息没有及时反馈,没有保证模块与模块之间灵活的对接,从而造成有的时候写好了代码因为考虑的不周全又重新修改代码。

  这次作业得到了很多锻炼,最大的锻炼就是编程能力的锻炼,以前对java一窍不通,但由于这个项目,开始接触java,边学边运用,发现这方法比自己纯看书的效率高特别多,很多不懂的知识,一实际操作下就更容易理解了。其次是文档的编写能力,知道该怎么编写文档,让文档更规范,更有条理,代码的实现更不容易出错。

  通过此次作业,个人能力评估表如下:

 

4 Alpha版本展示博客

4.1团队简介等

4.1.1团队成员简介

  金安安:熟练掌握Java、C和C++语言,对Python略有掌握,对、PHP、JavaScript、HTML、CSS等也较为熟练,掌握Bootstrap、EasyUI等框架,对软件开发流程较为熟悉,有很好的领导能力,曾多次带领团队进行项目开发,曾参与各项科技竞赛,斩获多项佳绩,对书写文档较为擅长,富有责任心,工作积极主动,性格开朗,善于和团队进行沟通,具有良好的团队合作精神。

  谢竟成:精通C语言,熟悉JAVA轻量级开发,熟悉C++语言,软件开发基本流程,熟知软件测试中需要注意的问题类型,编程风格良好,擅长文档描述,作图规范,责任感强,具有良好的团队合作精神。

  彭丽君:较熟练的掌握C语言和C++语言,会使用UML软件绘制活动图,用例图等图,知道在VC环境下创建GUI界面,我个人对PM这个软工角色较感兴趣,做事认真负责,做事能持之以恒,具有很好的耐心,具有良好的团队合作精神。

4.1.2个人博客地址

  金安安:https://www.cnblogs.com/AnanKing/

  谢竟成:https://www.cnblogs.com/XieJingcheng/

  彭丽君:https://www.cnblogs.com/pljy/

4.1.3团队源码仓库地址

  团队源码仓库地址为:https://git.coding.net/AnanKing/BookManageSystem.git

4.2 团队目标等

4.2,1团队项目的目标

  希望本次系统可以正常使用并在学校推广

4.2.2.预期的典型用户

  学校图书馆管理员、工作人员以及本校在校学生

4.2.3预期的功能描述

  能预期实现开发之前定制的《需求规格说明书》

4.2.4预期的用户数量

  预期用户数量1000人

4.3团队产品如何满足用户需求

  发布的功能:添加书籍、删除书籍、查询书籍、更新书籍、用户注册、修改用户、查询用户、删除用户、借阅书籍、归还书籍等。

4.4团队在Alpha阶段完成了哪些目标

  项目进展顺利,燃尽图如下:

4.5团队的成员是如何分工协作的,有哪些经验

  团队成员分工合作是利用团队成员自己擅长的地方进行分工,每个人做自己擅长的部分,如有都很擅长的,就随机选择一人进行开发;如有都不是很擅长的,根据队员的时间、精力以及学习能力等综合考虑再来安排一人进行开发。

  至于经验,就是要多和队员们进行沟通,以便得知他们各自的优势,然后根据队员的具体情况,便好安排团队任务,可以使得团队任务正常进行,使得团队项目可以按照预计时间进行完成。

4.6团队是如何进行项目管理

  团队利用Coding进行项目管理,Coding的项目管理包含了任务、Wiki、文件等功能。支持多成员协作,并且深度集成了代码仓库的操作与状态。代码托管功能除了提供高性能远端Git仓库外,还支持代码审查、Bug跟踪和一键部署等功能。同时支持多平台协作,真正做到随时随地开发、协作与部署,很合适我们团队进行项目开发。

4.7团队如何平衡时间/质量/资源,争取如期完成任务的。

  团队之间是如何平衡时间、质量、资源的,本团队所使用的方法是“二八定律”。在时间方面:80%的时间进行项目编写,20%的时间进行团队讨论,我们利用大家都有空闲的时间聚在一起进行讨论项目中遇到的问题以及困难,然后在一起进行解决,并且尽可能的团队在一起进行代码的编写;在质量方面:团队项目的个人部分质量用80%来保证,20%的个人部分质量保证用来进行团队保证;在资源方面:用80%来查找资源等,用20%进行团队内部资源共享。如此按照“二八定律”进行项目开发,严格按照之前制定Alpha计划进行开发,每天查看项目燃尽图,每天召开团队会议,进行总结昨天完成了什么、遇到了什么问题以及明天要做什么等等,以便项目可以如期进行。

4.8在Beta阶段需要改进的方面,请给出下一阶段的展望。

  Beta阶段需要改进的方面:本项目的Beta版本相对于Alpha版应该已经有了很大的改进,消除了一些严重的错误,但还是依然存在着一些缺陷,所以我们需要经过大规模的发布测试来进一步消除。通过给图书馆的工作人员进行使用,让其测试使用,然后将结果反馈给我们,我们再针对用户的反馈进行有针对性的修改。下一阶段的展望便是清除系统的所有bug并成功推广使用。

转载于:https://www.cnblogs.com/AnanKing/p/10069595.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值