<构建之法>第十一章、十二章有感
十一章:软件设计与实现
工作时要懂得平衡进度和质量。我一直有一个困扰:像我们团队这次做 男神女神配 社区交友网,我负责主页的设计及内容模块,有个队友负责网站的注册和登录模块,有个队友负责搜索模块,有个队友负责活动查看模块。但是一个项目是一个整体的,每一个人所负责的每一个模块都必须关联起来才能成为一个整体,例如我的主页完成了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é (译者注:第十二章,全书最后一章,终于到这章 ...
随机推荐
- 理解Java中的引用传递和值传递
关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习 ...
- Python 打开目录与指定文件
Python打开外部文件有很多方法, os.popen打开外部程序,但发现只能打开文件所在目录的文件 os.system可打开外部文件os.system(command) command 要执行的命令 ...
- java读写Properties文件
Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...
- 单例模式/singleton模式/创建型模式
Java实现要点: 私有构造方法 线程安全(并发的考虑) 延迟加载(效率的考虑,对于较大的类在使用时在加载) 公有方法访问单一实例 常见单例模式代码及问题 //无延迟加载,常驻内存(即使不使用) cl ...
- 关于如何在MFC工程中输入不同的数据进行调试
我们可以采用c++的文件输入输出来进行调试 这样就绕过了不能使用黑窗口输入数据就不能调试的思维定式 不是黑窗口的我们都可以考虑用文件流输入输出 或者用控件来输入? http://blog.csdn.n ...
- 【spring】 <tx:annotation-driven /> 的理解 【转载的】
在使用SpringMvc的时候,配置文件中我们经常看到 annotation-driven 这样的注解,其含义就是支持注解,一般根据前缀 tx.mvc 等也能很直白的理解出来分别的作用.<tx: ...
- [转载]C++声明和定义的区别
<C++Primer>第四版 2.3.5节中这么说到: ①变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. ②变量声明:用于向程序表明变量的类型和名字 ...
- Linux将文件拷到u盘
1:终端中获取root后,使用fdisk -l来查看位置 2:挂载u盘:mount /路径 /mnt cd /mnt可进入u盘,ls可查看文件 3:复制:cp /(文件路径) /mnt 4:退出u盘: ...
- 【gulp-sass】error: File to import not found or unreadable
简要记录一下在使用gulp-sass时候踩的坑,虽然不明所以然,但是似乎在https://github.com/dlmanning/gulp-sass/issues/1 找到了答案. 在使用gulpf ...
- Oil Deposits(dfs)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...