版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
THU
SAGroup1让我们进入结构的世界屋顶结构日本古建筑榫卯结构比萨斜塔中国馆THU
SAGroup2辽宁号航母航母推进舱结构,无处不在THU
SAGroup3结构,无处不在THU
SAGroup4软件的体系结构各个组件已经齐备,但是:
无法构成一个顺利运行的系统,一盘散沙……THU
SAGroup5操作系统中间件数据库应用①应用②??计算机的体系结构THU
SAGroup6?=体系结构操作系统服务平台/数据库中间件应用①应用②应用…目录THU
SAGroup7课程简介软件体系结构的定义和发展工业软件体系结构的主要分类软件体系结构的发展方向研究背景计算机软件发展的三个时期(旧)程序设计→程序系统→软件工程Softwarenowadays:THU
SAGroup8分布式
计算并行
计算网格
计算移动
计算普适
计算云计算研究背景程序设计程序系统软件工程软件范畴程序程序及说明书产品软件(项目软件)主要程序设计语言汇编及机器语言高级语言高级语言系统软件工作范围程序编写设计、测试软件生存期需求者程序设计者本人少数用户市场用户THU
SAGroup9计算机软件发展的三个时期及特点研究背景程序设计程序系统软件工程维护责任者程序设计者开发小组专职维护人员硬件特征价高、存储量小、稳定性差价低、速度、容量、稳定性明显提高向超高速、大容量、微型化发展软件特征完全不受重视软件技术的发展不满足需要,出现软件危机开发技术有进步,但未获得突破性进展,软件危机没有完全摆脱THU
SAGroup10计算机软件发展的三个时期及特点研究背景我们需要的是软件符合质量要求!!软件需求是进行“质量”度量的基础,与需求不符就是质量不高。通常有一组“隐含需求(implicitrequirements)”是不被提及的(如对维护性的需求)。如果软件符合了明确的需求却没有满足隐含需求,软件质量仍然值得怀疑。THU
SAGroup11性能Performance可用性Usability可靠性Availability可扩展性Extensibility安全性Security功能性Functionality为什么需要软件体系结构
随着社会的巨大进步,计算机系统的整体发展,新技术的不断涌现,使计算机应用的需求迅速增加。软件复杂度逐渐增高,可靠性问题逐渐凸显出来,软件维护变成了一件难以进行的操作,生产率急速降低。主要体现在以下几个方面:软件开发费用和进度失控软件的可靠性差生产出来的软件难以维护用户对“已完成”的系统不满意现象经常发生THU
SAGroup12iphone7遭暴力破解?THUSAGroup13Youtube视频主EverythingApplePro发布了关于破解iphone密码的视频,他使用了一个500刀的设备短时间内就破解了三台iphone的密码,而且据说这台设备来自中国。TeslaModelS破解THUSAGroup14特斯拉的ModelS在设计之初就将安全摆在非常重要的位置,很难攻击并不意味着无法破解。八月初,安全专家KevinMahaffey和MarcRogers演示了通过ModelS存在的漏洞打开车门、启动并成功开走,此外还能向ModelS发送“自杀”命令,在车辆正常行驶中突然关闭系统引擎让车辆停下来。并且在DEFCON23数字安全会议上,两名安全专家展示了他们实现破解的细节。软件失败经典案例THUSAGroup15Vista计划在2006年圣诞节推出,但是一直到2007年1月才正式推出,由于不理想的性能和兼容性而备受指责。Win7在解决质量问题、口碑的传播以及创新等方面都做的更好,进一步家用机操作系统Windows8添加了开始屏幕,去掉了开始菜单,做了诸多创新。然而事实证明,Windows8并没有给用户带来多大便利,反而增加用户的使用成本,市场占有份额也未达到预期效果就目前的市场对预览版的反应来看,大多用户对Windows10表示认可,认为其实用性强,体验有所改善Windows8windows10比较THUSAGroup16开始菜单的回归多模式布局适用所有平台多桌面软件失败经典案例美军F-35系列第五代隐形战机(LockheedMartinF-35LightningII)是一款由美国洛克希德·马丁设计及生产的单座单发战斗机,主要用于前线支援、目标轰炸、防空截击等多种任务。2006年首飞;2015年服役英国;同年日本开始生产。该战机具有强大的雷达与电子系统及齐备的传感器设备,代码量超过2400万。THUSAGroup17武器系统导弹两个内置弹仓,可携带2枚AIM-120C中距空对空导弹和2枚激光制导1000磅炸弹机炮1门GAU-22/A四管加特林机炮,备弹180发THU
SAGroup18参考数据乘员1人长度15.67米翼展10.7米高度4.33米机翼面积42.7平方米空重13,300千克最大起飞重量31,800千克动力系统1×普惠F135涡扇发动机推力最大推力:125千牛加力推力:191千牛参考性能最大飞行速度1.6马赫实用升限18,288米[21]
航程1,200海里作战半径590海里(A型)450海里(B型)600海里(C型)爬升率NotPubliclyAvailable翼载荷526公斤/平方米推重比0.61[20]
然而在开发研制中,这一机种虽然性能优越,却频发故障。F-35的现有软件问题包括机载系统超过950万条代码,超过F-22三倍,超过F-18E六倍,代码量2007年以来增加了37%,典型增加30-100%,这一数字还在增长。超过一半软件还没有做整体联调试验,任务系统硬件软件immatureandunprovenatthistime,系统能力只有4%得到验证等。这对洛克希德马丁公司的市场推广产生影响。软件失败经典案例THUSAGroup192016年4月,一颗名叫“瞳”造价超过310亿日元(19亿人民币)的日产卫星,在它刚刚进入太空的1个多月后的一个晚上失联了。究其原因是追星仪发生故障,卫星启动第二重与第三重防范机制,却最后因为一个bug葬送了自己——程序写反了!
陀螺仪也出错程序写反,喷气逆向。陀螺仪反馈给电脑,“我们转得更快啦!”电脑又反应“那我就让反力轮转得更快一点啦!”本来应该往旋转的反方向喷气,减慢旋转。结果电脑给出的指令是顺着旋转方向喷气,完完全全喷反了方向!(这行指令是一周多以前没有经过完整的测试就上传上去了的,现在日本宇航局正在调查相关原因)于是卫星这次彻底成了旋转的气球,高速旋转之下,甩飞了太阳能电池板,甩飞了各种设备……彻底地挂了!
日本“程序猿”代码写反19亿的卫星说没就没了。软件失败经典案例THUSAGroup20英美安全情报协会(BASIC)提出的一份最新报告里给出,目前现役的英国“三叉戟”核潜艇的确存在此种被网络攻击的风险。英国的4艘“三叉戟”核潜艇最早从1969年开始陆续服役,它们的使用寿命大概到2024年左右。而目前潜艇内装配的IT系统还有使用早已不支持更新服务的WindowsXP。从设计到退役,三叉戟内IT系统在运行的每一个阶段都存在大量的网络漏洞。同时,生产、建造和维护阶段的潜艇,以及导弹、弹头或其他设备都有遭受恶意网络攻击的可能。虽然核潜艇脆弱的网络系统并不接入互联网或其他任何民用网络,但在核潜艇浮出水面或者靠岸搁浅的时候,有预谋的网络攻击者将还会有实施攻击的可能性。而且潜艇的分包商、船厂维修人员等也有接近核潜艇IT系统的机会。研究背景解决问题的想法更好的管理(Bettermanagement)出众的团队组织(Differentteamorganizations)更好的语言和工具(Betterlanguages&tools)统一的编程规范(Uniformcodingconventions)标准的性能评价(Standardperformanceevaluation)灵活的软件迭代和升级(Flexiblesoftwareiterationandupgrade)
必须意识到:“软件”≠编程,它有自己的生命周期(lifecycle)。大型软件系统的开发与其它工程项目如建造桥梁、制造飞机、轮船等的开发是同理的。THU
SAGroup21研究背景软件质量问题对经济的影响:美国NIST(国家商业标准和技术)报告,“由于软件bug的普遍存在,使美国经济每年损失$590.5亿美元”,而Standish组织的数据是每年2000亿美元改进软件质量已经成为取得高投资回报率的直接途径,质量低的公司只会被遗忘软件质量问题对生命安全的威胁:1963年,美国金星探测火箭飞行失败,造成经济损失达一千万美元,因为控制程序中的一个极小的错误,即将一逗号误写为一小数点!由于着陆系统的高度报警程序问题部分导致了1997年发生在关岛的韩国客机空难,228人遇难。1996年,欧洲耗资高达7亿美元的Ariane5火箭发射后解体爆炸,究其原因是惯性参考系统中的一个软件设计错误,并由于认为这个软件不会发生错误而缺乏充分的测试。THU
SAGroup22研究背景如果有什么东西可以在软件开发之前用于描述软件,并能进行质量分析,从而保证软件质量就好了~软件体系结构THU
SAGroup23软件体系结构起源THUSAGroup24结构设计师:设计图纸管理人员:施工计划施工人员:建造建筑物软件体系结构思想来源于建筑业软件体系结构起源THUSAGroup25建立模型软件体系结构起源THUSAGroup26站点外表结构服务空间计划结构设计软件体系结构起源THUSAGroup27最终的建筑鸟巢更多的建筑源自于体系结构设计THUSAGroup28玛雅阿兹特克金字塔瑞士保险公司大楼如果建筑的复杂度还不够高,那么一个城市呢?THUSAGroup29复杂的城市交通THUSAGroup30印度纽约北京软件体系结构的本意THUSAGroup31对于大规模的,分布的,需要协作的,需要交互的,需要监测的,需要扩展的,需要演化的复杂软件系统的规划。软件体系结构发展简史程序设计语言的进化——抽象级别(Abstract
Level)THUSAGroup32面向代码段面向问题空间面向机器面向机器
是一种针对如何直接操作机器指令来使用计算机资源的抽象级别。面向代码段将可复用的功能代码总结和包装以保证重用。如基本的数值计算,过程控制等。面向问题空间
是这样一种抽象级别。它直接将问题空间中的实体以及实体的关系表达出来。如利用“类”来表示物理世界的实物。软件体系结构发展简史软件开发的进化——关注点(Concern)THU
SAGroup331灵活使用机器使用的底层指令和数据(Primitiveinstructionsanddata)2提高开发效率、代码可读性、易维护性(Efficiencyandconvenience
incodereadingandmaintenance)3实现软件产品线式生产(Software
Product
Line)软件体系结构发展简史1960年代,软件危机爆发1968年,软件工程被提出NATOsoftwareengineeringconferenceSchlossDagstuhl,1968首次提出了软件工程的概念
1968年,软件体系结构思想被提出“TheStructureofthe‘THE’MultiprogrammingSystem”authoredbyEdsgerDijkstra(艾德勒戴克斯加,荷兰)1975年,软件体系结构思想被升华“Architectureisthecompleteanddetailedspecificationoftheuserinterface”
byFrederick
Brooks(弗兰德里克布鲁克斯,美国)THU
SAGroup34EdsgerDijkstraFrederickP.Brooks软件体系结构发展简史1972~1976年,现代软件开发思想被提出informationhidingandusageofinterface(Parnas,1972)structureseparation
(Parnas,
1974)therelationshipsbetweensoftwarestructureanditsquality(Parnas,1976)戴维帕纳斯,美国1991年,”SoftwareArchitecture”在正式文献中被使用SoftwareArchitecture:IntegratingProcessandTechnology
authoredWalkerE.RoyceandWinstonW.Royce沃克罗伊斯;温斯顿罗伊斯,美国THU
SAGroup35
DavidParnasWalkerE.Royce软件体系结构发展简史1993年,SoftwareArchitecture被定义,此定义成为软件体系结构研究的公认基础AnIntroductiontoSoftwareArchitectureauthoredbyDavidGarlanandMaryShaw20世纪90年代,软件体系结构描述语言(ADL)兴盛Darwin,Wright,C2,Rapide,MetaH,ACME,…20世纪90年代,软件体系结构评估方法兴起SAAM,ATAM,…2000年,IEEE1471-2000标准IEEERecommendedpracticeforarchitecturaldescriptionofsoftware-intensivesystems
THU
SAGroup36DavidGarlan软件体系结构发展简史2000年,SoftwareArchitecture
Product
LineTheDesignandUseofSoftwareArchitectureauthoredbyBosch2003年,UML2.0发布2015年,UML2.5发布2000年至今,动态软件体系结构π-ADL,LIME,dynamic
Wright,…2003年至今,QZ科研团队:国家自然科学基金课题“柔性软件系结构形式化描述方法研究”省部十五科技攻关项目“移动电子服务其支撑平台”覃征,邢剑宽,董金春,郑翔,软件体系结构(第二版)清华大学出版社,2008覃征等,软件体系结构(第三版),清华大学出版社,2015覃征,李旭等,软件体系结构(第四版)(待出版),清华大学出版社,2017XingJiankuan,QinZheng,ZhengXiang.TowardsLinda-basedDecentralizedCollaborativeApplicationsbyanArchitectureApproach.2009WRIWorldCongressonComputerScienceandInformationEngineering,CSIE2009:LosAngeles,CA,March,vol.7,2009:523-529THU
SAGroup37一些经典的文献列表M.ShawandD.Garlan,“AnIntroductiontoSoftwareArchitecture,”V.AmbriolaandG.Tortora,eds.,AdvancesinSoftwareEngineeringandKnowledgeEngineering,vol.2,WorldScientificPublishing,1993,pp.1–39D.E.PerryandA.L.Wolf,“FoundationsfortheStudyofSoftwareArchitecture,”ACMSoftwareEng.Notes,vol.17,no.4,1992,pp.40–52.D.L.Parnas,“OntheCriteriatoBeUsedinDecomposingSystemsintoModules,”Comm.ACM,vol.15,no.12,1972,pp.1053–1058.D.L.Parnas,“OntheDesignandDevelopmentofProgramFamilies,”IEEETrans.SoftwareEng.,vol.2,no.1,1976,pp.1–9.D.L.Parnas,P.Clements,andD.M.Weiss,“TheModularStructureofComplexSystems,”IEEETrans.SoftwareEng.,vol.11,no.3,1985,pp.259–266.F.DeRemerandH.Kron,“Programming-in-the-LargeversusProgramming-in-the-Small,”Proc.Int’lConf.ReliableSoftware,ACMPress,1975,pp.114–121.
THU
SAGroup38一些经典的文献列表D.Soni,R.Nord,andC.Hofmeister,“SoftwareArchitectureinIndustrialApplications,”Proc.17thInt’lConf.SoftwareEng.(ICSE95),ACMPress,1995,pp.196–207.P.Kruchten,“The4+1ViewModelofArchitecture,”IEEESoftware,vol.12,no.6,1995,pp.45–50.B.W.Lampson,“HintsforComputerSystemDesign,”OperatingSystemsRev.,vol.15,no.5,1983,pp.33–48;reprintedinIEEESoftware,vol.1,no.1,1984,pp.11–28.J.A.Mills,“APragmaticViewoftheSystemArchitect,”Comm.ACM,vol.28,no.7,1985,pp.708–717.W.E.RoyceandW.Royce,“SoftwareArchitecture:IntegratingProcessandTechnology,”TRWQuest,vol.14,no.1,1991,pp.2–15.M.ShawandP.Clements,“AFieldGuidetoBoxology:PreliminaryClassificationofArchitecturalStylesforSoftwareSystems,”Proc.21stInt’lComputerSoftwareandApplicationsConf.(COMPSAC97),IEEECSPress,1997,pp.6–13.M.Shaw,“TheComing-of-AgeofSoftwareArchitectureResearch,”Proc.23rdInt’lConf.SoftwareEng.(ICSE01),IEEECSPress,2001,pp.656–664a.THU
SAGroup39一些经典的文献列表Philippe
Kruchten,“ThePast,Present,andFutureforSoftwareArchitecture”,Software,IEEE,vol.
23
,no.2,2006,pp.
22–30ChristineHofmeister,andPhilippeKruchten,andRobertL.Nord,andHenkObbink,andAlexanderRan,andPierreAmerica,“Ageneralmodelofsoftwarearchitecturedesignderivedfromfiveindustrialapproaches”,JournalofSystemsandSoftware,vol.
80
,no.1,2007,pp.106–126Avgeriou,P.
andCapilla,R.
andKruchten,P.
“WishesandBoundariesforaSoftwareArchitectureKnowledgeCommunity”,SoftwareArchitecture,2008.WICSA2008.SeventhWorkingIEEE/IFIPConference,pp.271–274PatriciaLago,andParisAvgeriou,andPhilippeKruchten,“OrganizingaSoftwareArchitectureBodyofKnowledge—Summaryofthe5thSHARKWorkshop,atICSE2010”,ACMSIGSOFTSoftwareEngineeringNotes,vol.
35
,no.5,2010,pp.37-40Ducasse,S.“SoftwareArchitectureReconstruction:AProcess-OrientedTaxonomy”,SoftwareEngineering,IEEETransactions,vol.
35
,no.4,2009,pp.573–591THU
SAGroup40文献列表PersonalizedKeyFrameRecommendationXUCHEN,YONGFENGZHANG,QINGYAOAI,HONGTENGXU,JUNCHIYANANDZHENGQIN.(SIGIR2017)LearningaHierarchicalEmbeddingModelforPersonalizedProductSearchQINGYAOAI,YONGFENGZHANG,KEPINGBI,XUCHENANDBRUCECROFT(SIGIR2017)JointRepresentationLearningforTop-NRecommendationwithHeterogenousInformationSourcesYONGFENGZHANG,QINGYAOAI,XUCHEN,ANDW.BRUCECROFT(CIKM2017)FastAlgorithmofParetoOptimalGroup-basedSkylineWENHUIYU,ZHENGQIN,JINFEILIU,LIXIONG,XUCHENANDHUIDIZHANG.(CIKM2017)BridgeTextandKnowledgebyLearningMulti-PrototypeEntityMentionEmbedding.YIXINCAO,LIFUHUANG,HENGJI,XUCHENANDJUANZILI.(ACL2017)ACollaborativeNeuralModelforRatingPredictionbyLeveragingUserReviewsandProductImages.XUCHEN,YONGFENGZHANG,XINZHAOANDZHENGQIN.(AIRS2017)AnExplainableProbabilisticLocalMatrixFactorizationbyLeveragingUserReviews.WENWENYE,XUCHEN,YONGFENGZHANG,XINZHAOANDZHENGQIN.(AIRS2017)THU
SAGroup41软件体系结构发展简史THU
SAGroup42MaryShaw(1943)玛丽娋FrederickBrooks(1931)弗兰德里克布鲁克斯BarryBoehm(1935)拜瑞波姆CarlissBaldwin(1950)卡利斯鲍德温NSF2007ScienceofDesignPrincipalInvestigators'(PI)MeetingMaryShaw玛丽·肖Americansoftwareengineer,andtheAlanJ.PerlisProfessorofComputerScienceintheSchoolofComputerScienceatCarnegieMellonUniversity,Pittsburgh,UnitedStates.Shaw'smainareaofresearchinterestissoftwareengineering,includingarchitectural,educationalandhistoricalaspects.ShawauthoredseminalworksinthefieldofsoftwarearchitecturealongwithDavidGarlan.AnIntroductiontoSoftwareArchitectureAFieldGuidetoBoxology:PreliminaryClassificationofArchitecturalStylesforSoftwareSystemsTHU
SAGroup43FrederickPhillipsBrooks
弗雷德里克·布鲁克斯FrederickPhillipsBrooks,Jr.(bornApril19,1931)isasoftwareengineerandcomputerscientist,bestknownformanagingthedevelopmentofIBM'sSystem/360familyofcomputersandtheOS/360softwaresupportpackage,thenlaterwritingcandidlyabouttheprocessinhisseminalbookTheMythicalMan-Month.Brookshasreceivedmanyawards,includingtheNationalMedalofTechnologyin1985andtheTuringAwardin1999.ArchitectureisthecompleteanddetailedspecificationoftheuserinterfaceTHU
SAGroup44BarryW.Boehm巴利·玻姆BarryW.Boehm(born1935)isanAmericansoftwareengineer,TRWEmeritusProfessorofSoftwareEngineeringattheComputerScienceDepartmentoftheUniversityofSouthernCalifornia,andknownforhismanycontributionstosoftwareengineering.SoftwareEngineeringEconomicsAspiralmodelofsoftwaredevelopmentandenhancementTHU
SAGroup45CarlissBaldwin卡丽斯·鲍德温CarlissY.BaldwinistheWilliamL.WhiteProfessorofBusinessAdministrationattheHarvardBusinessSchool.Shestudiestheprocessofdesignanditsimpactonfirmstrategyandthestructureofbusinessecosystems.WithKimClark,sheauthoredDesignRules,Volume1:ThePowerofModularity,thefirstofaprojectedtwovolumes.Volume2,ModularityonTrial,willconsiderhowmodulartechnologiesareaffectingthebasicstructureoftheglobaleconomy—forgoodandforbad.Designrules:ThepowerofmodularityTHU
SAGroup46DavidGarlanCarnegieMellonUniversitySoftwarearchitecture,adaptivesystems,end-userarchitecting,formalmethodsTHU
SAGroup47Papers:CámaraJ,GarlanD,SchmerlB.SynthesisandQuantitativeVerificationofTradeoffSpacesforFamiliesofSoftwareSystems[C]//EuropeanConferenceonSoftwareArchitecture.Springer,Cham,2017:3-21.DwivediV,HerbslebJD,GarlanD.WhatAilsEnd-UserComposition:ACross-DomainQualitativeStudy[C]//InternationalSymposiumonEndUserDevelopment.Springer,Cham,2017:66-83.ShawM,GarlanD.Softwarearchitecture:perspectivesonanemergingdiscipline[M].Prentice-Hall,Inc.1996.GarlanD,BachmannF,IversJ,etal.DocumentingSoftwareArchitectures:ViewsandBeyond[J].2003:740-741.……RoyT.FieldingSeniorPrincipalScientist,AdobeSoftwareArchitecture,SoftwareEngineering,ComputerSupportedCollaborativeWork,Human-ComputerInteraction,NetworkingTHU
SAGroup48Papers:FieldingRT,TaylorRN,ErenkrantzJR,etal.ReflectionsontheRESTarchitecturalstyleandprincipleddesignofthemodernwebarchitecture(impactpaperaward)[C]//JointMeetingonFoundationsofSoftwareEngineering.ACM,2017:4-14.FieldingRT.Architecturalstylesandthedesignofnetwork-basedsoftwarearchitectures[C]//UniversityofCalifornia,Irvine,2000:303.FieldingR,GettysJ,MogulJ,etal.HypertextTransferProtocol--HTTP/1.1[J].ComputerScience&CommunicationsDictionary,1999,7(4):595-599.……RichardTaylorProfessorofInformationandComputerSciences,UniversityofCalifornia,Irvinesoftwareengineering,softwarearchitecture,decentralizedsystems,analysisandtesting,softwareenvironmentsTHU
SAGroup49Papers:FTaylorR,FitzpatrickM.Careygrammarschool:acasestudyofthedegreetowhichadigitallyrichschoolcanbeconsideredtohavetheattributesofadigitalsociety[J].AcmSigcasComputers&Society,2016,45(3):427-431.ieldingRT.Architecturalstylesandthedesignofnetwork-basedsoftwarearchitectures[C]//UniversityofCalifornia,Irvine,2000:303.MedvidovicN,TaylorRN.AClassificationandComparisonFrameworkforSoftwareArchitectureDescriptionLanguages[J].IEEETransactionsonSoftwareEngineering,2000,26(1):70-93.……软件体系结构发展简史THUSAGroup50萌芽期发展期成熟期应用期软件体系结构发展简史THUSAGroup51那么……THU
SAGroup52什么是软件体系结构?汽车传动系统设计THU
SAGroup53可穿戴设备系统设计THU
SAGroup54iPhone8,X所使用的A11多核处理器THU
SAGroup55波音787设计THU
SAGroup56航空母舰设计概念图THU
SAGroup57嵌入式操作系统THU
SAGroup58操作系统体系结构(以Ubuntu
Linux为例)THU
SAGroup59Doyouknowtheman?THU
SAGroup60安卓架构图THU
SAGroup61安卓架构图THU
SAGroup62软件体系结构概述 NATO于1968年提出软件工程概念,已形成一系列的理论、方法、语言和工具。但依然存在软件固有的复杂性、易变性和不可见性问题,开发周期长、代价高和质量低。70%的错误是由需求和软件设计阶段引入的。
软件工程界提出了需求分析工程技术和各种软件建模技术。但仍缺乏能够做决策的中间过程,很难有效地将需求转换为相应的设计。
软件体系结构概念应运而生,并试图在软件需求与软件设计之间架起一座桥梁,着重解决软件系统的结构和需求向实现平坦地过渡的问题.THU
SAGroup63软件体系结构概述软件体系结构基本概念就体系结构的本意而言,它是指建立系统时的构造范型、构造风格和构造模式,软件体系结构对于软件系统的构造所起的是指导性的作用,它抛开了软件系统的功能细节,着重于讨论软件系统的总体框架。THU
SAGroup64Windows10要“以用户为中心”,在运行程序方面上有较大的改进,将会在进步的前提下利用多种测量工具来测试操作系统,以增进其运行效率基于软件体系结构的分析、评估、计划、组织、开发、测试软件体系结构概述对于一个软件开发单位来说,选择合适的体系结构是最重要的决策之一.良好的体系结构可以维系软件系统的完整性,使得开发和维护工作不至于杂乱无章;还可以简化软件系统复杂性,让众多的开发单位的软件工程师们能以并行方式开展工作.THU
SAGroup65软件体系结构概述软件体系结构基本概念广义而言,软件系统结构涉及多方面的内容:软件的成份及系统框架;软件成份的选择,各成分之间的相互作用,软件成份的进一步复合以及指导软件复合过程的总体模式;系统的功能、性能、设计以及从多种方案及选项中进行选择的决策。可见,软件体系结构更为关注的是系统结构及其成份,而方法论更关心系统的开发过程THU
SAGroup66软件体系结构概述Perry和Wolf根据软件生命周期各阶段相应的实体、属性、关系、主要产品和评估标准,将软件开发过程分为如下阶段:需求分析:主要根据用户的需求,决定软件的功能;体系结构设计:选择构件、构件间相互关系以及对它们的约束,并以此为框架,为详细设计奠定基础;详细设计:主要对系统进行模块化和描述各个构件间的详细接口、算法和数据结构类型等;实现:使用程序设计语言实现设计方案的要求。THU
SAGroup67软件体系结构概述软件体系结构研究与传统软件工程方法学的不同之处在于:所关心的问题不同描述的着眼点不同抽象层次不同THU
SAGroup68从不同角度看太阳软件体系结构的研究方法学院派测重于软件体系结构形式化理论研究。注重抽象、规约和演算。实践派将软件体系结构设计、描述与表示同传统的软件系统建模视为一体,以体系结构作为整个软件开发过程的核心。结合派试图将以上二者结合以来,将形式化理论应用于实际项目中。THU
SAGroup69学院派的代表性文章Hammad,Muhammad,etal."Asystematicmappingstudyofclonevisualization."
ComputerScienceReview
37(2020):100266.Hammad,Muhammad,etal."DeepClone:ModelingClonestoGenerateCodePredictions."
arXivpreprintarXiv:2007.11671
(2020).Alenezi,Mamdouh,etal."AComparisonStudyofAvailableSofwareSecurityOntologies."
ProceedingsoftheEvaluationandAssessmentinSoftwareEngineering.2020.499-504.Pires,RafaelPereira."Distributedsystemsandtrustedexecutionenvironments:Trade-offsandchallenges."
arXivpreprintarXiv:2001.09670
(2020).Correia,Andreia,PascalFelber,andPedroRamalhete."Persistentmemoryandtheriseofuniversalconstructions."
ProceedingsoftheFifteenthEuropeanConferenceonComputerSystems.2020.Salami,Behzad,etal."LEGaTO:low-energy,secure,andresilienttoolsetforheterogeneouscomputing."
2020Design,Automation&TestinEuropeConference&Exhibition(DATE).IEEE,2020.Contiu,Stefan,etal.“Anonymousandconfidentialfilesharingoveruntrustedclouds.”
201938thSymposiumonReliableDistributedSystems(SRDS).IEEE,2019.THU
SAGroup70学院派的代表性文章Azimi,Shelernaz,andClausPahl."ALayeredQualityFrameworkforMachineLearning-drivenDataandInformationModels."
ICEIS(1).2020.Taibi,Davide,etal."PatternsforServerlessFunctions(Function-as-a-Service):AMultivocalLiteratureReview."
CLOSER.2020.Fronza,Ilenia,LuisCorral,andClausPahl."AnApproachtoEvaluatetheComplexityofBlock-BasedSoftwareProduct."
InformaticsinEducation
19.1(2020):15-32.Gand,Fabian,etal."ServerlessContainerClusterManagementforLightweightEdgeClouds."
CLOSER.2020.Azimi,Shelernaz,ClausPahl,andMirsaeidHosseiniShirvani."ParticleSwarmOptimizationforPerformanceManagementinMulti-clusterIoTEdgeArchitectures."
CLOSER.2020.Gand,Fabian,etal."ALightweightVirtualisationPlatformforCooperative,ConnectedandAutomatedMobility."
VEHITS.2020.Gand,Fabian,etal."AFuzzyControllerforSelf-adaptiveLightweightEdgeContainerOrchestration."
CLOSER.2020.THU
SAGroup71实践派的代表性文章Demeyer,Serge,etal."TheNextLevelofTestAutomation(NEXTA2020)."
2020IEEEInternationalConferenceonSoftwareTesting,VerificationandValidationWorkshops(ICSTW).IEEE,2020.Parsai,Ali,andSergeDemeyer."Comparingmutationcoverageagainstbranchcoverageinanindustrialsetting."
INTERNATIONALJOURNALONSOFTWARETOOLSFORTECHNOLOGYTRANSFER
(2020).Wang,Yuqing,etal."SoftwareTestAutomationMaturity--ASurveyoftheStateofthePractice."
arXivpreprintarXiv:2004.09210
(2020).Lu,ZhongXi,StenVercammen,andSergeDemeyer."Semi-automaticTestCaseExpansionforMutationTesting."2020IEEEWorkshoponValidation,AnalysisandEvolutionofSoftwareTests(VST).IEEE,2020.vanBladel,Brent,andSergeDemeyer."CloneDetectioninTestCode:AnEmpiricalEvaluation."2020IEEE27thInternationalConferenceonSoftwareAnalysis,EvolutionandReengineering(SANER).IEEE,2020.Pyl,Mitchel,BrentvanBladel,andSergeDemeyer."AnEmpiricalStudyonAccidentalCross-ProjectCodeClones."2020IEEE14thInternationalWorkshoponSoftwareClones(IWSC).IEEE,2020.THU
SAGroup72实践派的代表性文章Cassee,Nathan,BogdanVasilescu,andAlexanderSerebrenik."Thesilenthelper:theimpactofcontinuousintegrationoncodereviews."2020IEEE27thInternationalConferenceonSoftwareAnalysis,EvolutionandReengineering(SANER).IEEE,2020.Cico,Orges,etal."ExploringtheintersectionbetweensoftwareindustryandSoftwareEngineeringeducation-AsystematicmappingofSoftwareEngineeringTrends."JournalofSystemsandSoftware(2020):110736.Abrahamsson,Pekka,etal."TowardsaSecuredevopsApproachforCyber-PhysicalSystems:AnIndustrialPerspective."InternationalJournalofSystemsandSoftwareSecurityandProtection(IJSSSP)11.2(2020):38-57.Cico,Orges,AnhNguyenDuc,andLetiziaJaccheri."SoftwareStartupFormationinanExperiential-BasedCourse-AnEmpiricalInvestigationofStudents’Motivations."2020IEEEGlobalEngineeringEducationConference(EDUCON).IEEE,2020.Berg,Vebjørn,etal."Achievingagilityandqualityinproductdevelopment-anempiricalstudyofhardwarestartups."JournalofSystemsandSoftware(2020):110599.THU
SAGroup73结合派的代表性文章HeinrichR.Architecturalruntimemodelsforintegratingruntimeobservationsandcomponent-basedmodels[J].JournalofSystemsandSoftware,2020,169:110722.BuresT,GerostathopoulosI,HnetynkaP,etal.Alanguageandframeworkfordynamiccomponentensemblesinsmartsystems[J].InternationalJournalonSoftwareToolsforTechnologyTransfer,2020:1-13.CombemaleB,KienzleJ,MussbacherG,etal.AHitchhiker'sGuidetoModel-DrivenEngineeringforData-CentricSystems[J].IEEESoftware,2020.DuránF,HeinrichR,Pérez-PalacínD,etal.ComposingModel-BasedAnalysisTools(DagstuhlSeminar19481)[C]//DagstuhlReports.SchlossDagstuhl-Leibniz-ZentrumfürInformatik,2020,9(11).DiasD,DelicatoFC,PiresPF,etal.Anoverviewofreferencearchitecturesforcloudofthings[C]//Proceedingsofthe35thAnnualACMSymposiumonAppliedComputing.2020:1498-1505.GarcésL,OquendoF,NakagawaEY.Assessmentofreferencearchitecturesandreferencemodelsforambientassistedlivingsystems:Resultsofasystematicliteraturereview[J].InternationalJournalofE-HealthandMedicalCommunications(IJEHMC),2020,11(1):17-36.THU
SAGroup74代表性文章算法型:推荐系统、云计算、CCFA类Tao,Zhulin,etal."MGAT:MultimodalGraphAttentionNetworkforRecommendation."InformationProcessing&Management57.5(2020):102277.Lei,Wenqiang,etal."InteractivePathReasoningonGraphforConversationalRecommendation."Proceedingsofthe26thACMSIGKDDInternationalConferenceonKnowledgeDiscovery&DataMining.2020.Lee,Yeon-Chang,etal."M-BPR:ANovelApproachtoImprovingBPRforRecommendationwithMulti-typePair-wisePreferences."InformationSciences(2020).系统级:通信协议NetoVVG,GarcésL,GuessiM,etal.ASAS:AnApproachtoSupportSimulationofSmartSystems[C]//51stHawaiiInternationalConferenceonSystemSciences.2018.WatsonRNM,WoodruffJ,NeumannPG,etal.CHERI:AHybridCapability-SystemArchitectureforScalableSoftwareCompartmentalization[J].2015:20-37.OquendoF,WarboysB,MorrisonR,etal.ArchWare:ArchitectingEvolvableSoftware[C]//SoftwareArchitecture,FirstEuropeanWorkshop,EWSA2004,StAndrews,UK,May21-22,2004,Proceedings.DBLP,2004:257-271.平台级:架构统一身份管理平台技术中台云端级:阿里云《以数据为中心的云计算》林晨曦“阿里云”技术支持/THU
SAGroup75软件体系结构定义长期以来,CMU-SEI在其网站上公开征集软件体系结构的定义至今已有百余种。最近较有影响力的定义有:
卡耐基梅隆大学Bass等人于2003年在软件构架实践一书中提出,软件体系结构为系统的结构(structureorstructures),包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系。软件体系结构定义软件体系结构定义的发展演变IEEE610.12
,1990Vestal,1993Garlan,1993Gacek,1995Bosch,2000Perry,2000
IEEEStd1471-2000,2000Kruchten,2006软件体系结构定义IEEE610.12(1990年)软件工程标准词汇定义:SA={component,connector,environment,principle}.体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。Honeywell实验室的Vestal在1993年提出了如下模型:SA={component,idioms/styles,commonpatternsofinteraction}.软件由构件组成,构件之间通过通用的互操作模式相连。体系结构风格描述了一种通用的设计模式,可满足特定系列的应用需求。软件体系结构定义卡耐基梅隆大学的Garlan于1993年对软件体系结构做出了如下定义:
SA={Components,Connectors,Constraints}.构件(Components)是功能单元,执行预定义的服务并且与其他构件交互。连接器(Connectors)定义交互协议与策略。约束(Constraints)定义了系统必须服从的规则。软件体系结构定义而南加州大学的软件工程研究中心的Gacek于1995年,提出了如下的概念:SA={Components,Connections,Constraints,StakeholderNeeds,Rationale}软件体系结构定义在此定义中,构件(component)与连接(connection)的设计将依照涉众(Stakeholder)的需求。涉众(Stakeholder)指参与软件系统项目的人员,包括项目经理,程序员,市场营销人员,消费者与使用者等。理念(Rationale)指权衡存在下的策略。该定义反映了对运行时结构的实际影响因素,是为了使软件体系结构研究能将学术与实际应用联系起来。软件体系结构定义瑞典Blekinge技术学院的Bosch在2000年则对软件体系结构给出了如下的定义:Thearchitectureofasoftwaresystemisconcernedwiththetop-leveldecompositionofthesystemintoitsmaincomponents.
软件系统的体系结构是对系统从顶层分解为主要构件的考量。decomposition软件体系结构定义在该定义中,软件体系结构被认为是系统结构的唯一部署,仅关注单一的静态结构。此外需要注意的是,这里的术语component的涵义有所不同,可以被认为是模块——基本的执行单元。软件体系结构定义同样在2000年发布的IEEEStd1471-2000,则对软件体系结构做出了如下定义:软件系统的基本组织,包含构件、构件之间、构件与环境之间的关系,以及相关的设计与演化原则等。不仅如此,该标准还对软件体系结构所涉及的相关概念做出了详细定义,例如需求者,架构师,系统涉众等等。IEEEStd1471-2000中的若干概念获取者(acquirer):Anorganizationthatprocuresasystem,softwareproduct,orsoftwareservicefromasupplier.(Theacquirercouldbeabuyer,customer,owner,user,orpurchaser.)软件系统或软件产品的接收方架构(architecting):Theactivitiesofdefining,documenting,maintaining,improving,andcertifyingproperimplementationofanarchitecture.定义,编档,维护,改进和验证体系结构正确实现的一组活动IEEEStd1471-2000中的若干概念架构师(architect):Theperson,team,ororganizationresponsibleforsystemsarchitecture.负责软件系统体系结构的个人,团队或者组织体系结构描述(architecturaldescription):Acollectionofproductstodocumentanarchitecture.一组记录软件体系结构的文档体系结构(architecture):Thefundamentalorganizationofasystemembodiedinitscomponents,theirrelationshipstoeachother,andtotheenvironment,andtheprinciplesguidingitsdesignandevolution.软件系统中构件,构件之间的关系,构件与环境之间的关系,以及指导设计和演化的基本组织。IEEEStd1471-2000中的若干概念生命周期模型(lifecyclemodel):Aframeworkcontainingtheprocesses,activities,andtasksinvolvedinthedevelopment,operation,andmaintenanceofa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国智能机器人核心控制器芯片设计开发技术市场供需调研及投资发展趋势报告
- 《柔性制造数字化平台搭建实操手册》
- 公园养护人员培训管理手册
- 2026年法官入额考试真题及答案
- 招商项目分析与谈判技巧手册
- 油漆工个人防护用品使用手册
- 绿化带日常养护管理规范手册
- 《跨境电商合规绿色贸易壁垒应对手册》
- 沈阳驾考科一模拟试题及答案解析
- 天津市2026年保育员能力考试试题及答案
- 【新教材】2026秋人教PEP版六年级上册英语Unit 2 Getting together 教案(3课时)
- 新版2026年高考数学真题(上海秋考)解析版合集
- 2026年中医诊疗技术操作职业技能竞赛试题
- 2026浙江宁波市北仑区商贸物流投资集团有限公司辅助岗人员招聘6人笔试参考题库及答案详解
- 2025-2030全球卫星互联网星座部署竞争格局与频段资源分析
- 2026年学校食堂期初食品安全全员培训课件(开学专用)
- 2025-2026学年成都市青羊区八年级下英语期末零诊试题(含答案)
- 2026年公开选拔镇副科级领导干部笔试试题含答案
- 公共游览场所服务员专项知识考试复习题库(附答案)
- 购买视频素材协议合同
- 安全生产法律法规试题(含答案)
评论
0/150
提交评论