软件体系结构大作业
数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息, 连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、 数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 (1)软件体系结构是软件设计过程的一个层面,是相对独立的、有价值的软件 设计方法的总结,可作为软件开发指导性的策略和途径。 (2)强调设计过程,而非分析的过程。分析的目标是理解和表示,设计的目标 是实现。 (3)非用户的观点及非功能的观点。对于用户,结构是软件系统功能的组合。 对于设计者,结构是为特定目标而设立的软件成分以及成分之间的关系。 研究意义:
软件应用框架
框架是待实例化的、可复用的大粒度部件结构。框架面向不同规模的应用问 题,是通用的结构。强调针对实际问题和通用结构。应用框架有如下优点:模块 化 把应用分割成多个组件或模块. 模块化的开发互不影响, 效率提高.可重用性 代码的可重用性.可扩展性 客制化,开发者可在框架中插入自定义的业务逻辑。
过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前, 输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就象是数据 流传输的管道,将一个过滤器的输出传到另一过滤器的输入。 5.批处理风格。批处理风格的每一步处理都是独立的,并且每一步是顺序执行的, 只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个 整体。批处理的典型应用是经典数据处理和程序开发。 软件设计模式
软件体系结构是软件工程的重要研究领域,通过对基本软件结构和经典设计 风格的学习和研究,掌握软件体系结构设计的基本原则和技术途径;能够拓宽软 件方法和技术的知识面,提高软件的设计能力;软件体系结构的重要作用体现在 以下三个方面: 1.体系结构是风险承担者进行交流的手段,软件系统的各个风险承担者都关心着 系统的各个不同的方面,这些方面都受体系结构的影响。 2.体系结构是早期设计决策的体现,软件体系结构体现的这些早期的约束比起后 续的开发、设计、编码、运行服务以及维护工作更为重要。 3.软件体系结构是可传递和可重用的模型。 目标:
所以,公司的CTO王总决定在弄清三个问题之后再做决定, 首先就是本公司的业务范围是否适合使用产品线方法,其次 是如何在原有产品的基础上建立产品线,最后是成功实施产 品线的主要因素是什么?
[问题1] 请用100字以内文字说明A公司是否适合采用产品线方法?为 什么?
产品线是指密切相关的一组产品,因为这些产品以类似的方式发挥作用,售给同 类客户群,通过同一种类的渠道销售出去产品线可以是密切相关的一组产品,也 可以是多个系列产品的集合,面向不同客户群,通过不同销售渠道销售出去;从 规模来看,可以是几百万、几千万的小产品线,也可以是几十亿、几百亿的大产 品线。A公司的产品符合产品线的要求。所以适合。
软件体系结构是一系列决策和基本原理的集合,这些决策的目标在于开发高 效的软件体系结构。在体系结构设计中所强的形式汇集一定数量的体系结构元素满足系统的 主要功能和性能的需求,另外还能同时表示出一些非功能性需求。开发出合理的、 高效的、高质量的软件体系结构,重点解决系统开发过程中的总体结构问题。
二、简述软件设计风格、软件应用框架和软件设计模式的特 征和区别?(不少于300字)
软件体系结构风格
风格是表达特定系统元素和组织方式的通用范例。软件体系结构风格,反映 众多系统共有结构的习惯用法和语义,表述系统的静态结构方式,强调软件元素 的组织形式和通常用法。软件体系结构是具有一定形式的结构化元素,即构件的 集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数 据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一 定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中 基本上得到保持。 下面将介绍几种主要和经典的体系结构风格和它们的优缺点。 1.C2风格。C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则 运作的并行构件网络。图1中构件与连接件之间的连接体现了C2风格中构建系统 的规则。 2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数 据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数 据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。 对象是通过函数和过程的调用来交互的。图2是数据抽象和面向对象风格的示意 图。 3.基于事件的隐式调用风格。基于事件的隐式调用风格的思想是构件不直接调用 一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个 或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有 过程,这样,一个事件的触发就导致了另一模块中的过程的调用。 4.管道/过滤器风格。在管道/过滤器风格的软件体系结构中,每个构件都有一组 输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个
设计模式是软件问题高效和成熟的设计模板,模板包含了固有的问题的处理 逻辑,强调处理逻辑采用方式的直接复用。设计模式/软件设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验 的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码 可靠性。
三、A公司是一家相对较大的软件和硬件企业,专业从事网 络设备的开发。从单一的产品开始,现在,已经延伸到包括 摄相服务器、扫描服务器、光盘服务器以及其他的存储服务 器在内的产品。公司原来的产品都是一个一个地开发,每个 软件组织一个项目组。为了适应快速变化的市场,降低开发 成本,公司想引入产品线方法。然而,软件产品线开发涉及 了一个软件开发组织的多个产品,选择了软件产品线意味着 要承担由此带来的许多风险。
南京邮电大学
《软件体系结构》大作业
姓名 陈何渊 学号 B12041318 院系 计算机、软件学院 指导老师 周国强 2014 年 12 月 30 日
一、简述软件体系结构的性质、研究意义和目标是什么? (不
少于300字)
答
软件体系结构的性质: 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、