zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记02

    第十一章软件设计与实现的学习;

    分析和设计方法

    典型的开发流程,常见的分析和设计方法:ERD,DFD,UML,开发阶段的一些管理方法:每日构建,小强地狱,构建大师;

    分析和设计方法包括以文字为主的文档,以图形为主构造的模型,用数学语言的描述,用类自然语言+代码构造的描述,原代码加注释也能描述;

    图形模型和分析方法;1表达实体与实体之间的关系如思维导图,实体关系图,Use Case Diagram。2.表达数据的流动。3.表达控制流。4.统一的表达方式。

    其他的设计方法包括形式化的方法,文学化编程。

    开发阶段的日产管理包括以下问题:闭门造车,每日构建,构建大师,宽严皆误,小强地狱。

    在第十一章开头的时候就说明了我们写软件的目的:我们写软件就是要解决用户的需求。并且分清实体与抽象,就像文中所介绍的”鸡兔同笼“和”果冻搬砖“一样,理解抽象和现实,并且学会构造模型,学会绘制思维导图。而给我印象最深刻的是十六章,在第十六章IT行业的创新中作者提到:统计数据表明,70%的创新者说,他们最成功的创新,是在他们的拿手领域之外发现的。另一个意思就是他们并不是这个领域的专家。而一些计算机专家认为这不是创新,甚至说原理简单,不屑于搞。但事实证明这一创新改变了世界。诺基亚的产品覆盖了木材相关产品、橡胶、电力产品、电脑、军事产品,等等。后来因为经济困难,卖掉所有和通信不相关的产品线,用15的时间成为了世界上最大的手机通信企业。索尼一直做收录机,创始人盛田昭夫推出"单放机"即随身听。取名字为"Walkman",语言专家说不符合语法,盛田坚持自己想法,Walkman吸引了众多消费者,在其生命周期,卖出了2.2亿台。

             这些例子都说明了领域内的专家有时没有领域外的创新者有创意。我想更多的是没有从实际出发考虑顾客和群众的感受,就像有时候我们做题一样,看一遍题知道了它应该用什么公式,用什么原理去解答,然而就是实际动笔去解,真正到了考试,我们碰到同样的问题,也就只能停留在:"这道题我当时碰到过!"却迟迟解不出来。所以创新的前提是实践,不能停留在想法上。

     十二章:用户体验

    用户的第一印象:当别人使用你的软件的时候会提出很多的意见跟建议;用户和软件的第一次使用,很大程度上决定了用户对软件的评价。
    从用户的角度考虑问题:用户需要什么我们设计什么,是一个好哒产品的出发点。
    软件服务始终都要记住用户的选择,只有当用户满意你的作品的时候你的作品才是好的,一切从用户的角度出发;
    用户体验设计的步骤和目标
    1. 尽快提供可感触的反馈系统状态
    2. 系统界面符合用户的现实惯例
    3. 用户有控制权
    4. 一致性和标准化
    5. 适合各种类型的用户
    6. 帮助用户识别、诊断并修复错误
    7. 有必要的提示和帮助文档

    第十三章

    对于软件的测试有很多种的方法,根据以下几点进行分类:

    1. 各种测试理论和方法。2. 测试工具介绍。3. 实战中的测试
    对于码农来说bug并不陌生;Bug是软件的缺陷;
    Bug可以分解为:症状、程序错误、根本原因
    症状:即从用户的角度看,软件出了什么问题。
    程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。
    bug是最头疼的一件事情,为了减少bug的出现,需要采用测试的方法来解决bug;
    1、单元测试
    2、代码覆盖率测试
    3、构建验证测试
    4、验收测试
    5、“探索式”的测试
    6、回归测试
    7、场景/集成/系统测试
    Bug的标题,要能简要说明问题,对于测试可能会有很多我们想象不到的错误出现发生,我们要有虚构的基础知识,看清一些错误,及时纠正;
  • 相关阅读:
    最大子数组求和并进行条件组合覆盖测试
    Ubuntu 16.04 c++ Google框架单元测试
    The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If execu
    Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
    个人博客作业三:微软小娜APP的案例分析
    补交 作业一
    补交 作业二:个人博客作业内容:需求分析
    嵌入式软件设计第12次实验报告
    嵌入式软件设计第11次实验报告
    嵌入式软件设计第10次实验报告
  • 原文地址:https://www.cnblogs.com/wwbzuiku/p/13087897.html
Copyright © 2011-2022 走看看