软件体系结构复习

软件体系结构复习

1、概述

1.1 软件危机

1.软件危机的表现:1、软件成本日益增加。2、开发进度难以控制。3、软件质量差。4、软件维护困难。

2.软件危机的原因:1、用户需求不明确。2、缺乏正确的理论指导。3、软件规模越来越大。4、软件复杂度越来越高。

3.克服软件危机

  • 人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败 。
  • 要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术
  • 在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式

4.软件工程的诞生,包括过程、方法和工具。

  • 软件工程方法为软件开发提供如何做的技术。
  • 软件工具是人们开发软件活动智力和体力扩展和延伸
  • 软件工程过程是将软件工程的方法和工具综合起来以达到合理、及时进行开发

1.2 软件与软件重用

1.构件的概念

  • 构件是指语义完整语法正确和有可重用价值的单位软件
  • 是软件重用过程中可以明确辨识的系统。
  • 结构上,它是语义描述、通讯接口实现代码的复合体。

2.软件重用:在两次或者多次不同的软件开发过程中重复使用相同或者相近软件元素的过程。

3.软件元素:包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。

4.软件模型的三个流派:

  • OMG对象管理集团的CORBA
  • Sun的EJB
  • Microsoft的DCOM

5.基于构件的软件开发中,构建的多种途径获取:

  1. 从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;
  2. 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;
  3. 从市场上购买现成的商业构件,即COTS构件;
  4. 开发新的符合要求的构件。

6.构件分类和组织:目前已有的构件分类方法归为关键字分类法、刻面分类法和超文本组织方法。

7.构件组装:

构件组装是将库中的构件经过适当修改后相互连接或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。

  • 基于功能的组装技术
  • 基于数据的组装技术
  • 面向对象的组装技术

8.软件重用实例:

(1)系统构件层,指系统开发平台本身所提供的类库包括Java JDK类库等。

(2)通用类构件层,是我们产品复用的核心。(权限管理、存取控制、日志管理、数据备份/恢复等等)、页面风格函数以及JSP的CSS、JS等、字符串处理、数据库连接、日期处理等等与业务逻辑无关的类函数。

(3)业务构件层,指为了满足各个不同业务的需要而设计的软件包,并在业务软件包中设置明确的接口,方便业务之间的交互,并可以实现系列产品之间的大粒度构件复用。

(4)表现层。主要采用JSPServerlet页面来展现业务流程界面。

9.组织结构的重用:

产品开发的过程中建立了重用的组织框构,由三组成员组成:构建开发组构建应用组构件协调组

2、软件体系结构建模

软件体系结构模型分类:结构模型、框架模型、动态模型、过程模型和功能模型。

2.1 4+1视图模型

在这里插入图片描述

在这里插入图片描述

逻辑视图

在这里插入图片描述

逻辑视图的表示方法为Booch标记法:

在这里插入图片描述

  • 这里的类图用于显示一个类的集合和它们的逻辑关系,即关联、使用、组合、继承等等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xiao艾扶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值