项目开发总结分为两部分,第一部分是在实践过程中对于复杂软工项目的认识和理解,第二部分是开发的感想和体会。
复杂软件问题工程实践的认识和理解
复杂软工问题涉及前期的系统架构设计,人员分工,迭代开发,测试,后期维护等等过程。每一步都需要为之后的工作做好铺垫。
在系统架构设计过程中,我们前期就定位了网页版的主办方管理端,用户使用的微信小程序端和弹幕墙展示的qt程序端,对于使用的框架,数据库,接口设计,数据库设计等都做了细致的讨论,确保任务的可行性。统一的接口规范也使得“三端”可以并行开发,分工更明确清晰。
迭代开发过程会在感想中更多地提及。总结成一句话就是从完成大作业和产品上线中真的有很大的差距。开发后期,我们都在进行严格地测试和小程序产品的细节调整。不过也正是因为这个过程,我们最后展示出的产品经受住了现场答辩的考验。
测试过程也是印象非常深刻的一个环节。在项目中期,我们开始进行单元测试。当时,我同时负责小程序的开发和主办方网页端的单元测试脚本编写。但是我在写代码的过程中发现对于主办方端的数据库字段,接口的返回信息不够明确,需要反复地查阅接口和数据库设计文档,阅读网页端的代码,非常地耗时耗力。后来,在刘强老师的课堂上对测试有了更深入的理解,了解单元测试是由谁开发由谁进行的。后来就安排写代码的同学同时写测试,这样单元测试可以更加充分,编写效率也提升很多。
关于后期维护,虽然项目已经比较完善,小程序也已经发布上线,但是仍希望后期进行一些功能扩展,比如支持gif发送,建立会员制度等等。对于小程序代码,尤其是请求,也会做进一步的封装,优化事件处理。
开发过程中的感想体会
开发项目的过程让我印象最深刻的两点就是写完大作业和产品上线之间的差距,以及团队协作的重要性。
软工项目不仅仅是代码和文档的书写。从一开始的需求获取与产品定位,用户故事撰写,界面原型设计,到代码的不断迭代,测试的不断完善,状态图,活动图等图的绘制,再到最后的功能测试,产品交付上线。每个阶段都是非常重要,对之后的开发有很大影响的。在这个过程中,非常深刻地意识到了软件工程的复杂性。
我在团队中负责微信小程序的开发。开始的时候认为技术难度不高,可以较快完成,但事实上每周都花了近10个小时进行开发迭代。一是因为后期调整了功能,去掉了抽奖界面,加了一些辅助功能,比如匿名、意见反馈等等。二是总想着这个项目是要面向学生节全体观众使用,所以一遍遍的检查修bug。我们在不同机型,不同调试库,不同版本的微信上进行调试,耗费了大量的时间和精力。项目的每次汇报,通过同学的反馈,我们也发现并修复了很多隐藏bug。从代码完成到最终申请小程序上线,也是非常辛苦的一步。当然,小程序也有遗憾的地方,比如想申请企业号,开发小程序的付费打赏和成为会员的功能,以及实现提供小程序自带的gif表情包等等。以后可以逐步完善。
此外,认识很深刻的一点是独立开发和团队开发的不同。我们组每周都会进行线上或线下的会议。在讨论最开始,我们就进行了接口规范的规定和数据库的设计,这极大地方便了后面的开发过程。期间,我就小程序接口的调整问题,小程序页面布局,逻辑跳转等很多次地和队友交流。双方各执自己的意见的情况很常见,但是通过交流也都很好的解决了。后期进行功能测试,队友们严苛而耐心的。我负责的是主办方网页的功能测试,从用户使用者的角度,想出各种情况下的运行可能,发现了很多bug,以及用户友好性上的不足。
通过这个项目,我更加了解软工开发的完整过程。感谢优秀耐心的队友,给我提供了很多idea和指导。希望后期能把“弹幕弹幕”维护好,也希望今后能够参与更多的项目也能像软工3项目一样尽心尽责。
网友评论