软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9
——《构建之法》
最近的三周我们正式开始我们的项目。然后我也把《构建之法》中的相关章节再拿出来读了一番。以下是一些感悟。
首先就是第十章“典型用户和场景”。书中提到,我们作为设计或者开发者,往往会以自己使用产品的习惯和熟悉程度来出发设计,但我们永远不能代表用户。搞一个“典型用户”会让我们考虑问题从用户的角度出发。由于我们正式开始项目后的第一周就是继续对用户做需求分析,这一章对我们有很大帮助。
我们也要考虑我们的典型用户。考虑到各方面因素,我们没有像书上那样先去定义若干个典型用户,而是我们小组分别采访不同的同学,深入了解不同同学内心的想法。我们的产品,要考虑到不同的用户,但就像书上说的那样,我们的软件不是为所有人服务的。像我们的app,那些从不写日记甚至从不用记事本记事的人,就不是我们的典型用户。当然,我们也可以通过打广告、推荐等方式让那一部分人群来尝试。
还有就是“故事”,这个词语可能是翻译的问题,我感觉中文理解起来不是很好理解。我个人理解就是我们去模拟用户使用软件的一整个流程,针对不同的场景,去设计不同的场景背景,然后去设想用户和我们的软件交互的一系列行为,这个也是非常重要的。
其次就是第十一章的“软件设计与实现”。完成需求分析后,我们就要开始具体的设计与实现。
一是思维导图和实体关系图的重要性。所谓“一图胜千言”,通过合适的图表,我们团队长远能够很好的理解自己产品的逻辑关系,其他非团队的成员看到了这张图也能够理解个大概。
二就是数据流的问题。我们要知道我们的产品的数据的各种流向,如用户和系统之间数据交互等等。我们的数据库主要就是存日记的内容以及小纸条的内容,然后在不同页面调取以及完成统计功能等。
三就是书中强调了构建的重要性。团队一忙起来,“每日构建”可能就没有时间去管了。但是,软件构建就像是建楼房的脚手架、打篮球的运球等基本功,是非常重要的。有些开发人员认为比起搞构建,写程序更有意思,看起来似乎是这样,但是,如果没有构建,你的程序、你的代码很可能在什么地方就趋于混乱,到时候再来修改的工作量可能就远大于当时好好做软件构建的工作量。
软工读书笔记 week 9 ——《构建之法》的更多相关文章
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
- 软工读书笔记 week 8 —— 《疯狂的程序员》
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下. 程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀. ...
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...
- 软工读书笔记 week 1
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- 软工个人阅读作业2 —— 构建之法与CI/CD
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...
- 软工读书笔记 week 6 ——《疯狂的程序员》Part 1
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 软工读书笔记 week2
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
随机推荐
- PHP 如何 安全配置
配置选项 phpinfo( ) 函数可用于php.ini文件的定位 A.1. allow_url_fopen 选项允许你如同本地文件一样引用远程资源: 我推荐关闭allow_url_fopen选项,除 ...
- 【数组】Game of Life
题目: According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a ce ...
- JAVA实现单双向链表的增、删、改、查
单向链表 package com.ywx.link; /** * 单向链表 * @author vashon * */ public class LinkTest { public static vo ...
- Django之模型系统
Django模型简介 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中 Django 支持 sqlite3, MySQL, oracle,PostgreSQL等数 ...
- lua的克隆函数,table的深度拷贝
--深度拷贝Table function DeepCopy(obj) local InTable = {}; local function Func(obj) if type(obj) ~= &quo ...
- 用css实现在横线中间插入文字
在一些登录或者注册界面中常常可看到,一个大框框上面的横线中有插入文字,大概示意图如下: 这种现象其实是相对位置作用的结果,可以通过相对定位,是某元素恰好出现在div的边框上. position: re ...
- SpringBoot入门 (五) 数据库访问之spring data jpa
本文记录学习使用spring data jpa访问数据库 一 什么是Spring Data JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java ...
- Math.floor,Math.ceil,Math.rint,Math.round用法
一.Math.floor函数讲解 floor原意:地板.Math.floor函数是求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数.看下面的例子: package com.qi ...
- Sass进阶之路,之一(基础篇)
Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通 ...
- 【eclipse修改默认注释】
一.背景简介 丰富的注释和良好的代码规范,对于代码的阅读性和可维护性起着至关重要的作用.几乎每个公司对这的要求还是比较严格的,往往会形成自己的一套编码规范.但是再实施过程中,如果全靠手动完成,不仅效率 ...