软件系统架构设计-第一章
时间:2025-04-30
时间:2025-04-30
软件系统架构设计
课程内容
软件系统架构 软件工程 C#与.net
参考书目1. 软件架构的艺术,李伟、吴庆海著,电子工业出版社,2009.4。 2. 架构之美,O’Relly,机械工业出版社,2010.1。 3. 软件设计精要与模式,张逸著,电子工业出版社,2010.4。 4. 一线架构师实际指南,温昱著,电子工业出版社,2009.10。
5. 软件工程,王忠群著,中国科学技术大学出版社,2009.11。6. 大道至简-软件工程实践者的思想,电子工业出版社,2010.1。 7. 软件演化过程与进化论,张凯著,清华大学出版社,2008.12。 8. 软件构件与体系结构,王映辉著,机械工业出版社,2009.9。
课时安排 总学时:42学时 周学时:3学时(1-13周,周五9-11节)
考试方式 笔试:70% 平时:30%,
第一章 软件系统架构介绍 1.1 架构概念 1.2 系统架构与软件架构 1.3 软件架构的历程 1.4 架构结构 1.5 软件架构生命周期
第一章 软件系统架构介绍 问题 什么是“架构”? 什么是“软件架构”? “系统架构”与“软件架构”的区别和联系? “系统设计”与“软件设计”的区别和联系?
1.1 架构概念 什么是架构?如果你问五个不同的人,可能会得到五种不同的答案 -----Ivar Jacobson, 《AOSD中文版》
很多人都试图给“架构”下定义,而这些定义本身却很难统一 ------Martin Fowler,《企业应用架构模式》
1.1 架构概念 “架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。在软件工程领域,软件架构不是一个新名词,只是在早期 的著作中人们将软件架构称为软件体系结构;
1.1 架构概念 软件架构作为在研究和实践中不断发展演化的理论,加上对软件过程中的各种制品没有形成真正意义上的准确界定与标准名 称,因此软件架构尚未形成一个公认的统一定义;
业界中的定义归结而言可分为:组成派和决策派两大流派:
决 策 派 Booch、Rumbaugh和Jacobson的定义: ----架构是一系列重要决策的集合,这些决策与以下内容 有关:软件的组织,构成系统的及其接口的选择,这些元 素在相互协作中明确表现出的行为,这些结构元素和行为 元素进一步组合所构成的更大规模的子系统,以及指导这 一组织-包括这些元素及其接口、它们的协作和它们的组 合---架构风格;
决 策 派 Eoin Woods的观点: ----软件架构是一系列设计决策,如果作了不正确的决 策,你的项目可能最终会被取消(Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled)
组 成 派
Garlan和Shaw的定义: ----架构包括组件(Component)、连接件(Connector)和约 束(Constrain)三大要素。组件可以是一组代码(例如程序 模块),也可以是独立的程序(例如数据库服务器)。连接件 可以是过程调用、管道和消息等,用于表示组件之间的相 互关系。“约束”一般为组件连接时的条件;
组 成 派 Perry和Wolf的定义: ----软件架构是一组具有特定形式的架构元素,这些元素 分为三类:负责完成数据加工的处理元素(Processing Elements)、作为被加工信息的数据元素(Data Elements) 及用于把架构的不同部分组合在一起的连接元素 (Connecting Elements)
1.1 架构概念 从以上不同研究者的观点看出,不论是组成派还是决策派,其本质思想是一样的,只是从不同的角度对这个概念进行描述;
组成派的观点更关注软件,倾向于“组件+交互”的思想; 决策派的观点更关注人,倾向于重大决策集合的思想,除了结 构和行为,还关注一些非功能的因素。
1.1 架构概念 综上,我们可以给“架构”一个简单的定义: 所谓“架构”,就是人们对一个结构内的元素及元素间关系的 一种主观映射的产物。
上一篇:一年级上册口算题卡(已排版)
下一篇:投融资居间服务合同确定