软件架构设计和开发管理

集成平台的发展趋势

从功能上可以将其划分为 企业应用集成 和 业务到业务的集成(B2B)两种。其中,EAI 主要侧重于企业内部的纵向集成,B2B 侧重于支持企业间业务往来的横向集成。

面向服务的体系结构(Service-Oriented Architecture,SOA)
从应用的角度定义:是一种应用框架,着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。
从软件的基本原理定义:是一个组件模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

设计模式

模式是指从某个具体形式的形式中得到的一种抽象。软件架构的模式描述了一个出现在特定设计语境中的特殊的再现设计问题,并为它的解决方案提供了一个经过充分验证的通用图示。

设计模式的组成:模式名称,问题,解决方案,效果。

解决方案描述设计的基本要素,他们的关系、各自的任务以及相互之间的合作。模式的解决方案部分给出了如何解决再现问题,或者更恰当地说是如何平衡与之相关的强制条件。解决方案包括两个方面:

每个模式规定了 一个特定的结构,即元素的一个空间配置。MVC把一个交互应用划分成3部分,处理,输入,输出。

每个模式规定了运行期间的行为。

模式和软件架构:

模式作为架构构造块,构造异构架构,模式和方法,模式的实现

C语言中实现策略模式可以通过函数指针来代替多态性和继承性

设计模式目录的内容

创建性模式处理的是对象的创建过程;结构性模式处理的是对象/类的组合;行为模式处理的是类和对象的交互方式和任务分配;

体系结构

程序和计算系统软件体系结构是指系统的一个或多个结构。 该结构包括软件的构建,构建的外部可见属性以及它们之间的相互关系。该体系结构不是可操作的软件。 具体来说,这是一个表达式,它使软件工程师能够:

  什么是好的软件架构?这个问题可能会被大家问到,包括一些IT公司也在问,这个问题的答案可能不仅仅是简单的句子或者定义可以回答
这是什么东西? 乐高玩具,乐高玩具,我们都玩过吗?
它可以作为一个完整的模型出售给您,您也可以将其全部分解并自由地将其从一个模型重新组装到另一个模型,因为每个Lego模块都有一个水平和坚定方向的标准。 界面,这就是我们常说的高内聚和低耦合。
两艘军舰有什么区别?
一种是模块化设计,整体线条流畅,模块可随意更换。
一种是拼凑而成的,线条被暴露出来,并且甲板上充满了各种电子设备和天线。 一旦被损坏,维护起来非常困难。

  • 分析满足监管要求的设计有效性。
  • 在设计更改相对容易的阶段,请考虑架构的可能选项。
  • 降低与软件构建相关的风险。

在顶端,我们需要掌握一些技术领域的知识,它可以使我们能够解决诸如电子商务,公司OA,银行保险金融等解决方案和设计其他领域的共同领域。
在中间,为了达到这些技术的顶端,我们需要了解一些中间件,数据库,开发框架知识,它是一个支柱。
底部,底部? 这是我们的基础,为我们达到中层或上层奠定基石,这就是为什么人们有时会发现我的博客和其他博客有不同的地方,不仅是编程,而且还有“中间”层。也就是说,数据库, 安全和框架建设混杂在一起,因为我不希望每个人都通过阅读我的博客而停留在代码和螺丝的水平。

如果您看到它,架构师的首要责任是集中于:非功能需求

许多人仍然不清楚功能需求与非功能需求之间的界限。 这里有两个例子来说明:

功能性需求

页面查询时,这个查询与哪个数据库表关联,因为我的业务是这样的一个需求,在界面A中有一个按钮,然后弹出窗口B,在窗口B中显示什么样的数据,最终的界面 点K结束后,打开界面B时哪个数据发生了变化。

非功能性需求

我们的系统查询速度小于2S,是否考虑使用异步查询,采用团队排队机制,系统需求可容纳1000个并发,这个系统应该做成插件,能够水平扩展,能够遵守XXX协议,此Web服务是否要使用SOAP HEAD和BASIC身份验证,NTLM身份验证或令牌环身份验证?该下拉框可以被输入并且可以被下拉。此身份验证是否可以访问LDAP?

许多面向商业的项目公司认为,架构师在解决问题(即故障排除,故障排除,错误,然后找到架构师)时,将架构师视为消防员。你不会为自己考虑为什么问题:已经出现了2秒钟,2分钟或1天半的时间架构师来解决过去几个月无法解决的问题。好?

解决这是人们应该解决的问题,说人类建筑师失败了?是不是我们应该从这个软件和架构的最早框架中找到问题?

建筑师,这不是一个问题解决问题。

在节日之前,我还进行了一些采访。从纯粹的技术角度来看,我选择了建筑师TECH LEADER的候选人。

我仍然发现很多问题。这在中国是一个普遍的问题:我们的程序员经常不做程序,但更多时候他们在做业务逻辑并成为某个领域的商人。

当然,我们的程序员在他们职业生涯的头三年和四年都会为某个领域编写代码。这不是问题,但请务必记住我们是编码,IT和程序员。 ,而不是“业务人员”!

它是什么?什么是程序员?什么是技术领导者?什么是建筑师?

我们必须很好地问自己这个问题。好好想一想。建筑师的要求是什么?

我随便在这里说些什么:我相信这对于一些想要走技术之路的学生很有帮助:

TCP / IP协议,加密和解密,计算机原理(附加补码),JPG代码,MPEG2-3协议,逻辑电子电路,计算机编译原理(堆栈,堆栈,队列),这些东西在工作时总是使用?这些是你一直关注的底层吗?

如果您要采取技术路线,一定要记住“数据库+ ASP / JSP”不是技术。它只比表格制作强大一点。报告作者有点强大。

请记住,技术线主要关注非功能性需求。非功能性需求只是一站式的东西。有了这个基础,任何需求都很清楚。你什么都没有。 “困难”,或者如果你去上学,你可以用不同的方式来做。

我最近一直在采访一些候选人并担任建筑师。我对这个过程深感不安。找到一名程序员来开发和招聘一名建筑师并不困难。这很难......呃,我认为我们需要考虑一下,如果我采用技术路线,我缺少什么,如何补充它,还有什么我应该注意?

科学技术是第一生产力。所谓的六西格玛管理方法论是六西格玛的第一个。 “技术人才是当前企业的第一生产力。”让我们看看哪些公司可以发财。阿里,淘宝,支付宝,GOOGLE,腾讯,互联网,高科技等等,以及其他一些公司,他们依靠的不是业务逻辑,而是真正的技术,这足以解释问题,所以如果你想走技术路线,请注意更多细节和更低层次的东西。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值