<构建之法>第十一章、十二章有感
十一章:软件设计与实现
工作时要懂得平衡进度和质量。我一直有一个困扰:像我们团队这次做 男神女神配 社区交友网,我负责主页的设计及内容模块,有个队友负责网站的注册和登录模块,有个队友负责搜索模块,有个队友负责活动查看模块。但是一个项目是一个整体的,每一个人所负责的每一个模块都必须关联起来才能成为一个整体,例如我的主页完成了50%后,为了查看整体效果, 发给队友与他的模块连接起来,如果对方在我的程序上修改了部分,然后同时我也继续编写我剩下的内容,双方都在我那个原本完成了50%的进度模块上做了修 改,那接下来的工作,到底用谁的?实际上两边的修改都要用上,然而我不可能等对方修改后再继续做下一步工作,而对方也不可能等我完全100%做完我负责的 模块后才查看修改或连接,因为这样会导致工作效率大大的下降。这个我觉得这个仿佛有点像我们学习 操作系统 时的那个 售票系统 ,几个窗口同时都要给顾客售票,总得有一个机制管理剩余的票数,因为不可能能同时几个窗口成功售出同一张票。
把代码修改记集成到代码库中
将开发人员手头上的经修改过的大码签入源代码控制系统的步骤:
1、根据场景和开发任务来决定集成的次序
2、互相依赖的任务要一起集成
3、在测试场景时,要保证端到端的测试
4、场景的所有者必须保证场景完全通过测试,然后把场景的状态改为“解决”
开发人员的标准工作流程:
参考《构建之法》P205
在书本中提到了一点,小飞说他在办公室里做了10个小时:然后真正能花在开发工作的时只有3个小时,然后工作进展大概只有;两个小时,他说他的时间 主要是被一些随机事情干扰了,然后就耗费了许多时间。其实在我的思维中,我一直觉得只要有关本次项目程序的事情,都不算是随机事情,比如在写程序的时候, 遇到了一个关于有效性的问题或者是完善的问题,我或许就会改变方向先将这方面做完,我觉得这点并不算是随机事情,毕竟以后发布的正式版本还是需要考虑到这 点问题。早考虑晚考虑,早晚都要考虑,老师你觉得呢?你认为这样想可以吗?
课后练习与讨论:如何对付客户不买账的行为?
在我个人看法中,如果遇到这点,我觉得首先我会想是不是我和客户沟通上出现了问题,在早期我可能会先耐心下来与客户再次好好沟通(毕竟客户就是 上帝),尽可能达到客户的需求,只要能在我们小组工作范围之内的,可以理解的要求我们都尽可能的满足,尽快给客户一个满意答复。但是,如果我们所遇到的是 一位喜欢刁难的客户,每次都提出一些极端的要求,那么我觉得对于这类客户,我们之间也没有必要有合作的余地了。
十二章:用户体验
我们要做一个好的设计,就要做到:
♠谁是你的目标用户?
♠他们会在什么时间使用你的产品?
♠目标用户会在哪里和你的产品交互?
♠你的产品是什么?而用户的期待是什么?
♠用户为什么要使用你的产品?他们的动机是什么?
♠在众多竞争产品中,用户为什么会选择你的产品?
♠用户是如何与你的产品发生交互的?他们怎么用?在使用过程中有出现什么问题吗?
用户体验这章,也正是我们小组项目当前正在进行的内容,看完本章对于我们小组接下来的工作有了很大的帮组。
用户体验的要素:
1、用户的第一印象
在设计方面需要注意一下几点:
1、我们所面对的典型用户是谁?
2、用户初次体验非常重要,这点必须要认真考虑。(在用户使用次数少的功能上少花时间,要突出程序的主要功能,特色有价值的功能。)
主要涉及到5个“W"和1个“H”上:
即:WHO谁是目标用户:
WHEN用户何时会使用我们的产品:
WHERE用户何地会使用我们的产品:
what我们的产品是什么?特色在哪里?
WHY用户为什么会选择我们的产品,哪方面吸引到了用户?
HOW用户如何与我们的茶农发生交互的?
2、从用户的角度出发考虑问题
从书本上看到那个银行假币投诉的例子,简直是无法理喻,这完全是阻断了用户使用的路径。
3、用户需要帮组,但是用户没有那么蠢
一些简答的解释,如果太多了,就会变得冗余重复啰嗦了。
4、软件服务始终要记住用户的选择
经过书本上对于用户设计的一些例子“类似于飞机上的服务遥控器”
其实这些问题看起来小,看完之后才感觉到,里面含有许多大道理、这点,我们没有实际遇到过,还真一时半会想不到,不过,我觉得在这方面,机组人员必 须经过一番专业培训,然后在乘客登机的时候,应该告知乘客这些东西,更多的是一种互动的方式来告知乘客,这样就或许能达到意想不到的效果。
那么本章问题来了,那我想请问老师,我们该如何在这第一次至关重要的用户初次体验中,尽可能的让用户达到他们想要的效果,这毕竟是第一次体验,体验不就是收集问题吗?那我们这又说第一次要做到完美才行,那做到完美还怎么让用户提出问题。这是不是有些矛盾?
<构建之法>第十一章、十二章有感的更多相关文章
- 《深入理解java虚拟机》读书笔记十一——第十二章
		
第十二章 Java内存模型与线程 1.硬件效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cac ...
 - sql 入门经典(第五版) Ryan Stephens 学习笔记 (第六,七,八,九,十章,十一章,十二章)
		
第六章: 管理数据库事务 事务 是 由第五章 数据操作语言完成的 DML ,是对数据库锁做的一个操作或者修改. 所有事务都有开始和结束 事务可以被保存和撤销 如果事务在中途失败,事务中的任何部分都不 ...
 - 《Android群英传》读书笔记 (5) 第十一章 搭建云端服务器 + 第十二章 Android 5.X新特性详解 + 第十三章 Android实例提高
		
第十一章 搭建云端服务器 该章主要介绍了移动后端服务的概念以及Bmob的使用,比较简单,所以略过不总结. 第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所 ...
 - Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
		
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
 - 阅读<构建之法>10、11、12章
		
第十章: 典型用户和场景对后面工作有什么帮助吗? 第十一章: 每日构建的目的是什么呢?有没有具体说明? 第十二章: 产品定位人群是否也局限了产品的可拓展性?
 - 《OpenCL异构并行编程实战》补充笔记散点,第五至十二章
		
▶ 第五章,OpenCL 的并发与执行模型 ● 内存对象与上下文相关而不是与设备相关.设备在不同设备之间的移动如下,如果 kernel 在第二个设备上运行,那么在第一个设备上产生的任何数据结果在第二个 ...
 - PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)
		
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...
 - perl5 第十二章 Perl5中的引用/指针
		
第十二章 Perl5中的引用/指针 by flamephoenix 一.引用简介二.使用引用三.使用反斜线(\)操作符四.引用和数组五.多维数组六.子程序的引用 子程序模板七.数组与子程序八.文件句 ...
 - 《Django By Example》第十二章 中文 翻译 (个人学习,渣翻)
		
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第十二章,全书最后一章,终于到这章 ...
 
随机推荐
- Android单元测试
			
安卓单元测试总结文章,目测主要会cover以下的主题: 什么是单元测试 为什么要做单元测试 JUnit Mockito Robolectric Dagger2 一个具体的app例子实践 神秘的bonu ...
 - Spring.Net的AOP的通知
			
一.拦截环绕通知(around advice):Spring.NET中最基本的通知类型是拦截环绕通知(interception around advice),即方法拦截器.拦截环绕通知继承IMetho ...
 - 设计模式学习之组合模式(Composite,结构型模式)(10)
			
转载地址:http://www.cnblogs.com/zhili/p/CompositePattern.html 一.引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系 ...
 - 在 Mac 上安装 sbt
			
通过第三方的包安装 注意: 第三方的包可能没有提供最新的版本,请记得将任何问题反馈给这些包相关的维护者. 通过 Macports 安装 $ port install sbt 通过 Homebrew 安 ...
 - Android SDK Manager 中如果没有相应的镜像ARM XX Image
			
Android SDK Manager 中如果没有相应的镜像ARM XX Image 处理做法是:先更新 相应版本Android SDK Tools 然后出现 ARM XX Image
 - html table之  全选,全不选
			
就是这个小功能让我和组长引发争端,就是这个小功能让我差点"被"辞职,就是这个自封装的js方法让我放下了对组长的敬畏之心,现在分享一下,其实也很简单,但是真的有这么简单吗? < ...
 - Centos系统上安装VNC view
			
一.安装 VNC 默认情况下,CentOS 6.4 是没有安装的,检查是否安装,输入: [root@localhost ~]# rpm -q vnc vnc-server package vnc is ...
 - LoadRunner 常用C语言函数使用
			
strlen:获取字符串的长度 char str[20]="容我想想"; int len; len = strlen(str); lr_output_message("s ...
 - 静态局部变量、静态全局变量、extern全局变量、自动变量 札记
			
静态局部变量 静态局部变量. 从称呼上我们可以看出,静态局部变量首先是一个局部变量,因此其只在定义它的函数内有效,冠以静态的头衔后,其生存期就被延长了,不会随着函数的返回而被撤销.我们可以这样来理解: ...
 - python重载四则运算符及输出格式设置
			
数学运算 Python 提供的基本数据类型 int.float 可以做整数和浮点的四则运算以及乘方等运算. 但是,四则运算不局限于int和float,还可以是有理数.矩阵等. 要表示有理数,可以用一个 ...