[1前言] 尽管我们在6个月的训练中曾清晰地描述和演练了过多次(UML课程),还是经常有学员抓着头皮来问软件工程的老师:大公司怎么做软件?想一想同样的问题是不是一样地困扰着跃跃欲试的你?那么请还是先看看这两张表格: |
说实话,至于2004年以后他们是不是这么干的我也不清楚,今年他们给我拜年时,仍然只是:“Happy New Year”,没告诉别的。 |
[2软件分析与设计] 在面向对象的开发领域,UML极大的促进了软件分析和设计的标准化进程。 你需要知道UML和Rational Rose(请再一次翻阅你的课本)以及由Rational 提供的Rational Unified Process软件工程体系。用RUP建立UML设计模型,可以使设计工作更高效,更有效。 在生活和工作中,遇到问题时我们怎么办?很简单,我们会: 1. 分析问题; 2. 找出解决办法(可能会有几个备选方案); 3. 着手解决问题。 对于软件工程而言,这三个步骤可以理解为: 1. 确定并分析需求; 2. 根据需求进行设计; 3. 根据设计进行实现(编码;测试;部署)。 注意:分析和设计在大多数情况下是密不可分的。 |
[2.1分析和设计的必要性] |
[2.2设计的一般过程] |
[2.3设计的一般原则] |
[3.RUP简介] |
上图描述RUP的总体架构。 |
[3.1 关键概念] |
[3.2阶段划分] |
下表列出了各阶段的目标和主要活动: |
|
[3.3最佳实践方案]
|
[3.4 用例驱动的软件过程] |
[4. RUP软件设计过程] |
[4.1 RUP Framework组织方式] |
[4.2 源于Use Case] |
[4.3 使用Use Case组织需求] |
[4.3.1 找出关键用例(需求)] |
[4.3.2 使用Use Case View的提示] |
[4.4 设计软件架构] |
[4.4.1 系统分层] |
[4.4.2 如何分层] |
[4.4.3 使用子系统] |
[4.4.4 分析机制] |
[4.5 用例实现] |
[4.6.1 创建初始设计类] |
[4.6.2 确定持久类] |
[4.6.3 定义操作] |
[4.6.5 定义依赖关系] |
[4.6.7 Role] |
[4.6.9 Navigability] |
[4.6.10 Association Classes] |
上图中定义了关联类Appraisal,该类描述manager与staff发生关联时,需要附加的数据。Employee类定义了员工,其中,Manager可以管理一个staff,因此,两者间定义了一个Self-Association,当这种关联建立后,会有一个Appraisal类来描述这种关联关系的数据,如:其实日期和终止日期。 |
[4.6.11 Aggregation] |
[4.7 数据库设计] |
[5. 后记] |