这个作业的要求是:https://bbs.csdn.net/topics/608340750
问题一
教材内容
变化的轴线仅当实际发生变化的时候才有真正的意义。如果没有征兆,那么去应用SRP,或者其它原则都是不明智的。
问题描述
当需求简单的时候,我们还有必要遵循设计原则、使用设计模式吗?
资料
个人经验
如果我们面临的问题真的很简单,那我们确实不需要非常刻板的遵循设计模式。但设计模式是一种设计哲学,是比你我更加聪明的程序员总结出来的一套设计方法,它不是具体的代码,但如果我们能够正确的使用它,在复杂系统的开发中就能够事半功倍。
困惑
如何在开发前大致判断一个项目的复杂性?
问题二
教材内容
但是要注意的是,温斯顿并不推崇严格意义上的瀑布模型,相反它指出了此模型的各种缺陷,并提出了一些改进的方法。例如,温斯顿指出在设计大型系统时,要做相邻步骤的回溯,解决上一阶段未解决的问题。
问题描述
温斯顿为什么这么说?瀑布模型的优缺点是什么?
资料
个人经验
瀑布模型的优势是阶段清晰,因为它在开发的不同步骤之间的界限非常明确,先后顺序明确,环环相扣,各步骤的负责人员分工明确,各司其职。但瀑布模型的缺陷也十分明显,返工的代价太大,不好解决之前步骤中出现的问题,并且开发周期会大大增长,用户往往要在项目结束时才能看到完整的效果。
困惑
除了做相邻步骤的回溯,瀑布模型还可以怎么改进?
问题三
教材内容
当公司要求你用数据证明41种蓝色到底哪一种更好,或者为一条边框宽度是3、4或5个像素而争论不休,纷纷要求拿数据证明时,你怎么办?
问题描述
上述做法是否“做过头了”?我们在开发过程对细节的把握分寸应该是什么样的?
资料
个人经验
表面上看Google对细节太过吹毛求疵,而客观上太过注重细节也对整体的开发效率有一定影响。但是对于Google这样的大公司,进行A/B测试,在细节上下功夫,提升一些点击率,可能意味着数万美元的收益,此时这样的投入就是值得的。因此,对细节的把握分寸要考虑公司的体量,项目的大小等等。
困惑
A/B测试具体实现方法是什么样的?
问题四
教材内容
软件团队的所有相关人员都需要处理、了解这些信息,如果在处理的过程中有误解和遗失,就会导致开发过程中的问题,以至最终产品不能满足用户的需求。
问题描述
软件团队的各人员应该怎样协作沟通,以解决上述问题?
资料
个人经验
最重要的是团队中的成员要对信息做好同步,并且对同一件事的理解不能出现太大的偏差,导致各干各的。因此,避免同时沟通几件事情,多写文档等,都是解决问题的方法。
困惑
如果软件团队十分庞大的话,我们应该采取怎样的管理策略呢?
问题五
教材内容
有些同学认为用户界面设计是充满创意和非常潇洒的工作,另一些同学也许会抱怨:“用户界面的工作就是打打补丁,让界面好看一些罢了”。
问题描述
怎么正确看待UI设计这类工作?真的很简单吗?
资料
个人经验
我认为UI设计并不是简单的让套套模板,调调参数,让界面好看一点。它背后蕴含着工程师对优化用户体验的深刻理解,这份工作要求设计者想用户之所想,并且要对软件的人机交互、操作逻辑、界面美观的有一个整体的设计,对审美的要求很高。在软件高度同质化的今天,出彩的UI就是能否留住用户的一个重要因素。
困惑
成为一个优秀的UI设计工程师,学习路径是什么样的?