这次我要写的读书笔记是关于《现代软件工程》的第5.5章、第6章以及第7章的内容的。
在5.5章中,我接触到了一系列的软件开发流程,例如:写了再改模式、瀑布模型、瀑布模型的各种变形、Rational统一流程以及老板驱动的流程等等。每一种软件开发流程都有它的优点跟缺点。最让我印象深刻的就是螺旋模型,该模型综合了瀑布模型跟原型模型为一体,从不同层次上解决了用户们的不同的需求。但不同的模型都有它的优缺点,我们应该如何正确地去运用它呢?
第6章讲的是敏捷的开发流程,教会我们的就是怎么以愈来愈快的做法去更好的开发软件。在开发的过程中,我们会遇到很多问题,所以我们要不断地进行自我总结。第6.3中说,开发软件一共有4步敏捷流程。第一步是各个需求和任务之间是有种种复杂的依赖关系的,我们应该弄懂怎么在计划中体现依赖关系,也就是所谓的互相的依赖关系;第二步要学会把一个任务从产品层级的描述逐步细化到技术实现层面,是很需要技术能力和交流能力的,我们要在实践中学会根据我们每个人的能力分配给每个人不同的任务已保证能够取得更高的效率;第三步是每时每刻确定好自己的任务,一个坚定的目标,犹如一盏指路明灯,有了它,才能顺利地完成每一项任务;第三步半,是一项长期任务,更是一个冲刺阶段,在这个时候,我们要不断地修复软件中的bug,学会如何测试,是检验一个程序员是否优秀的唯一标准,在这个过程中,我们可以不断完善自己的程序,改进原来的计划,从而制作出更好的软件。第四步讲的是验证增量的软件发布,那么问题来了,如果在冲刺的时候发现了新问题,改进了原来的计划,这是好事还是坏事呢?答案因人而异!
第7章的内容是关于MSF。MSF(Microsoft Solution Framework,MSF),微软解决方案框架,其实也是一个方法论,是一个微软推荐做软件的方法。随着信息时代的高速发展,MSF也具有它的基本原则:1.推动信息共享与沟通;2.为共同的远景工作;3.充分授权的信任;4.各司其职,对项目共同负责;5.交付增量的价值;6.保持敏捷,预期和适应变化;7.投资质量;8.学习所有的经验;9.与顾客合作。这些原则教会我们要怎样高效率地去做一个软件。同时,我们也要结合MSF团队模型与MSF过程模型,从不同的层面上发现软件隐藏的问题,然后修复不同的bug,把瀑布模型与螺旋模型相结合——把瀑布模型中基于里程碑的规模优势与螺旋模型中的增量迭代的长处结合了起来。读完了这一章,我熟悉了MSF的科学内涵,但还有一点不是很明白就是,我们作为一个软件工程师,今后在就业过程,上司们考验的是我们的实战经验,但作为一个初出茅庐的大学生,还有太多的缺点跟不足,我们应当如何打破这种窘境呢?
每一次读书,每一次思考,每一次解惑,都是生命的每一次成长,愿我们在今后的路程中愈挫愈勇!