编程的本质:程序 = 算法 + 结构
体制: 体制 = 体系 + 制度
a. 体系:组织模式、机构建设
b. 制度:公平性、人性化
OOP 与 AOP
1. OOP:面向对象编程,对象(Object)
2. AOP:面向切面编程,方面(Aspect)或切面
编程 = 算法 + 结构 + 方法
项目的成功是两个方面的评估:
a. 项目完成质量
b. 项目完成时间
组织中角色的定位,精减的团队模型 - R模型:
分工(角色定位):Group ==> Team
沟通:保障每一次沟通的有效性,避免流于形式的沟通。
过程非工程,工程亦非项目
瀑布模型
瀑布模型将软件开发过程分成需求、分析、设计、开发和测试等5个主要阶段,越是简单的东西,往往越是接近于本质。主要环节关系表现为:
V 字型模型
“日本 IT 工业发展史的活字典”
不能把 V 模型当成折弯了的瀑布模型:V 模型在每个环节都强调测试(并提供测试的依据),同时又在每个环节都作实现者和测试者的分离。由于测试者相对于实现者是一种监督、考察和评审的关系,相当于在不断地做回顾和确认。【引文】
语言只是工具
软件工程:代码、方法、过程、工程、组织
具体实现 团队协作 管理经营
工程:目标的描述和成果的检测。目标的实现需要的是“过程”和“方法”。
过程:解决工程中角色间的关系问题。角色、沟通和环节。
工具:有效、快速地实现“过程”和“方法”所需的 (各种资源)。
组织:思考节约成本 = 成本管理 + 成本计划。
软件工程
三要素:
工具、方法、过程
体系层次: Software Engineering Architectural Layers
工具 ==> 方法和过程 ==> 实现对象(基本动因)
a. 实现,是软件开发的本质需求和基本动因;
b. 方法,是对既有行为的归纳总结;
工程中没有 BOSS
经营者(BOSS)决定了一个方向,组织者保证决策与这个方向是同步的,而工程是在这样的一个方向、决策的构架下的一个具体行为。
- 项目经理-:保障团队的稳定性和一致性;
- 开发经理-:思考项目的实施方案和管理具体的开发行为;
目前虽然看完了此书,但了解的也只是皮毛,仅仅只是浅显的认识,进一步的理解还需要日后的工作经验来支撑,加油吧,小伙子。