打好基础(1-4章)
一:软件开发过程中各种不同的活动
定义问题 需求分析 规划构建 软件架构 详细设计 编码与测试 单元测试 集成测试 集成 系统测试 保障维护
二:软件构建的重要性
1:构建活动是软件开发 的主要组成部分。
2:构建活动是软件开发的核心活动。
3:可以提高生产率。
4:构建活动的产物-源代码-往往是对软件的唯一的精确的描述。
5构建活动是唯一确保可以完成的工作。
三:第二章要点
1:隐喻是启示而不是算法,因此他看起来有一点随意。
2:隐喻把软件开发的过程与你熟悉的其他活动联系在一起,帮助你更好的理解。
3:有一些隐喻比其他的更贴切。
4:通过把软件伏构建过程比喻比房屋的建造过程,我们发现。仔细的准备是必要的。而大型项目与小型项目也是有区别的。
5:不同的隐喻并不排斥。适合的就是最好的。
四:核对表
。
五:软件架构:软件架构是软件设计的高层部分,是用于支撑更细节的设计的框架。通常用一份独立的文档描述架构。离开了软甲架构。你可能瞄准了正确的问题。但却用错了方法。
典型的组成部分
1:程序组织:
以概括的形式对有关系统做一个概述
构造程序的主要构造块(可能是类或子系统)及责任与通信。
2:主要的类:
架构应该详细定义所用的主要的类。
架构应该记述曾经考虑过的其他设计的类。
3:数据设计:
架构应该描述所用到的主要文件和数据表的设计。
数据通常只应该有一个子系统或类进行访问。
架构应该详细定义所用数据库的高层组织结构和内容。
4:业务规则:
如果架构依赖于特定的业务规则,那么他应该详细的描述这些业务规则,并描述这些业务规则对系统设计的影响。
5:用户界面设计
用户界面通常要在需求阶段进行说明。如果没有,就应该在软件架构中设计。
架构应该模块化。以便在替换新用户界面的时候不影响业务的规则和程序的输出部分。
6:资源管理:
架构应该描述一份稀缺资源的计划。
7:安全性:
架构应该描述实现设计层面与代码层面安全的方法。
8:性能
定义性能目标。
9:可伸缩性
可升缩性是指系统增长以满足未来需求的能力。
10:互用性
11:国际化
12:输入输出
13:错误处理
14:容错性:
容错是指增强系统可靠的一组技术。
15:架构的可行性
16:关于复用的决策。
17:变更的决策
六:第三章的要点
1:构建活动的主要目标是降低风险。
2:软件开发必须关注质量。