Chapter 4 软件架构实践第三版PPT
- 格式:pptx
- 大小:172.98 KB
- 文档页数:23
中国软件架构师网软件高端人才修炼系列企业级应用软件架构开发过程与实践第四章版本 0.5胡协刚首席软件架构师szjinco@目录第一章软件与软件的特性——从业务上下文出发的软件图景 (4)第二章软件工程基本原理——软件开发中的方法论 (5)第三章科学思维——解决软件问题的微观方法 (6)第四章面向对象技术——顺乎自然的软件开发(解决)途径 (7)第一节基于对象的软件系统观——解决软件问题的天然出发点 (8)软件的表述与开发顺序 (8)面向过程的软件系统观 (9)对象Object概念 (11)基于对象的软件系统观 (11)第二节面向对象技术的基本原理——解决软件问题的基本思路 (13)抽象Abstraction (13)模块化Modularity与分而治之 (15)对象的封装Encapsulation (17)模块的封装 (19)自底往上与自顶向下(细化) (21)层次化Hierarchy (21)归类Classify与泛化Generalization (22)泛化层次结构 (25)协作Collaboration与组合Composition (26)映射与转化 (27)面向对象的基本原理Principles及其应用 (27)第三节隔离关注面与系统思维——解决软件问题的更广泛战略 (30)软件开发中的关注点Concerns (30)关注点(面)的特点与归类 (32)关注点的结构 (34)隔离关注点(面)Separation of Concerns (34)隔离关注点(面)的不同途径 (35)系统思维 (38)第四节面向对象的软件开发生命周期——解决软件问题的完整图景 (40)软件开发的中间制品序列 (40)分步渐进的软件开发过程(生命周期) (42)为什么要划分软件开发过程(生命周期) (43)解决软件问题的面向对象过程图景 (46)本章小节 (48)第一章软件与软件的特性——从业务上下文出发的软件图景软件是人类有史以来创造的一种非常特别的制品,它具备与传统制品完全不同的特性。
什么是软件构架?P19程序或计算系统的软件构架是该系统的一个(或多个)结构,它由软件元素、元素的外部可见属性以及他们之间的关系组成。
具体概念见P19.1.构架定义了软件元素。
各个元素通过接口实现交互。
接口又将各元素的细节划分为共有和私有两种。
2.该定义明确指出系统可能而且确实由多个结构组成。
3.该定义意味着具有软件的每个计算系统都有一个软件构架,4.只要某个元素的行为可以从其他元素的角度观察到或区别开,这个元素的行为就是构架的内容。
如果某个元素的行为对与之交互的另一个元素的代码编写有特定的要求,或者影响到整个系统的可接受性,则该行为就是软件构架的一部分。
软件设计中的框架和架构的区别?框架,即framework。
其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。
简单说就是使用别人搭好的舞台,你来做表演。
而且,框架一般是成熟的,不断升级的软件。
构架和架构也就是通常所说的软件体系结构(software architecture).体系结构一般包括三个部分:构件,用于描述计算;连接器,用于描述构件的连接部分;配置,将构件和连接器组成一个有机整体.体系结构与框架(Framework)的区别与联系如下:1.呈现形式不同.体系结构的呈现形式是一个设计规约,而框架则是程序代码.2.目的不同.体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用.因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然.3.有种特殊的体系结构,DSSA(领域特定体系结构)其首要目的也是为了复用.4.有个叫体系结构风格的东西,将它用程序代码实现后就成了Corba,COM之类的东西,它们俩叫体系结构框架,也叫中间件集成框架,又有人愿意叫它对象中间件软件构架与软件设计是否相同?P1它们是不同的。
软件构架是设计过程的重要组成部分。
软件过程告诉我们实现系统的过程应该是创建软件构架,使用构架实现设计,然后实现或管理目标系统或应用软件的演变。