首先我们应该了解什么是软件架构设计?
架构大体分为以下几种:
逻辑架构=模块划分+接口定义+领域模型
开发架构=技术选型+文件划分+编译关系
物理架构=硬件分布+软件部署+方案优化
运行架构=技术选型+控制流划分+同步关系
数据架构=技术选型+存储格式+数据分布
程序员向架构师转型的关键突破——学会系统思考 怎样根据客户的需求去设计自己的系统,从需求到设计是一个很重要的过程,如果需求都不明确那么最后做的系统将注定失败。 当我们明白了需求之后,接下来就是要怎么去设计这个系统,这就是系统的架构。根据上面所分的架构逐步设计自己的系统。
需求和设计之间存在一道无形的鸿沟,因此很多人会在需求分析之后卡壳,不知道怎么做了。先说功能需求。使用用例规约等技术描述功能,可以阐明待开发系统的使用方法,但并没有以类、包、组件、子系统等元素形式描述系统的内部结构。从用例规约向这些设计概念过渡之所以困难,是因为: 用例是面向问题域的,设计是面向机器域的,这两个“空间”之间存在映射; 用例技术本身不是面向对象的,而设计应该是面向对象的,这是两种不同的思维方式; 用例规约采用自然语言描述,而设计采用形式化的模型描述,描述手段也不同。 然而,从质量需求到软件设计,有个不易跨越的鸿沟:软件的质量属性需求很“飘”,常常令架构师难以把握。例如,根据诸如“本系统应该具有较高的高性能”等寥寥几个字来直接做设计,“思维跨度”就太大了,设计很难有针对性。越过从质量需求到设计的鸿沟,需要搭桥。这“桥”就是下面要讲的场景技术,其关键是使笼统的非功能目标明确化。
发表评论
-
大型分布式网站架构设计与实践
2014-10-17 09:32 8341.大型网站软件系统的特点? a.高并发,大流量。 b.高可用 ... -
产品经理是这样炼成的
2014-10-16 12:02 548产品经理(Product Manager),又称品 ... -
NFC:Arduino、Android与PhoneGap近场通信
2014-10-15 12:53 1458射频识别,RFID(Radio Frequency I ... -
Java特种兵
2014-10-15 09:29 923从事java工作多年,很多东西只知道知其然不知其所以然 ... -
微管理——给你一个技术团队,你该怎么管
2014-06-26 18:54 1361首先,要明白项目 ... -
海量运维、运营规划之道(全彩)
2014-04-23 11:55 739关于海量运维、运 ... -
全程软件测试(第2版)
2014-04-22 14:20 1274软件测试(英语:software testing),描述 ... -
3D打印:三维智能数字化创造(全彩)
2014-04-21 22:58 1056刚刚看完《互联网思维》这本书,书里面简单介绍了3D打印技术 ... -
ADD的人生整理术
2014-03-14 11:34 955什么是ADD? ADD,英 ... -
专注力:化繁为简的惊人力量
2014-03-14 11:01 1105你有没有这样的同事,他们花了你80%的时间却只给了你不到2 ... -
如何高效的学习
2014-03-11 09:12 662我想对于这个话题每个人有自己的见解,因每个人的习惯,生活方 ... -
SDN核心技术剖析和实战指南
2013-12-09 09:38 1338软件定义网络(Software Defined Ne ... -
智慧的分析洞察
2013-12-04 09:11 738看到这本书的题目让我想到这应该是以本哲学之类的书籍 ... -
做自己
2013-11-22 11:28 4501:每天11:00点前睡觉,每天7:30点前起床; 2:每 ... -
云计算360度
2013-06-27 10:23 934什么是云计算? 我看了很多资料,还是没有弄清楚什么是云 ... -
Web应用安全威胁与防治
2013-01-24 17:31 1782本书的试读章节让我们知道了会话劫持的危害性,对身份验证和会话 ... -
项目中的.NET
2012-11-08 16:34 967当我看到这一本书的时候,我迫不及待我想拿来读。当我打开试 ... -
Android系统源代码情景分析
2012-11-08 15:24 1048在android系统源代码情景分析一书的试读中,主要是讲 ... -
看敏捷高手交互卓越软件
2012-08-16 15:25 927有效个人管理的四个步骤 ——确定角色:确定你认为重 ... -
Node.js开发指南
2012-08-13 14:45 4696看到Node.js这个名字,初学者可能会误以 ...
相关推荐
目的:软件架构设计,可以帮我们直观的熟悉整个架构的设计和拓展实现。 本文档作为产品的架构设计说明书,对系统整体进行了架构设计,指导后续的设计与开发。并为网站后续版本的架构参考。 本文内容面向产品经理,...
比较全面的阐述嵌入式系统软件架构设计的资料,pdf版本,文字版,完整无广告。 本课程是针对嵌入式软件开发的特点,讨论架构设计的思路和方法。试图给大家提供一种思想,启发大家的思维。框架,自动化代码生成和...
本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念、阐述了切实可行的软件架构设计方法、提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、UML建模、过程与...
《软件架构设计》《软件架构设计》《软件架构设计》《软件架构设计》
本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”...
架构实战——软件架构设计的过程[汇编].pdf
论文:架构风格与基于网络的软件架构设计(PDF)
架构风格与基于网络的软件架构设计.pdf
本书为讲解如何设计实现高级软件架构设计,是软件工程师向软件架构师转变学习书籍。
软件架构设计2.0.docx
软件架构设计原则
应用软件 架构设计 设计规范 4.2.1 定义主题域 对业务过程模型、业务能力模型、系统用例等作出分析,参照全局数据模型,定义数据主题域及概 念数据实体,主题域的数据实体应高度相关,每项业务能力至少包含一个...
软件架构设计理论,软件架构设计实践,分析与应用技术,软件架构设计思想
嵌入式系统软件架构设计
ADMEMS方法推荐的《软件架构设计文档》
架构实战——软件架构设计的过程,架构实战——软件架构设计的过程,
软件架构之软件架构设计电子书下载 由于[GOF95]是论述软件模式的著作的第一本,也是OO设计理论著作中最流行的一本,因此有些人常常使用设计模式(Design Pattern)一词来指所有直接处理软件的架构、设计、程序实现的...
软件架构设计说明书