个人总结

    期末将至,转眼间我们的软件工程课就要结束了,身为助教的我感受颇多,下面我经总结一下我的工作经历和认识。《软件工程》课程强调概念和知识的理解和掌握,侧重软件项目的分析、设计、实现和维护的基本技能。比较注意“点”和“面”的结合。是一门理论性较强的学科。对于理论性太强的学科,把握起来真的很困难。书上列举很很多不错的例子,本书既可以当有趣的故事书来读,又可以当教科书来用,由此可见编者的水平有多高啊!我们这门课的老师水平也很高,我对他的印象真的很好,这是一位好老师,也是一位负责的老师。最近听一个学长说他软件工程去年没怎么学,现在答辩文档的组织能力和代码的规范都不合格,他很是为此发愁,因此更要要好好学习这门课程。身为一名助教,眼看这学期一晃就要过去了,总感觉什么东西也没学到。不过我还是过的很充实的,因为我每周都会完成老师布置我的任务,同时还兼职为同学们批改作业,同学们作业的总体来说还是不错的,总有这么一部分同学的作业让人叹为观止,不管是从作业内容还是从作业认真程度来看,这部分同学的作业是非常优秀的,让我学习到很多新的知识,就这样,伴着让自己忙碌的事情,我这学期的助教工作就要结束了,在这里我首先要感谢老师给了我这次当助教的机会,让我得到了锻炼,积累了经验,其次,还要感谢同学们积极配合我的工作,能及时完成作业并提交,让我们助教们节省了不少宝贵的时间。在这里我还有以下几点建议给同学们。

 

对同学们建议:

    在我们以后的工作中,我们要充分认识到软件工程这门课对我们的重要性,在做项目时做好做到以下几点:

1、要有清晰的产品模型规划

    在开始开发前,一定要想清楚,需要开发的这个项目到底是一个什么样的东西,它的功能应该包括什么,其中哪些是主逻辑部分功能,哪些是拓展功能,你做出来的软件需要让什么人去用。我们组在对软件工程团队项目开发过程中在这个问题上吃了大亏。由于一开始在选题时候我们简单地想着做一个代码众包平台。并没有仔细地去考虑到底要做成什么样子的,核心功能逻辑是哪些,功能亮点有什么,这导致我们在项目进行中遇到了很多很多问题,甚至在中期检查后对整个项目的功能进行了一次很大的增删,这导致我们的项目结构变得混乱。由于功能大改,导致原有的项目框架也随之改变,之前很多代码直接变成了无效代码,开发成本增大,开发效率一下变低。因此我觉得一个好的大型项目一定要在开发前想清楚要做的产品到底是一个什么样的产品。可以不需要想清楚每一个细节,但是涉及软件核心的逻辑与功能必须想清楚,否则,后患无穷。

2、实行严格的产品控制

    在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价,但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,显然不能硬性禁止客户提出改变需求的要求,而只能依靠科学的产品控制技术来顺应这种要求。
    也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制,一切有关修改软件的建议,特别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实修改。绝对不能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改。
3、采用现代程序设计技术
    从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。60年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。以后又进一步发展出各种结构分析(SA)与结构设计(SD)技术。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。