ISO和IEEE指出:
软件构架刻画了系统的整体设计,包含了系统中最重要的静态和动态特征。
构架和用例并行进行,用例在实现时必须适合于构架,构架必须预留空间以实现现在或将来所有需要的用例。
迭代是指工作流中的步骤
增量是指产品中增加的部分
迭代是按计划好的步骤有选择地执行
首先,迭代过程要处理一组用例,这些用例合起来能够扩展所开发产品的可用性.
其次,迭代过程要解决最突出的风险问题.后继的迭代过程建立在前一次迭代末期所开发的制品之上.
一个增量不一定是对原有制品的增加,也可以用更加详细和完善的设计代替初始简单设计.
迭代式的软件开发,提供了一系列解决软件开发根本问题的方案:
需求是系统必须达到的条件和性能.
管理需求解决软件开发根本问题的方法是:
是软件、模块、包或子系统的一个重要部分.是概要设计在物理上的实现.
关注结构和行为 、用途、功能、性能、 弹性、重用 、综合性、经济性、技术限制的权衡.
从成百上千的商业运作上可获得的资源中找到可重用或可客户化的构件.
如:
系统分析员:概述系统功能、边界,引发和协调需求,用例建模。
设计师:定义一个或多个类,调整类适应实现环境
测试工程师:制定测试计划、产生设计模型、设计、实现、评估测试
是工作人员的责任,一个人可拥有该制品,其他人使用该制品。
制品的几种形式:
模型
模型元素
文档
源代码
可执行文件
工作人员执行工作,思考步骤、 执行步骤、评审步骤.如:
项目经理活动:计划 、迭代过程
分析员活动:寻找用例、参与者、设计
评审员活动:评审设计.
每个阶段可以进一步分解为迭代
例:ATM系统
(1)银行储户表明自己的身份
(2)银行储户选择从哪个账户取款,确定取款金额
(3)系统从账户上减掉该数量的金额,发给该储户相应金额的现金