软件体系结构的应用现状
形成研究热点,仍处于非形式化水平自20世纪90年代后期以来,软件体系结构的研究成为一个热点。
广大软件工作者已经认识到软件体系结构研究的重大意义和它对软件系统设计开发的重要性,开展了很多研究和实践工作。
从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。
软件构架师仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。
在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。
难以被开发人员理解,更不能用来分析其一致性和完整性等特性。
当一个软件系统中的构件之间几乎以一种非形式化的方法描述时,系统的重用性也会受到影响,在设计一个系统结构过程中的努力很难移植到另一个系统中去。
对系统构件和连接关系的结构化假设没有得到显式的、形式化的描述时,把这样的系统构件移植到另一个系统中去将是有风险的,甚至是不可能的。
软件体系结构的形式化方法研究软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。
为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。
从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系统。
Wright是-种结构描述语言,该语言基于一种形式化的、抽象的系统模型,为描述和分析软件体系结构和结构化方法提供了一种实用的工具。
Wright主要侧重于描述系统的软件构件和连接的结构、配置和方法。
它使用显式的、独立的连接模型来作为交互的方式,这使得该系统可以用逻辑谓词符号系统,而不依赖特定的系统实例来描述系统的抽象行为。
该系统还可以通过一组静态检查来判断系统结构规格说明的一致性和完整性。
从这些特性的分析来说,Wright系统的确适用于对大型系统的描述和分析。
软件体系结构的建模研究研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。
根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。
在这5个模型中,最常用的是结构模型和动态模型。
(1)结构模型这是一个最直观、最普遍的建模方法。
这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。
研究结构模型的核心是体系结构描述语言。
(2)框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。
框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
(3)动态模型动态模型是对结构或框架模型的补充,研究系统的大颗粒的行为性质。
例如,描述系统的重新配置或演化。
动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。
这类系统常是激励型的。
(4)过程模型过程模型研究构造系统的步骤和过程。
因而结构是遵循某些过程脚本的结果。
(5)功能模型该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
它可以看作是一种特殊的框架模型。
这5种模型各有所长,也许将5种模型有机地统一在一起,形成一个完整的模型来刻画软件体系结构更合适。
例如,Kruchten在1995年提出了一个4+1的视角模型。
4+1模型从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构。
每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容。
4+1模型如图1所示。
图1 4+1模型发展基于体系结构的软件开发模型软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系。
目前,常见的软件开发模型大致可分为三种类型:(1)以软件需求完全确定为前提的瀑布模型。
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等。
(3)以形式化开发方法为基础的变换模型。
所有开发方法都是要解决需求与实现之间的差距。
但是,这三种类型的软件开发模型都存在这样或那样的缺陷,不能很好地支持基于软件体系结构的开发过程。
因此,研究人员在发展基于体系结构的软件开发模型方面做了一定的工作。
例如,为了形象地表示体系结构的生命周期,北京邮电大学的周莹新博士建立了一个软件体系结构的生命周期模型,该模型如图2所示。
图2 软件体系结构的生命周期模型软件产品线体系结构的研究软件体系结构的开发是大型软件系统开发的关键环节。
体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统。
在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本。
一个产品线代表...
软件产品线的演化是什么,产品线是否该演化,如何实现其演化
技术分析技术分析是以预测市场价格变化的未来趋势为目的,通过分析历史图表对市场价格的运动进行分析的一种方法。
技术分析是证券投资市场中普遍应用的一种分析方法。
所有的技术分析都是建立在三大假设之上的。
一、市场行为包容消化一切。
这句话的含义是:所有的基础事件--经济事件、社会事件、战争、自然灾害等等作用于市场的因素都会反映到价格变化中来。
二、价格以趋势方式演变。
三、历史会重演。
《股市趋势技术分析》是技术分析的代表著作。
初版1948年,作为经典中的经典、技术分析的权威之作,《股市趋势技术分析》至今仍牢牢处于无法超越的地位。
基本分析基本分析法通过对决定股票内在价值和影响股票价格的宏观经济形势、行业状况、公司经营状况等进行分析,评估股票的投资价值和合理价值,与股票市场价进行比较,相应形成买卖的建议。
演化分析演化分析是以演化证券学理论为基础,将股市波动的生命运动特性作为主要研究对象,从股市的代谢性、趋利性、适应性、可塑性、应激性、变异性和节律性等方面入手,对市场波动方向与空间进行动态跟踪研究,为股票交易决策提供机会和风险评估的方法总和。
软件体系结构的研究范畴有哪些?请举例加以说明!
软件体系结构的形式化方法研究软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。
为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。
从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系统。
Wright是-种结构描述语言,该语言基于一种形式化的、抽象的系统模型,为描述和分析软件体系结构和结构化方法提供了一种实用的工具。
Wright主要侧重于描述系统的软件构件和连接的结构、配置和方法。
它使用显式的、独立的连接模型来作为交互的方式,这使得该系统可以用逻辑谓词符号系统,而不依赖特定的系统实例来描述系统的抽象行为。
该系统还可以通过一组静态检查来判断系统结构规格说明的一致性和完整性。
从这些特性的分析来说,Wright系统的确适用于对大型系统的描述和分析。
软件体系结构的建模研究研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。
根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。
在这5个模型中,最常用的是结构模型和动态模型。
(1)结构模型这是一个最直观、最普遍的建模方法。
这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。
研究结构模型的核心是体系结构描述语言。
管道/过滤器风格的体系结构(2)框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。
框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
(3)动态模型动态模型是对结构或框架模型的补充,研究系统的"大颗粒"的行为性质。
例如,描述系统的重新配置或演化。
动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。
这类系统常是激励型的。
(4)过程模型过程模型研究构造系统的步骤和过程。
因而结构是遵循某些过程脚本的结果。
(5)功能模型该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
它可以看作是一种特殊的框架模型。
这5种模型各有所长,也许将5种模型有机地统一在一起,形成一个完整的模型来刻画软件体系结构更合适。
例如,Kruchten在1995年提出了一个"4+1"的视角模型。
"4+1"模型从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构。
每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容。
"4+1"模型如图1所示。
图1 "4+1"模型发展基于体系结构的软件开发模型软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系。
目前,常见的软件开发模型大致可分为三种类型:(1)以软件需求完全确定为前提的瀑布模型。
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等。
(3)以形式化开发方法为基础的变换模型。
所有开发方法都是要解决需求与实现之间的差距。
但是,这三种类型的软件开发模型都存在这样或那样的缺陷,不能很好地支持基于软件体系结构的开发过程。
因此,研究人员在发展基于体系结构的软件开发模型方面做了一定的工作。
例如,为了形象地表示体系结构的生命周期,北京邮电大学的周莹新博士建立了一个软件体系结构的生命周期模型,该模型如图2所示。
数据抽象和面向对象风格的体系结构图2 软件体系结构的生命周期模型软件产品线体系结构的研究软件体系结构的开发是大型软件系统开发的关键环节。
体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统。
在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本。
一个产品线代表着一组具有公共的系统需求集的软件系统,它们都是根据基本的用户需求对标准的产品线构架进行定制,将可重用构件与系统独有的部分集成而得到的。
采用软件生产线式模式进行软件生产,将产生巨型编程企业。
但目前生产的软件产品族大部分是处于同一领域的。
软件产品线包括哪些过程,如何实现软件产品线的创建和演化
具有媒体特征的资讯信息服务 目前国内行业电子商务网站大多拥有资讯信息业务,并有一部分网站提供有偿资讯信息业务。
资讯信息服务主要由咨询信息和供求信息两类组成。
前者区别于媒体内容的新闻性特征,行业电子商务网站资讯侧重商情和价格动态,具备一定的信息咨询特征。
慧聪网、隆众石化网、金银岛以及中国工控网等一定数量的行业电子商务网站投入约占网站员工总数1/3—1/4的庞大人力资源,为会员提供信息咨询和资讯服务,并获得一定的信息服务收益。
其他一部分没有能力投入大量采集分析人员的网站,也依靠免费的资讯获得一定的企业会员。
中国工控网目前的业务便主要集中于发布资讯信息和提供行业咨询报告两部分,这家成立于2000年的自动化行业电子商务网站目前拥有8000家企业用户,通过咨询业务和组织用户线下互动活动,已经成为目前工业自动化领域的优秀网站之一。
后者主要以发布和查询企业及产品供求信息为主,该服务是行业电子商务网站的基本服务模式,是绝大多数网站的基本服务内容。
具有中介特征的交易服务 交易平台难以实现是行业电子商务网站与中小企业之间互相制约的结果。
目前国内大多数行业电子商务网站均不参与买卖双方的交易过程,主要作用依然是搭建起买卖双方的洽谈桥梁。
介入交易过程,通过对交易订单、物流或者交易资金的掌控,行业电子商务网站实现为贸易双方提供交易中介服务,包括网上采购与拍卖、贸易撮合、资金结算及物流仓单等,并利用网络特点提供比传统洽谈更方便快捷的方式促进买卖双方的交易达成,这也是国内交易平台型行业电子商务网站的共性特征之一。
交易服务一般是以收取交易佣金为标志。
以金银岛网交所为例,该网站从2004年起面向重工业企业提供全程交易辅助服务,包括分多个频道报道最新价格变动信息、审核企业资料、与银行对接实现保险交易、与多家第三方认证机构合作等内容,为企业提供实用交易工具和安全保障体系。
具有技术服务特征的商务服务 国内行业电子商务网站还提供一系列围绕企业电子商务应用的技术和工具服务,包括商务洽谈工具、诚信评估和数字认证工具、站内和站外企业及产品搜索工具、软件管理工具以及企业网站建设技术服务。
在企业电子商务应用继续深入的过程中,还会不断出现服务于营销、管理和物流支付方面的技术工具。
2006年,国内也出现了一些创新型的即时通讯工具,如无须安装客户端就可洽谈,并按照效果付费的说说螺;以及将传统800免费电话功能进行优化,实现线上线下相结合的line800,都是具有一定创新性的通讯工具。
贸易通、买卖通、阿里软件、说说螺、雅蜂搜索引擎、NETSUN搜索引擎、诚信通等都是具有技术服务特征的商务服务。
交易周边服务及其他服务 以企业交易为中心,行业电子商务网站还提供信用搜索、交易资质认证、政策法律服务以及信用担保等交易相关服务。
另外,还有行业电子商务网站提供商标转让、投融资、数字产品租售以及人力资源等其他服务内容。
围绕交易需求,行业电子商务网站还提供“线下”服务,成立会员俱乐部,促进企业用户之间的交流和沟通。
通过这种面对面的交流方式,更有利于增强会员之间的紧密联系,也有利于增强企业用户对于行业电子商务网站的忠诚度,从而能更好地促进线上业务的发展。
3、行业电子商务网站的营收渠道 综合性服务收费------行业电子商务网站42%的收入来自会员费 会员费是大部分行业电子商务网站向会员以年或季度为单位收取的综合性服务费,其中一般包括帮助会员建商铺、广告推广和资讯信息查阅等费用。
因而近两年国内主流行业电子商务网站的收费会员数量增长较快,截至2006年底,收费会员注册数超过1万的行业电子商务网站已占整个行业电子商务领域的近70%,同时,从整个产业的综合情况看,会员费也成为目前国内行业电子商务网站最主要的收入来源,约占所有收入额的42%。
广告性收费------行业电子商务网站30%的收入来自广告费 门户网站盈利来源离不开广告,信息是互联网的基本传播内容,由此广告费成为行业电子商务网站当前的一大收入来源。
区别与平面媒体广告,行业电子商务网站广告出现了一些创新形式,例如:竞价排名广告,关键词搜索广告,按效果付费广告,整合投放型广告等等。
广告再早期创业的行业电子商务网站收入渠道中具有重要地位,一般在网站进入成熟期后即成为网站的主营收入之一,但到2006年底,广告已不再成为行业电子商务网站盈利收入的主要来源,目前仅占所有行业电子商务网站收入来源比重的30%,广告在行业电子商务网站上所能创造的宣传价值也正逐渐被细分化。
交易佣金-----前景好但难以快速实现的营收渠道 行业电子商务网站都期望将收取交易佣金作为自己的核心业务收入,因为一方面交易佣金代表了网站从信息平台成长为交易平台,另一方面,交易佣金所能实现的营收市场具有很大的发展空间。
目前,实现交易佣金收入的网站数量较少,且主要集中在钢铁、石油化工、能源电力等大宗商品交易领域,大宗商品交易佣金的收取比率一般为交易额的万分之一到三。
行业电子...
心肌梗死心电图的定位和动态演变?
答:(1)定位心肌梗死的心电图定位诊断心肌梗死部位 出现梗死图形的导联前间壁 V1~V3前壁 V3、V4(V5)高侧壁 I、aVF前侧壁 V5、V6下壁 Ⅱ、Ⅲ、aVF广泛前壁 V1~V6、I、aVL后壁 V7~V9右室 V3R~V5R(2)动态演变①超急性期(超急性损伤期):心肌梗死发生数分钟后,ST段呈斜型抬高,与高耸直立T波相连。
②急性期(充分发展期):心肌梗死后数小时或数日,可持续数周,出现异常Q波,ST段弓背向上抬高,可呈单向曲线,T波倒置。
③近期(亚急性期):梗死后数周至数月,抬高的ST段恢复至基线,缺血性T波由倒置较深逐渐变浅。
④陈旧期(愈合期):梗死后数月至数年,ST段和T波恢复正常或有异常改变,趋向恒定不变,残留坏死型的Q波。
中风病证侯动态演变的时空特征是什么?
中风病证候的动态演变是基于中风病过程中病机的不断转化之上的,中风病的病机转化决定于内风、邪热、痰浊瘀血等病邪与人体正气相争及其消长变化的结果。
中风病初期,内热征象多不明显,但内风煽动,痰浊、瘀血内蕴,阳气郁积,多有化热趋势。
内热既盛,一是邪热灼伤正气,二是能炼液为痰,三则化风迫血,从而加重气血逆乱上冲之势。
中风病的发生是一个量变到质变的过程,但中风病的中心证候特征为脑脉痹阻或血溢脑脉之外所引起的脑髓神机受损。
中风病的发展过程可分为中风病先兆期、中风病卒中期、中风病后遗症期,各期病机虽各有特点,但基本病机为阴阳失调、气血逆乱。
中风病先兆期、中风病卒中期、中风病后遗症期各种证候可交叉出现,但又各有其特点,把握其中的主要证候有利于提高临床辨证水平。
中风病先兆期正气已虚,邪气渐盛,患者主要表现为阵发性眩晕,发作性偏身麻木,短暂性言语謇涩,一过性偏身瘫痪,晕厥发作,瞬时性视歧昏瞀。
证候类型可分为肝胆火旺证、痰瘀互结证、气虚血疲证、阴虚阳亢证。
中风病卒中期,邪实与正虚并存,患者表现为卒然昏仆,半身不遂,不省人事、口眼喁斜、言语不利等为主症的病症,或不经昏仆,仅表现为半身不遂、口眼喁斜等症状。
证候类型可分为中经络和中脏腑,中经络包括肝阳暴亢证、风痰阻络证、痰热腹实证、气虚血疲证、阴虚风动证;中脏腑包括风火蔽窍证,痰火蔽窍证、痰湿蒙窍证、元气衰败证。
中风病后遗症期正虚邪亦虚,患者中风后表现为半身不遂、言语不利、口角喁斜等症状。
总由正虚络瘀所致。
由上可知,中风病证侯动态演变过程中特征为:正邪交争贯穿始终。
如何看待软件概要设计
在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。
因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。
一、问题的提出概要设计写什么?概要设计怎么做?如何判断设计的模块是完整的?为什么说设计阶段过于重视业务流程是个误区?以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确?结构化好还是面向对象好?以上问题的答案请在文章中找。
二、概要设计的目的将软件系统需求转换为未来系统的设计;逐步开发强壮的系统构架;使设计适合于实施环境,为提高性能而进行设计;结构应该被分解为模块和库。
三、概要设计的任务制定规范:代码体系、接口规约、命名规则。
这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。
总体结构设计:功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现;模块层次结构:某个角度的软件框架视图;模块间的调用关系:模块间的接口的总体描述;模块间的接口:传递的信息及其结构;处理方式设计:满足功能和性能的算法用户界面设计;数据结构设计:详细的数据结构:表、索引、文件;算法相关逻辑数据结构及其操作;上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)接口控制表的数据结构和使用规则其他性能设计。
四、概要设计写什么结构化软件设计说明书结构(因篇幅有限和过时嫌疑,在此不作过多解释)任务:目标、环境、需求、局限;总体设计:处理流程、总体结构与模块、功能与模块的关系;接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面)数据结构:逻辑结构、物理结构,与程序结构的关系;模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置;运行设计:运行模块组合、控制、时间;出错设计:出错信息、处错处理;其他设计:保密、维护;OO软件设计说明书结构1 概述系统简述、软件设计目标、参考资料、修订版本记录这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。
同时,对于非功能性的需求例如性能、可用性等,亦需提及。
需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。
这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。
在随后的文档部分,将解释设计是怎么来实现这些的。
2 术语表对本文档中所使用的各种术语进行说明。
如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。
3 用例此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。
4 设计概述4.1 简述这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose)4.2 系统结构设计这部分要求提供高层系统结构(顶层系统结构、各子系统结构)的描述,使用方框图来显示主要的组件及组件间的交互。
最好是把逻辑结构同物理结构分离,对前者进行描述。
别忘了说明图中用到的俗语和符号。
4.3 系统界面各种提供给用户的界面以及外部系统在此处要予以说明。
如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。
如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。
4.4 约束和假定描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。
说明系统是如何来适应这些约束的。
另外如果本系统跟其它外部系统交互或者依赖其它外部系统提供一些功能辅助,那么系统可能还受到其它的约束。
这种情况下,要求清楚地描述与本系统有交互的软件类型以及这样导致的约束。
实现的语言和平台也会对系统有约束,同样在此予以说明。
对于因选择具体的设计实现而导致对系统的约束,简要地描述你的想法思路,经过怎么样的权衡,为什么要采取这样的设计等等。
5 对象模型提供整个系统的对象模型,如果模型过大,按照可行的标准把它划分成小块,例如可以把客户端和服务器端的对象模型分开成两个图表述。
在其中应该包含所有的系统对象。
这些对象都是从理解需求后得到的。
要明确哪些应该、哪些不应该被放进图中。
所有对象之间的关联必须被确定并且必须指明联系的基数。
聚合和继承关系必须清楚地确定下来。
每个图必须附有简单的说明。
6 对象描述在这个部分叙述每个对象的细节,它的属性、它的方法。
在这之前必须从逻辑上对对象进行组织。
你可能需要用结构图把对象按子系统划分好。
为每个对...