- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《如何进行软件架构设计如何进行软件架构设计
/it_man/article/details/7278024如何进行软件架构设计2--如何进行软件架构设计软件架构设计的目的对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的。1、为大规模开发提供基础和规范,并提供可重用的资产,软件系统的大规模开发,必须要有一定的基础和遵循一定的规范,这既是软件工程本身的要求,也是客户的要求。架构设计的过程中可以将一些公共部分抽象提取出来,形成公共类和工具类,以达到重用的目的。2、一定程度上缩短项目的周期,利用软件架构提供的框架或重用组件,缩短项目开发的周期。3、降低开发和维护的成本,大量的重用和抽象,可以提取出一些开发人员不用关心的公共部分,这样便可以使开发人员仅仅关注于业务逻辑的实现,从而减少了很多工作量,提高了开发效率。4、提高产品的质量,好的软件架构设计是产品质量的保证,特别是对于客户常常提出的非功能性需求的满足。软件架构设计的原则软件架构设计必须遵循以下原则:1、满足功能性需求和非功能需求。这是一个软件系统最基本的要求,也是架构设计时应该遵循的最基本的原则。2、实用性原则,就像每一个软件系统交付给用户使用时必须实用,能解决用户的问题一样,架构设计也必须实用,否则就会“高来高去”或“过度设计”。3、满足复用的要求,最大程度的提高开发人员的工作效率。软件架构设计的几种视图我们常常在讨论架构设计该做些什么的时候,或是在架构设计评审的会议上,会提出各种各样的问题,例如开发人员该如何记录Log,事务如何控制?怎样才能提高我们的开发人员的工作效率,即在单位时间内更有品质的完成更多的功能?怎样满足客户的非功能性需求?怎样让生产环境的平台管理人员更好的维护系统?上面这些问题,实际上是软件系统的不同的干系人站在不同的角度上提出的问题,要回答上面这些问题,我们就得从不同的视角来看待软件架构设计这项工作。1、逻辑架构视角,从系统用户的角度考虑问题,设计出来的软件架构能够满足业务逻辑的需求,能够处理现在越来越复杂的业务逻辑需求。2、开发架构视角,从系统开发人员的角度来考虑问题,设计的架构要易于理解,易于开发,易于单元测试,最好做到让开发人员可以用最少的代码行数完成功能的开发。3、运行架构视角,从系统运行时的质量需求考虑问题,特别关注于系统的非功能需求,客户常常都会要求我们系统的功能画面的最长响应时间不超过4秒,能满足2000个用户同时在线使用,基于角色的系统资源的安全控制等。4、物理架构视角,关注系统安装和部署在什么样的环境上,例如现在最流行的企业应用服务解决方案IBM Http Server + WebSphere ApplicationServer + DB2,WebLogic + Oracle等。5、数据架构视角,如今我们开发的各类系统,如MIS,ERP,SAP,基本上都是对各类数据的操作,把一堆不太好懂的数据展现成用户容易看懂的数据,自动处理各类数据的运算等,所以数据的持久化是十分重要的一件事情。11、分析需求和理解业务模型(或领域建模),并选定关键Use case。软件的需求,可以分为从用户视角和开发人员视角来看,从用户的角度看,又可以分为功能性和非功能性需求,我们必须从不同的视角和级别去全面的认识需求并分析需求,理解业务模型。实践表明,常常被我们忽视的非功能性需求常常会导致整个项目失败。理解业务需求最好的方式莫过于进行领域建模,领域建模与需求分析往往是交替穿叉进行的,领域建模主要有以下三个方面的作用:◆探索复杂问题,弄清领域知识。Martin Fowler曾经说过,他采用面向对象方法最大的好处就是它有助于解决更为复杂的问题。领域建模本身作为辅助思维的工具,帮助我们将注意力始终保持在最为重要的业务概念及其关系上,使我们能够不断深入地,系统的对需求进行分析和认识。领域建模往往是一个从模糊到清晰,从零散到系统的过程。◆决定功能范围,影响可扩展性。任何模型都是对现实世界某种程序的抽象,这种抽象就会忽略某一些东西,例如忽略对象的属性和对象间的关系,而这些忽略往往都是带有一定的目的性的,这种忽略就决定了功能的范围。模型揭示了各种功能背后的结构,如果说定义功能相当于“拍照片”的话,那么领域建模就相当于“做透视”,更加关注问题领域的内在结构,相当于对问题领域进行了一定的抽象,良好的领域模型不仅能很好的支持现有的功能,而且还可以在一定程度上支持未来可能出现的新需求,体现良好的可扩展性。◆提供交流基础,促进有效沟通。领域建模通常会使用UML图作为呈现的方式,这样为我们的沟通提供了方便。当然,有时候文字在描述某些特定领域的问题时可能更适合,可以灵活运用。在我们公司的实际软件开发流程中,往往领域建模缺少这一环节,这可能是在以后的工作中需要进一步提高之处。虽
您可能关注的文档
最近下载
- 人教版数学试卷五年级下册期末测试题9.doc VIP
- 人教版道德与法治七年级上册知识点梳理(00002).docx VIP
- DBJ∕T 13-71-2021 回弹法检测混凝土抗压强度技术规程.docx VIP
- 新生儿低血糖临床规范管理专家共识.pptx VIP
- 三角函数 新高考数学知识点总结与题型精练(新高考地区专用).docx VIP
- 沪教版六年级上册数学练习题(最全).doc VIP
- 组织效能提升工作 坊 系统思考:如何破除组织防卫,提高组织效能.docx
- 《GB30000.27-2013化学品分类和标签规范第27部分:吸入危害》最新解读.pptx VIP
- 园林绿化养护台账.docx VIP
- 智慧医院智慧消防系统设计方案.docx VIP
文档评论(0)