一学期终于结束,这是紧张、充实的一学期。前八周我们上了java语言,学习了java的基本语法,可以用java语言针对文件的读取、写入、删除进行一些简单代码的开发。后八周,我们上了软件工程概论课,本来这是一门理论课,但针对现在大学中同学们普遍忽视理论教学,对纯理论的学习情况较差,老师延续了学习java语言的方法,采用“做中学”的方式来教学。将原本一学期的可压缩在8周内上完,的确增加了很多压力,在时间上需要有更好的把控能力。每一周我们都要不定期发布博客,写阅读笔记。结合每一周的课堂测试,我们会做一些类似微软等公司的面试题,来锻炼思维逻辑能力。这门课的结课要求是以团队为单位进行一个项目的开发,可以是网页、app、微信小程序等,具体形式不限。我们团队再考虑到学生日常生活学习的需求后,决定开发一款针对校园失物招领和教室查询的微信小程序(网页端不方便使用)。在这门课之前,我们并没有学习过相关的数据库知识,在课程的前期,我们通过简单的培训和自主学习,学习了数据库的增删改查,而在我们开发微信小程序的过程中,用到了另一种数据库,Bmob,基本使用方法与SQL、MYsql相似。制作这款程序的过程中,我最大的体会就是如何寻找有效的解决办法。首先在编写之前,尤其是页面的结构,必须先有一个整体的设计,在这个设计的基础上再去寻找多个模板,根据自己的需要,借鉴模板来编写。在进行具体功能的实现时,经常会有一些函数不会写,这时候可以只针对这一函数到网上进行相关的查找。编写代码时,一定要注意语句的规范性,工整性,尤其是在循环嵌套时,{}的对其就十分重要,嵌套一多,{}就容易对不上。
在程序开发的整个流程中,我们也是按照规范的开发流程来进行的,这样很好地练习了课堂上所讲授的知识。首先我们进行了需求分析,确定了我们的用户和软件具体的功能。在此基础上,我们进行了两次Scrum冲刺,每次为期一周,在每一次冲刺中,我们需要每天进行站立会议,制定任务目标并进行总结,绘制任务看板和燃尽图,每一次冲刺结束后要对团队的每一个人进行绩效评估。在软件开发过程中一定要注意良好的交互设计,主要有四点:从头到尾记住用户的选择,不让用户犯简单错误,短期刺激和长期效果的好处坏处,从用户的角度考虑,这直接决定了用户体验,能不能吸引用户也主要看这个。在开发末尾阶段,要进行软件的测试,主要是效能测试,还对bug进行修复,编写错误报告。通过这次开发,我已经熟悉了基本的开发流程,能够开发一些简单的程序,我想“做中学”的方法使得这门课让人受益良多。通过这门课的学习,我还深有体会的一点是,做软件并不意味着只需要会写代码,有大量的时间会用来写各种文档,这是十分重要的,也是我们普遍不够看重的。
接下来是对这门课的任课老师的意见:第一,我十分支持“做中学”的叫教学方式,只有这让才能在提高技能的同时学会在工作岗位上需要做的工作,使开发更加规范。但是,采用“做中学”,需要进行定期或不定期的检查,我觉得这门课检查的并不够,老师如果时间紧张的话,可以将小组与大三的学生进行绑定,让他们进行检查,并给出反馈意见。小组中的每个成员在检查时应该单独汇报自己任务的完成情况,最后不进团队要进行绩效评估,检查的人也要对每个人进行打分,将两者结合,应该可以起到一定的督促作用。第二,有一点不好的是,我们的任务量加上别的学科已经占用了不少时间,所以希望老师在考试周的时候不要留那么多任务,给我们充足的复习时间,可以将最后的作业提前布置,整个开发时间也可以提前,最后的考试也可以提前,这样每一门学科都相对不耽误。第三,在开发过程中,希望老师可以抽时间讲一下开发时的基本体系和结构,需要什么样的目录形式,比如在连接数据库时。以上就是我的几点建议,希望老师看后能有所帮助。