软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目。于是这几天决定对《构建之法》一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中去。
团队模式
团队这一部分提到了软件团队的很多模式。我认为,就我们目前的团队项目而言,更合适的应该还是“交响乐团模式”和“功能团队模式”。
先说“交响乐团模式”(吐槽一下书上给交响乐团配的图真是错误百出,当然这不是重点,只是觉得应该还是要严谨一些),我自认对一个乐团还是非常了解,在一个乐团中,可能有数十种乐器,大家负责各自的部分,这也就是团队项目里的“分工”;但大家必须紧密配合,才能完成一个好的作品,这也就是所谓的“合作”;再就是大家需要严格遵守谱面上的内容,同时听从指挥的要求,指挥也要时刻注意乐团里各个声部的情况,并及时指出问题,这也就类似于一个团队项目中的“规则”以及“领导”。一个乐团演奏时,一定是遵循一定章法的,而我希望我们的团队也能够有一定的章法,只有这样,事情才能按照我们所希望的进行下去。
而“功能团队模式”更像是一个小组,当然我们这样也算是一个小组,没有管理和被管理的关系,小组内的成员平等协作、交流频繁,小组的目的就是去实现一个又一个的功能,这种方式对于我们学生的课程项目来说,应该也是适用的。
但是现在的问题是,我们目前的状况更像是前面提到的“一窝蜂模式”,由于我们团队是在安卓平台上开发app,不像网页端那样有比较明显的前端和后端界限,所以我们现在的分工就不是很明确,可能还是需要有相关开发经验的个人或团队来指导指导。
需求分析
软件开发者要学会需求捕捉,有的需求是用户提出来的,这个肯定要考虑,但有时用户不知道自己确切的需求,这就需要软件开发者设身处地地去为用户着想。就像现在手机上很多功能,我们没用过时,并不能想象出来,但是一旦用过了,就会觉得确实好用。
书上提到获取需求的方法有很多,不过我们大多数组采取的都是其中一种——调查问卷,调查问卷可以在短时间内收到较多反馈,但有几点需要注意,一是问题的定义要明确,二是修饰的形容词副词尽可能恰当具体, 三是题目设计对用户友好一些,这些我们上次设计问卷时也都有考虑。还可以采取的比较好的像“卡片分类”、“日志研究”等方式,在做进一步需求分析时可以采用。
还有很重要一点就是对功能分类,以及功能的优先级排序。我们团队讨论时,更多是感性上的认识。书中提出了两种分类方法,一是分为“杀手功能”和“外围功能”,二是分为“必要需求”和“辅助需求”,软件的重点应该放在杀手功能和必要需求的交集上,力求做的独特、做到精。就我们的日记app而言,这一部分应该重点放在情绪的记录统计与查看上。
开发时间
实际时间花费取决于估计时间以及做过类似开发工作的次数,这一点在之前的个人作业和结对作业中就很有体会,这些作业虽然都是采用c++编写,但是像结对作业这样的模式,还是第一次,缺乏经验,所以也花费了超出预期几倍的时间。
分而治之
最后一点就是“分而治之”,要学会分解任务,但是子任务要做到不重叠并且全部覆盖父级功能,就是说每个子任务要是互斥的,但他们并起来应该等于我们所需要的全部功能,这个能让我们的进度更容易量化,是非常重要的。
软工读书笔记 week 7 ——《构建之法》的更多相关文章
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 软工读书笔记 week 8 —— 《疯狂的程序员》
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下. 程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀. ...
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...
- 软工读书笔记 week 1
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- 软工个人阅读作业2 —— 构建之法与CI/CD
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...
- 软工读书笔记 week 6 ——《疯狂的程序员》Part 1
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 软工读书笔记 week2
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
随机推荐
- 安卓开发——ListView控件(初始化ListView、列表刷新、长按添加menu)
前言: ListView——列表,它作为一个非常重要的显示方式,不管是在Web中还是移动平台中,都是一个非常好的.不开或缺的展示信息的工具.在Android中,ListView控件接管了这一重担,在大 ...
- h5 端图片上传
1.upload.js (function($) { $.extend($.fn, { images : new Array(), initImages:function (images) { $.e ...
- 解决waveInOpen录音编译x64程序出错的问题
1.之前也碰到过x86程序升级为x64程序,关键点是类型大小的使用. 之前同事碰到过一个用int表示指针的程序,程序改为x64会出错,找原因找了半天. 2.今天我也碰到了,使用aveInOpen录音, ...
- PHP 修改目录下所有与文件夹重名的前缀文件为index.后缀
<?phpset_time_limit(0); function traverse($path = '.' , $dir_name='') { $current_dir = opendir($p ...
- 【jQuery源码】DOM Ready
一直以来,各种JS最佳实践都会告诉我们,将JS放在HTML的最后,即</body>之前,理由就是:JS会阻塞下载,而且,在JS中很有可能有对DOM的操作,放在HTML的最后,可以尽可能的保 ...
- Pyltp使用
1.先使用pip安装pyltp-0.2.1-cp36-cp36m-win_amd64.whl 2.再参考API文档进行具体的使用:http://pyltp.readthedocs.io/zh_CN/d ...
- 全局描述符表(GDT)——《x86汇编语言:从实模式到保护模式》读书笔记09
在进入保护模式之前,我们先要学习一些基础知识.今天我们看一下全局描述符表(Global Descriptor Table, 简称GDT). 同实模式一样,在保护模式下,对内存的访问仍然使用段地址加偏移 ...
- 面试题42:计算逆波兰表达式(RPN)
这是一个比较简单的题目,借助栈可以轻松实现逆波兰表达式. 题目描述: Evaluate the value of an arithmetic expression in Reverse Polish ...
- EF Core 实现多租户
目录 SAAS 和多租户 多租户数据隔离方案 使用 EF Core 简单实现多租户 单数据库实现 多数据库实现 源代码 参考 SAAS 和多租户 SaaS(软件及服务)区别于其他应用程序的主要特征就是 ...
- Ruby中Time的常用函数
Time的常用函数 时间对象. Time.now返回当前时间. 1.Time.at Time.at(time[, usec]) 返回time所指时间的Time对象. time可以是Time对象,也 ...