工件生命周期演变
什么是工件?
不,我们说的不是古代文物。我们讨论的工件与软件开发有关。
无论您是新手还是经验丰富的开发者,您都会遇到软件工件。它们是任何软件的关键组成部分,从简单的网页到更复杂的应用程序。
如果工件没有正确生成和保存,软件开发过程将比必要的困难得多。
继续阅读以了解您需要了解的有关软件工件的所有信息以及您未来需要了解的内容。
工件
简单来说,工件是软件开发的副产品。它是为了生成软件而创建的任何东西。这可能包括从数据模型到示意图到安装脚本等等。
在软件开发中,“工件”是一个相当宽泛的术语。大多数软件都需要大量工件才能运行。有些工件描述软件的预期运行方式,而另一些则使软件能够运行。
什么是工件?为什么这样称呼它?
考虑一个考古学的挖掘地点。在考古调查中发现的任何人为物品都被称为工件。这些工件帮助我们确定文明的形态,并构建其文化的图景。
同样,所有数字对象都是人工劳动的结果。它们帮助其他程序员理解创建软件的心理过程。因此,开发人员能够更好地做出决策,并更好地了解如何继续。
工件创建过程
在编写任何代码之前,软件开发团队通常会为软件创建一个所需工件列表。这些例子包括风险评估、源代码、插图和用例。这在项目的调研阶段完成。
在没有任何这些元素的情况下开发软件,就像在没有蓝图的情况下建造房屋一样。这个过程将是一团糟,关键组件总是会被忽略。因此,收集所有工件是软件开发生命周期中最重要的方面之一。
在所有基本工件都汇编完毕后,开发团队就可以开始编写和开发实际的软件了。由此操作可能会创建额外的工件。这可能是从新的绘图到用例的任何内容,并且可能在任何时候发生。
为了完全正确,某些工件(例如最终用户协议)可能需要在程序完成后生成。在软件编译并发送出去供使用之前,可以将其放入。
软件的工件
在任何特定软件的许多不同位置都可以找到工件。以下是一些最常见工件的示例。
案例研究
用例是对用户如何使用程序、网站或软件来完成任务的解释。这些是重要的工件,因为它们与网站的目的密切相关。
统一建模语言 (UML)
UML 是一种可视化和图表化软件行为的方法。它有助于绘制出链接、流程和其他内容。
与用例一样,UML 不会直接帮助软件运行,但它是软件设计和开发中的一个重要步骤。
类图
类图与 UML 一样,是一个显示软件或应用程序结构的图表。类图用于可视化地绘制点击之间发生的链接和流程。
图像
工件是用于帮助开发软件的任何图像。这些可能是示例照片或早期设计图像,用于帮助产品的创建。可以使用简单的绘图和图表来帮助绘制程序。
与软件相关的文档
软件文档构成了大部分工件。工件是解释软件的功能或特性的文档。这些可能与产品的架构、技术方面、最终用户流程和营销相关。
这些对象中的大部分永远不会进入用户的脑海。它们面向程序员和任何可能从大规模商业角度对软件感兴趣的其他人。其中大部分对普通用户来说是技术性的且无趣的。
原始源代码
用于编写软件的语言称为源代码。问题不在于物理代码本身;而是使代码运行的系统。根据软件工程师的说法,这也是一个工件。
会议记录
在软件设计的领域中,甚至会议记录也是工件。这可能是完整的会议记录,也可能是简单的笔记。这些对话可能导致关键的设计决策和元素,因此请确保在您的存储库中跟踪它们。
风险评估
风险评估检查软件的潜在危险和缺点。它指导开发人员不应该做什么,并突出开发人员必须克服的问题。在某种程度上,这些是开发人员需要考虑的最重要的工件。
原型
您的程序的原型是一个工件。这些可能是完全可运行的软件,也可能是程序某些区域的抢先看。无论如何,它们都可以帮助开发人员更好地了解已经完成和尝试了什么,以及下一步该去哪里。
已编译的应用程序
在程序完全创建后,它将被编译成一个有用的应用程序。这是最后一个工件,也是普通用户会注意到的少数几个工件之一。用户将能够在其 PC 上安装已构建的程序并按预期使用它。
在工件存储库中,可能有很多这样的工件。各种版本可能存在,从早期原型到实验性版本,再到最终编译。
工件的重要性是什么?
在任何软件的创建过程中以及之后,工件都至关重要。
如果您没有所有工件,随着时间的推移,构建软件可能会困难得多。如果开发从一个人转移到另一个人,尤其如此。当新的开发人员被分配到项目时,他们首先要做的事情之一就是查看工件,以便更好地了解产品的工作原理。
如果缺少工件,开发人员就会陷入困境。这就是为什么大多数工件都存储在存储库中的原因。这允许相关开发人员随时从单个位置访问工件。
什么是工件存储库?它是如何工作的?
工件存储库是存储软件开发所需所有重要工件的地方。为了开发人员的方便,它通常托管在本地服务器或云端。
所有软件开发项目都需要使用工件存储库。它通过在一个位置为开发人员提供他们需要的所有材料来简化一个复杂的过程。它减少了搜索时间,并允许开发人员轻松移动、添加和删除工件。
在软件开发中,有三种类型的工件存储库:
**远程存储库** - 托管在不同的 URL 上,有时由第三方公司托管。无法向远程存储库添加新的工件,但可以删除它们。
**本地存储库** - 本地存储库是保存在内部专用服务器上的存储库。
**虚拟存储库** - 以上两种选项的混合体。可以使用单个 URL 访问此存储库,从而可以访问本地和远程工件文件。这使得轻松添加和删除每个存储库中的工件变得简单。
对于开发人员来说,工件存储库软件执行一些关键角色。其中之一是版本控制支持。该程序将跟踪每个工件的创建日期,并为每个版本分配一个版本号。
存储库软件还可以帮助保存重要的工件并删除已过时的工件。当项目的新的版本上传到存储库时,就会发生这种情况。
当然,隐私和授权是成功构件库最关键的方面。程序会将所有这些构件保密,访问需要密码。
各种类型的构件
软件构件可以分为三类。例如代码相关的构件、项目管理构件和文档。让我们仔细看看每一个。
代码构件
每个编程过程都会创建构件,每个程序都由代码组成。其中一些是:
测试套件 - 一组编码测试,用于针对软件运行,以确保某个过程正在运行。
安装脚本 - 这些脚本使软件能够在特定计算机上执行。
编译代码 - 这是用户看到的最终编译代码。
在整个测试过程中收集的日志和信息被称为测试输出。
代码构件是编码过程必要的且不可避免的副产品。它们使开发人员能够在向公众发布程序之前测试其程序的内外部,从而使他们能够改进最终用户的体验。
文档
我们已经讨论了几种不同类型的文档对象。本质上,任何与相关程序相关的文档都是相关的构件。这包括以下内容:
图表 - 我们之前讨论过类图。图表是查看程序内部活动的好工具。这些将在编码过程中的各个阶段开发,尤其是在早期阶段。
最终用户协议 - 任何供用户阅读的文档都是最终用户协议。这包括服务条款等文档,以及任何其他有助于用户理解应用程序的内容。
内部文档 - 任何有助于程序员、开发人员和错误修复人员改进和理解软件的文档。这也包括演练,即关于如何使用程序的针对测试人员、质量保证人员和其他人员的说明。
文档类别包含程序构件的很大一部分。这些是在开发过程的每个阶段创建的,从开始到结束。研究投入的软件越多,文档构件就越多。
无论文档看起来多么简短或初步,跟踪它都至关重要。
项目管理构件
在项目管理阶段,会创建这些构件。它们可能出现在标准软件测试或错误检查之后。这些构件与程序的预期行为以及客户期望的内容有关。
它们如下:
用例/用户故事 - 这些构件以技术术语指定软件应该执行的操作。它们解释了程序的目标以及如何实现这些目标。
验收标准 - 这些构件规定了程序/最小项目的验收标准。通常,它们由客户或项目经理提供。这为工程师提供了具体的奋斗目标。
开发团队可以通过项目管理构件了解他们是否按计划进行,并了解如何实现目标。对于所有开发团队成员(新成员和老成员)来说,这些都是至关重要的信息。
构件的生命周期演变
初始阶段 - 此阶段主要关注关键需求,其次是初始部署视角。此阶段的首要目标是在所有利益相关者之间就项目的生命周期目标达成一致。它还侧重于预测可能的风险,以及整个项目的成本和时间表。
阐述阶段 - 在此阶段,需求更加详细,设计集更加多样化,并且更加关注实施和部署的困难。阐述阶段的活动必须能够确保和验证体系结构、需求和计划足够稳定,风险得到充分缓解,并且可以预测建立和开发的成本和时间表。
构建阶段 - 此阶段的主要目标是设计和执行。在此阶段,新生成的软件将根据需要集成和注入。此阶段的主要目的和目标是通过优化资源和最大限度地减少不必要的浪费来最大限度地减少或降低开发成本,快速实现高质量,并尽可能多地生成可用版本。
转换阶段 - 此步骤的主要目的是确保部署集与其他集相比一致且全面。此阶段必须包含诸如测试新系统、测试和与它所取代的旧系统相当或相关的并行操作等活动。