IT培训分享关于微服务架构特点分析

IT培训分享关于微服务架构特点分析,第1张

引言 软件架构是一门学科,开始于 20 世纪 70 年代。面对不断增加的复杂性和开发复杂实时系统的压力,作为主流系统工程和软件开发的基本构造,软件架构应运而生。 与任何其他久经考验的学科一样,软件架构在诞生之初也面临许多挑战。软件架构表示系统的结构和行为方面。在早期为软件架构编写文档说明时,所使用的文本和图解表达常常不足或者不够精确。所需的是某种一致并得到充分理解的伪(或元)语言,以便将对软件架构进行表示和编写文档说明的不同方式统一起来。在学术研究的推动下,在用于开发有效软件架构文档说明的最佳实践和指导原则方面,工程和计算机科学领域已取得了长足的发展。 在本系列中,您将了解如何编写软件架构文档说明。了解编写文档说明的不同方面:系统上下文、体系结构概述、功能体系结构、 *** 作体系结构和体系结构决策。 在这第一篇文章中,了解软件架构是什么,以及为该学科的不同方面编写文档说明的重要性。 回页首软件架构不同的研究人员已解释了软件架构是什么,并且他们对有关如何最好地表示软件系统的体系结构具有不同的观点。其中没有哪一种解释是错误的;每种解释都具有自己的价值。Bass L 等人抓住了软件架构的本质: “程序或计算系统的软件架构是该系统的结构,包括软件组件、那些组件的外部可见的属性,以及那些组件之间的关系” 。 此定义重点关注由粗粒度的构造(软件组件)所构成的体系结构,可以将这些构造看作是体系结构的构建块。每个软件组件或体系结构构建块具有某些外部可见的属性,这是它向其他体系结构构建块公开的属性。软件组件的内部设计和实现细节不是系统的其他部分所关心的内容,系统的其他部分只是将某个特定组件视为一个黑盒。该黑盒具有某些所公开的属性,其他软件组件可以使用这些属性来共同实现业务或 IT 目标。软件架构在恰当的粒度级别标识体系结构构建块。软件架构还标识那些构建块如何彼此相关,并进行文档记录。 与软件工程相关的体系结构涉及到将单个系统分解或划分为一组可迭代地、渐进地和独立地构造的部分。各个部分彼此具有显式的关系。当组合在一起时,各个部分就形成了系统、企业或应用程序的体系结构。 关于体系结构与设计之间的区别,存在一些混淆。正如 Clements P 等人 所指出的,所有体系结构都是设计,但不是所有设计都是体系结构。需要绑定以使系统满足其功能性和非功能性需求和目标的设计本质上是体系结构。体系结构将体系结构构建块视为黑盒,而设计则处理体系结构构建块的配置、自定义和内部工作。体系结构将软件组件与其外部属性绑定在一起。设计通常要比体系结构松散得多,因为它允许以更多的方式遵守组件的外部属性。设计还考虑用于实现组件内部细节的各种方法。 软件架构可以递归地使用。请考虑一个属于某个系统的软件架构组成部分的软件组件 (C1)。软件架构师将该组件及其应该公开的属性、功能和非功能特性及其与其他软件组件的关系交给系统设计人员。设计人员在分析软件组件 C1 之后,决定将该组件分解为更细粒度的组件(C11、C12 和 C13),其中每个组件提供可重用的功能,这些功能将用于实现 C1 的要求属性。设计人员详细设计了 C11、C12、C13 及其接口。此时,对设计人员来说,C11、C12 和 C13 是体系结构构造(或组件);其中每个构造具有显式定义的外部接口。对设计人员来说,C11、C12 和 C13 是软件组件 C1 的体系结构,并且这些构造需要进一步的改进和设计,以处理它们的内部实现。通过将大型、复杂的系统划分为小型的构成部分并集中于每个部分,可以递归地使用体系结构。 体系结构使用共同满足行为和质量目标的体系结构构建块将系统绑定在一起。参与者必须能够理解体系结构。因此必须为体系结构编写足够的文档说明,下一个部分将对此进行讨论。 回页首编写体系结构文档说明的重要性参与者:体系结构的下游设计和实现用户。为体系结构的定义、维护和增强功能进行投资的人。向参与者传达您正在构建的系统蓝图的关键是为系统体系结构编写文档说明。软件架构通过不同的视图进行表示——功能、 *** 作、决策等等。没有任何单一视图能够表示整个体系结构。并非所有视图都需要表示特定企业或问题领域的系统体系结构。架构师将确定足以表示所需软件架构范畴的视图集。通过编写不同视图的文档说明并捕获每个部分的开发,您可以向开发团队和业务及 IT 参与者传达有关该不断发展的系统的信息。软件架构具有一组其预期要满足的业务和工程目标。体系结构的文档说明可以向参与者传达这些目标将如何实现。 为体系结构的各个方面编写文档说明,有助于架构师弥补用白板描述解决方案(使用框线图方法)与以对下游设计和实现团队有意义的方式表示解决方案之间众所周知的差距。体系结构的框线图留下了大量有待解释的空间。需要揭示的细节通常隐藏并令人混淆地固守在那些框线背后。 文档说明还可以促进创建切合实际并且可以系统开发(例如遵循标准模板)的体系结构构件。作为一门学科,软件架构是非常成熟的。您可以利用最佳实践和指导原则来为每种视图创建标准模板,以表示体系结构的某个部分或范畴。模板可以为架构师提供有关需要实际产生什么结果的训练。并且模板还可以帮助架构师执行强化训练——超越框线图技术。模板以更具体的术语定义体系结构,因此可直接追溯到解决方案预期要满足的业务和 IT 目标。 由于复杂性,典型的系统开发活动可能要花 18 个月左右的时间。人员缩减在设计和开发团队是司空见惯的事情,从而导致疯狂寻找恰当的替换人员。新的团队成员通常阻碍进度,因为他们必须经历一个学习过程才能成为高效的参与者。具有良好文档说明构件的软件架构可以提供: 对新团队成员进行有关解决方案需求教育的完美平台。有关解决方案如何满足业务和工程目标的说明。特定于问题领域的各种解决方案体系结构视图。对个人将处理的视图的重点关注。请考虑一个名为“体系结构决策”的假想构件(后续部分还将对此进行讨论)。此构件确定要解决的问题,并评估备选机制以解决该问题。此构件对为什么选择某种备选机制而不选择其他机制提供了论证。所确定的问题涉及到访问大型机 IBM DB2�0�3 表的机制。对两种备选机制进行了评估:使用 IBM MQSeries�0�3,或者使用 NEON Shadow Direct 适配器(一种供应商适配器)。尽管 MQSeries 具备相关功能并且花费较少,但是后者要稳定得多,并且在制定决策时,后者具有一定的优势。现在设想原架构师在一年后离开了该项目,新的架构师粉墨登场。新的架构师质问该团队为什么不使用 IBM MQSeries 来访问大型机 DB2 表。该团队很快返回到体系结构决策构件,并指出了做出该选择的原因。由于 IBM MQSeries 已在过去一年中经测试证明与另一个解决方案不相上下,并且由于其价格较低,于是对该决策进行了重新审视并做出更改以反映更新后的解决方案。 这个示例说明了为什么对系统软件架构的各个方面编写文档说明,是教育新团队成员和在最少的停机情况下帮助他们入门所必需的。 回页首体系结构的不同视图您已经了解到可以通过不同的视图来表示体系结构,每种视图集中于该体系结构的特定方面或范畴。正如 Bass L 等人 所指出的,视图 是由系统参与者编写和读取的体系结构元素或构造以及它们之间关系的内聚集合。 体系结构的功能 视图描述各个体系结构构建块、构建块之间的关系,以及如何将它们分配到体系结构中的不同层。 *** 作 视图(也称为技术视图)描述各个基础结构和中间件软件组件,这些组件为将要部署的功能体系结构组件提供运行时平台。对应用程序架构师而言,功能视图具有第一位的重要性。对基础结构架构师而言, *** 作视图是要重点关注的视图。 这两种视图采用不同的方法解决相同的问题,两种视图都需要从概念体系结构推进到物理实现。视图用于强调特定的体系结构范畴,同时有意地抑制其他范畴。 自从20 世纪 90 年代以来,已经存在许多不同的视图集。Perry 和 Wolf 提出,关于构建具有多种视图的体系结构(包括软件架构),存在一些非常有趣的要点。发表软件架构的 4 + 1 视图的 Kruchten 认为存在五种视图,这些视图组合起来可以表示软件架构。下面将描述前四种视图。 视图描述逻辑视图处理静态设计模型流程视图处理设计的动态视图物理视图处理如何将软件组件映射到硬件基础设施开发视图表示软件组件在开发时环境中的静态组织 第五种视图更多的是一种 Litmus Test 视图。它采用一组在体系结构上非常重要的用例(业务场景),并说明如何将四种视图的每一种视图中的体系结构元素集与针对那些元素的体系结构约束和决策结合起来,用于实现那些用例。 由Soni 等人 在Applied Software Architecture 中发表的另一种视图由四种构成软件架构的主要视图组成:视图描述概念体系结构视图从主要设计元素及元素间的关系方面描述系统模块互连体系结构视图描述功能分解和如何在不同的层中安排软件模块执行体系结构视图描述系统的动态结构代码体系结构视图描述如何在开发环境中组织源代码、二进制文件和库 软件架构出版物中描述了许多其他视图,但是介绍所有这些视图超出了本文的范围。对软件架构的不同视图进行仔细分析后表明,不同的研究结果之间存在大量的相似性。我们拥有一个最常用于表示系统软件架构的最优视图集合。 下一个部分将提供一些构件的概述,建议将这些构件用作可在软件开发生命周期的体系结构阶段生成的体系结构文档的最小集。 回页首文档说明对象 可以对软件架构的许多不同视图或方面做文档说明。对于任何中大型软件开发项目,建议您至少为以下体系结构构件集编写文档说明:系统上下文系统上下文对表示为黑盒的整个系统如何与外部实体(系统和最终用户)交互做文档说明。它还定义系统与外部实体之间的信息和控制流。系统上下文用于对系统所在的 *** 作环境进行澄清、确认和编写文档说明。外部系统的性质、其接口以及信息和控制流对体系结构中的技术构件的下游规范有帮助。体系结构概述体系结构概述通过简单的图示表示形式说明体系结构中的主要概念元素和关系。您可以产生包括企业视图和 IT 系统视图的体系结构概述关系图。概述帮助表示组织所需要的业务和 IT 功能。功能体系结构从以下方面描述 IT 系统的结构:IT 系统的软件组件的职责、接口、静态关系和协作来交付组件所需功能的方式。此构件在各个细化阶段中迭代地进行开发。 *** 作体系结构 *** 作体系结构构件表示计算机系统的网络,这些系统支持解决方案的某些性能、可伸缩性和容错等需求。此构件还运行中间件、系统软件和应用程序软件组件。此构件在各个细化阶段中迭代地进行开发。体系结构决策体系结构决策构件提供了对所有在体系结构上相关的决策编写文档说明的单一位置。决策通常涉及到但不限于: 系统的结构。标识中间件组件以支持集成需求。将功能分配到每个体系结构组件(体系结构构建块)。将体系结构构建块分配到体系结构中的各个层。遵守标准。选择技术以实现特定的体系结构构建块或功能组件。 对任何视为在体系结构上与满足业务和工程目标相关的决策编写文档说明。文档说明通常包括: 问题的确定。各种解决方案的评估,包括优点和缺点。选定的解决方案,包括足够的论证和其他将对下游设计和实现有帮助的相关详细信息。 本系列的其余部分将讨论如何对软件架构中的这五个构件编写文档说明。 回页首结束语 软件架构已经存在 30 多年了。过去几十年已见证了软件工程方面的大量工作。软件架构师在设计满足企业的业务、工程和 IT 目标的解决方案中起着中流砥柱的作用。为软件架构编写文档说明是极其重要的。您可以使用文档说明,就某个正在发展的系统与参与者进行交流。文档说明对于使新的团队成员迅速投入工作也是非常有用的,因为新的团队成员可以在实现解决方案时使用体系结构透视图作为上下文和边界前提。 关于什么在性质上是体系结构,什么在性质上不是体系结构,以及应该对系统的哪些方面做文档说明,一直存在大量的混淆。体系结构模板定义并标准化每种类型的构件中的内容,支持采用一致的方法来对软件架构编写文档说明。 在本文中,您了解了作为一门学科的软件架构,并了解了对体系结构的基本元素编写文档说明的重要性。您还阅读了建议作为文档说明最小集的体系结构构件的概述。请继续关注本系列的其他文章,它们将详述如何使用一组指导原则,以及如何对每个构件编写文档说明。参考资料 学习您可以参阅本文在 developerWorks 全球网站上的 英文原文。阅读已发布的软件架构定义的纲要。D Perry 和 A Wolf 撰写的“Foundations for the Study of Software Architecture”是关于软件架构的经典文章。阅读P Kruchten 撰写的“Architectural Blueprints - The "4+1" View Model of Software Architecture”。Applied Software Architecture 提供了用于产生高质量软件设计的实用指导原则和技术。在developerWorks 的 Architecture 架构专区中,获取用以提高您在体系结构方面的技能的各种资源。浏览技术书店,以了解有关这些技术主题及其他技术主题的相关书籍。讨论参与论坛讨论。访问developerWorks Blog,从而加入到 developerWorks 社区中来。关于作者Tilak Mitra 是 IBM 的一名高级认证执行 IT 架构师。他擅长 SOA,在 SOA 的业务策略和方向方面为 IBM 提供帮助。他还是一位 SOA 主题专家,帮助客户进行基于 SOA 的业务转换,并重点关注复杂和大型的企业架构。他目前的工作重点是围绕组合业务服务(Composite Business Services,CBS)构建可重用的资产,这些资产能够在多种平台上运行,例如 IBM、SAP 等的 SOA 堆栈。他生活在阳光明媚的南佛罗里达,闲暇时,他非常喜欢参加板球和乒乓球活动。Tilak 在印度加尔各答的 Presidency 学院获得了物理学学士学位,并且已经在班加罗尔的印度科学学院获得了电子工程学学士和硕士学位。访问 Tilak 的 blog,了解关于 SOA 的更多信息。您可以在 LinkedIn 上查看 Tilak Mitra 的个人简介。 关闭[x]关于报告滥用的帮助报告滥用谢谢! 此内容已经标识给管理员注意。关闭[x]关于报告滥用的帮助报告滥用报告滥用提交失败。 请稍后重试。关闭[x]developerWorks:登录IBM ID:需要一个 IBM ID?忘记IBM ID?密码:忘记密码?更改您的密码 保持登录。单击提交则表示您同意developerWorks 的条款和条件。 使用条款 当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。所有提交的信息确保安全。关闭[x]请选择您的昵称:当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。昵称:(长度在 3 至 31 个字符之间)单击提交则表示您同意developerWorks 的条款和条件。 使用条款 所有提交的信息确保安全。为本文评分评论回页首

项目管理系统,就是项目的管理者应用专门管理项目的系统软件,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。它从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。

按照传统的做法,当企业设定了一个项目后,参与这个项目的至少会有好几个部门,包括财务部门、市场部门、行政部门等等,而不同部门在运作项目过程中不可避免地会产生摩擦,须进行协调,而这些无疑会增加项目的成本,影响项目实施的效率。

而项目管理的做法则不同。不同职能部门的成员因为某一个项目而组成团队,项目经理则是项目团队的领导者,他们所肩负的责任就是领导他的团队准时、优质地完成全部工作,在不超出预算的情况下实现项目目标。项目的管理者不仅仅是项目执行者,他参与项目的需求确定、项目选择、计划直至收尾的全过程,并在时间、成本、质量、风险、合同、采购、人力资源等各个方面对项目进行全方位的管理,因此项目管理可以帮助企业处理需要跨领域解决的复杂问题,并实现更高的运营效率。

项目管理系统的应用从80年代仅限于建筑、国防、航天等行业迅速发展到今天的计算机、电子通讯、金融业甚至政府机关等众多领域。目前国内,对项目管理认识正逐渐深入,但要求项目管理人员拥有相应资格认证的还主要为大的跨国公司、IT公司等与国际接轨的企业。

项目管理系统是基于现代管理学基础之上的一种新兴的管理学科,它把企业管理中的财务控制、人才资源管理、风险控制、质量管理、信息技术管理(沟通管理)、采购管理等有效的进行整合,以达到高效、高质、低成本的完成企业内部各项工作或项目的目的。

随着IT行业的发展,IT行业内的项目拓展和投资比比皆是。为了提高项目管理水平,赢得市场竞争,特别是在加入WTO后在国内、国际市场上拥有与国际接轨的项目管理人才,越来越多的业界人士正通过不同的方式参加项目管理培训并力争获得世界上最权威的职业项目经理(PMP)资格认证。

随着互联网的不断发展,我们在进行服务器开发组织架构上通常会采用分布式架构方法来进行设计。今天,我们就一起来了解一下,微服务架构都有哪些特点。

InfoQ:你近的QConSanFrancisco提出的一个关键前提是,组织如果要从单体大型应用转变为基于微服务的体系结构就得要打破它们的庞大的整体流程。你能再进一步解释一下吗

RafaelSchloming:对于转变为微服务本身,人们实际上并不怎么关心,他们真正关心的是提升特性的完成速度。为了提升特征的完成速度就必需做出改变,而微服务只是这种改变所产生的一个附属物罢了。

对于组织来说非常常见的一种情况是,当他们发展到一个临界点,增加再多的人也不会提升特性的完成速度。当这种情况发生时,通常是因为组织用于产出特性的结构和/或过程成为了瓶颈,而不是人员的数量。

当一个组织遇到这种障碍,开始调查为什么这些特性似乎花费的时间远远超出了合理的资源,答案往往是,每个特性都需要太多不同团队的协调。

这会发生在两个不同的维度上。你的人员可以按职能划分为团队:产品与开发、质保与运维。你的人员也可以按组件划分:例如,前端与领域模型、搜索索引和消息通知。当单个特性需要跨多个不同的团队进行协调时,交付特性的控制因素是不同团队之间的沟通速度和效率。像这样组织结构的组织实际上是被一个庞大的整体过程所阻碍的,这个过程要求每个特性(在某种程度上)要有许多许多的组织来理解它。

InfoQ:那么如何解决这个问题呢

Schloming:为了把很多人用在一个问题上,你需要把他们分成团队,因为人们不能在非常大的群体中有效地沟通。你这么做的时候,其实就是在做出一系列的权衡。你所营造的是每支团队内部具有高保真的沟通和协调,而团队之间是低保真和相对较差的协调。

为改进一个组织内的特性完成速度,您可以将你的人组织成独立的、跨职能的、自给自足的特性团队,可以从头到尾自主掌控一个完整的特性。这将以两种方式提高特性的完成速度。先,由于不同的职能(产品、开发、质保和运维)都圈定于一个特性内,你就可以自定义该特性区域的流程了,例如,IT培训分享对于一个没有人正在使用的新特性,你的流程就不需要优先考虑其稳定性了。其次,由于该特性所需的所有组件都由同一个团队拥有,因此,要想赶紧推出一个特性,就可以进行更快速有效的沟通和协调。

IT项目管理:问题、体系、方法

摘要:无论是在国内还是国外,项目管理的学科、技术和应用的普及与发展已经进入了一个飞速发展的时代,信息技术(Information Technology,简称IT)的发展又将IT项目管理推向了全新的应用高度。本文分析了IT项目管理技术及其应用与发展的关键问题,提出了基于系统集成理念构建的IT项目管理的体系结构和技术框架,肯定了IT项目管理的总体指导思想和实施策略是“需求牵引、效益驱动、总体规划、分步实施”。

关键词:信息技术 项目管理 体系结构

引言

人类进入21世纪,信息化成为我国全面构建和谐社会、快速发展国民经济的着眼点。党的十五届五中全会就明确指出:“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。以信息化带动工业化,发挥后发优势,实现社会生产力的跨越式发展。”党的十六大再次明确:“信息化是我国加快实现工业化和现代化的必然选择。坚持以信息化带动工业化,以工业化促进信息化,走出一条科技含量高、经济效益好、资源消耗低、环境污染少、人力资源优势得到充分发挥的新型工业化路子。”目前全国上下各行各业、各个领域、各个层面的信息化建设正在如火如荼地进行着。

信息化项目的开展是以信息技术为支撑,以业务活动为主体,以现代化管理为指导思想的一项全新的、复杂的系统化工程。全新在于信息技术这一新生事物的飞速变化与发展,复杂在于信息技术、业务工作、项目管理思想的一体化融合与集成化应用,这正是IT项目管理问世的缘由。信息化建设的成功经验告诉我们,结合信息化应用特点,采用项目管理技术而开发的专用方法对IT项目在计划落实、质量跟踪、成本管理和风险控制等方面进行管理,是保证IT项目达到预期目标的有效手段。

本文在项目管理知识体系的基础上,介绍了IT项目管理的特殊性,回顾了学术界和工业界在不同方向上为解决这些问题所做的努力、获得的成果。在系统集成理念的指导下,探讨IT项目管理的体系结构和模型驱动的集成技术与方法。

1 IT项目管理的特殊性

信息技术发展快、渗透广等特点,使得IT项目与一般工程项目存在着明显的差别,这种差异性造成了基于工程项目管理理论与经验基础上发展起来的项目管理知识体系在处理IT项目时面临诸多的难题。

第一,IT项目的需求来源广泛,涉及国民经济的各个领域,几乎所有领域都能够和信息技术相结合而构成信息化项目。信息技术可以支持多种业务需求的发展:

(1)市场要求,如商业银行提供网上支付业务,以支持越来越频繁的电子商务活动。

(2)环境需求,如企业为了应对各国越来越严格的环境标准中对产品回收再利用的要求,启动一个构建产品全生命周期管理系统的项目。

(3)经营需要,如一个传统的大型商业企业开展网上销售业务,以扩大其销售收入。

(4)技术发展,如飞机制造企业为了提高设计水平而开展虚拟制造系统的项目。

(5)用户要求,如快递公司要构建一个物流管理系统,以满足顾客对跟踪其委托的快递物件过程状态的查询需求。

(6)法律需求,如一个城市为了减少合同犯罪的数量,而启动企业印鉴信息系统;为了杜绝文凭的泛滥而建立文凭查询信息系统。

正是由于信息化项目涉及到了几乎所有的经济领域,因此很难形成有针对性的规范和标准,这无疑增加了项目管理的难度。

第二,与一般工程项目所涉及的领域经过了长时期的发展、技术相对成熟不同,IT领域是目前发展最快、最活跃的领域,新的技术层出不穷,技术更新也非常迅速,因此IT项目开展过程中会具有更多的风险因素。有统计表明,每18个月,CPU的速度就会翻一番,与之关联的计算机体系结构、软件架构等也发展非常迅速。例如早期的集成信息系统采用大型主机带终端的结构,随着网络技术和分布式计算技术的发展,出现了Client/Server结构的信息系统,而目前流行的架构则是在互联网上基于Browser/Server结构的信息系统,C、C++、Java等各种开发工具更是一代代迅速更迭,各类 *** 作系统、协议、标准等都是IT项目必须面对的,这些都会增加项目过程中的风险。

为了处理好技术发展迅速所带来的问题,IT项目团队必须在先进性、实用性、经济性、成熟性等诸多方面进行权衡,片面追求技术的先进性往往会事与愿违。在保证项目所采取的技术具有相当的前瞻性、先进性和可扩展性、可集成性的同时,从需求出发,注意技术的可靠性、成熟性和经济性。

第三,信息技术的应用主体在管理领域,管理信息系统包含了特定的管理理念,将这些管理理念同企业的发展战略与业务逻辑进行整合是信息系统实施的关键任务。IT项目的阻力75%以上是来自人和管理的因素,因此,IT项目特别强调技术、管理与人的集成。如何处理好信息系统所涉及的人的问题是成功管理IT项目的关键。

从更深层的角度而言,经典项目管理理论是构建在土建工程项目的研究和实践基础上的,基本的项目管理方法并不能解决IT项目的特殊问题,例如:

(1)如何衡量项目进度的问题,土建工程使用完成土石方的量来标识工程进度,但是完成软件90%的代码编写工作并不意味着还有10%的时间就可以完成软件开发项目了。业界普遍认为在工程项目中广泛使用的挣值法在IT项目中缺乏适应性。

(2)在计划的调整方法上,土建工程在计划拖期时,可以通过增加资源的方式来加快进度,但是对于一个软件开发项目,如果出现同样的问题,寄希望于增加编程人员的数量来追赶工期,只能造成更大的麻烦。

另外,除了信息技术之外,IT项目还涉及信息系统应用单位的组织、管理的调整与经营过程/业务流程的重构,单靠信息技术是无能为力的。因此,要成功管理IT项目,要成为IT项目的合格从业人员,需要一套全面的IT项目的知识体系与方法的支撑,它的内容将覆盖项目管理、信息技术、现代管理技术、系统集成技术、软件工程技术等多学科领域,这正是IT项目管理技术研究和实践的目标与方向。

2 IT项目管理技术的发展脉络

目前在信息化领域的不同方向,许多学者开发了针对不同方面的项目管理方法,其中比较有代表性的是软件项目管理和广义的IT项目管理。

软件项目管理是软件工程和项目管理的有效结合,将项目管理中重视过程、重视计划控制的观点引入软件工程领域,目的是控制软件开发项目的成本、进度、质量、风险等问题。近几年IT领域进一步引进全面质量管理理念,认为软件开发企业自身质量控制体系和控制能力的优劣,将会极大地影响软件产品的质量,这就要求软件企业从修炼内功入手,也就是确认质量是控制出来的而不是检测出来的,从根本上保证软件产品的质量,由此提出了软件过程改进和软件能力成熟度模型(CMM)的概念。CMM基于经典的产品质量原理,建立了定量控制软件过程的项目管理和项目工程的基本原则,与此同时,CMM有关能力成熟度的 *** 作方法也被引入经典项目管理领域,用以测评承担项目的组织的项目管理能力。

广义IT项目管理是目前业界讨论比较多的,也出了不少这方面的专著,其基本思路是将IT项目当做一般工程项目,使用PMBOK的方法体系,结合一些信息技术项目的案例,研究如何在信息技术项目中应用项目管理方法。

广义IT项目管理是将所有与IT有关的项目不加区分地通盘考虑,包括IT产品开发项目的管理和IT应用项目的管理。实际上广义IT项目可以细分出多个类别,各个类别之间的差距是非常巨大的。计算机硬件开发项目与一般家用电器产品的开发设计具有非常高的相似度,而软件设计开发则完全不同,信息技术应用项目与上述两个分支领域更是存在巨大的差异,因此广义的IT项目管理实际上是在经典项目管理知识体系的基础上,尝试解决IT项目的具体问题。目前来看这种处理方式比软件项目管理体系的针对性差很多,对其进行细分研究具有非常重要的意义。为了提高IT项目管理的针对性,提高解决方案的系统性,学术界和企业界在企业信息化、数字化城市与电子政务、数字化军工、供应链与物流、电子商务等不同领域分别开展了体系结构、实施指南、参考模型等的研究和实践,取得了一定的成果。

3 IT项目管理的体系结构与方法论

系统参考体系结构是“一组用以描述所研究系统的不同方面和不同开发阶段的、结构化的、多层次多视图的模型和方法的集合,体现了对系统的整体描述和认识,为对系统的理解、设计、开发和构建提供工具和方法论的指导”。

系统参考体系结构为IT项目的管理提供了体系参考和方法论,经过各国专家的努力,已经形成了一批相当有代表性和广泛影响力的体系结构及其建模方法,并进行了大量的工业实践,如CIM开放系统体系结构(CIM-OSA)、GRAI集成方法论(GIM)、IMPACS、普度参考体系结构(PERA)、集成的信息系统体系结构(ARIS)、通用企业参考体系结构与方法论(GERAM),以及在我国提出的阶梯形CIM系统参考体系结构(SLA)等。

在信息化项目管理过程中,系统的认识和构建是阶梯上升的,在概念定义阶段需要明确企业的战略目标,并据此形成集成系统的目标,然后围绕系统目标,从组织、资源、信息、产品、功能和经营过程等角度描述企业的现状,形成对企业基本框架和运行机制的完整描述。在这些描述的约束下,采用合适的模型分析手段进行分析,找出现有系统中的问题进行改进,然后构建目标系统,形成多视图的目标系统的描述。在形成目标系统描述时,除了使用各个视图的描述方法外,还可以应用其他建模方法,以便提供对系统更为完整的描述。完成基于模型的设计后,就是在构建工具集的帮助下,将设计转化为实际系统构建的技术说明,并构建实际系统。系统描述对于系统的运行仍然能够发挥作用,可以作为实际系统运行的参考,并据此进行系统的优化与调整。

一方面由于信息化项目的多专业性,为了解决沟通和分析设计的问题,需要借助建模的手段实现对被处理对象系统的描述;另一方面由于信息化处理对象的复杂性,依据“化繁为简、分而治之”的原则,使用多层次多视图的模型来描述目标系统。视图的划分包括反映结构信息的信息视图、资源视图、组织视图、产品视图,反映系统时间和逻辑特征的过程视图,结合反映系统功能结构和功能关系的功能视图,以及反映企业经济性和目的性的经济视图。静态结构反映了系统的存在,行为结构给出了系统的属性和运行方式,而评价结构则将系统和它的目的性关联在一起。透过多视图,为IDEF、ARIS等其他建模方法和工具的集成,对于制造企业原模型和企业本体的开发提供了技术框架。利用模型技术解决IT项目的交流、设计、技术转移、系统构建乃至运行维护的问题是目前学术界和业界的普遍看法,模型驱动的体系结构是目前的一个研究和实践的热点。

4 结论

随着信息技术的发展和应用范围的不断扩大,IT项目管理越来越具有普遍性。分析IT项目的内在特征和特有问题,在项目管理知识体系的架构下,有针对性地开发适应性的理念和方法,将是IT项目管理领域的发展方向。

需要强调的是,信息技术本身的发展并不是IT项目的目的,满足应用对象的需求和战略目标才是其出发点,因此需要切实做好项目的需求分析,一切从业务工作的实际需求出发,在集成理念的指导下,充分考虑整个系统的集成要求,并在此基础上选择相关的成熟技术、应用系统和产品,同时做好项目的技术经济分析,才能保证信息化项目发挥实效。国家863计划CIMS主题专家组在大量信息化工程实践的基础上提出的“需求牵引、效益驱动、总体规划、分步实施”的策略是IT信息化项目管理的总体指导思想。

以Word2016为例:

1、首先在打开的Word文档中点击工具栏中的“插入”选项。

2、在打开的插入选项卡中选择“smartart”选项。

3、打开选择smartart图形的窗口后,点击“层次结构”选项并在其中选择一种模板。

4、选择后即可将组织结构图的模板插入到Word页面中了。

以上就是关于编写软件架构文档说明,第 1 部分: 什么是软件架构,为什么为软件架构编写文档说明非常重要全部的内容,包括:编写软件架构文档说明,第 1 部分: 什么是软件架构,为什么为软件架构编写文档说明非常重要、IT 项目管理 系统 描述、IT培训分享关于微服务架构特点分析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8869176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存