软工读书笔记 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
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
随机推荐
- 解析ASP.NET Mvc开发之查询数据实例 分类: ASP.NET 2014-01-02 01:27 5788人阅读 评论(3) 收藏
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 ----------------------------------------------- ...
- django项目的生产环境部署,利用nginx+uwsgi
1.坏境准备 centos6.5 django项目 python坏境(python3.6,) 所需的各种模块(django,uwsgi,sqlite3)具体看坏境 我的测试django项目的数据库用的 ...
- tomcat与jboss等容器的区别
1.JBoss 是 J2EE 应用服务器,而 Tomcat 只是一个 Servlet 容器,或者说是一个简单的 J2EE 应用服务器. JBoss 中的 Servlet 容器还是 Tomcat. 与 ...
- spring cloud连载第三篇之Spring Cloud Netflix
1. Service Discovery: Eureka Server(服务发现:eureka服务器) 1.1 依赖 <dependency> <groupId>org.spr ...
- Python WSGI接口
WSGI(Web Server Gateway Interface 或 Python Web Server Gateway Interface ),是为 Python 语言定义的 Web 服务器与 W ...
- T-sql 编程
---------------------------T-SQL编程--------------------------1.声明变量--declare @name nvarchar(50)--decl ...
- Java基础教程(18)--继承
一.继承的概念 继承是面向对象中一个非常重要的概念,使用继承可以从逻辑和层次上更好地组织代码,大大提高代码的复用性.在Java中,继承可以使得子类具有父类的属性和方法或者重新定义.追加属性和方法. ...
- Java基础教程(9)--流程控制
一.分支结构 1.if语句 if语句会与其后的第一条语句或代码块结合,且只有当判断条件为true时才执行语句或代码块.例如,自行车只有在运动的时候才可以减速,就像下面这样: void applyB ...
- 【原】公司P2P平台的功能拆分
银行回调:由原来写在PC门户项目中拆分开来,作为一个专门处理回调的项目,配置多个数据源,实时写入数据库. 定时回查:由原来写在PC后台管理项目中拆分开来,作为一个专门回查银行网关的项目. 请求银行:由 ...
- Session和Cookie的区别与联系
一. 概念理解 你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接.这是因为 你浏览某个网页的时候,W ...