下载

5下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 软件架构及设计

软件架构及设计.pdf

软件架构及设计

dell
2009-05-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《软件架构及设计pdf》,可适用于IT/计算机领域

By台湾高焕堂Topic:软件架构(Architecture)及设计Subtopic:ArchitectureCMMI强化Outsourcing项目管理By高焕堂何谓软件架构呢IEEEStdRecommendedPracticeforArchitecturalDescriptionofSoftwareIntensiveSystemsAchitectureThefundamentalorganizationofasystemembodiedinitscomponents,theirrelationshipstoeachother,andtotheenvironment,andtheprinciplesguidingitsdesignandevolutionIEEEStd(Architecture是一个系统的基本组织它蕴含于系统的组件中、组件之间的相互关系中、组件与环境的相互关系中、以及呈现于其设计和演进的原则中。)Architecture就像高楼大厦的钢骨结构,将无数个part组合成为和谐的whole。好的architecture能带来和谐、弹性、可靠的整体(whole)。同样地,好的系统architecture能带给企业和谐、弹性、可靠的整体信息系统。世纪软件架构师MarcBy台湾高焕堂Swewell在其书TheSoftwareArchitect'sProfession里提到Sew:“Architecturaldesignisacreative,sometimesmysterious,processthatculminatesinaplanfortheconstructionofastructure,beitabuilding,amachine,aship,orasoftwaresystemorproductThedesign,venustas,iswhatunitestheclient,utilitas,withthefinishedstructure,firmitas”(架构设计是一个创意(有些神秘)过程最终产出系统结构的实现计划此系统结构可能是一栋建筑物、一部机器、一项软件系统或产品。藉由设计(venustas)把客户需求(utilitas)与最终建筑结构(Firmitas)融合为一体。)架构设计与项目计划(PP)一般而言客服顾问或系统分析人员(SA)只关心别人的人和事也只关心如何”用”物。而PM只关心自己团队的人和事。却没有人关心如何产出物没有人关心物(system)的结构和组件之接口。如下图:沒有人關心物施工SVPPOV顧問關心:別人家的人和事PM關心:自己家的人和事PSOVOperationalView,SVSystemViewTVTechnicalView,PPProjectPlan所以由Architect去iterativelymappingvision(OV)toreality(SVTV)而修正OV及SV和TV。三者coevolution之后才会是和谐的architecture。By台湾高焕堂考慮既有的system限制、外購限制、施工能力限制、技術凋零時效限制等修正OV及SV一旦OV與SV修正了所用技術標準及所需能力評估又不一樣了TV也改變了。SVOVSA關心:別人家的人和事Architect關心:自己TVArchitect關心:自己和別人的物和能量(力)修正OV讓OV不要變成不能實現的烏托邦或是牆壁上的策略成為無策略的企業。唯有和谐的architecture才能导出最佳howto(rightwaytodo)。SVOVTVPP施工系統<<guide>><<guide>><<conduct>><<outputt>>ArchitectureBy台湾高焕堂凡是SA所分析到的都不是核心architecture而都是核心architecture所必需support的。所以才称为需求。需求就是必”需”要”求”architecture加以支持的东西。但architecture不是从需求里找出来的东西。例如梁柱不是从屋顶找出来的树干不是从树叶堆里找出来的东东。一个内部和谐的architecture并非就是真正和谐的architecture还要与其它同等级architecture互相融合(coevolution)而得出和谐的上级architecture而且要保持长久和谐才是真正和谐的architecture。好的SV必须能与其它同等级的architecture的SV相连结而实现上层的SV来支持上层的OV。架构设计与制程管理(CMMI)软件专家PeterMerel认为孔子的礼与软件开发管理(如CMMI)有很微妙的相似处。PeterMerel也提到注:“TraditionalsoftwaremethodologyresemblesaConfuciandoctrineItpursuesperfectionofprocessthroughthecommunicationofstylizeddocumentsbetweentechnicalspecialistsarrangedinfixedroles”(传统的软件开发方法与孔子的礼非常相似。其追求完美的流程规范软件人员都有所分、也有所归各扮演固定角色然后藉由制式的文档互相沟通形成一个严谨的工作流程。)孔子经由其修练法门达到「约」之以礼呈现出美好的秩序和规律。论语为政篇里孔子有曰:「吾十有五而志于学三十而立四十而不惑五十而知天命六十而耳顺七十而从心所欲不逾矩。」像CMMI也经由类似的修练分为个修练的层级(level)如下:第级谓之Chaos(混沌无序)相当于:不学无礼第级谓之Repeatable(重复练习)相当于:十五志于学学而时习之第级谓之Defined(确立程序)相当于:三十而立第级谓之Managed(量化可预测)相当于:四十而不惑第级谓之Optimal(止于至善)相当于:五十而知天命六十而耳顺七十而从心所欲不逾矩。By台湾高焕堂礼和CMMI都不是最高境界如果能参悟礼和CMMI的根源将更能发挥其真谛和效益。在《礼记‧孔子闲居》里孔子曰:「夫民之父母乎!必达于礼乐之原以致五至而行三无以横于天下四方有败必先知之。此之谓民之父母矣。」(白话:所谓民之父母必定能通达于礼乐的本源达到「五至」并实行「三无」于天下当四方有危难之前能预先知道并化解危机如此就可称为民之父母了。)孔子指出礼的更高境界在五至我们可以藉由孔子的高度智慧而探索礼和CMMI的更高境界。数年前才被发现的简帛《上海博物馆藏战国楚竹书(二)·民之父母》记载孔子的「五至」是:「物之所至志亦至焉。志之所至礼亦至焉。礼之所至乐亦至焉。乐之所至哀亦至焉。哀乐相生君子以正。」笔者的解释如下:物就是软件系统(System)及其架构(Architecture)志就是人们(包括User和Developer)的需求(Requirements)礼就是制程管理制度(ProcessManagement)如CMMI乐就是需求获得满足哀就是需求无法满足兹进一步解释如下:物之所至志亦至焉。系统(物)回归其本然,让众人的需求(志)和谐而不冲突。志之所至礼亦至焉。基于和谐之需求下就能制订美好的项目执行计划(礼)。礼之所至乐亦至焉。依据计划开发出合乎自然的系统满足众人的需求不亦乐乎(乐)。乐之所至哀亦至焉。环境会变迁人们需求改变了系统无法完全满足众人的需求抱怨于焉而生(哀)。哀乐相生君子以正。系统重新回归本然众人之需求又获得和谐,调整项目计划及系统众人又满足了其乐融融(乐)如此哀乐相生循环不已有智慧者都知道这是常态。By台湾高焕堂(人造)物物之本然樂哀舊禮(人造)物之設計好禮人之志欲物之所至志亦至焉(ArchitectureDesign)架构设计图(architecturedesignartifact)是「物之所至志亦至焉」结果的知识性表现可提供给管理者(PM)作为订定或修正礼(process)的依据而获得好的礼。于是达到「志之所至礼亦至焉」了如下图所示:(人造)物物之本然樂哀舊禮(人造)物之設計好禮志之所至禮亦至焉(ProcessImproving)人之志欲By台湾高焕堂OutsourcingManagement(委外项目管理)由于软件业与硬件业之间有个显著的不同点就是:软件业的业主(A段)与承包商(B段)两段之间需要密切的语言沟通。文化背景差异又会影响语言沟通的效果。这也是为什么美国发展海外委外(OffshoreOutsourcing)时会优先选择印度的主要因素。而欧洲发展近海委外(NearshoreOutsourcing)时会优先选择东欧诸国。比较成熟的计算机硬件业里欧美国家提供明确的架构设计所有组件的接口都一清二楚走向Architecturebased的委外模式所以台湾新竹与美国硅谷之间分工明确。较不成熟的软件业里欧美国家只提供系统使用需求(userinterface)未提供组件接口(componentinterface)走向Requirementbased的委外模式因为「物」之结构并不够清晰明确所以印度必须派遣大批人员远赴美国并依赖语言和文字的密切沟通。由于语言的限制台湾软件业不容易像硬件业一样争取巨大的委外代工而印度有语言之优势是台湾软件业不容易与印度竞争的主因之一。例如Arora,Arunachalam,Asundi,Fernandes,TheIndianSoftwareIndustry,http:papersssrncomsolpaperscfmabstractid=在其调查报告中指出依据统计的工作在海外进行。这意味着在美国业主端的工作占了一大半并非大部分在印度做的。如果把在美国做的部分称为A段而印度做的部份称为B段。则A段占而B段占。B段依靠CMMI来强化其制程管理A段则靠系统Architecture设计来强化。产品Architecture设计与CMMI制程管理在异地互相辉映是成功的重要模式。例如:KesavNori,DeepakKumar,BuildingChangeresilientSoftware,http:wwwsoftwaredioxidecomchannelsPersonViewaspid=文章里提到印度Tata公司的CIOKesavNori提出:“ArchitecturebaseddevelopmentisreckonedtobeoneofthebestpracticesofsoftwaredevelopmentHowever,therealandthehiddenmeaningofsoftwarearchitectureisunderstoodbyfewprofessionals”(以架构为基础的开发是软件开发的最佳实务之一。然而只有少数人了解软件架构的真谛和内涵。)再如VinodVarma,“Movingsoftwareengineeringfromhypetoreality:alongjourney”文章里提到:“MysurveyofsoftwareengineeringliteraturearoundtheworldreassuresmethatIamnotaloneinthisobservationandneitheristhisphenomenonrestrictedtoIndiaaloneAnarchitecturewhichisresilienttochanges,encapsulatingthecorelogicrules,easytoadaptetccouldbesaidtoholdthekeyIdentifyingpatternsandtemplatesforreusewiththeestablishedoptimizedsolutionsfromwithintheorganization,identificationofvariationpointsandtheuseofinhouse,offtheshelf,orhybridsolutionsforautomationcouldgreatlyBy台湾高焕堂enhancetheproductivity”当软件业愈来愈成熟时就愈重视架构设计则美国印度的软件Outsourcing模式就愈来愈走向美国硅谷台湾新竹的硬件分工模式。A段就不太需要藉由CMMI去干涉B段企业的人员修练与管理制度了。更重要的是对于英语语言的依赖就愈来愈少了。由此观之目前Architecture(如SOA)新潮流对大中华地区软件业争取Outsourcing业绩会有极大帮助大幅提升国际竞争力与印度互别苗头。Architect的职责柳宗元的「梓人传」里强调梓人(Architect)的角色在于:产品设计与分工生产规划与领导。产品设计的内涵如下:曰:「吾善度材视栋宇之制高深方圆短长之宜…。」这是产品的整体架构规划和组件的接口设计确保产品的分工整合。至于分工生产规划的内涵如下:曰:「…吾指使而群工役焉。」这是人员的领导确保团队和谐一致。Architect的价值和重要性如下:曰:「…舍我众莫能就一宇。故食于官府吾受禄三倍作于私家吾收其直太半焉。」Architect的修练流程与CMMI修练不一样是互补的。梓人传里说明梓人的重要特质下:「彼将舍其手艺专其心智而能知体要者欤!」这弥补了传统CMMI的不足传统CMMI强调手艺的精准无误并且要能量化。梓人传里也有更清晰的说明:「不衒能不矜名不亲小劳不侵众官…犹梓人之善运众工而不伐艺也。」其中「善运众工」(Outsource)是最重要的修练。传统CMMI的修练并不适合Architect。如果把传统CMMI的修练误用于Architect将适得其反后果将不堪想象就像梓人传里的说明:「犹梓人而不知绳墨之曲直规矩之方圆寻引之短长姑夺众工之斧斤刀锯以佐其艺又不能备其工以至败绩用而无所成也!」果真如此则Architect会见树不见林无法做好其整体架构设计及分工生产规划。By台湾高焕堂SOA架构设计之案例采取WSF(WebServiceFaçade)兹举跨企业『订单融资』系统整合为例说明如何以软件主机板(即WSF)之概念而擘划订单融资系统整合架构。订单融资的商业情境是:采购厂(如大同公司)向供货商(如大铭精密公司)发出购买马达的订单供货商就立即携带订单向银行(如中国信托)办理融资贷款银行向采购厂确认订单之后就放款给供货商供货商以该款项去购买材料来生产马达完成之后运送到采购厂验收之后采购商才付款给银行。如下图:供應商融資銀行採購廠e化整合企業(JointOperationUnit)(订单融资整合服务)这跨企业的订单融资之整合业务流程如下图:By台湾高焕堂審核ok供應商融資銀行信用審核確認訂單取得訂單融資申請訂單融資處理訂單融資確認ok放款採購廠(订单融资服务基本流程)想象在各个企业里各规划一个WSF模块作为该企业的软件主机板(SoftwareMB)一方面整合既有系统之服务一方面作为对外沟通之窗口。这三个WSF具有一致的接口能顺利地互相沟通如下图:供應商融資銀行採購廠e化整合企業(JointOperationUint)WSFWSFWSF(SoftwareMB整合架构之一)By台湾高焕堂也可以进一步规画一个上层的WSF来整合这三个小WSF让全世界各地的使用者包括客户、各企业的业务人员等都使用上层WSF的服务如下图:供應商資訊系統融資銀行資訊系統採購廠資訊系統e化整合企業(JointOperationUint)WSFWSFWSF銀行人員採購廠人員供應商WSF整合服務資訊系統(SoftwareMB整合架构之二)假如有一天这三个企业合并成为一个大企业此时可以将各地的信息系统集中到一个地方以便于管理和服务如下图:By台湾高焕堂e化整合企業(JointOperationUint)銀行人員採購廠人員供應商WSF整合服務資訊系統(SoftwareMB整合架构之三)SoftwareMB整合架构的形式可以千变万化的想一想计算机网络整合了全球各地的硬件主机板而且形式无限变化。藉由硬件主机板的对比的确能促进对WSF的体会激发更多形式之整合架构设计。SewMarcSewell,LauraSewell,SoftwareArchitect'sProfession:AnIntroduction,PrenticeHall,

用户评价(3)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/12

软件架构及设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利