1、引言
最近为公司做一些架构方面的整理工作,记得以前给新人写过一篇PPT,关于软件的认识方法,其中对软件的划分方法值得借鉴,于是整理出本文。
2、一维软件划分
回想我刚开始做软件开发的时候,对软件的认识,停留简单的表面,收到客户的需求,分解成为几个模块,划分几个人手,吭哧吭哧上马干活,这个时候的对软件的认识,犹如小孩子对几何的认识,仅知道几个点连成一个线而已,姑且将这种认识层次,或者说采用这样的观点划分的软件,称之为:
3、二维软件划分
刚开始的时候,做了一些桌面型的应用Delphi(C++Builder)+Interbase,VB+Access,这种单纯而直接的应用开发岁月没持续多久,还没等我用上传说中最牛叉的Power Builder,CS,BS,三层,N层架构就接踵而至,作为可怜的开发人员,学完这个学那个,真实的需求根本没有,完全是技术驱动的学习。
在多层架构下,软件产品和开发角色的划分,也跟着进行了细分,大家往往将服务器、客户端开发人员分开,大的项目,甚至有单独DBA,此时的软件划分,已经不再是一维的,而是二维的:
4、三维软件划分
二维的软件划分,可以用于大多数项目的开发,对于小公司特别有效,但对于一些大的项目或者产品的开发,总显得那么捉襟见肘。
这是因为在大的团队,随着产品开发的时间累计,不断有避免重复(现在流行的叫做DRY),加强建设产品公用部分,节省人力的需求,这时候,往往会成立单独的平台组,系统组,将团队的核心知识固化在一些可复用的软件模块中,将这些软件模块包装成为平台,框架,构件等。
在这个时候,对软件的认识和划分,需要摆脱二维软件单纯的平面思想,进行三维立体的划分:
三维软件的划分方法,相比于二维,主要增加了一个逻辑轴,该轴的一般体现了软件的平台,框架,构件等思想;我个人一般将该维的层次划分为
- 外部Library
- 技术平台与框架
- 业务平台与框架
- 业务实现
相信不同的公司,不同的人对这块的划分都有不同的认识,但是,引入了第三维,软件变成一个立体的,可触摸的东西。
5、四维软件划分
三维的软件划分,是一个单纯的技术路线的划分,考虑到软件开发的实际情况,总觉得缺少点什么,对了!时间,就是时间。
时间在软件的开发中,毫无疑问是非常重要的,静态的看一个软件是不现实的,我们站在时间轴上去看软件,软件才是一个有生命力的,活生生的。
开发一个软件产品的时候,即便我们能够按照三维的思路将目标产品进行分解,或者对现有产品划分,但如果没有考虑到版本因素,这样的产品开发无疑是不具有可行性。
好的架构师,需要对产品的版本特征规划胸有成竹,对于产品的开发具有很好的节奏感,这就构成了软件的第四维。
分享到:
相关推荐
通过“众邦2009立体软件”,用户可以掌握这些技能,创造出富有深度和艺术感的三维立体图片,应用于广告设计、游戏开发、电影特效、教育演示等多个领域。虽然具体功能细节未在描述中给出,但根据标签和标题,我们可以...
有四种常见的观看三维立体图的方法: 1. 双眼与三维立体图距离 20 厘米,伸出食指,竖在眼睛前方 3 厘米处,双眼先看食指,缓缓地再透过食指看三维立体图上的“献血光荣”。 2. 让眼睛休息三分钟,在三维立体画上方...
立体四维方向坐标图PPT模板.pptx,立体四维方向坐标图PPT,适用于分析企业有关活动或者四维方向坐标等情况,可以用在销售培训PPT中,项目推介PPT中,招商加盟PPT中,四维度分析,使得PPT展示更加具体,而且立体感
1. **三维模型生成**:使用三维建模软件创建各种形状和结构的模型,这些模型应具有足够的复杂性和多样性,以便增加机器识别的难度。 2. **视角变换**:通过模拟不同视角捕获三维模型,生成多个二维图像,这样人类...
在IT领域,制作三维立体图是一项重要的技能,广泛应用于游戏开发、建筑设计、产品设计、科学研究等多个方面。这款软件通过简化复杂的操作流程,使得即使是没有专业背景的用户也能快速上手,创作出令人印象深刻的三维...
标题中的“很好的三维立体图制作软件”指的是一款专门用于创建三维图像的应用程序。这类软件通常包含各种工具和功能,使用户能够设计、编辑和渲染立体图像,为设计师、艺术家和爱好者提供了创造逼真或抽象三维图形的...
这种技术的核心在于利用【视差立体法】,即通过两个或多个略有差异的视角捕获同一物体的图像,然后将这些图像组合在一起,当观众通过特定的光栅材料(如柱镜光栅或狭缝光栅)观看时,能够体验到立体效果。...
本套三维立体画制作工具提供了制作三维立体画所需的各种功能。国内此类产品不多,而这套工具提 供了几乎没有其它哪个免费产品... 凭借这套软件的优异性能,您会很快学会制作自己的三维立体画,满足您艺术创作的要求。
三维立体图片制作软件是一种专为用户创造立体视觉效果的工具,它通过一系列技术手段将二维图像转化为具有深度感和立体感的三维图像。这类软件通常包含多种功能,旨在帮助用户轻松实现从构思到完成立体作品的过程。在...
在MATLAB中,处理四维数据是一个常见的任务,特别是在科学计算和数据分析领域。四维数据通常包含四个坐标轴,例如(x, y, z, c),其中x、y和z代表空间坐标,c则代表额外的维度,如时间、温度、强度等。本篇文章将深入...
根据描述中的“望远法”,我们可以了解到一种观看三维立体图的基本方法: 1. **环境选择**:首先,选择一个视野开阔的场所,比如大厅或户外空间,以确保有足够的远距离参照物。 2. **图片放置**:将图片与脸部保持...
C# OpenGL 三维立体图绘制 源码 用C#实现调用opengl实现三维图的绘制。如有问题,请发送邮件至gaocongly@126.com咨询讨论
"巧用Surfer软件绘制三维立体地形图进行等高线辅助教学" 这篇文章主要介绍了如何使用Surfer软件绘制三维立体地形图,并进行等高线辅助教学。Surfer是一款功能强大的二维数据处理和显示软件,具有一定的三维显示功能...
三维立体图像制作大师是一款专为用户打造的高效、易用的图像处理软件,专注于将普通的二维平面图像转化为具有深度感的三维立体图像。版本V3.02代表着该软件已经经过多次迭代和优化,提供了更加稳定和丰富的功能,...
Halcon作为一种强大的机器视觉软件,提供了光度立体法等先进的检测算法,使得自动化检测成为可能。 光度立体法是一种三维重建技术,通过捕捉多个光源照射下物体表面的光照变化来推断物体的形状和特征。在这个案例中...
在MATLAB中,处理四维数据并进行可视化是一项常见的任务,尤其在科学研究和工程领域。四维数据通常由四个变量组成:X、Y、Z和S,其中X、Y、Z代表三维空间坐标,而S则代表在这些坐标上的某种属性值。本篇文章将深入...
奇妙的3D世界,软件内可以欣赏上千个精美三维立体图画,并定时增加新作品。提供强大、专业级的三维立体图画制作功能,操作简单,轻轻松松制作自己喜欢的三维图画。 1、内置50多个精美的立体图案背景模板,20多个精美...
MATLAB仿真矩形线圈垂向磁场,长度和宽度等参数可以调整,得出V=f(x,y,z)的四维立体图,较好的反映整体关系,可以通过修改Z的slice参数,进行切片分层仿真。
三维立体图像制作大师是一款简单实用,小巧易用的三维立体图像制作软件,只需三步即可制作出多层次立体感的精美作品!支持设定立体画画质,最高可达128层专业效果,完成后可保存图像到硬盘的文件,或者直接打印出来...
### 基于MATLAB的PQ分解法程序解析与知识点总结 #### 一、程序概述 本程序是用于电力系统分析中的潮流计算方法之一——PQ分解法的一个具体实现。PQ分解法是一种简化版的牛顿-拉夫逊法,特别适合于高压输电网的潮流...