[4].软件体系结构是可传递和可重用的模型。
1、场景视图 :静态方面用 用例图 表现,动态方面用活动图、状态图、交互图表现。
2、逻辑视图:包含了类、接口、协作,静态方面用 类图和对象图表现,动态方面用活动图、状态图、交互图表现。
3、开发视图:(Development View),描述了在开发环境中软件的静态组织结构。静态方面用 组件图 表示。
4、进程视图:侧重系统的运行特性关注非功能性的需求性能可用性。服务于系统集成人员方便后续性能测试。强调并发性、分布性、集成性、鲁棒性容错、可扩充性、吞吐量等。和逻辑实体类似,可用类图(扩展)、活动图、交互图、状态图表现。
5、物理视图 : 主要描述硬件配置。服务于系统工程人员解决系统的拓扑结构、系统安装、通信等问题。主要考虑如何把软件映射到硬件上也要考虑系统性能、规模、可靠性等,静态方面用 部署图 表现,动态方面用活动图、状态图、交互图表现。
构件、连接件、配置、端口、角色
需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段
(1)优点:
●能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。
●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
●安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
(2)缺点:
●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。 ●开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。 ●用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。
(1)优点:
●分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。
●业务扩展简单方便,通过增加网页即可增加服务器功能。
●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
●开发简单,共享性强。
(2)缺点:
●个性化特点明显降低,无法实现具有个性化的功能要求。
●在跨浏览器上,BS架构不尽如人意。
●客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。
●在速度和安全性上需要花费巨大的设计成本。
●功能弱化,难以实现传统模式下的特殊功能要求。
关联、依赖、泛化、聚合、组合、流关系、实现关系。
DOM、SAX、JDOM、JAXP
VDDI是一种用于描述、发现、集成、Web服务的技术,它是Web服务协议桟的一个重要部分。有专门的接口和代理平台,包含UDDI数据模型、UDDI API,UDDI注册服务。
1、UDDI 指的是通用描述、发现与集成服务
2、UDDI 是一种用于存储有关 web services 的信息的目录。
3、UDDI 是一种由 WSDL 描述的 web services 界面的目录。
4、UDDI 经由 SOAP 进行通信
5、UDDI 被构建入了微软的 .NET 平台
作用:
1、使得在成百万当前在线的企业中发现正确的企业成为可能
2、定义一旦首选的企业被发现后如何启动商业
3、扩展新客户并增加对目前客户的访问4、扩展销售并延伸市场范围
5、满足用户驱动的需要,为在全球 Internet 经济中快速合作的促进来清除障碍。
SOAP简单对象访问协议是在分散或分布式的环境中交换结构化和类型信息的机制,是一个基于XML的协议。它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
性能、可靠性(容错、健壮性)可用性、安全性、可修改性(可维护性、可拓展性、结构重组、可移植性、)、功能性、可变性、集成性。
ATAM是一种基于场景评估方式,英文全称ArchitectureTradeOffAnalysisMethodATAM(架构权衡分析法)。
ATAM 方法对软件架构进行评估的目的主要是 根据系统质量属性和业务需求评估决策结果,ATAM希望揭示出架构满足质量目标,架构设计者能够更清楚的认识到质量目标之间的联系。即如何权衡多个目标。
.ATAM的参与者:开发人员,领域专家,测试人员,客户代表,用户等
1.描述方法
像参与者介绍ATAM 方法,要预留一些答疑时间,以期能够达到的效果
2.描述业务动机
从业务的角度介绍系统,包括系统最重要的功能,和一些相关限制
3.描述架构
对架构进行架构进行介绍,包括技术约束,已经满足质量属性的方法,不要太长,但是要说清楚
4.确定架构方法
5.生成质量效用树
确定系统最重要的质量属性目标,对这些质量属性进行优先级排序
6.分析架构方法
可以对每一个架构分析,完成该方法相关质量属性的初步分析,得到一个方法,或者风格的列表,(风险,敏感点,权衡点)
7.讨论场景
场景在ATAM测试阶段起主导作用,
8.分析架构方法
架构设计把最高级的场景映射到描述的架构中,并对架构设计如果有助于实现该场景,做出解释
9.描述结果
把ATAM中的各种信息进行归纳。反馈给相关的人员
特定目标:描述应用程序属性的文档,验证基本的体系结构假设和原则
评估技术:场景技术
质量属性:可修改性主要分析
方法活动:输入问题是问题描述,需求声明,体系结构描述
过程:场景开发,软件体系结构描述、单个场景评估,场景交互,总体评估
产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定要求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。