什么是软件系统架构设计
“架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。
但是在软件工程领域,软件架构不是一个新名词,只是在早期的著作中人们将软件架构称为软件体系架构。
这就是架构的概念。
所谓架构,就是人们对一个结构内的元素及元素间关系的一种主观影射的产物。
系统架构的主要任务是界定系统级的功能与非功能要求、规划要设计的整体系统的特征、规划并设计实现系统级的各项要求的手段,同时利用各种学科技术完成子系统的结构构建。
在系统架构中,由于对软件越来越深入的依赖,软件架构的任务也体现出重要的作用。
而且系统架构与软件架构是紧密联系和相互依赖的。
1997年,Eberhadrt Rechtin 与MarkW Maier 在其论著中,为计算机科学总结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学中的基石:无论何种系统架构应用领域,目的都是一样的,即完整地、高一致性的、平衡各种利弊的、有技术和市场前瞻性的设计系统和实施系统。
如何进行软件系统概要设计及总体架构设计.ppt
结构:程序功能实现的逻辑框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一方面也可以说框架是可被应用开发者定制的应用骨架。
框架亦可称为应用架构,在特定领域基于体系结构的可重用的设计。
也可以认为框架是体系结构在特定领域下的应用。
框架的例子如MVC。
设计模式 在一定的环境中解决某一问题的方案 构件通常是代码重用,而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用. 构架是architecture:它是对软件系统的系统组织,是对构成系统的构件的接口,行为模式,协作关系等体系问题的决策总和。
它不仅涉及到结构与行为,而且还涉及到系统的使用,功能,性能,适应性,重用性,可理解性设计模式比框架更为抽象设计模式在碰到具体问题后,才能产生代码;框架已经可以用代码表示设计模式是比框架更小的体系结构元素:框架中可以包括多个设计模式简单点说:结构 <; 设计模式 <; 架构 <;框架 结构+算法=程序(功能代码块) 程序与程序之间进行调整=设计模式 多个设计模式相组合(组件)=架构(系统)
什么是系统架构设计?
1. 系统架构的主要任务是界定系统级的功能与非功能要求、规划要设计的整体系统的特征、规划并设计实现系统级的各项要求的手段,同时利用各种学科技术完成子系统的结构构建。
2. 在系统架构中,由于对软件越来越深入的依赖,软件架构的任务也体现出重要的作用。
而且系统架构与软件架构是紧密联系和相互依赖的。
软件开发的作用:1. 提高软件开发过程的能见度。
把开发过程中发生的事件以某种可阅读的形式记录在文档中。
管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。
2. 提高开发效率。
软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。
并且可在开发早期发现错误和不一致性,便于及时加以纠正。
3. 作为开发人员在一定阶段的工作成果和结束标志。
如何分析一个系统的架构
系统架构(Framework 或Architecture)或软件架构的定义很难明确,仁者见仁智者见智。
在面向对象范畴中,我认为就是通过若干类、抽象类及其接口有机组成的软件系统,其中类起的作用好比建筑物中的砖瓦钢筋水泥楼板,而接口和抽象类中没有实现的方法好比其中的一个个空间,包括大厅,走廊,房间,厨房,卫生间....,架构使用者的任务就是往这些空间中填充东西,也就是实现那些接口和抽象方法,从而可以创建一座定制了的建筑物。
进一步,可以对这个建筑进行修饰使其外观更加漂亮。
当然也可以进行改动,以便结构更加合理。
在《Rational 统一过程实践者指南》(RUP)认为,系统架构为:1. 系统中最重要的组成部分和它们的接口,以及做出的创建、购买或是重用这些组成部分的决定;2.描述这些组成部分在运作时如何交互来实现系统中最重要的脚本;3.实现并测试系统架构的原型,以验证架构是否可行、是否化解了重大风险,以及验证它是否打到了重要的质量指标:性能、可扩展性和成本等。
软件架构和系统架构到底是什?生活中有哪些东西可以比喻?
软件架构是指软件整体的组织结构,是在较高层次上的分析设计,体现了软件系统总体的规化、决策、控制等。
系统架构包括软件、硬件、网络等多方面的组织结构。
架构是分析设计的高层阶段,不会涉及到技术实现的细节,是蓝图,是规化,是决策。
现实生活中可比喻为高楼大厦的设计图纸。
要学习做系统架构,怎么开始?
架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
系统架构是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务。
技术架构通过合理的完善的评估途径对组织、网络、程序的组成框架、模型进行评价和分析,并对其进行完善。
应用架构以架构图的方式描述系统的组成和框架,一般从系统功能和系统技术层次两个架构视角进行设计。
左手面包右手段子