数据结构论坛

首页 » 分类 » 分类 » 软件体系结构1概述
TUhjnbcbe - 2023/9/15 19:53:00
全网抖音运营求职招聘QQ群 http://www.trends-love.com/shangye/16282.html

01-本门课希望大家学到什么?

软件体系结构的概念

在开发中使用软件体系结构概念

在设计中使用软件体系结构

架构一个系统,使用软件体系结构概念

利用实际项目案例理解使用软件体系结构架构一个系统

02-技术层次与角色

03-什么是软件危机

编码者(码农)

编程者

初级设计师

分析师

架构师

03-什么是软件危机

软件危机(SoftwareCrisis)是指在计算机软件的开发和维护过程中遇到的一系列严重的问题。

04-软件危机的主要表现

软件成本日益增长

开发进度难以控制

软件质量差

软件维护困难

05-引起软件危机的主要原因

用户需求不明确

缺乏正确的理论指导

程序员的素质

软件规模越来越大

软件复杂度越来越高

06-如何克服软件危机

“人们面临的不光是技术问题,更重要的是管理问题,管理不善,必然导致失败”?用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护?年出现了“软件工程”的概念

07-什么是软件工程

软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的相关技术及管理方法,简单来说软件工程就是利用工程化的思想和管理手段对软件的过程进行管理和监控。软件工程的思想就是希望在软件公司中各个开发人员可以各司其职,每个人完成自身的各个模块,通过工程化的方式构架软件,并保证软件的质量。软件工程三要素?

方法:为软件开发提供了“如何做”的技术,是完成软件工程项目的技术手段?

工具:是人类在开发软件的活动中智力和体力的扩展和延伸,为软件工程方法提供了自动的或半自动的软件支撑环境?

过程:是将软件工程的方法和工具综合起来以达到合理、及时地进行软件开发的目的

08-什么是软件体系结构

软件体系结构是系统的一个或多个结构,它包括软件的组成元素,这些元素的外部可见特性以及这些元素间的相互关系。几个关键词解释:

“一个或多个结构”:表示软件体系结构可由一个或多个结构表示,可从层次化角度进行分解,也可从不同视角进行分解。

“组成元素”:说明软件体系结构中的结构包括软件的各个组成元素。

“外部可见特性”:表示软件体系结构中各个组成元素的对外呈现形式,如接口等。

“相互关系”:表示软件体系结构中各个元素的交互关系。包括静态和动态关系,静态关系指模块由多少子模块构成以及它们之间是什么关系。动态关系指子模块间如何运转及之间的消息如何传递等。

09-软件体系与软件工程的关系

软件体系结构是软件工程的一个分支,主要解决如何架构软件并保障软件质量的一门学科,简单来说软件工程解决如何工程化地开发软件项目,而软件体系结构则是在工程化开发项目之初的规划、设计软件的架构,确保软件工程朝着正确的方向发展。

软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已独立于软件工程的研究,成为计算机科学的一个新的研究方向和独立学科分支。

10-如何设计“好”的架构

一个架构并不是注定就是“好”的或者“坏”的。各种架构总是能够或多或少地满足某些系统的要求但是,在设计架构的时候,最好遵循一些实践准则

过程上的建议

结构上的建议

11-过程建议(1)

架构的设计应该由一位设计师完成,或者由一个在某位设计师领导下的小组来完成设计师应该全面掌握系统的功能需求架构的文档必须完备,至少有一个静态视图和动态视图应该把架构的设计方案交由涉众传阅

12-过程建议(2)

应该对架构认真进行分析,得出可应用的量化度量指标

架构的设计应该有助于增量式实现

允许架构带来一定的(少量)的资源争用,但应清楚地给出这些资源争用的解决方案,告知各方,并保证这些解决方案切实可行

13-结构建议(1)

架构应采用定义良好的模块,各模块的功能责任划分应基于信息隐藏和相互独立的原则。

应该使用特定于每个属性的众所周知的架构战术来实现质量属性

架构必须尽量不依赖于某个特定版本的商业产品或工具。

应将产生数据的模块和使用数据的模块分离开

14-结构建议(2)

对于并行处理系统,架构应该采用定义良好的进程或任务

每个任务或进程的编写都要考虑到与特定处理器的关系,并保证(甚至在运行时)能够方便地改变这种关系

架构应该采用少量的、简单的交互模式

15-程序构成的演变

程序=算法+数据结构(’s)

程序=子程序+子程序(’s)

对象=算法+数据结构程序=对象+对象(’s)

程序=组件+连接件(’s)

下一节:软件系统结构—(2)如何养成良好的编码习惯

1
查看完整版本: 软件体系结构1概述