Archive for the ‘架构与设计’ Category
April 4, 2008
详细设计思路
1. 指导方略
① 软件架构师完成设计规范的制定
② 设计任务由架构师分配
③ 设计的过程由架构师来进行制定
④ 推荐使用
n Rational RMC
2. 获得设计素材
① 局部分析
n 边界对象
n 实体对象
n 控制对象
② 健壮性分析
③ 场景装换
④ 对象整理工作(获得80%的类)
3. 去除重复性设计
① 类更小分解
n 重复性提取
② 重复性类只做一次
4. 去除相似性设计
① 共性与个性的分离
② 封装共性到基类
n 抽象类或接口
n 深层次设计
考虑扩展性问题
à 桥接模式
对象管理
à 工厂模式
算法问题
à 模板模式
à 策略模式
à 状态模式
à 职责链模式
流程问题
à 状态模式
à 构建者模式
à 管道过滤器模式
管理问题
à 微核模式
取自架构
à 管道过滤器
à 代理者模式(10种)
à IOC模式
à AOP模式
à 反射模式
5. 发现变化趋势
① 用例的扩展点发现变化趋势
② 看到趋势后–封装变化趋势
6. 类的元模型提取
① 类不断的原子化
② 类的分类
7. 类的质量设计
① 质量属性
n 用户的视角获得质量描述
② 设计质量
n 服务性元素
8. 类的环境设计
① 类的依赖平台
② 软件环境
n 操作系统
n 语言
n 框架

VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
April 4, 2008
UML容易让一些人望而生畏,这也不奇怪,因为它看起来有些复杂,不过作为一种描述的文档,它毕竟是有用的。
use case:在需求阶段,捕捉用例,为后面的分析提供初步的依据
健壮性分析 :画出边界对象、控制对象、实体对象
序列图:描述场景
类图
整体关系如下:

VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
April 4, 2008
继续谈我的软件设计师课程中的体会:
这次课程中看到老师的硬盘里充满了实际的项目,一方面佩服老师做过的项目之数量之惊人,另一方面也感受到到处充满着设计的内涵,从系列的文档之中感觉到做的之专业。
老师提示: 多阅读经典源代码,比如jive,junit,类库等等,最好也多从宏观的角度来观察,比如uml角度,设计模式的角度。这次我就把jdk和junit、hibernate等的代码导入到EA,下一步就是好好的阅读下 ,希望能有收获。
另外一点:技术的互通性是正常的,做java的不要对微软有敌视,反之也然,作为架构师或系统分析师,应该从设计的角度来看待二者,具体展现可能不同,但是思想总是可以借鉴的。当然,这是更高的一个境界了。
VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
April 4, 2008
最近参加了一个软件设计师的课程,老师推荐了几本比较经典的书
VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
March 9, 2008
1.变化是绝对的,静止是相对的
2.需求是一定要变的,设计的人希望需求不变,此时,用的方法叫“面向过程”
3.客户永远是对的,所以,请满足客户的要求.
4.用面向对象分析与设计的方法来进行系统设计,注意,设计,没有设计后果很严重。用架构的思想来设计的时候,就叫”面向对象”.
5.架构设计是一种艺术,也是一种平衡
6.先从uml开始吧.
VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
February 28, 2008
- 软件架构:可控的灵活性
- 编者按:在 软件开发中,对于软件架构经常很极端:要么不重视软件架构,要么过分重视以至于成了“天条”。我甚至遇到过这样的情况:某公司强制推行某基于Struts 的架构设计,然而到了项目组它却处处遭到抵制,特别是分部基本上抛弃了这个架构设计。那么,为什么这样一个成本高昂、设计良好的架构没有被接纳呢?我们发 现,很多设计人员在进行软件架构设计时忽略了这样几个重要的问题:架构设计的灵活和支撑。 >>全文
软件架构基础
- ·软件架构是一系列有层次性的决策
- 软件架构属于设计范畴,但并不是所有设计都属于软件架构设计之列。正如软件架构的“决策派”概念所揭示的,软件架构可以视为一系列重要决策的集合。不仅如此,架构决策是分层次依次展开的。
软件架构设计
- ·浅谈软件架构设计的概念
- 开始之初的架构设计决定着软件产品的生死存亡。开始的架构设计是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持,再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。
软件架构实践
- ·软件架构的过程
- 根据IEEE标准,软件架构活动代表了这样一系列活动:定义、记录、维持、改进一个软件构架并确保其正确执行。
系统架构师
- ·软件架构师之路
- 架构师不是通过理论学习可以产生的,不过不学习相关知识那肯定是不行的。参考软件企业架构师需求,结合目前架构师所需知识,总结架构师自我培养过程大致如下。
VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]
February 26, 2008
1.架构的分类:业务架构、数据库架构、软件设计架构,正在流行的所谓soa架构也算吧
2. 涉及到的主要内容:
- 需求分析
- 领域分析
- UML建模
- 文档设计管理
- 设计模式
- 基于javaEE5的设计(jsf+EJB3)[个人感觉jboss seam是最好的代表了]
3.今天一同事说在网上看到统计数据说基于soa的架构做的项目比传统的做法成功率确实高,可能性是存在的,不过也不排除这些统计数据是某些大厂赞助的结果
4.今年打算有机会的话培训一下软件设计师的课程,内容摘要如下:(来自国信培训)
一、面向对象分析设计与UML
Ø 面向对象分析与设计OOAD
Ø UML建模与ICONIX进程
Ø 领域建模与用例建模
Ø 需求分析与UseCase
Ø 健壮性分析
Ø 时序图
Ø 对象图、状态图、活动图与协作图
Ø 类图、包图与组件图
Ø 部署图
Ø UML与RUP
Ø 设计进度和设计粒度的控制
二、设计模式
Ø GOF设计模式
Ø 创建型模式
Ø 结构型模式
Ø 行为型模式
Ø 模式扩展
Ø 开源项目中的设计模式
Ø 模式与交流
三、软件设计管理
Ø 软件设计文档
Ø 软件流程改进策略
Ø 软件设计风险管理
四、相关软件设计案例集
5.有兴趣的朋友可以看一下这张IT培训方面的图,还是挺全面的:

VN:F [1.6.3_896]
Rating: 0.0/10 (0 votes cast)
VN:F [1.6.3_896]