2nd 阅读构建之法有感

阅读构建之法有感

 

     利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域。它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件工程,软件工程要做什么,它要达到的目标是什么?

     笔者站在一个从业者的角度,以其对软件发展无比的热情,去指导学校中未曾有实践经历的在校学生,或是已有工作经验的社会人员实现软件工程的真正有效流程。该书将软件工程的各个步骤进行分章节讲述,叙述清晰,脉络清楚,向我们大家讲述笔者多年对软件开发的心得体会,同时邀请广大的同学积极参与进来,一同探讨软件工程这一学科。

     对于笔者的软件工程理念,我感到耳目一新,这是一场以实际经验为基础的勇敢实践。作者的能力值得我钦佩,这本书也值得学习。

     在阅读的过程中,我对其中的部分内容表示疑惑,因此提出以下几点问题,和大家一起探讨:

      1、书中说很多非常成功的软件都是赢在用户体验,后面的第12章也专门提到了用户体验,说软件开发时可以使用5W1H的方法来判断用户的体验,而需求分析需要获取用户需求,进行用户调研,那么用户体验与需求分析又有什么区别呢?为什么二者要但单拿出来作为两个步骤?

      2、在需求分析一章中,提到要在软件产品的生命周期中管理需求,那么当一款软件开发出来,是否能够根据一定的指标来判断软件的生命周期长短?在整个软件生命周期中又需要做那些工作来延长软件的生命周期(管理需求除外)?

      3、书中提到两人合作时,以跳舞作为类比,提出了5个阶段,然而结对的合作编程真的是只有这样的5个过程而已吗?我感觉两个人合作编程的磨合其实是一个长久的过程,一个暂时性的组合,几乎不可能达到真正意义上的默契,而且同时在不断了解对方、认识对方的同时还要进行合作完成任务,我感觉两人合作完成一个暂时性任务应该是从矛盾——磨合——合作三者中间一个循环往复,并且不断发现自身与伙伴之间的矛盾,不断完善的一个过程。

      4、书中对团队和流程的介绍中,谈及何为团队、团队的分类,以及团队的开发流程,但却不曾提及如何进行团队分工?但在我看来,团队合作的分工是一个很慎重的问题,如果分工不合理,后续的任务就会一塌糊涂,这个程序陷入瘫痪状态,这显然不是我们所期望的。所以,当一个团队已经组建成功且确定了选题,如何分工会让我们的合作效率最高呢?

      5、书中介绍了敏捷编程,讲述了敏捷编程的原则等一系列的问题,但敏捷流程相比于传统编程又有什么优势呢?为什么我们要选择敏捷编程去实现软件开发呢?

原文地址:https://www.cnblogs.com/landscape/p/5874027.html