软件体系架构课程-期末大作业-整合版 下载本文

内容发布更新时间 : 2024/11/15 6:13:39星期一 下面是文章的全部内容请认真阅读。

作业整合

《软件体系结构》作业报告 (2017 -2018 )学年 第 1 学期

小组:( 陈秋伶组 )

1. 请你结合上述背景,采用场景化方法,明确定义目标系统应该具有的质量属性,例如互操作性(interoperability)、安全性(security)、易用性(usability)与其他质量属性(X-Ability)。 互操作性: (1) 不同操作平台应同步实现数据的变更 (2) 不同的数据库之间能够实现数据交互 (3) 不同系统之间能够实现信息交互 安全性 (1)数据的完整性:系统应该拒绝未经授权的访问。非管理员用户不能修改或删除数据库的数据 (2)数据的保密性:用户可以看到自己的信息,但不能看到其他用户的信息。 (3)抵抗攻击:系统应该提供授权给用户,并有一个有效的访问控制系统。 (4)检测攻击:系统应该检测到恶意攻击。 (5)从攻击中恢复:应该审计和跟踪用户的行为。 可变性 (1)支持修改用户个人信息。 (2)支持对冗余数据库的修改和删除 (3)支持数据库平台的变更 (4)支持对使用平台的变更。 易用性 (1) 不用重复填写个人信息 (2) 统一平台能够办理全部业务,不用根据特定的需求登陆特定的系统 (3) 在移动端也能使用 性能 (1) 平台能自动生成相关数据报表与数据分析结果 (2) 平台能根据相关数据报表与数据分析结果提供智能化决策建议 (3) 平台能统一管理各种数据库信息 可测试性 (1) 测试人员能对系统的代码部分,设计和整个系统进行测试 (2) 2.请你阐述为了实现这些质量属性,而采用的具体战术与架构模式。 1. 可用性技术。当系统不再提供与其规范一致的服务时,故障就发生了;该系统的用户可以观察到这个故障。错误可能会导致故障的发生。可用性战术将会阻止错误发展成故障,至少能够把错误的影响限制在一定范围内,从而使修复成为可能。 (1) 错误检测(2)错误恢复-检测和修复(3)错误恢复-重新引入(4)错误预防 2.可修改性战术。控制可修改性的战术,其目标是控制实现、测试和部署变更的时间和成本。 (1)局部化变更(2)防止连锁反应(3)推迟绑定时间 3.性能战术。性能战术的目标就是对在一定的时间限制内到达系统的事件生成一个响应。到达系统的可以是单个事件,也可以是事件流的形式,它是请求执行计算的触发器。它可以是消息的到达、定时器到时、系统环境中重要的状态变化的检测,等等。系统对事件进行处理并生成一个响应,性能战术控制生成响应的时间。等待时间是事件到达和对该事件生成响应之间的时间。 4.安全性战术。可以把实现安全性的战术分为:与抵抗攻击有关的战术、与检测攻击有关的战术以及从攻击中恢复有关的战术。 (1)抵抗攻击(2)检测攻击(3)从攻击中恢复 5.可测试性战术。可测试性战术的目标是允许在完成软件开发的一个增量后,较轻松地对软件进行测试。 6.易用性战术。易用性与用户完成期望任务的难易程度,以及系统为用户提供的支持种类有关。 架构模式: 1. 层次模式。用部件之间进行的小交互来单独开发和发展模块,支持可移植性、可修改性和重用。 2. 代理模式。插入一个称为经纪人的中介,分离服务使用者(客户)和服务提供者(服务器)。 3. MVC模式。保持用户界面功能独立于应用程序的功能,但仍然能够响应用户输入,或者改变底层应用程序的数据。 4. 共享数据模式。系统存储和操纵由多个独立的组件存取持久数据。 3.请你基于UML建模方法,给出Len Bass架构三视图,包括:模块分解视图、组件连接件视图和分配视图,可视化描述目标系统的架构设计方案。 回答:根据题目的要求以及参考资料,最终选定中介器封装器整合机制 模块分解视图如下: 在基于这种机制的整合系统中,用户按全局模式进行查询,客户机的用户界面管理模块接收用户查询请求,向中介器发出查询请求。中介器查询处理模块接收用户查询并将之转换成中间格式,经信息选择模块选择,然后提交给相应的封装器,封装器查询处理模块进一步将中间格式的查询转化为信息源模式或本地模式的查询,连接查询模块与参加整合的相应信息源进行连接,实现对相应信息源的查询,将查询结果返回给中介器,中介器结果整合模块对结果进行处理,以统一的形式提供给用户。 组件连接件视图如下: 分配视图如下: