Процесс программной инженерии
Автор: Бондаренко А.С., Ярыгин П.К.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 5-1 (32), 2019 года.
Бесплатный доступ
В статье описывается процесс программной инженерии по созданию сложных программ. Выделены основные разновидности и описаны основные этапы его реализации инженерными и экономическими отделами. Выделяются ключевые факторы для успешной реализации проекта по созданию сложных программных комплексов компании разработчику и роль экономического сопровождение процесса с целью сокращения расходов при сохранении высокого качества исходного продукта.
Программа, инженер, процесс, оценка, уровень
Короткий адрес: https://sciup.org/170186244
IDR: 170186244 | DOI: 10.24411/2500-1000-2019-10860
Текст научной статьи Процесс программной инженерии
Программная инженерия или промышленное программирование - это разработка сложного программного обеспечения. «После первого программного кризиса произошедшего в 60-х - 70-х годах двадцатого века. Кризис заключался в том, что стоимость программ стала сопоставима со стоимостью оборудования (железа). Термин программная инженерия впервые прозвучал в октябре 1968 года на технической конференции НАТО в городе Гер-миш, Германия» [1]. Программная инженерия подразделяется на процессы. «Процессы в программной инженерии (Processes in software engineering) подразделяются на два уровня. К первому уровню относится техническая и управленческая деятельность. На втором или «метауровне» занимаются оценкой, определением, реализацией, совершенствованием программного обеспечения» [7].
Процессы программной инженерии подразделяются на множество разновидностей по роду своей деятельности. Но прежде чем приступить к разработке сложного программного комплекса - (ПК), определяется экономическая и техническая целесообразность данного проекта. «В 1970 году Винстоном Ройсом была предложена "водопадная модель". Компании разработчики начали внедрять различные модели пошаговой разработки программного обеспечения - (ПО). Были внедрены такие процессы как разработка требований к системе и ПО, которые за- ключаются в анализе и кодировании. Было введено ограничение по возврату на процессы назад на доработку ПО. Водопадной моделью допускается возврат только на один процесс назад. Система состоит из последующих друг за другом этапов: разработка системных требований; разработка требований к ПО; анализ; проектирование; кодирование; тестирование; исправление. Также было внедрено прототипирование при котором разработка ПО делалась дважды для снижения рисков ошибок. Прототип выявлял основные риски и позволял принять основные решения в архитектуре ПО» [2].
Виды процесса:
«Проектирование - согласование замыслов заказчика с разработчиком. Определение и согласование того что потребуется создать в новом ПК или модернизировать в имеющемся. Подготовка технологической базы. Разработка системного проекта. Составление технического задания. Подписание контракта по разработке ПК» [8].
-
1) Реализация и изменение процесса. Данный этап состоит из четырёх подразделов: инфраструктура процесса; управление программным процессом; реализация и изменение процесса; практические соображения. В данном процессе рассматриваются модели ПК, соображения по их реализации и изменениям. К примеру, инспекции в проекте. Подраздел инфраструктура процесса основан на стандарте «ГОСТ» [3]. То есть данный раздел зани-
- мается оптимизацией процессов проекта по разработке ПК и изменениями в нём.
-
2) Определение процесса. Точно поставленные цели и задачи в определении циклов процессов, основанные на прикладной или зрелой части ПК улучшает качество работы инженеров из различных отделов. Этап – определение процесса разбит на тять подразделов: модели жизненного цикла ПО. В жизненном цикле на высоком уровне определяются стадии разработки. В этом подразделе не углубляются в детали, рассматриваются только ключевые части проекта. За основу модели жизненного цикла взята водопадная модель. Этап – процессы жизненного цикла программного обеспечения. На этом этапе производится детальное определение процессов. Процесс жизненного цикла ПО выполняется по «ГОСТ-у» [4]. Этап – нотации определения процесса. Делаются замечания по структуре программы, по потокам данных и различным блокам. Этап – адаптация процесса. Все процессы стандартизированы, но на адаптационном этапе вносятся изменения в процессы в зависимости от размера и требований конкретного проекта. По внесению изменений также есть рекомендации в стандарте «ГОСТ» [5]. Этап – автоматизация. На этапе автоматизации осуществляется содействие проделанной работе или выдаются инструкции по осуществлению проекта в виде методов RUP, EUP, XP и MSF.
-
3) Оценка процесса. Процедура оценка процесса осуществляется по процедурам оценки, к примеру, таким как: Appraisal, CMMI. Процесс оценки состоит из двух этапов: модель оценки процесса и методов оценки процесса. На этап модели оценки определяется, что заслуживает наибольшей оценки. То есть программная часть разработки или управление персоналом. Используются различные подходы к оценке по таким моделям как: ISO, CMM-SW, Bootstrap. Одни определяют общее качество разработки, другие только документацию проекта, но оценка, так или иначе, осуществляется по «ГОСТ стандарту оценки» [5]. На этапе методы оценки процесса определяется зрелость процесса. Применяются такие же методики оценки,
-
4. Измерения процессов и продуктов. Из-за сложности количественной оценки в программной инженерии, таких процессов как методы анализа, моделирования, может быть определено после точно установления соотношения между самим продуктом и процессом работы над ним. Точный результат соотношения между процессами и готовым продуктом определяется по стандарту «ISO 15939» [6]. Данный процесс состоит из пяти этапов:
как и при модели оценки, только оценивается качество работы компании и подрядчиков.
-
1) Измерения в отношении процессов. Осуществляется сбор информации о процессе с целью определения слабых и сильных частей процесса. Также для оценки внесённых изменений и после реализации процесса. Некоторые виды инспекций могут сократить затраты на тестирование, но могут увеличить затрачиваемое время на разработку. Для избежания усложнений в разработке ПК в процессе измерения необходимо применять множество метрических показателей по оценке процесса. К примеру, оценки производятся по показателю – количество сбоев на 1000 строк кода, также и на функциональную точку и т. д.
-
2) Измерения в отношении программных продуктов. В данном подразделе оценивается структура ПК и её качество. Оценивается количество строк в модулях, размер спецификаций и функциональность ПК.
-
3) Качество результатов измерений. Осуществляется проверка, насколько качественно и точно было проведено измерение, то есть выявляет, были ли допущены ошибки в измерениях. К примеру, в бинарной модели, когда оценка выдаётся хорошо или плохо; пре интервальной показатели, определяются относительно заданных точек. Измерение между нулём и разницей показателя называется пропорциональным.
-
4) Информационные модели. Основываясь на данных измерений, создаётся модель, на основе которой производится анализ характеристик проекта.
-
5) Техники количественной оценки процессов. Применяется для определения сильных и слабых сторон при внесении изменений в процесс. Используются Эталонный и аналитический метод.
Выводы
Для успешной реализации процесса программной инженерией необходима чёткая и слаженная работа всех отделов проекта. Поскольку для успешной реали- зации проекта по созданию ПК компании разработчику необходимы не только инженеры-программисты, но и специалисты экономического отдела, разбирающиеся не только в финансах, но и в программировании. Ведь помимо разработки ПК, необходимо и экономическое сопровождение процесса с целью сокращения расходов при сохранении высокого качества исходного продукта.
Список литературы Процесс программной инженерии
- Карпенко С.Н. Введение в программную инженерию. - Нижний Новгород, 2007. - С. 4.
- Введение в программную инженерию. Курс лекций. - С-Пб.: Изд-во Санкт-Петербургского ун-та, 2005. - С. 9-10.
- ГОСТ Р ИСО/МЭК 15026-4-2016. СИСТЕМНАЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ. Гарантирование систем и программного обеспечения. Часть 4 Гарантии жизненного цикла ISO/IEC 15026.
- ГОСТ Р ИСО/МЭК 12207-2010. Информационная технология. Системная и программная инженерия. ПРОЦЕССЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ.
- ГОСТ Р ИСО/МЭК 15504-5-2016. Информационные технологии. ОЦЕНКА ПРОЦЕССОВ.
- ГОСТ Р ИСО/МЭК 25040-2014. Информационные технологии. СИСТЕМНАЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ. Требования и оценка качества систем и программного обеспечения (SQuaRE). Процесс оценки.
- Орлик Сергей. Программная инженерия. Процесс программной инженерии (Software Engineering Process). 2004-2005. - С. 2.
- Липаев В.В. Программная инженерия сложных заказных программных продуктов. Учебное пособие. - М.: МАКС Пресс, 2014. - С. 10.