第十一章软件设计与实现的学习;
典型的开发流程,常见的分析和设计方法:ERD,DFD,UML,开发阶段的一些管理方法:每日构建,小强地狱,构建大师;
分析和设计方法包括以文字为主的文档,以图形为主构造的模型,用数学语言的描述,用类自然语言+代码构造的描述,原代码加注释也能描述;
图形模型和分析方法;1表达实体与实体之间的关系如思维导图,实体关系图,Use Case Diagram。2.表达数据的流动。3.表达控制流。4.统一的表达方式。
其他的设计方法包括形式化的方法,文学化编程。
开发阶段的日产管理包括以下问题:闭门造车,每日构建,构建大师,宽严皆误,小强地狱。
在第十一章开头的时候就说明了我们写软件的目的:我们写软件就是要解决用户的需求。并且分清实体与抽象,就像文中所介绍的”鸡兔同笼“和”果冻搬砖“一样,理解抽象和现实,并且学会构造模型,学会绘制思维导图。而给我印象最深刻的是十六章,在第十六章IT行业的创新中作者提到:统计数据表明,70%的创新者说,他们最成功的创新,是在他们的拿手领域之外发现的。另一个意思就是他们并不是这个领域的专家。而一些计算机专家认为这不是创新,甚至说原理简单,不屑于搞。但事实证明这一创新改变了世界。诺基亚的产品覆盖了木材相关产品、橡胶、电力产品、电脑、军事产品,等等。后来因为经济困难,卖掉所有和通信不相关的产品线,用15的时间成为了世界上最大的手机通信企业。索尼一直做收录机,创始人盛田昭夫推出"单放机"即随身听。取名字为"Walkman",语言专家说不符合语法,盛田坚持自己想法,Walkman吸引了众多消费者,在其生命周期,卖出了2.2亿台。
这些例子都说明了领域内的专家有时没有领域外的创新者有创意。我想更多的是没有从实际出发考虑顾客和群众的感受,就像有时候我们做题一样,看一遍题知道了它应该用什么公式,用什么原理去解答,然而就是实际动笔去解,真正到了考试,我们碰到同样的问题,也就只能停留在:"这道题我当时碰到过!"却迟迟解不出来。所以创新的前提是实践,不能停留在想法上。
十二章:用户体验
第十三章
对于软件的测试有很多种的方法,根据以下几点进行分类: