MainPage/Rusian Language/ПРОЦЕСС ПРОГРАММНОЙ ИНЖЕНЕРИИ
А.С. Бондаренко, магистрант П.К. Ярыгин, магистрант Национальный исследовательский ядерный университет «МИФИ» (НИЯУ МИФИ) (Россия, г. Москва)
Аннотация. В статье описывается процесс программной инженерии по созданию сложных программ. Выделены основные разновидности и описаны основные этапы его реализации инженерными и экономическими отделами. Выделяются ключевые факторы для успешной реализации проекта по созданию сложных программных комплексов компании разработчику и роль экономического сопровождение процесса с целью сокращения расходов при сохранении высокого качества исходного продукта.
注解。 本文描述了创建复杂程序的软件工程过程。 确定了主要品种,并描述了工程和经济部门实施的主要阶段。 强调了成功实施为公司开发人员创建复杂软件系统的项目的关键因素,以及该过程的经济支持的作用,以降低成本,同时保持原始产品的高质量。
Ключевые слова: программа, инженер, процесс, оценка, уровень.
**Программная инженерия** или **промышленное программирование** – это разработка сложного программного обеспечения.определение «После первого программного кризиса произошедшего в 60-х – 70-х годах двадцатого века. Кризис заключался в том, что стоимость программ стала сопоставима со стоимостью оборудования (железа). Термин программная инженерия впервые прозвучал в октябре 1968 года на технической конференции НАТО в городе Гермиш, Германия» 1. Программная инженерия подразделяется на процессы. «Процессы в программной инженерии (Processes in software engineering) подразделяются на два уровня. К первому уровню относится техническая и управленческая деятельность. На втором или «метауровне» занимаются оценкой, определением, реализацией, совершенствованием программного обеспечения» 2.
软件工程或工业编程是复杂软件的开发。 “二十世纪 60 至 70 年代发生第一次软件危机之后。 危机在于程序的成本变得与设备(硬件)的成本相当。 软件工程一词于 1968 年 10 月在德国格尔米施举行的北约技术会议上首次使用”1。 软件工程分为多个过程。 “软件工程的过程分为两个层次。 第一层次包括技术和管理活动。 在第二层或“元级别”,他们参与软件的评估、定义、实施和改进”2。
Процессы программной инженерии подразделяются на множество разновидностей по роду своей деятельности.классификация Но прежде чем приступить к разработке сложного программного комплекса – (ПК), определяется экономическая и техническая целесообразность данного проекта. «В 1970 году Винстоном Ройсом была предложена “водопадная модель”. Компании разработчики начали внедрять различные модели пошаговой разработки программного обеспечения – (ПО). Были внедрены такие процессы как разработка требований к системе и ПО, которые заключаются в анализе и кодировании. Было введено ограничение по возврату на процессы назад на доработку ПО. Водопадной моделью допускается возврат только на один процесс назад. Система состоит из последующих друг за другом этапов: разработка системных требований; разработка требований к ПО; анализ; проектирование; кодирование; тестирование; исправление. Также было внедрено прототипирование при котором разработка ПО делалась дважды для снижения рисков ошибок. Прототип выявлял основные риски и позволял принять основные решения в архитектуре ПО» 3.
软件工程过程根据其活动的性质分为许多种类。 但在我们开始开发复杂的软件包(PC)之前,需要确定该项目的经济和技术可行性。 1970年,温斯顿·罗伊斯提出了“瀑布模型”。 开发公司开始引入各种逐步软件开发(软件)的模式。 介绍了开发系统和软件需求的过程,其中包括分析和编码。 对返回流程以改进软件引入了限制。 瀑布模型允许您仅返回一个过程。 该系统由连续的阶段组成:系统需求的开发; 开发软件需求; 分析; 设计; 编码; 测试; 更正。 还引入了原型设计,其中软件开发进行两次以减少错误风险。 该原型确定了主要风险,并使在软件架构中做出基本决策成为可能”3。
Виды процесса: 流程类型:
**«Проектирование** – согласование замыслов заказчика с разработчиком. Определение и согласование того что потребуется создать в новом ПК или модернизировать в имеющемся. Подготовка технологической базы. Разработка системного проекта. Составление технического задания. Подписание контракта по разработке ПК» 4.
“设计是客户计划与开发商的协调。 确定并商定需要在新 PC 中创建哪些内容或在现有 PC 中升级哪些内容。 技术基础准备。 系统项目的开发。 制定技术规范。 签订PC开发合同”4。
1) Реализация и изменение процесса. Данный этап состоит из четырёх подразделов: **инфраструктура процесса**; **управление программным процессом**; **реализация** и **изменение процесса**; **практические соображения**. В данном процессе рассматриваются модели ПК, соображения по их реализации и изменениям. К примеру, инспекции в проекте. Подраздел инфраструктура процесса основан на стандарте «ГОСТ» 5. То есть данный раздел занимается оптимизацией процессов проекта по разработке ПК и изменениями в нём.
实施和流程变更。 该阶段由四个小部分组成:流程基础设施; 软件过程管理; 流程实施和变更; 实际考虑。 此过程检查 PC 模型及其实施和修改的注意事项。 例如,项目中的检查。 流程基础设施小节基于 GOST 标准 5。 即本节涉及PC开发项目流程的优化及其变化。
2) Определение процесса. Точно поставленные цели и задачи в определении циклов процессов, основанные на прикладной или зрелой части ПК улучшает качество работы инженеров из различных отделов. Этап – определение процесса разбит на тять подразделов: модели жизненного цикла ПО. В жизненном цикле на высоком уровне определяются стадии разработки. В этом подразделе не углубляются в детали, рассматриваются только ключевые части проекта. За основу модели жизненного цикла взята водопадная модель. Этап – процессы жизненного цикла программного обеспечения. На этом этапе производится детальное определение процессов. Процесс жизненного цикла ПО выполняется по «ГОСТ-у» 6. Этап – нотации определения процесса. Делаются замечания по структуре программы, по потокам данных и различным блокам. Этап – адаптация процесса. Все процессы стандартизированы, но на адаптационном этапе вносятся изменения в процессы в зависимости от размера и требований конкретного проекта. По внесению изменений также есть рекомендации в стандарте «ГОСТ» 7. Этап – автоматизация. На этапе автоматизации осуществляется содействие проделанной работе или выдаются инструкции по осуществлению проекта в виде методов RUP, EUP, XP и MSF.
过程的定义。 根据 PC 的应用或成熟部分定义流程周期时精确定义的目的和目标可提高各部门工程师的工作质量。 阶段-过程定义分为五个小节: 软件生命周期模型。 生命周期在高层次上定义了开发阶段。 本小节不详细讨论,仅讨论项目的关键部分。 生命周期模型基于瀑布模型。 阶段——软件生命周期过程。 在此阶段,将进行流程的详细定义。 软件生命周期过程按照GOST 6 进行。 阶段——流程定义符号。 对程序结构、数据流和各个块进行了注释。 阶段——过程适应。 所有流程都是标准化的,但在适应阶段,根据特定项目的规模和要求对流程进行更改。 还有对 GOST 标准进行更改的建议 7。 阶段——自动化。 自动化阶段以 RUP、EUP、XP 和 MSF 方法的形式促进工作的完成或为项目的实施提供指导。
3) Оценка процесса. Процедура оценка процесса осуществляется по процедурам оценки, к примеру, таким как: Appraisal, CMMI. Процесс оценки состоит из двух этапов: **модель оценки процесса** и **методов оценки процесса**. На этап модели оценки определяется, что заслуживает наибольшей оценки. То есть программная часть разработки или управление персоналом. Используются различные подходы к оценке по таким моделям как: ISO, CMM-SW, Bootstrap. Одни определяют общее качество разработки, другие только документацию проекта, но оценка, так или иначе, осуществляется по «ГОСТ стандарту оценки» 7. На этапе методы оценки процесса определяется зрелость процесса. Применяются такие же методики оценки, как и при модели оценки, только оценивается качество работы компании и подрядчиков.
过程评估。 过程评估程序按照评估程序进行,例如:Appraisal、CMMI。 评价过程由过程评价模型和过程评价方法两个阶段组成。 评分模型阶段决定什么最有价值。 也就是开发或者人员管理的软件部分。 使用 ISO、CMM-SW、Bootstrap 等模型进行各种评估。 有些决定开发的整体质量,有些则仅决定项目文件,但评估无论如何都是根据“GOST评估标准”7进行的。 在过程评估方法阶段,确定过程的成熟度。 采用与评估模型相同的评估方法,仅评估公司和承包商的工作质量。
4) Измерения процессов и продуктов. Из-за сложности количественной оценки в программной инженерии, таких процессов как методы анализа, моделирования, может быть определено после точно установления соотношения между самим продуктом и процессом работы над ним. Точный результат соотношения между процессами и готовым продуктом определяется по стандарту «ISO 15939» 8. Данный процесс состоит из пяти этапов:
过程和产品测量。 由于软件工程中定量评估的困难,分析方法、建模等过程需要在准确建立产品本身与其工作过程之间的关系后才能确定。 过程和成品之间关系的确切结果是根据 ISO 15939 标准确定的 8。 这个过程由五个阶段组成:
1) Измерения в отношении процессов. Осуществляется сбор информации о процессе с целью определения слабых и сильных частей процесса. Также для оценки внесённых изменений и после реализации процесса. Некоторые виды инспекций могут сократить затраты на тестирование, но могут увеличить затрачиваемое время на разработку. Для избежания усложнений в разработке ПК в процессе измерения необходимо применять множество метрических показателей по оценке процесса. К примеру, оценки производятся по показателю – количество сбоев на 1000 строк кода, также и на функциональную точку и т. д.
过程测量。 收集有关过程的信息以确定过程的薄弱部分和强部分。 还要评估所做的更改以及流程实施后的更改。 某些类型的检查可能会降低测试成本,但可能会增加开发时间。 为了避免PC开发过程中测量过程的复杂化,需要应用很多度量指标来评估过程。 例如,根据指标进行评估——每1000行代码的失败次数,还有每个功能点的失败次数等。
2) Измерения в отношении программных продуктов. В данном подразделе оценивается структура ПК и её качество. Оценивается количество строк в модулях, размер спецификаций и функциональность ПК.
关于软件产品的测量。 本小节评估 PC 结构及其质量。 评估模块中的线路数量、规格大小和 PC 功能。
3) Качество результатов измерений. Осуществляется проверка, насколько качественно и точно было проведено измерение, то есть выявляет, были ли допущены ошибки в измерениях. К примеру, в бинарной модели, когда оценка выдаётся хорошо или плохо; пре интервальной показатели, определяются относительно заданных точек. Измерение между нулём и разницей показателя называется пропорциональным.
测量结果的质量。 它检查测量的执行情况和准确性,即揭示测量中是否出现错误。 例如,在二元模型中,当评估是好还是坏时; 预间隔指标是相对于给定点确定的。 零与指示器之差之间的测量称为比例。
4) Информационные модели. Основываясь на данных измерений, создаётся модель, на основе которой производится анализ характеристик проекта.
信息模型。 根据测量数据创建模型,并在此基础上分析项目的特征。
5) Техники количественной оценки процессов. Применяется для определения сильных и слабых сторон при внесении изменений в процесс. Используются Эталонный и аналитический метод.
过程定量评估技术。 用于在更改流程时识别优点和缺点。 使用参考和分析方法。
Выводы
Для успешной реализации процесса программной инженерией необходима чёткая и слаженная работа всех отделов проекта. Поскольку для успешной реализации проекта по созданию ПК компании разработчику необходимы не только инженеры-программисты, но и специалисты экономического отдела, разбирающиеся не только в финансах, но и в программировании. Ведь помимо разработки ПК, необходимо и экономическое сопровождение процесса с целью сокращения расходов при сохранении высокого качества исходного продукта.
软件工程过程的成功实施需要所有项目部门明确、协调的工作。 因为要成功实施为公司创建 PC 的项目,开发人员不仅需要软件工程师,还需要来自经济部门的专家,他们不仅了解财务,还了解编程。 确实,除了PC的开发之外,为了在保持原有产品高质量的同时降低成本,工艺的经济支持也是必要的。
Библиографический список
-
Карпенко С.Н. Введение в программную инженерию. – Нижний Новгород, 2007. – С. 4. ↩ ↩2
-
Орлик Сергей. Программная инженерия. Процесс программной инженерии (Software Engineering Process). 2004-2005. – С. 2. ↩ ↩2
-
Введение в программную инженерию. Курс лекций. – С-Пб.: Изд-во СанктПетербургского ун-та, 2005. – С. 9-10. ↩ ↩2
-
Липаев В.В. Программная инженерия сложных заказных программных продуктов. Учебное пособие. – М.: МАКС Пресс, 2014. – С. 10. ↩ ↩2
-
ГОСТ Р ИСО/МЭК 15026-4-2016. СИСТЕМНАЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ. Гарантирование систем и программного обеспечения. Часть 4 Гарантии жизненного цикла ISO/IEC 15026. ↩ ↩2
-
ГОСТ Р ИСО/МЭК 12207–2010. Информационная технология. Системная и программная инженерия. ПРОЦЕССЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ. ↩ ↩2
-
ГОСТ Р ИСО/МЭК 15504-5–2016. Информационные технологии. ОЦЕНКА ПРОЦЕССОВ. ↩ ↩2 ↩3 ↩4
-
ГОСТ Р ИСО/МЭК 25040–2014. Информационные технологии. СИСТЕМНАЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ. Требования и оценка качества систем и программного обеспечения (SQuaRE). Процесс оценки. ↩ ↩2