一、M1、M2两阶段总结
也是才知道还有一篇个人作业没写,刚忙完编译大作业就来博客了,原谅我如此耿直。不知不觉就期末了,回首间才发现已经经历一学期软件工程的锻炼,说来惭愧,软工课也是星星点点翘过几节,在后半学期各种忙数据库编译什么的,其实真正花在软工上的时间和精力并不是很多了,不过老师还是十分体谅,也没有给我们太多压力,十分感谢~ 本学期软件工程课程设计分两个阶段,M1阶段是选题定题初步设计塑成雏形,M2阶段则是对半成品的进一步加工和完善。我们echo团队本学期软工课题为自选题,从确定题目到确立分工到动手写代码得到初步成果,整个M1阶段凝聚了我们每个队员的汗水,难度适中的选题提供了实现的可行性,明确合理的分工保证了有条不紊的项目进度,自主与协作的作业方式促进了团队实力的提升。当然期间碰到许多困难,初次接触安卓开发的我们还是比较生疏,虽然花了大量的时间去学习,但是效果并不如想象中那么好,例如悬浮窗设计模块虽然有现成代码,但是阅读代码和链接使用的过程没少费事。项目进行采用分工机制,既然是分工最终又要合并工作结果,那么一套完整的代码规范就很有存在的必要性,所以我们制定了一套代码标准,这样有力的解决了代码整合问题。整个M1阶段是最辛苦的阶段,但是面对困难大家没有退却,而是凝聚成一个团队去尝试和克服,当中期答辩我们的记事本亮相在大家面前时,我们拥有更多的是欣喜和感动!
要想做成一个好的app,必须将界面和功能考虑在内,所以M2阶段我们的主要工作是对MI阶段的成果进行加工和完善,具体包括添加一些功能,比如在M2阶段我们在快捷记事本中加入了语音记录以及图片记录功能,并且在menu中添加了”关于“界面用于说明软件的相关信息以及用户的返回形式,在界面美化方面我们也做了整体的修改。期间也遇到不少困难,比如M2阶段我还想在app中加入图案解锁功能,已经找到了现成的代码,需要做的只是衔接到我们的app活动中,但是移植过程由于编码问题尝试了几次都成功,最后还是决定放弃了。
整个M1M2过程虽然耗费了许多的时间和精力,但是当最终成果展现在我们面前时,所有的付出都是值得的,所有的汗水都换做了今天的喜悦和感动~
二、连接到以前提问题的博客
http://www.cnblogs.com/metto/p/4021342.html
http://www.cnblogs.com/metto/p/4092042.html
经过一学期的学习和实践,明白了如何去安排项目进度以及制定计划的重要性。第一次结对作业,从最初的确定分工到制定计划到完成项目我学到了好东西,除了相关技术的掌握更多的是项目开发的相关理念,在一个项目中起初的项目计划尤为重要,良好的开端和精心的计划是成功的保障,在今后的学习和生活中,遇到问题我们应该尽量制定计划,这样必然事半功倍~
三、回顾书籍体会
和其他老师不同,罗杰老师在教学中更多的鼓励我们阅读书籍,老师所推荐的书籍对于学习软件工程大有裨益,初次阅读相关书籍和文档时,只是肤浅的从字面意思上了解到相关意义,但是实践出真知,经过一学期软件工程课的实践与锻炼后,现在回顾那些经典书籍则是心底的共鸣。经历过结对项目开发后,对《移山之道》有了更深的感悟,了解到了PM作为团队核心的重要性,此次团队项目我们在开始作业前进行了明确的分工,由于我们开发的是记事本手机APP,所以分工时大家负责编写不同模块的代码,其中包括文字编辑,词条搜索,标签陈列等都是由不同人负责完成的,但是最后所有的分模块由PM整合,编写局部模块无需考虑太多,但是将不同人的不同模块组织整合起来就不是一件复杂的事了,所以PM的组织领导能力以及代码功底就尤为重要,而我们团队中PM就很好的完成了这些任务,在此献上由衷的敬意~
四、做中学
需求阶段:合理准确的需求分析是开展工作的基石,还记得自主选题的时候我们各抒己见,还有考虑过做一个手机小游戏,但是最终还是确定为做手机记事本软件。现在回头想想,如果当时确定做小游戏,可能根本不能达到预期效果,更不能从用户需求上发掘到它的用处,而现在我们做的手机记事本就是从需求分析出发的良作。
设计阶段:设计阶段是项目的重要组成部分,我们当时也是组织了一次团队会议,大家集中讨论和确定了项目主要成分以及实现后应该具有的功能,为后续工作奠定了基础。
实现阶段:实现阶段是最能锻炼能力的阶段,零起点接触安卓开发,我们各自负责想一个模块,开始花大量时间学习相关语言,期间遇到不少问题,每一次问题的解决都是知识的获取和能力的提升。
测试阶段:测试阶段保证了软件发布的质量,经过测试可以有效的发现和改良程序中存在的错误和瑕疵。而且测试阶段锻炼了我们阅读代码和debug的能力。
发布阶段:发布阶段是最轻松和愉快的阶段,看着满载着自己汗水和心血的成果出现在豌豆荚等app商店平台上,很开心!初次接触软件发布,知道了软件发布的流程,对今后的软件设计和开发很有帮助。
维护阶段:由于手机平台和软件自身运行的因素,可能陆续出现某些bug,将软件发布后并不意味着作为开发者我们的责任就结束了,发布后我们还需不定期的对软件进行维护。我们的记事本就出现了别人手机上由于系统问题有些功能不能实现,就此现象我们根据用户反馈有进行了完善。所以维护过程也很大的锻炼了我们的代码能力。