软件架构设计的目的
对于外包业务类型的项目,软件架构设计的目的与产品类型的项目有所不同,在这里主要讨论外包类型项目的软件架构设计目的。
1、为大规模开发提供基础和规范,并提供可重用的资产,软件系统的大规模开发,必须要有一定的基础和遵循一定的规范,这既是软件工程本身的要求,也是客户的要求。架构设计的过程中可以将一些公共部分抽象提取出来,形成公共类和工具类,以达到重用的目的。
2、一定程度上缩短项目的周期,利用软件架构提供的框架或重用组件,缩短项目开发的周期。
3、降低开发和维护的成本,大量的重用和抽象,可以提取出一些开发人员不用关心的公共部分,这样便可以使开发人员仅仅关注于业务逻辑的实现,从而减少了很多工作量,提高了开发效率。
4、提高产品的质量,好的软件架构设计是产品质量的保证,特别是对于客户常常提出的非功能性需求的满足。
软件架构设计的原则
软件架构设计必须遵循以下原则:
1、满足功能性需求和非功能需求。这是一个软件系统最基本的要求,也是架构设计时应该遵循的最基本的原则。
2、实用性原则,就像每一个软件系统交付给用户使用时必须实用,能解决用户的问题一样,架构设计也必须实用,否则就会“高来高去”或“过度设计”。
3、满足复用的要求,最大程度的提高开发人员的工作效率。
软件架构设计的几种视图
我们常常在讨论架构设计该做些什么的时候,或是在架构设计评审的会议上,会提出各种各样的问题,例如开发人员该如何记录Log,事务如何控制?怎样才能提高我们的开发人员的工作效率,即在单位时间内更有品质的完成更多的功能?怎样满足客户的非功能性需求?怎样让生产环境的平台管理人员更好的维护系统?
上面这些问题,实际上是软件系统的不同的干系人站在不同的角度上提出的问题,要回答上面这些问题,我们就得从不同的视角来看待软件架构设计这项工作。
1、逻辑架构视角,从系统用户的角度考虑问题,设计出来的软件架构能够满足业务逻辑的需求,能够处理现在越来越复杂的业务逻辑需求。
2、开发架构视角,从系统开发人员的角度来考虑问题,设计的架构要易于理解,易于开发,易于单元测试,最好做到让开发人员可以用最少的代码行数完成功能的开发。
3、运行架构视角,从系统运行时的质量需求考虑问题,特别关注于系统的非功能需求,客户常常都会要求我们系统的功能画面的最长响应时间不超过4秒,能满足2000个用户同时在线使用,基于角色的系统资源的安全控制等。
4、物理架构视角,关注系统安装和部署在什么样的环境上,例如现在最流行的企业应用服务解决方案IBM Http Server + WebSphere Application Server + DB2,WebLogic + Oracle等。
5、数据架构视角,如今我们开发的各类系统,如MIS,ERP,SAP,基本上都是对各类数据的操作,把一堆不太好懂的数据展现成用户容易看懂的数据,自动处理各类数据的运算等,所以数据的持久化是十分重要的一件事情。
分享到:
相关推荐
### 如何进行软件架构设计:核心知识点解析 #### 软件架构设计的目的 软件架构设计,作为软件开发过程中的核心环节,其目的不仅在于构建一个稳定、高效的基础框架,还在于通过规范化的流程和可重用的资产,提升...
《架构风格与基于网络的软件架构设计》这篇论文深入探讨了软件架构的重要性和在现代网络环境中如何有效地进行架构设计。架构设计是软件开发的核心环节,它决定了系统的整体结构、组件间的关系以及通信机制,对软件的...
系统架构设计师作为IT领域的一个重要职业角色,主要负责对软件系统进行高层次的设计和规划。系统架构设计师的工作不仅要求有深厚的技术功底,还需要具备良好的系统思维和解决复杂问题的能力。针对这个职位,思维导图...
架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计...
根据测试结果,可能需要对设计进行调整和优化,确保其满足性能和稳定性要求。 7. **持续监控与演进**:上线后,持续监控系统的运行状态,收集反馈,及时调整架构以应对业务变化或新的技术挑战。 "架构实战—软件...
因此在进行架构设计中性能设计非常重要。 但架构设计实际是一个平衡设计,在可用性、可扩展性、可维护性、可靠性、高性能等之间做个妥协选择。这些非功能性的需求再加上复杂的功能性需求,同时还要考虑到项目管理...
4. **系统架构设计师视频教程**:视频教程是直观的学习方式,通过实际操作演示,可以更清晰地展示如何进行架构设计,包括如何使用工具进行系统建模、如何绘制架构图、如何进行系统分析等,对于提高动手能力非常有益...
华为出品-安全架构设计方法指南,讲解安全架构设计的来源、软件系统架构与安全架构的定义,常见的系统架构表现形式,安全架构视图,安全架构设计的基本步骤和参考,基于八维度设计框架的安全架构设计方法,维度安全...
ADMEMS方法是温昱对软件架构设计的独特贡献,它代表了六大核心要素,旨在帮助架构师和开发团队系统地进行架构设计: 1. **目标(Aims)**:在项目开始时,明确架构设计的目标至关重要。这包括性能指标、可扩展性、...
企业架构总体架构设计方法 企业架构是一项非常复杂的系统...企业架构设计方法是公司数字化转型的重要组成部分,需要结合公司的战略目标和业务需求,进行详细的分析和设计,确保企业架构设计方法的实施达到预期的目标。
《高级软件架构设计实践笔记》对需求规格说明书的编写提出了严格的要求,并对需求层次进行了区分,如业务需求、用户需求等,为架构设计提供了清晰的方向和依据。 在实践操作方面,作者详细阐述了架构设计流程、架构...
华为企业数据架构、应用架构及技术架构设计方法 本资源摘要信息来自于一份52页的PPTX文件,标题为"华为企业数据架构、应用架构及技术架构设计方法",描述为"华为企业数据架构、应用架构及技术架构设计方法",标签为...
【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师...
在不同的架构设计方法中出现的软件架构视图种类很多,本文介绍最常用的两种架构视图——逻辑架构视图和物理架构视图,并通过具体案例的分析说明如何运用它们进行架构设计。当观察和描述事物大局的时候,逻辑架构和...
华为企业数据架构、应用架构及技术架构设计方法 华为企业数据架构、应用架构及技术架构设计方法是企业架构设计的核心组件之一。企业数据架构旨在整合企业内的数据资源,提高数据的Accuracy、Completeness和...
在IT行业中,系统架构设计是构建稳定、高效、可扩展软件系统的基石。《系统架构设计师教程》中的第五章,深入探讨了软件架构设计的核心概念、原则与实践,为读者提供了全面而深入的理解。 ### 一、软件架构设计的...
Java项目开发的架构设计是软件工程中的一个重要环节,它涉及到对整个项目的构建进行宏观的规划和指导。在架构设计中,需要考虑项目的功能需求、性能需求、技术选型、模块划分、接口定义、系统的可伸缩性、可维护性、...
"系统架构设计(模板)" 系统架构设计是软件开发的重要阶段,它定义了系统的总体架构、逻辑功能架构、物理网络架构、数据架构设计、核心模块组件概要描述、出错处理设计和安全保密设计等方面的设计思想和实现方案。 ...
在讨论系统架构设计时,离不开对各种工具和平台的理解和使用,因此教程也对流行的架构设计工具和辅助软件进行了介绍,比如UML建模工具、架构评估软件等,使读者能够熟练运用这些工具来辅助设计工作。 最后,考虑到...