软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式,以及这些模式的约束组成。软件体系结构不仅指定了系统的组织(organization)结构和拓扑(topology)结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理
软件体系结构模型:结构模型、框架模型、动态模型、过程模型、功能模型
逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图:也称模块视图,主要侧重于软件模块的组织和管理。进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑试题中的主要抽象如何符合进程结构。物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。场景:可以看做是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。
典型的软件体系结构:数据流风格、调用/返回风格、独立构件风格、虚拟机风格、仓库风格
分层结构:基于可增加抽象层的设计。优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。缺点:并不是没一个系统都可以很容易的划分为分层的模式;很难找到一个合适的、正确的层次抽象方法。
C2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。特点:系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;所有构件之间的通信是通过以连接件为中介的异步消息交换机制来实现的;构件相对独立,构件之间依赖性较少
客户-服务器风格(C/S):服务器负责数据管理,客户机完成与用户的交互任务。胖客户机、瘦服务器。具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。缺点:开发成本较高、客户端程序设计复杂、信息内容和形式单一、用户界面风格不一、软件移植困难、软件维护和升级困难、新技术不能轻易使用
三层C/S结构风格:解决两层问题(问题为:难以扩展至大型企业广域网或Internet;软、硬件的组合及集成能力有限;客户机的负荷太重;数据安全性不好);包括表示层(表示层是应用的用户接口部分,它担负着用户与应用间的对话功能)、功能层(功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中)、数据层(就是数据库管理系统,负责管理对数据库数据的读写)
浏览器-服务器风格:浏览器/web服务器/数据库服务器;缺点:缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;扩展能力差,安全性难以控制;在数据查询等响应速度上,要远远低于C/S体系结构;数据提交一般以 页面为单位,数据的动态交互性不强,不利于在线事务处理的应用。
公共对象请求代理体系结构:(CORBA Common Request Broker Architecture)主要内容包括:接口定义语言、接口池、动态调用接口、对象适配器。特点:引入中间件作为事务代理,完成客户机向服务对象方(Server)提出的业务请求;实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置;提供软总线机制,使在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中;CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义
体系结构设计:提出软件体系结构模型;把已标志的构件映射到软件体系结构中;分析构件之间的相互作用;产生软件体系结构、设计评审
软件体系结构评估: 体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。在体系结构评估过程中,评估人员所关注的是系统的质量属性,包括性能、可靠性、可用性、安全性、可修改性、功能性、可变性、集成性、互操作性。
基本可以归纳为三类主要的评估方式:基于调查问卷或检查表的方式、基于场景的方式和基于度量的方式。
2016年5月计算机软件水平考试报名时间专题
[考试动态]2016年2月24日云南2016年上半年计算机软考报名入口
[考试动态]2016年2月24日河北2016年上半年计算机软件水平考试报名时间2月26日至3月14日
[考试动态]2016年2月24日河北省人事考试网河北2016年上半年计算机软件水平考试报名通知
[考试动态]2016年2月24日保定2016年上半年计算机软件水平考试报名时间2月26日至3月14日
[考试动态]2016年2月24日