欢迎来到天天文库
浏览记录
ID:38470438
大小:1.83 MB
页数:41页
时间:2019-06-13
《软件系统架构设计-第一章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件系统架构设计东北大学信息学院人工智能与机器人研究所贾同课程内容软件系统架构软件工程C#与.net参考书目软件架构的艺术,李伟、吴庆海著,电子工业出版社,2009.4。架构之美,O’Relly,机械工业出版社,2010.1。软件设计精要与模式,张逸著,电子工业出版社,2010.4。一线架构师实际指南,温昱著,电子工业出版社,2009.10。软件工程,王忠群著,中国科学技术大学出版社,2009.11。大道至简-软件工程实践者的思想,电子工业出版社,2010.1。软件演化过程与进化论,张凯著,清华大学出版社,2008.12。软件构件与体系结构,
2、王映辉著,机械工业出版社,2009.9。课时安排总学时:42学时周学时:3学时(1-13周,周五9-11节)考试方式笔试:70%平时:30%,第一章软件系统架构介绍1.1架构概念1.2系统架构与软件架构1.3软件架构的历程1.4架构结构1.5软件架构生命周期第一章软件系统架构介绍问题什么是“架构”?什么是“软件架构”?“系统架构”与“软件架构”的区别和联系?“系统设计”与“软件设计”的区别和联系?1.1架构概念什么是架构?如果你问五个不同的人,可能会得到五种不同的答案-----IvarJacobson,《AOSD中文版》很多人都试图给“架构”
3、下定义,而这些定义本身却很难统一------MartinFowler,《企业应用架构模式》1.1架构概念“架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。在软件工程领域,软件架构不是一个新名词,只是在早期的著作中人们将软件架构称为软件体系结构;1.1架构概念软件架构作为在研究和实践中不断发展演化的理论,加上对软件过程中的各种制品没有形成真正意义上的准确界定与标准名称,因此软件架构尚未形成一个公认的统一定义;业界中的定义归结而言可分为:组成派和决策派两大流派:决策派Booch、Rumbaugh和Jacobson的定义:----架构是一系
4、列重要决策的集合,这些决策与以下内容有关:软件的组织,构成系统的及其接口的选择,这些元素在相互协作中明确表现出的行为,这些结构元素和行为元素进一步组合所构成的更大规模的子系统,以及指导这一组织-包括这些元素及其接口、它们的协作和它们的组合---架构风格;决策派EoinWoods的观点:----软件架构是一系列设计决策,如果作了不正确的决策,你的项目可能最终会被取消(Softwarearchitectureisthesetofdesigndecisionswhich,ifmadeincorrectly,maycauseyourprojectto
5、becancelled)组成派Garlan和Shaw的定义:----架构包括组件(Component)、连接件(Connector)和约束(Constrain)三大要素。组件可以是一组代码(例如程序模块),也可以是独立的程序(例如数据库服务器)。连接件可以是过程调用、管道和消息等,用于表示组件之间的相互关系。“约束”一般为组件连接时的条件;组成派Perry和Wolf的定义:----软件架构是一组具有特定形式的架构元素,这些元素分为三类:负责完成数据加工的处理元素(ProcessingElements)、作为被加工信息的数据元素(DataEle
6、ments)及用于把架构的不同部分组合在一起的连接元素(ConnectingElements)1.1架构概念从以上不同研究者的观点看出,不论是组成派还是决策派,其本质思想是一样的,只是从不同的角度对这个概念进行描述;组成派的观点更关注软件,倾向于“组件+交互”的思想;决策派的观点更关注人,倾向于重大决策集合的思想,除了结构和行为,还关注一些非功能的因素。1.1架构概念综上,我们可以给“架构”一个简单的定义:所谓“架构”,就是人们对一个结构内的元素及元素间关系的一种主观映射的产物。1.2系统架构与软件架构无论在哪个工程领域,从演化历史分析,都有
7、其共同点:-----人类的恐惧人类本能:对不确定的、感觉到威胁的事物具有强烈的不安全感。从而激发了人类尽量把这些恐惧的因素控制在最小范围内的愿望。因此,各工程学科在日记月累的发展历程中,逐步规范化、科学化、系列化以及统一化,最终保证人类在复杂环境中,不确定的因素存在时,依然能够进行有效的控制和协调。1.2系统架构与软件架构1997年,EberhardtRechtin与MarkWMaier在其论著中,为计算机科学总结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学中的基石:无论何种系统架构应用领域,目的都是一样的,即完整地、高
8、一致性地、平衡各种利弊地、有技术和市场前瞻性地设计系统和实施系统。1.2系统架构与软件架构比尔盖茨定义自己为:首席软件架构师因此带来的问题是:“系统架构”或“系统设
此文档下载收益归作者所有