首先我们应该了解什么是软件架构设计?
架构大体分为以下几种:
逻辑架构=模块划分+接口定义+领域模型
开发架构=技术选型+文件划分+编译关系
物理架构=硬件分布+软件部署+方案优化
运行架构=技术选型+控制流划分+同步关系
数据架构=技术选型+存储格式+数据分布
程序员向架构师转型的关键突破——学会系统思考 怎样根据客户的需求去设计自己的系统,从需求到设计是一个很重要的过程,如果需求都不明确那么最后做的系统将注定失败。 当我们明白了需求之后,接下来就是要怎么去设计这个系统,这就是系统的架构。根据上面所分的架构逐步设计自己的系统。
需求和设计之间存在一道无形的鸿沟,因此很多人会在需求分析之后卡壳,不知道怎么做了。先说功能需求。使用用例规约等技术描述功能,可以阐明待开发系统的使用方法,但并没有以类、包、组件、子系统等元素形式描述系统的内部结构。从用例规约向这些设计概念过渡之所以困难,是因为: 用例是面向问题域的,设计是面向机器域的,这两个“空间”之间存在映射; 用例技术本身不是面向对象的,而设计应该是面向对象的,这是两种不同的思维方式; 用例规约采用自然语言描述,而设计采用形式化的模型描述,描述手段也不同。 然而,从质量需求到软件设计,有个不易跨越的鸿沟:软件的质量属性需求很“飘”,常常令架构师难以把握。例如,根据诸如“本系统应该具有较高的高性能”等寥寥几个字来直接做设计,“思维跨度”就太大了,设计很难有针对性。越过从质量需求到设计的鸿沟,需要搭桥。这“桥”就是下面要讲的场景技术,其关键是使笼统的非功能目标明确化。
发表评论
-
大型分布式网站架构设计与实践
2014-10-17 09:32 8741.大型网站软件系统的特点? a.高并发,大流量。 b.高可用 ... -
产品经理是这样炼成的
2014-10-16 12:02 597产品经理(Product Manager),又称品 ... -
NFC:Arduino、Android与PhoneGap近场通信
2014-10-15 12:53 1497射频识别,RFID(Radio Frequency I ... -
Java特种兵
2014-10-15 09:29 951从事java工作多年,很多东西只知道知其然不知其所以然 ... -
微管理——给你一个技术团队,你该怎么管
2014-06-26 18:54 1396首先,要明白项目 ... -
海量运维、运营规划之道(全彩)
2014-04-23 11:55 770关于海量运维、运 ... -
全程软件测试(第2版)
2014-04-22 14:20 1306软件测试(英语:software testing),描述 ... -
3D打印:三维智能数字化创造(全彩)
2014-04-21 22:58 1086刚刚看完《互联网思维》这本书,书里面简单介绍了3D打印技术 ... -
ADD的人生整理术
2014-03-14 11:34 1007什么是ADD? ADD,英 ... -
专注力:化繁为简的惊人力量
2014-03-14 11:01 1152你有没有这样的同事,他们花了你80%的时间却只给了你不到2 ... -
如何高效的学习
2014-03-11 09:12 704我想对于这个话题每个人有自己的见解,因每个人的习惯,生活方 ... -
SDN核心技术剖析和实战指南
2013-12-09 09:38 1371软件定义网络(Software Defined Ne ... -
智慧的分析洞察
2013-12-04 09:11 783看到这本书的题目让我想到这应该是以本哲学之类的书籍 ... -
做自己
2013-11-22 11:28 4861:每天11:00点前睡觉,每天7:30点前起床; 2:每 ... -
云计算360度
2013-06-27 10:23 979什么是云计算? 我看了很多资料,还是没有弄清楚什么是云 ... -
Web应用安全威胁与防治
2013-01-24 17:31 1804本书的试读章节让我们知道了会话劫持的危害性,对身份验证和会话 ... -
项目中的.NET
2012-11-08 16:34 1003当我看到这一本书的时候,我迫不及待我想拿来读。当我打开试 ... -
Android系统源代码情景分析
2012-11-08 15:24 1080在android系统源代码情景分析一书的试读中,主要是讲 ... -
看敏捷高手交互卓越软件
2012-08-16 15:25 956有效个人管理的四个步骤 ——确定角色:确定你认为重 ... -
Node.js开发指南
2012-08-13 14:45 4739看到Node.js这个名字,初学者可能会误以 ...
相关推荐
《产品技术开发项目-软件架构设计模板》 软件架构设计是构建高质量软件产品的重要环节,它为项目的实施提供了蓝图和指南。本文档旨在为产品经理、项目经理、系统工程师、架构师及软件开发人员提供一个清晰、全面的...
嵌入式系统软件架构设计是构建高效、稳定且适应性强的嵌入式系统的基石。它涉及到如何合理组织软件组件,确保系统性能、可靠性和可维护性。本文将深入探讨决定架构的因素、嵌入式环境下的特点以及软件框架的设计。 ...
在IT行业中,软件架构设计是开发高质量软件的关键环节。它涉及到如何组织和构建软件系统,以便满足功能需求、性能指标、可维护性、扩展性和可重用性等多方面的要求。下面将根据“软件架构设计 ppt”这个主题,详细...
"软件架构设计文档ADMEMS模板v2" 软件架构设计文档是软件开发过程中的重要文档,旨在描述软件系统的架构设计,包括软件系统的总体架构、组件之间的关系、数据流向、接口定义等。下面是基于ADMEMS模板v2的软件架构...
标题《软件架构设计》所蕴含的知识点极为广泛,它关联到软件工程的核心概念,包括软件架构的基本原则、设计模式、架构风格、方法论以及实现工具和环境等。下面将从不同角度展开详细解读。 首先,软件架构设计是软件...
《企业EA - 应用软件架构设计规范》是针对企业应用软件架构设计的一份详细指导文档,旨在规范设计过程,确保软件架构与企业信息化或ERP总体架构的一致性和灵活性。该规范强调了四个核心原则:一致性、敏捷性、集成与...
《架构风格与基于网络的软件架构设计》是网络软件领域的一部重要著作,作者通过深入研究,探讨了软件架构的设计原则和模式,特别是在Web环境下的应用。这本书的中英文版本都为读者提供了全面理解现代互联网软件架构...
《架构风格与基于网络的软件架构设计》这篇论文深入探讨了软件架构的重要性和在现代网络环境中如何有效地进行架构设计。架构设计是软件开发的核心环节,它决定了系统的整体结构、组件间的关系以及通信机制,对软件的...
比较全面的阐述嵌入式系统软件架构设计的资料,pdf版本,文字版,完整无广告。 本课程是针对嵌入式软件开发的特点,讨论架构设计的思路和方法。试图给大家提供一种思想,启发大家的思维。框架,自动化代码生成和...
软件架构设计是软件工程领域中一个至关重要的方面,它涉及到软件系统的高层次结构和组件的组织方式。在这个案例分析中,我们从多个维度来探讨软件架构设计的细节和实践。 首先,软件架构是一个系统的抽象。它定义了...
《图书杂志采购和借阅系统》的软件架构设计说明书详细阐述了系统的设计和构建过程,旨在为项目相关人员提供全面的理解和指导。以下是该文档的主要内容摘要: 一、简介 这部分明确了文档的编写目的,旨在记录系统...
软件架构设计说明书 软件架构设计说明书是指在软件开发过程中,对软件系统的整体架构进行设计和描述的文档。该文档旨在为软件开发团队提供一个统一的架构蓝图,以指导软件的设计、开发和测试工作。软件架构设计说明...
### 架构实战——软件架构设计的过程 在现代软件开发中,软件架构设计扮演着至关重要的角色。良好的架构设计能够确保软件系统的可扩展性、可维护性和性能等关键特性。《架构实战——软件架构设计的过程》一书深入...
本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念、阐述了切实可行的软件架构设计方法、提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、UML建模、过程与...
《架构风格与基于网络的软件架构设计》是Roy Thomas Fielding博士的一篇具有深远影响力的博士论文,该论文探讨了软件架构的重要性和网络基础的软件架构设计原则。Fielding博士是HTTP和URI等Web架构标准的主要设计者...