- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件架构在软件开发过程中的作用
1、软件架构的定义
软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
2、软件架构的种类
根据我们关注的角度不同,可以将架构分成三种:
逻辑架构
软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口,商业逻辑元件等等。
物理架构
软件元件是怎样放到硬件上的。比如一个分布于北京和上海的分布式系统的物理架构,图中所有的元件都是物理设备,包括网络分流器、代理服务器、WEB服务器、应用服务器、报表服务器、整合服务器、存储服务器、主机等等。
系统架构
系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。系统架构的设计要求架构师具备软件和硬件的功能和性能的过硬知识,这一工作无疑是架构设计工作中最为困难的工作。此外,从每一个角度上看,都可以看到架构的两要素:元件划分和设计决定。首先,一个软件系统中的元件首先是逻辑元件。这些逻辑元件如何放到硬件上,以及这些元件如何为整个系统的可扩展性、可靠性、强壮性、灵活性、性能等做出贡献,是非常重要的信息。其次,进行软件设计需要做出的决定中,必然会包括逻辑结构、物理结构,以及它们如何影响到系统的所有非功能性特征。这些决定中会有很多是一旦作出,就很难更改的。根据作者的经验,一个基于数据库的系统架构,有多少个数据表,就会有多少页的架构设计文档。比如一个中等的数据库应用系统通常含有一百个左右的数据表,这样的一个系统设计通常需要有一百页左右的架构设计文档。
表现方法
软件架构是通过多种架构视图来表示的。这些视图本质上是以图形方式来摘要说明“在构架方面具有重要意义”的模型元素。它包括:用例视图:包括用例和场景;逻辑视图:包括最重要的设计类、从这些设计类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式。它还包括一些用例实现;实施视图:包括实施模型及其从模块到包和层的组织形式的概览。 同时还描述了将逻辑视图中的包和类向实施视图中的包和模块分配的情况;进程视图:包括所涉及任务(进程和线程)的描述,它们的交互和配置,以及将设计对象和类向任务的分配情况。只有在系统具有很高程度的并行时,才需要该视图 ;配置视图:包括对最典型的平台配置的各种物理节点的描述以及将任务(来自进程视图)向物理节点分配的情况。只有在分布式系统中才需要该视图。
具体作用
软件架构对新产品开发的作用:
软件架构是沟通现实世界和计算机世界的一座桥。
1.上乘业务目标。软件架构担负着为完成业务目标而进行大局规划的职责。
2.下接技术决策。将面向业务的需求转向面向技术的软件架构设计方案,为后面的技术开发工作提供切实的指导和限制。
3.控制复杂性。基于‘分而治之’的思想,控制问题的复杂性。
4.组织开发。
5.利用迭代开发和增量交付。
6.提高质量。
软件架构对软件产品线开发的作用
1.固化核心知识。
2.提供可重用资产。
3.缩短推出产品周期。
4.降低开发和维护总成本。
5.提高产品质量。
6.支持批量定制。
什么是软件产品线架构:针对一个公司或者组织内部一系列产品而设计的通用架构。这一系列产品具有很多相似性,从而它们可以共享同一个架构和部分具体实现,提高生产率。
软件产品线架构的特点
1.必须考虑一系列明确许可的变化。
2.一定要文档化。
3.必须提供‘产品创建者指南’,描述架构的实例化过程。
软件架构对软件维护的作用
维护工作的两个来源:Bug和需求变更。
一个Bug的修复或者一个新功能的增加,往往涉及架构中的一条‘模块协作链’,因此谅解架构将有利于维护工作;反之,不了解架构而盲目修改程序,可能违背架构设计的思路,使整个系统的架构慢慢变得混乱,并可能引发出其他莫名其妙的Bug和问题。
软件架构对软件升级的作用
软件架构对这对软件系统不断修改,也需要进行重构,在以下两种情况,需要进行重构:
1.架构太混乱,以致进行一个小的改动都会牵动全身。
2.将要进行的软件升级力度很大,原先的架构已不再适应新的需求。
软件架构重构属于‘再工程’的一种情况,一般会经过逆向工程、重新规划和正向工程3个步骤。
您可能关注的文档
- 起个好名字你有9亿个选择.doc
- 起名常用字康熙字典计算简明版本.doc
- 起好名让你一名惊人.doc
- 起连词作用的名词词组.doc
- 起重机械制造许可证A级基本要求条件.doc
- 起重机电气驱动系统.doc
- 越光宝盒经典台词.doc
- 越剧走向青春(周华斌).doc
- 越来越宽的信息之路教学设计.doc
- 趣味实验:让小人立起来.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 水利工程质量检测员网上继续教育考试题库及答案混凝土专业试题及答案.pdf VIP
- 李白《将进酒》原文及赏析通用5篇.doc VIP
- 《自动喷水灭火系统施工及验收规范》GB50261-2017.docx VIP
- 小学英语_Unit 4 Lesson3 There are twenty pupils in my class教学设计学情分析教材分析课后反思.doc
- 2025贵州省旅游产业发展集团有限公司招聘115人备考试题及答案解析.docx VIP
- 《凤凰男的豪门贤妻》剧本整本.docx VIP
- 2013年水利工程质量检测员网上继续教育考试题库及答案-混凝土专业.pdf VIP
- 消毒技术规范2022.docx VIP
- 阳台封装施工安全协议书5篇.docx
- 消毒技术规范(2022).docx VIP
文档评论(0)