软件设计与实现

分析和设计方法,以文字为主的文档,如Word、PowerPoint文档。用图形为主构造的模型,如MindMap,ERD,DFD,UML的各种图,甚至包括Flow Chart流程图用数学语言的描述,如ViennaDevelopment Metho用类自然语言+代码构造的描述,源代码加注释也能描述

图形建模和分析方法,表达实体和实体之间的关系,表达数据的流动,表达控制流,统一的表达方式,

从Spec到实现,估计开发任务所需的时间,参考以前同类任务所需花费的实际时间,以及其他的时间估计。试着写一些快速原型的代码,看看效果会怎样。期间发现了若干问题,与PM沟通后,最终达成一致意见。在看到初始效果和了解了实现的细节后,开始写设计文档,写好之后,可以请他人一起来复审设计文档。设计文档写好后,就会按照设计文档写代码。在实现过程中,如果发现了一些意想不到的问题,与PM沟通后写好代码后,对照设计文档和代码指南进行自我复审,重构代码。创建或更新单元测试。进行单元测试得到一个可以测试的版本,交给相关的测试人员进行测试,或者在网上进行某种公开测试等。修复测试人员或用户发现的问题,等到问题都解决得差不多了,请他人进行代码复审。根据代码复审的意见修改代码,完善单元测试和其他相关文档,然后把代码嵌入到代码库中。

开发阶段的日常管理,闭门造车、每日构建、构建大师、宽严皆误、小强地狱。

用户体验

用户体验的要素

用户的第一印象,1.谁会是我们的目标用户?他们是什么样的人?他们的使用方式是什么样的?用户是从哪里进入到这个软件或网站?他们知道这个产品是做什么的吗?用户想达到什么目的?怎样让他们尽快找到相应的功能入口,完成任务?我们的软件可能比较难用,怎样才能让用户尽快掌握基本功能?
2.用户和软件的第一次使用,很大程度上决定了用户对软件的评价。怎样让用户在第一次使用的时候,少花时间在对用户没有价值的部分而把大部分时间花在有实际价值的功能上?

从用户的角度考虑问题,软件服务始终都要记住用户的选择,不让用户犯简单的错误,对于用户的体验和质量我们要进行妥协

用户体验设计的步骤包括,概要设计、行为(交互)设计、界面设计

软件测试

介绍了一些基本名词解释及分类。测试设计有两类方法:黑箱和白箱。测试的目的分类可以分为功能测试和非功能测试。

各种测试方法
1 单元测试
2 代码覆盖率测试
3 构建验证测试
顾名思义,构建验证测试是指在一个构建完成之后,构建系统会自动运行一套测试,验证系统的基本功能。在大多数情况下,这些验证的步骤都是在自动构建成功后自动运行的,有些情况下也会手工运行,但是由于构建是自动生成的,我们也要努力让BVT自动运行。
4 验收测试
在MSF敏捷建模中,我们建议还是采用场景来规划测试工作。
5 “探索式”的测试
就是指为了某一个特定目的而进行的测试,且就这一次,以后一般也不会重复测试。在软件工程的实践中,“Ad hoc”大多是指随机进行的、探索性的测试。
6 回归测试
回归测试不仅仅包括单元测试,也包括其他类型的测试。
7 场景/集成/系统测试
在软件开发的一定阶段,我们要对一个软件进行全面和系统的测试,以保证软件的各个模块都能共同工作,各方面均能满足用户的要求。这类测试叫系统/集成测试。
8 伙伴测试
伙伴测试是指开发人员可以找一个测试人员作为伙伴,在签入新代码之前,开发人员做一个包含新模块的私人构建(Private Build),测试人员在本地做必要的回归/功能/集成/探索测试,发现问题直接与开发人员沟通。通过伙伴测试把重大问题都解决了之后,开发人员再正式签入代码。
9 效能测试
1. 设计负载
2. 令用户满意的服务质量
10 压力测试
压力测试要验证的问题是:软件在超过设计负载的情况下是否仍能返回正常结果,没有产生严重的副作用或崩溃。
11 内部/外部公开测试
12 易用性测试
13 “小强”大扫荡

个人感受

以前认为软件编写好以后就大功告成了,就可以发布了。也不需要做别的工作了。

但在书中我知道,首先软件编写以前一些必要的贮准备工作,设计和开发文档,我们需要一些自然语言加代码的方式简单的介绍一下程序编写的思路,预测程序编写所需要的时间等等。软件编写成功以后还要必要的用户体验,因为用户和软件的第一次使用,很大程度上决定了用户对软件的评价。

怎样让用户在第一次使用的时候,少花时间在对用户没有价值的部分而把大部分时间花在有实际价值的功能上?

这就告诉我们今后编写的软件一定要,从用户的角度考虑问题,软件服务始终都要记住用户的选择,不让用户犯简单的错误,对于用户的体验和质量我们要进行妥协。。还需要设计一些必要的文档

转载于:https://www.cnblogs.com/kangy123/p/6386582.html

《构建之法》 读书笔记(6)相关推荐

  1. 构建之法读书笔记03

    构建之法读书笔记03 阅读之前:   我发现这本书我越往后读越是后期软件方面的东西,好多东西因为我之前没有接触过软件,所以都变得晦涩难懂,但是大体意思我也应该明白.我知道微软但是不曾设想过他的工作体系 ...

  2. 构建之法读书笔记06

    构建之法读书笔记06   阅读之前:  到最后了,其实这本书我初读的心态并不好,假期我还会再读一遍.这篇是关于项目的尾声就是发布之类的以及大的方向未来这个行业的东西.老实说,我选这个专业就是因为他和电 ...

  3. 构建之法读书笔记之五

    今天我学习了构建之法的第五章--典型用户与典型场景.我们都知道,软件开发最终都是服务于用户,所以用户主导着我们的开发方向.软件开发离不开用户,所以能够搞清楚用户隐藏的要求也是软件开发过程中的的一个重要 ...

  4. 构建之法读书笔记01

    前两周学习了什么是软件,软件工程师的能力评估与发展和软件单元测试与代码规范. 以前的做法: 读完这几部分,我发现我对软件存在很大的错误的认识,在我心里,一名厉害的程序员是可以独立完成一个软件,软件的各 ...

  5. 构建之法阅读笔记之三

    构建之法阅读笔记之三 本章为团队和流程,主要介绍了典型的软件团队模式和开发流程以及它们的优缺点.TSP.MVP.MBP.RUP 团队:并不是几个人凑到一起就叫团队,称之为团队 1.应该有一致的集体目标 ...

  6. 构建之法阅读笔记(二)

    离上次写阅读笔记很长时间了,罪恶感涌来.. 这次主要写一下我对创新的感受,这部分是在<构建之法>的第16章-IT行业的创新. 最近几年我经常能够听到"创新"这个词,总以 ...

  7. 构建之法阅读笔记05

    这周时间,我阅读了构建之法的第九.十.十一章节. 在第九章中,邹欣老师给我们讲述了在我们的软件团队里除了能写代码.测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经 ...

  8. 构建之法阅读笔记03

    又到了一周的结尾,时间过得真快.这一周,阅读了<构建之法>关于团队和流程的部分.正好,这周我们用的就是结对开发的模式.算是理论加上实践吧. 和以往的单独编程不同的是,团队开发增加了与同学的 ...

  9. 05构建之法阅读笔记之三

    今天看的构建之法的第10章"典型用户和场景",书上开始举了一个很好理解的例子,是一个理发师给顾客剪头发的例子,由例子可见,你光看用户的表面语言是不够的,我们应该理解的是用户语言背后 ...

  10. 构建之法阅读笔记之速读篇

    新学期开始,我们开设了软件工程课程,在老师的指导下,我从网上找到了<构建之法>这本书,随着课堂上老师的讲解以及书籍的快速阅读,我对软件工程有了很多的了解.之前我们的编程只能算是基础,远远没 ...

最新文章

  1. jmu-python-凯撒密码加密算法_7-30 jmu-python-凯撒密码加密算法 (10 分)
  2. html脱离标准文档流,关于css脱离标准文档流的两种方式
  3. 爸爸和无我编程十条诫律
  4. redis和kafka读取代码
  5. java基础---IO转换流
  6. 2018-05-05(在小程序中使用图标)
  7. python web 框架的flash消息_Flask flash 消息闪现
  8. C#2.0新特性探究之模拟泛型和内置算法
  9. 中表名字必须大写吗_pi network改名字的重要性—非常之重要!!
  10. css之div内部靠右
  11. Windows软件防火墙实现技术简述
  12. Vue使用Element UI插件
  13. mipi的dsi全称_MIPI-DSI/CSI协议介绍-转载
  14. Unity Shader: Blend混合
  15. 基于深度学习的合成孔径雷达自聚焦
  16. 服务器光盘拷贝文件夹,如何光盘path中的两个点的文件夹
  17. 鸟哥的Linux私房菜视频!
  18. 给自己立一个flag吧
  19. 安信可VB01离线语音模块接入智能窗帘指导
  20. 中国大陆互联网国际出口情况(2015年)

热门文章

  1. Volumetric 3D Mapping in Real-Time on a CPU
  2. KinectFusion: Real-Time Dense Surface Mapping and Tracking
  3. Lesson 3.5 - Maya Commands: getAttr
  4. 24解析函数的级数表示(三)
  5. 计算方法上机实验c语言,计算方法与实习实验报告c语言.pdf
  6. 微信开发者接入php,微信开发系之新手接入指南
  7. Tensorflow2.0数据和部署(三)——基于Tensorflow数据服务的数据管道
  8. 数据挖掘实践(金融风控)——task3:特征工程
  9. 农业知识图谱(KG):农业领域的信息检索,命名实体识别,关系抽取,分类树构建,数据挖掘...
  10. colordialog通过哪属性取其颜色_IT兄弟连 HTML5教程 CSS3揭秘 CSS常见的样式属性和值1...