- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
IntroductiontoSoftwareDesign;Outline;Programmer’sApproach;Whythisprogrammer’sapproach?;ACaseStudy;TravelSystem;PhaseI;;;10;PhaseII;login21;Thehard-codedpolices……;PhaseIII:
Theconfigurablepolicies;;PointtoPonder;SoftwareDesign;SoftwareDesign;DesignPrinciples;KISS=KeepItSimpleStupid
Modularity
SeparationofConcern
DesignforCHANGE
DesignforREUSE;1.SimpleisBeauty;“Youknowyou‘veachievedperfectionindesign,notwhenyouhavenothingmoretoadd,butwhenyouhavenothingmoretotakeaway”
-AntoinedeSaint-Exupery;2.Modularization;ThreePapersbyDavidParnas;Modularization;Modularization;Modularity;StrongcohesionWeakcoupling;Manydecisionsarestronglyrelatedandinterdependent
Concentrateondifferentaspectsofaproblemseparatelye.g.softwarequalities,developmentprocess,operatingconstraints
Separationmaybebasedontime,qualities,views,size,levelofdetailsetc.;CrosscuttingConcerns;CrosscuttingConcerns;Problemslike…
Loggingisnotmodularized;SeparationofConcerns;Changeisinevitableandfrequentdueto
bugs-elimination
changinguserrequirements
technologyevolution
Changeinthesoftwareproductaswellasthedevelopmentprocess
Strategyistoconsiderthelikelychangesaspartofthesystemdesign
Isolatelikelychangesinspecificportionsofsoftwaresuchthatchangeswillberestrictedtosmallportions
developreusablemodules,design;Designingsoftwareforeaseof
extensionandcontraction
[DavidParnas,ICSE78];(1)Theymayrunondifferenthardwareconfiguration.
(2)Theymayperformthesamefunctionsbutdifferintheformatortheinputandoutputdata.
(3)Theymaydifferincertaindatastructuresoralgorithmsbecauseofdifferencesintheavailableresources.
(4)Theymaydifferinsomedatastructuresofalgorithmsbecauseofdifferencesinthesizeoftheinputdatasetsortherelativefrequenciesofcertainevents.
(5)Someusersmayrequireonlyasubsetofthe
您可能关注的文档
- 《编译原理》教学课件合集(共9章)非AI生成.ppt
- 《计算机网络原理》第8章 端到端访问与传输层-教学课件(非AI生成).ppt
- 《人机交互理论与技术》第2章 人机交互-英文教学课件(非AI生成).pptx
- 《软件工程》03-面向刻面的软件开发-英文教学课件(非AI生成).ppt
- 《软件工程》05-编码风格-英文教学课件(非AI生成).pptx
- 《软件工程》05-敏捷开发-英文教学课件(非AI生成).pptx
- 《软件工程》11-软件体系结构-英文教学课件(非AI生成).pptx
- 《软件工程》13-软件测试-英文教学课件(非AI生成).pptx
- 《软件工程》14-互联网软件开发-英文教学课件(非AI生成).pptx
- 《软件工程》15-软件质量控制-英文教学课件(非AI生成).pptx
文档评论(0)