软件开发需要建模 ▣如何理解模型? 模型是现实的简化,同一系统,需要多个模 型来描述。每个模型只描述系统的一个方面。 ▣建模的目的 更好的理解我们正在开发的系统,人对复杂 系统的理解力是有限的。通过建模,缩小研 究问题的范围,一次只研究它的一个方面。 这就是“各个击破"的策略
软件开发需要建模 如何理解模型 ? 9 模型是现实的简化 ,同一系统,需要多个模 型来描述。每个模型只描述系统的一个方面。 建模的目的 9 更好的理解我们正在开发的系统 ,人对复杂 系统的理解力是有限的。通过建模,缩小研 究问题的范围,一次只研究它的一个方面。 这就是 “各个击破 ”的策略
软件开发:建模的原则 ▣准确的原则:模型必须准确地反映软件系统的真实情况。 模型必须准确,意味着在软件开发的整个周期内模型必 须和产品始终保持一致。 ▣分层的原则:在建模的过程中,必须有不同的模型,以不同的 抽象程度,反映系统的不同侧面。 ■ 在软件构筑的不同阶段,不同的开发相关人员 (stakeholders),如:投资者、管理者、设计者、程序 员、测试者,使用者,看待软件的侧重面有所不同。 因此,软件系统的建模需要不同的模型以反映系统的不 同侧面。如: 类模型描绘系统的外部边界和行为 >另一类模型描绘系统的内部逻辑关系
软件开发: 建模的原则 准确的原则:模型必须准确地反映软件系统的真实情况。 模型必须准确,意味着在软件开发的整个周期内模型必 须和产品始终保持一致。 分层的原则:在建模的过程中,必须有不同的模型,以不同的 抽象程度,反映系统的不同侧面。 在软件构筑的不同阶段,不同的开发相关人员 (stakeholders),如:投资者、管理者、设计者、程序 员、测试者,使用者,看待软件的侧重面有所不同。 因此,软件系统的建模需要不同的模型以反映系统的不 同侧面。 如: ¾ 一类模型描绘系统的外部边界和行为 ¾ 另一类模型描绘系统的内部逻辑关系
软件开发建模的原则(续) 分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。 ■ 软件系统是复杂的 ■ 对于软件模型的任意一个侧面,不可能用一个模型来反映所有 内容,需要把问题分解为不同的子模型,分别处理。 这些模型相对独立,但又互相联系,综合起来构成了此侧面的 个完整的模型。 标准的原则:模型必须在某种程度上是通用的。 建模的基本目的是交流 > 一个开发队伍内部的交流 >同一软件的不同时期的版本的开发队伍的交流 不同软件的开发队伍的交流 以实现最大程度的软件复用 交流需要语言 语言是通用的、是标准
软件开发建模的原则 ( 续 ) 分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。 软件系统是复杂的 对于软件模型的任意一个侧面,不可能用一个模型来反映所有 内容, 需要把问题分解为不同的子模型,分别处理。 这些模型相对独立,但又互相联系,综合起来构成了此侧面的 一个完整的模型。 标准的原则:模型必须在某种程度上是通用的。 建模的基本目的是交流 ¾ 一个开发队伍内部的交流 ¾ 同一软件的不同时期的版本的开发队伍的交流 ¾ 不同软件的开发队伍的交流 以实现最大程度的软件复用 ¾ 交流需要语言 ¾ 语言是通用的、是标准
软件开发:建模方法 面向过程的建模:把过程看作系统模型的基本部分, 数据是随着过程而产生的。 面向数据的建模:把模型的输入输出看成是最为重要 的,因此,首先定义的是数据结构,而过程模块是从 数据结构中导出的,即功能跟随数据。 面向信息的建模:从整个系统的逻辑数据模型开始 的,通过一个全局信息需求视图来说明系统中所有基 本数据实体及其相互关系逐步构造整个模型,其目的 是设计和实现满足系统信息需求的数据库结构,即数 据建模支持系统设计。 面向决策的建模:决策支持系统模型需要反映的问题 是系统的决策制订原则和机理、系统的组织机构和人 员配置。 面向对象的建模
软件开发: 建模方法 面向过程的建模:把过程看作系统模型的基本部分, 数据是随着过程而产生的。 面向数据的建模:把模型的输入输出看成是最为重要 的,因此,首先定义的是数据结构,而过程模块是从 数据结构中导出的,即功能跟随数据。 面向信息的建模:从整个系统的逻辑数据模型开始 的,通过一个全局信息需求视图来说明系统中所有基 本数据实体及其相互关系,逐步构造整个模型,其目的 是设计和实现满足系统信息需求的数据库结构,即数 据建模支持系统设计。 面向决策的建模:决策支持系统模型需要反映的问题 是系统的决策制订原则和机理、系统的组织机构和人 员配置。 面向对象的建模
什么是软件开发过程? (software development process) Describe an approach to building,deploying and possibly maintaining software Define who is doing what,when to do it, and how to reach a certain goal. 目 The Unified Process (UP)has emerged as a de facto industry standard. ▣什么是统一过程UP? ▣什么是Rational Unified Process? ▣什么是敏捷的UP?
什么是软件开发过程? (software development process) Describe an approach to building, deploying and possibly maintaining software Define who is doing what, when to do it, and how to reach a certain goal. The Unified Process (UP) has emerged as a de facto industry standard. 什么是统一过程UP ? 什么是Rational Unified Process? 什么是敏捷的UP?