阅读构建之法有感

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

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

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

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

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

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

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

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

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

2nd 阅读构建之法有感的更多相关文章

  1. SE_Work1_阅读构建之法&项目管理实践

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:阅读<构建之法>并回答问题 个人博客作业 我在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作 ...

  2. 学习JAVAWEB第三十七天(读构建之法有感)

    读<构建之法>有感 我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活.读了 ...

  3. 阅读<构建之法>第三10、11、12章并提出问题

    <构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...

  4. 8th 对软件工程的理解(读构建之法有感)

    对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...

  5. 阅读<构建之法>第13、14、15、16、17章 与 《一个程序员的生命周期》读后感

    第十三章   软件测试 这一章介绍了很多关于测试的方法,比如说单元测试,代码覆盖率测试,构建验证测试,验收测试等,我有一个很纠结的问题,如果我开发软件,是把这么多测试全做完,还是挑一些测试来进行呢?如 ...

  6. 阅读<构建之法>10、11、12章

    第十章: 典型用户和场景对后面工作有什么帮助吗? 第十一章: 每日构建的目的是什么呢?有没有具体说明? 第十二章: 产品定位人群是否也局限了产品的可拓展性?

  7. 阅读<构建之法>第三10、11、12章

    第10章:典型用户和场景 阅读了第10章之后,我知道典型用户很重要,典型用户是某类群体的代表,他们的观点能够反映一类人的观点与对产品的要求,那么要怎么样才能够从一类群体里,选择正确的典型用户反映我们研 ...

  8. 阅读<构建之法>13、14、15、16、17章

    13章 这么多测试为什么不能整理出一个包括所有功能的测试呢?看着那么多测试都感觉奇怪了. 14章 怎样才能体现一个测试人员的工作价值呢?这样的判断又是否会太独断了? 15章 在时间上,会不会因不同功能 ...

  9. 阅读<构建之法>第10、11、12章

    第10章 典型用户和场景 10.2 规格说明书 10.3 功能驱动的设计 问题:怎样写好spec?功能驱动设计的功能设计阶段怎样实现一个具体的功能? 第11章 软件设计与实现 11.2开发阶段的日常管 ...

随机推荐

  1. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  2. 通过SSH服务登陆linux服务器(版本RHEL7)

    通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...

  3. Java ThreadLocal 源代码分析

    Java ThreadLocal 之前在写SSM项目的时候使用过一个叫PageHelper的插件 可以自动完成分页而不用手动写SQL limit 用起来大概是这样的 最开始的时候觉得很困惑,因为直接使 ...

  4. (补题 杭电 1008)Elevator

    Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  5. 自己写的一些Excel及WordVBA函数[原创]

    1.将Excel当前工作表另存至桌面 Excel中有时一个工作簿中工作表特别多,需要快速单独存取其中一个,可用以下代码快速存至桌面 Sub 另存工作表到桌面() Dim sh As Worksheet ...

  6. thinkphp查询:

    $Role=D('role'); //查询数据表 $role_data = $Role->order('role_id')->group('role_name')->select() ...

  7. oracle基础命令

    oracle使用步骤: 一.oracle安装 两个文件解压到同一文件夹,doc为说明/使用文档 二.oracle启动: 1.启动oracle:启动监听和自定义库 2.启动cmd->sqlplus ...

  8. 苏州Uber优步司机奖励政策(4月11日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  9. 优步UBER司机全国各地奖励政策汇总 (4月11日-4月17日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. GlusterFS学习之路(一)GlusterFS初识

    一.GlusterFS简介 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端 ...