Code Complete 笔记—— 第一章
软件的构建的主要流程:
- 定义问题 ( Problem Definition)
 - 需求分析 (Requirements Development)
 - 规划构建 (construction planning)
 - 软件架构 (software architecture), 或高层设计(high-level design)
 - 详细设计 (detailed design)
 - 编码与调试 (coding and debugging)
 - 单元测试 (unit testing)
 - 集成测试 (integration testing)
 - 集成
 - 系统测试 (system testing)
 - 保障维护 (corrective maintenance)
 
构建,主要是编码与调式,涉及到得细节的任务(task)有:
- 验证有关的基础工作(需求分析和架构设计)已经完成
 - 确定如何测试所写的代码
 - 设计并编写类(class)和子程序(routine)
 - 创建并命名变量和常量
 - 选择控制结构,组织语句块
 - 对所写的代码进行单元测试和集成测试,并排除中的错误
 - 在开发团队中相互评审彼此的底层设计和代码
 - 润饰代码,仔细进行代码的格式化和注释
 - 将单独开发的多个软件组件集成为一体
 - 调整代码,让它更快,更省资源
 
开发的核心流程:
需求分析 ---》 架构设计----》构建----》系统测试
要点:
- 软件构建是软件开发的核心活动:构建活动是每个项目中唯一一项必不可少的工作
 - 软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(单元测试、集成测试)
 - 构建也常被称作“编码”和“编程”
 - 构建活动的质量对软件的质量有着实质性的影响
 - 最后,你对 “如何进行构建”的理解程度,决定了你的优秀程度。
 
Code Complete 笔记—— 第一章的更多相关文章
- Code Complete 笔记—— 第二章 用隐喻来更充分理解软件开发
		
在这章里面,提到的隐喻,类同于比喻(建模)的方法的去理解软件开发. 隐喻的优点在于其可预期的效果能被所有人所理解.不必要的沟通和误解也因此大为减低,学习与教授更为快速,实际上,隐喻是对概念进行内在化和 ...
 - Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
		
Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...
 - C++ Primer 笔记 第一章
		
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...
 - Android群英传笔记——第一章:Android体系与系统架构
		
Android群英传笔记--第一章:Android体系与系统架构 图片都是摘抄自网络 今天确实挺忙的,不过把第一章的笔记做一下还是可以的,嘿嘿 1.1 Google的生态圈 还是得从Android的起 ...
 - 《css3实战》读书笔记  第一章 基于CSS需求而编写的HTML.
		
笔记说明 <CSS3实战手册第3版(影印版)>可以消除Web设计工作的痛苦,并且带给你:HTML--重新入门.如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造.若你是H ...
 - c#高级编程第七版 学习笔记 第一章 .NET体系结构
		
第一章 .NET体系结构 本章内容: 编译和运行面向.NET的代码 Microsoft中间语言(Microsoft Intermediate Language,MSIL或简称IL)的优点 值 ...
 - 《JavaScript高级程序设计》笔记——第一章到第三章
		
2019年,新年伊始,我打算好好重读一下<JavaScript高级程序设计>这本前端必备经典书.每天半小时. 以下内容摘自<JavaScript高级程序设计> 2019-2-1 ...
 - Unity 黑暗之光 笔记 第一章
		
第一章 设计游戏开始进入场景 1.设置相机视野同步 选中要调整的相机 GameObject - Align With View(快捷键 Ctrl + Shift + F)
 - Getting Started With Hazelcast 读书笔记(第一章)
		
第一章:数据集群的演化与 早期的服务器架构 显然,应用是可扩展的,但是由于是集中式服务器,随着数据库性能达到极限,再想扩展就变得极端困难,于是出现了缓存. 缓存显然再次提升了可扩展性,减轻了数据 ...
 
随机推荐
- MRC迁移ARC之__block
			
今日帮着同事把老项目从MRC迁移至ARC,大部分工作无非是删除release,[super dealloc]等方法,只要关闭了MRC编译选项后,编译器能自动帮你检查,block就有一些不一样了,发现许 ...
 - Dom元素的操作
			
getElementById(): 获取有指定惟一ID属性值文档中的元素 getElementsByName(name): 返回的是数组 getElementsByTagName(): 返回具有指定标 ...
 - Qt for Android开发环境搭建及测试过程记录
			
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
 - shell 脚本中的运算
			
#!/bin/bash read -p "please Insert two integer values: " a b if [ ! -n "$a" -o ! ...
 - jemalloc在linux上从安装到使用
			
jemalloc在linux上从安装到使用 上次在引导大家安装Redis时提到可能会报错: 发现了redis有用到jemalloc. 首先,jemalloc是干什么的? 我们看看作者自己的介绍: j ...
 - win8 app  GridView点击子项布局变更
			
要触发点击必须设置IsItemClickEnabled="True" 要变更布局代码如下: private void gridView_ItemClick_1(object sen ...
 - 【转载】在HTML中插入swf文件(转)
			
在HTML中插入swf文件(转) 在网页里面插入swf,再平常不过了,一般会想到如下代码: Html代码 <object classid="clsid:D27CDB6E-AE6D-11 ...
 - webservices接口  file "/axis2-web/listsingleservice.jsp" not found 问题解决
			
搞了半天 ,原来是services.xml 配置的某个或者某些service 在代码中不存才.扫描的时候找不到对应的service代码所以就会报错
 - Appium_Python_Api文档
			
1.contextscontexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控 ...
 - java程序性能优化
			
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...