总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目。于是这几天决定对《构建之法》一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中去。

       团队模式

团队这一部分提到了软件团队的很多模式。我认为,就我们目前的团队项目而言,更合适的应该还是“交响乐团模式”和“功能团队模式”。

先说“交响乐团模式”(吐槽一下书上给交响乐团配的图真是错误百出,当然这不是重点,只是觉得应该还是要严谨一些),我自认对一个乐团还是非常了解,在一个乐团中,可能有数十种乐器,大家负责各自的部分,这也就是团队项目里的“分工”;但大家必须紧密配合,才能完成一个好的作品,这也就是所谓的“合作”;再就是大家需要严格遵守谱面上的内容,同时听从指挥的要求,指挥也要时刻注意乐团里各个声部的情况,并及时指出问题,这也就类似于一个团队项目中的“规则”以及“领导”。一个乐团演奏时,一定是遵循一定章法的,而我希望我们的团队也能够有一定的章法,只有这样,事情才能按照我们所希望的进行下去。

而“功能团队模式”更像是一个小组,当然我们这样也算是一个小组,没有管理和被管理的关系,小组内的成员平等协作交流频繁,小组的目的就是去实现一个又一个的功能,这种方式对于我们学生的课程项目来说,应该也是适用的。

但是现在的问题是,我们目前的状况更像是前面提到的“一窝蜂模式”,由于我们团队是在安卓平台上开发app,不像网页端那样有比较明显的前端和后端界限,所以我们现在的分工就不是很明确,可能还是需要有相关开发经验的个人或团队来指导指导。

       需求分析

软件开发者要学会需求捕捉,有的需求是用户提出来的,这个肯定要考虑,但有时用户不知道自己确切的需求,这就需要软件开发者设身处地地去为用户着想。就像现在手机上很多功能,我们没用过时,并不能想象出来,但是一旦用过了,就会觉得确实好用。

书上提到获取需求的方法有很多,不过我们大多数组采取的都是其中一种——调查问卷,调查问卷可以在短时间内收到较多反馈,但有几点需要注意,一是问题的定义要明确,二是修饰的形容词副词尽可能恰当具体, 三是题目设计对用户友好一些,这些我们上次设计问卷时也都有考虑。还可以采取的比较好的像“卡片分类”、“日志研究”等方式,在做进一步需求分析时可以采用。

还有很重要一点就是对功能分类,以及功能的优先级排序。我们团队讨论时,更多是感性上的认识。书中提出了两种分类方法,一是分为“杀手功能”和“外围功能”,二是分为“必要需求”和“辅助需求”,软件的重点应该放在杀手功能和必要需求的交集上,力求做的独特、做到精。就我们的日记app而言,这一部分应该重点放在情绪的记录统计与查看上。

 开发时间

实际时间花费取决于估计时间以及做过类似开发工作的次数,这一点在之前的个人作业和结对作业中就很有体会,这些作业虽然都是采用c++编写,但是像结对作业这样的模式,还是第一次,缺乏经验,所以也花费了超出预期几倍的时间。

 分而治之

最后一点就是“分而治之”,要学会分解任务,但是子任务要做到不重叠并且全部覆盖父级功能,就是说每个子任务要是互斥的,但他们并起来应该等于我们所需要的全部功能,这个能让我们的进度更容易量化,是非常重要的。

软工读书笔记 week 7 ——《构建之法》的更多相关文章

  1. 软工读书笔记 week 9 ——《构建之法》

    软工读书笔记  week 9                 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...

  2. 软工读书笔记 week 5 ——《构建之法》

    本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...

  3. 软工读书笔记 week 8 —— 《疯狂的程序员》

    这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下.      程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀. ...

  4. 软工读书笔记 week4 ——《黑客与画家》下

    因为时间有限,只对书中后半部分几个篇章进行了阅读.        一.另一条路       作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...

  5. 软工读书笔记 week 1

    这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...

  6. 软工个人阅读作业2 —— 构建之法与CI/CD

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...

  7. 软工读书笔记 week 6 ——《疯狂的程序员》Part 1

    这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录 ...

  8. 软工读书笔记 week3 (《黑客与画家》上)

    一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...

  9. 软工读书笔记 week2

    <程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...

随机推荐

  1. python基础笔记之注释三种方法

    ---恢复内容开始--- 1,,单行注释  用# 2,多行注释 用 “”” dddd""" 3,较长行虽然分行写但是只是注释,最终显示为一行:用 \ ---恢复内容结束- ...

  2. [转]ASP.NET MVC 4 最佳实践宝典

    原文:http://www.cnblogs.com/sonykings/archive/2013/05/30/3107531.html ASP.NET MVC最佳实践 本文档提供了一套旨在帮助创建最佳 ...

  3. 【链表】Linked List Cycle II

    题目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...

  4. 【数组】Product of Array Except Self

    题目: iven an array of n integers where n > 1, nums, return an array output such that output[i] is ...

  5. java8时间类

    java8引入了一套全新的时间日期API 新的时间及日期API位于java.time中java.time包中的是类是不可变且线程安全的. 下面是一些关键类 LocalDateTime       // ...

  6. JavaScript位移运算多个大于号的使用方法

    JavaScript中的无符号位移运算符是用三个大于号来表示的 计算方法 例 100>>>2 100的二进制是 01100100 向右移2位后为 00011001 最后结果为25 1 ...

  7. tomcat启动(五)Catalina分析-service.init

    上篇写到StandardService.init() 这个方法做什么呢?一起来看看. 这个类也是实现了Lifecycle 如图.这个图中i表示Interface接口.如Lifecycle,Contai ...

  8. centos6 free 和 centos 7的free 的差异与对比

    目录 一 centos6 free 常用参数和含义 centos6 free 命令示例 free 值讲解 计算公式 二 centos7 free 常用的参数 centos7 free 命令示例 计算公 ...

  9. Java代码实现单例模式

    public class Single { /*private static final Single single=new Single(); private Single(){} public s ...

  10. Linux时间命令

    Linux一般有系统时间和硬件时间之分,date命令是显示和操作系统时间:hwclock用来操作硬件时间(日期).日期和时间很重要,比如错误的日期和时间会导致你不能编译程序. 1 date 用法:   ...