易商讯
当前位置: 首页 » 资讯 » 科普 » 正文

软件开发为什么要进行组织结构分析

放大字体  缩小字体 发布日期:2023-10-03 19:02:39
导读

❶ 软件行业里常说的“架构”,究竟是什么东西一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data

❶ 软件行业里常说的“架构”,究竟是什么东西

一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data 流行的笑话,放在架构上也适用:Architecture is like teenage sex,everybody talks about it,nobody really knows what is it。事实上,架构在软件发明时的 N 多年以前,就已经存在了,这个词最早是跟随着建筑出现的。所以,我觉得有必要从源头开始,把架构这个概念先讨论清楚,只有这样,软件行业架构的讨论才有意义。什么是架构?架构的英文是 Architecture,在 Wikipedia 上,架构是这样定义的:Architecture (Latin architectura, from the Greek ἀρχιτέκτων arkhitekton” architect”, from ἀρχι- “chief” and τέκτων “builder”) is both the process and the proct of planning, designing, and constructing buildings and other physical structures。从这个定义上看,架构好像是一个过程,也不是很清晰。为了讲清楚这个问题,我们先来看看为什么会产生架构。为什么会产生架构?想象一下,在最早期,每个人都完全独立生活,衣、食、住、行等等全部都自己搞定,整个人类都是独立的个体,不相往来。为了解决人类的延续的问题,自然而然就有男女群居出现,这个时候就出现了分工了,男性和女性所做的事情就会有一定的分工,可是人每天生活的基本需求没有发生变化,还是衣食住行等生活必须品。但是一旦多人分工配合作为生存的整体,力量就显得强大多了,所以也自然的形成了族群:有些人种田厉害,有些人制作工具厉害,有些地方适合产出粮食,有些地方适合产出棉花等,就自然形成了人的分群,地域的分群。当分工发生后,实际上每个人的生产力都得到了提高,因为做的都是每个人擅长的事情。整个人群的生产力和抵抗环境的能力都得到了增强。为什么呢?因为每个人的能力和时间都是有限的,并且因为人的结构的限制,人同时只能专心做好一件事情,这样不得已就导致了分工的产生。既然分工发生了,原来由一个人干生存所必需的所有的事情,就变成了很多不同分工的角色合作完成这些事情,这些人必须要通过某些机制合在一起,让每个人完成生存所必需的事情,这实际上也导致了交易的发生(交易这部分就不在这里展开了,有机会再讨论)。在每个人都必须自己完成所有生活必须品的生产的时候,是没有架构的(当然在个人来讲,同一时刻只能做有限的事情,在时间上还是可能会产生架构的)。一旦产生的分工,就把所有的事情,切分成由不同角色的人来完成,最后再通过交易,使得每个个体都拥有生活必须品,而不需要每个个体做所有的事情,只需要每个个体做好自己擅长的事情,并具备一定的交易能力即可。这实际上就形成了社会的架构。那么怎么定义架构呢?以上面这个例子为例,把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。由以上的例子,也可以归纳出架构产生的动力:必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构了)每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有少部分人可以左手画圆右手画框,但是不是普遍现象)每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,见 2,从而缩短时间)人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率)有人可能会挑战说,如果一个人对目标系统进行分解,比如某人建一栋房子,自己采购材料,自己搭建,难道也不算架构嘛?如果对于时间不敏感的话,是会出现这个情况的,但是在这种情况下,并不必然导致架构的发生。如果有足够的自觉,以及足够的熟练的话,也会产生架构的思考,因为这样对于提高生产力是有帮助的,可以缩短建造的时间,并会提高房子的质量。事实上建筑的架构就是在长期进行这些活动后,积累下来的实践。当这 5 个条件同时成立,一定会产生架构。从这个层面上来说,架构是人类发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以更高的效率去改造这个世界的方法。以下我们再拿建筑来举例加强一下理解。最开始人类是住在山洞里,住在树上的,主要是为了躲避其他猛兽的攻击,以及减少自然环境的变化,对人类生存的挑战。为了完成这些目标,人类开始学会在平地上用树木和树叶来建立隔离空间的设施,这就是建筑的开始。但是完全隔离也有很多坏处,慢慢就产生了门窗等设施。建筑的本质就是从自然环境中,划出一块独占的空间,但是仍然能够通过门窗等和自然环境保持沟通。这个时候架构就已经开始了。对地球上的空间进行切分,并通过门窗,地基等,保持和地球以及空间的有机的沟通。当人类开始学会用火之后,茅棚里面自然而然慢慢就会被切分为两部分,一部分用来烧饭,一部分用来生活。当人的排泄慢慢移入到室内后,洗手间也就慢慢的出现了。这就是建筑内部的空间切分。这个时候人们对建筑的需求也就慢慢的越来越多,空间的切分也会变成很多种,组合的方式也会有很多种,比如每个人住的房子,群居所产生的宗教性质的房子,集体活动的房子等等。这个时候人们就开始有意识的去设计房子,架构师就慢慢的出现了。一切都是为了满足人的越来越高的需求,提升质量,减少时间,更有效率的切分空间,并且让空间之间更加有机的进行沟通。这就是建筑的架构以及建筑的架构的演变总结一下,什么是架构,就是:根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。同样这个思考可以展开到其他的行业,比如企业的架构,国家的架构,组织架构,音乐架构,色彩架构,软件架构等等。套用三国演义的一句话,合久必分,分久必合。架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。望采纳!

❷ 为什么要对软件体系结构进行风险分析风险分析的主要步骤有哪些

当前各个领域数据生成速度逐渐加快,需要处理的数据量急剧膨胀。这些巨大的数据资源蕴藏着潜在的价值,需要对其进行有效的分析和利用。当前数据的特点除了数量庞大之外,数据类型也变得多样化,其中包括了结构化数据、半结构化数据以及非结构化数据。这些数量庞大、种类繁多的海量数据,给传统分析工具带来了巨大的挑战。当前对数据的分析不再是简单的生成统计报表,而是利用复杂的分析模型进行深人的分析,传统分析技术例如关系数据库技术已经不能满足其要求。在扩展性上,通过增加或更换内存、CPU、硬盘等设备原件以打一展单个节点的能力的纵向打一展(scaleup)系统遇到了瓶颈;只有通过增加计算节点,连接成大规模集群,进行分布式并行计算和管理的横向打一展(scaleout)系统才能满足大数据的分析需求[u。因此传统工具在扩展性上遇到了障碍,必须寻求可靠的数据存储和分析技术来分析和利用这些庞大的资源。利用云计算平台搭建Hadoop计算框架成为当前处理大数据的主要手段。然而由于云计算和Hadoop应用的特点和自身安全机制薄弱,不可避免地带来了安全风险。1、大数据应用模式云计算(CloudComputing)是一种基于Internet的计算,是以并行计算(ParallelComputing)、分布式计算(DistributedComputing)和网格计算(GridCompu-tin助为基础,融合了网络存储、虚拟化、负载均衡等技术的新兴产物。它将原本需要由个人计算机和私有数据中心执行的任务转移给具备专业存储和计算技术的大型计算中心来完成,实现了计算机软件、硬件等计算资源的充分共享[z}。企业或个人不再需要花费大量的费用在基础设施的购买上,更不需要花费精力对软硬件进行安装、配置和维护,这些都将由云计算服务商CSP(CloudServiceProvider)提供相应的服务。企业或个人只需按照计时或计量的方式支付租赁的计算资源。云计算服务商拥有大数据存储能力和计算资源,被视为外包信息服务的最佳选择[31因此大数据的应用往往与云计算相结合。Hadoop是当前最广为人知的大数据技术实施方案,它是Google云计算中的Map/Rece}4}和GFS(GoogleFileSystem)的开源实现。Hadoop提供了一种计算框架,其最为核心的技术是HDFS(HadoopDistributedFileSystem)以及MapReee}HDFS提供了高吞吐量的分布式文件系统,而MapReee是大型数据的分布式处理模型。Hadoop为大数据提供了一个可靠的共享存储和分析系统[5-6}v尽管有一些组织自建集群来运行Hadoop,但是仍有许多组织选择在租赁硬件所搭建的云端运行Hadoop或提供Hadoop服务。例如提供在公有或私有云端运行Hadoop的Cloudera,还有由Amazon提供的称为ElasticMapReee的云服务等f}l。因此将云计算与Hadoop结合处理大数据已成为一种趋势。2、大数据安全风险分析随着大数据应用范围越来越广,对数据安全的需求也越来越迫切。由于云计算的特点是将数据外包给云服务商提供服务,这种服务模式将数据的所有权转移给了CSP,用户失去了对物理资源的直接控制[A1。而云中存储的大数据通常是以明文的方式存在的,CSP对数据具有底层控制权,恶意的CSP有可能在用户不知情的情况下窃取用户数据,而云计算平台亦可能受到攻击致使安全机制失效或被非法控制从而导致非授权人读取数据,给大数据安全带来了威胁。Hadoop在设计之初并未考虑过安全问题,在Ha-doop1.0.0和ClouderaCDH3版本之后,Hadoop加人了Kerberos的身份认证机制和基于ACL的访问控制机制[91。即使在安全方面增加了身份认证和访问控制策略,Hadoop的安全机制仍然非常薄弱,因为Ker-beros的认证机制只应用于客户机(Clients)、密钥分发中心(I}eyDistributionCenter,I}DC)、服务器(Serv-er)之间,只是针对机器级别的安全认证,并未对Ha-doop应用平台本身进行认证[}o}。而基于ACL的访问控制策略需要通过在启用ACL之后,对hadoop-policy.xml中的属性进行配置,其中包括9条属性,它们限制了用户与组成员对Hadoop中资源的访问以及Datanode和Namenode或Jobtracke:和Tasktrackers等节点间的通信,但该机制依赖于管理员对其的配置[川,这种基于传统的访问控制列表容易在服务器端被篡改而不易察觉。而且基于ACL的访问控制策略粒度过粗,不能在MapRece过程中以细粒度的方式保护用户隐私字段。况且针对不同的用户和不同应用,访问控制列表需要经常作对应的更改,这样的操作过于繁琐且不易维护。因此Hadoop自身的安全机制是不完善的。2.1不同应用模式下CSP及Uers带来的安全风险云计算中Hadoop有多种应用模式。在私有云中搭建Hadoop,即企业自己应用Hadoop,使用该平台的是企业内部各个部门的员工,外部人员无法访问和使用这些资源。这时的CSP指的是Hadoop的创建和管理者,IaaS级和PaaS级CSP为相同的实体;在公有云平台应用Hadoop,CSP有2级,IaaS级CSP,提供基础设施;PaaS级CSP,负责Hadoop的搭建和管理。这时两级CSP往往是不同的实体。


声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!

 
(文/小编)
免责声明
• 
本文软件开发为什么要进行组织结构分析链接:http://www.esxun.cn/news/337181.html 。本文仅代表作者个人观点,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们,我们将在24小时内处理完毕。如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
 

Copyright © www.esxun.cn 易商讯ALL Right Reserved


冀ICP备2023038169号-3