- STL
- 设计模式
- 操作系统
- 编译原理
- 软件工程
- 面向对象分析设计
- PPS,开启后全屏
- Think in C++
- xchat,IRC
- www.quanpc.com
- 注释,Doxygen
- 大话设计模式
- OpenGL红宝书
- 3D数学基础
- windows核心编程
- 设计模式精解
- Head First
- 工时扑克
- 技术应用于生活
分享记录:
1. 七人分粥
解决办法在于细分步骤
2. 软件开发面临的问题
3. 软件项目的特点
质量
工期 ---》成功的项目
成本
成功的很少,为什么? 《人月神话》
1. 复杂性,固有的附加的(可消除),分而治之
建筑也复杂,但很少失败,为什么?
2. 可变性
需求变更,迭代,先做稳定的需求,更深的了解需求
3. 不可视性
解决,交付,测试
为什么和建筑有如此的不同?
软件发展还不够,没有足够的基础理论支撑,例如力学等等。
4. 不一致性
需求不同,环境异构
解决之道:
1.统一的流程,复杂
2.迭代,不可视
3.需求管理,复杂,不可视,可变性
4.原型
瀑布:复杂,一致性,无法解决:可变性,不可视性
项目开发排期分析:
串行
业务用例
系统用例
架构敏感用例,更多的设计
重要用例
并行
有共同部分的用例要一起做设计等工作
敏捷也离不开架构设计
风险驱动
迭代 2-4周
最早的迭代解决最基础,通用的功能,识别最严重的风险。
每次要有迭代,要有交付,可测试。
测试驱动
重构
弹簧模型
|--范围风险?用例,哪些用例要做
|--可行性
第一阶段
业务建模
找出全部用例
用例规约,不用写
原型,测试
业务
精华阶段,解决可变的问题 ----》基线
架构风险,性能风险
原型
稳定,可扩展
构造阶段
投入最大的
质量---|
进度---|---》风险
成本---|
交付阶段
客户风险:日程,需求
分布式架构设计
怎么解决架构风险?
架构基线:健壮性,可扩展性,变更带来的影响更少
架构基线目标---》原型,实现了架构敏感用例的最小可运行交付
架构主题目标(基线原型):解决通用问题,可变元素抽象
UI界面导航图
UI交互机制
服务,关键抽象概念
用例实现,系统敏感用例
系统组装,服务定位机制
依赖注入
服务(增量)服务(共享)外部服务
| |
| 关键抽象(实体),架构机制(补充) |
|(第三方) |(遗留或其他系统)
| 持久化机制 |
\/ \/
安全机制 ,外部处理机制
通讯机制