Процессы, используемые при разработке программного обеспечения
Скачать 28.35 Kb.
|
Артемьева В.Е. 3530904/60101 Задание №1 Процессы, используемые при разработке программного обеспеченияАнализ требований – часть разработки продукта, включающая в себя сбор требований к программному обеспечению, их систематизацию, выявление взаимосвязей, а также документирование [2]. Полнота и качество анализа требований играют ключевую роль в успехе всего проекта [2]. В рамках этой стадии происходит максимально эффективное взаимодействие нуждающегося в программном решении клиента и сотрудников компании-разработчика, в ходе обсуждения деталей проекта помогающих более четко сформулировать предъявляемые к ПО требования [2]. Я считаю, что данный процесс очень важен для создания качественного продукта, так как результатом проведенного анализа становится формирование основного регламента, на который будет опираться исполнитель в своей работе — технического задания на разработку программного обеспечения. Техническое задание должно полностью описывать поставленные перед разработчиком задачи и охарактеризовать конечную цель проекта в понимании заказчика. Проектирование ПО - определение внутренних свойств системы и детализация её внешних (видимых) свойств на основе выданных заказчиком требований к ПО (исходные условия задачи). Первоначально программа рассматривается как чёрный ящик [3]. Ход процесса проектирования и его результаты зависят не только от состава требований, но и выбранной модели процесса, опыта проектировщика [3]. В зависимости от класса создаваемого ПО, процесс проектирования может обеспечиваться как «ручным» проектированием, так и различными средствами его автоматизации. В процессе проектирования ПО для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы, а также макеты[3]. Проектирование является очень нужным основным шагом в создании программного обеспечения, так как разработчик получает возможности оценить стоимость и время разработки программного продукта, исключить потери времени и денег на ненужные действия (вынужденные доработки, длительное согласование), избежать разногласий и неудовлетворенности клиента и исполнителя. Программирование — процесс создания компьютерных программ [4]. Программирование основывается на использовании языков программирования, на которых записываются исходные тексты программ [4]. Несомненно, программирование является очень важным основным и непрерывным процессом. Без программирования не будет создано никакого продукта. Также, в современной разработке проектов добавление кода или его изменение происходит постоянно, чтобы совершенствовать продукт или реализовывать новые требования к продукту. Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом [5]. Это процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов [5]. Я полагаю, что тестирование также является основным и непрерывным процессом в разработке ПО, потому что каждый проект необходимо постоянно проверять на соответствие требованиям во избежание всяческих ошибок, для экономии средств и времени разработки, а также для создания качественного и надежного продукта. Системная интеграция — комплекс услуг по созданию и сопровождению эффективной с точки зрения взаимодействия используемых информационных систем ИТ-инфраструктуры предприятия [8]. Интеграционные решения ориентированы на организацию информационной поддержки выполнения бизнес-задач, стоящих перед учреждением, обеспечивая прозрачность, последовательность и надежность взаимодействия разнородных прикладных информационных систем, работающих в рамках единого бизнес-процесса [8]. На мой взгляд, данный процесс также является неотъемлемой частью разработки ПО для усовершенствования ИТ-инфраструктуры и максимальной эффективности взаимодействия используемых информационных систем. Системная интеграция используется после создания отдельного продукта и его тестирования. Внедрение программного обеспечения — полный спектр работ согласно пожеланиям заказчика, начиная от инсталляции, адаптации и наладки программного обеспечения и до интеграции с устройствами и передачи в эксплуатацию [6]. Время и стоимость комплекса работ зависят от множества факторов и критериев выполнения, указанных заказчиком или необходимых для стабильности, таких как: готовность персонала компании к переходу на новое ПО или его освоению; наличие необходимых для выполнения аппаратных средств; особенностей выполнения работы; масштаба предполагаемых действий; состояния баз данных на текущий момент, наличия резервных копий на крайний случай; наличия и работоспособности каналов связи [6]. Я считаю, что данный процесс необходим для правильного и эффективного использования ПО специалистами заказчика. Процесс внедрения производится по готовности всех предыдущих процессов. Сопровождение (поддержка) программного обеспечения — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию, поэтому данный процесс является дискретным [7]. Я полагаю, что в ходе сопровождения в программу вносятся изменения с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования и применимость ПО. Сопровождаемость программного обеспечения — характеристики программного продукта, позволяющие минимизировать усилия по внесению в него изменений: для устранения ошибок; для модификации в соответствии с изменяющимися потребностями пользователей[7]. Следуя из вышеописанного, сопровождение также является основным процессом. Ознакомившись с основными процессами, используемыми при разработке программного обеспечения, можно сделать вывод, что все эти процессы очень важны и являются основными. Также, данные процессы можно разделить на вспомогательные процессы, помогающие основному процессу более эффективно выполнить свою задачу в определенных требованиях. Некоторые этапы разработки ПО могут быть как непрерывными, так и дискретными в зависимости от используемой методологии разработки ПО. Так, например в гибкой методологии разработки изменения в требованиях к продукту могут изменяться в любой момент, так что процессы проектирования, программирования и тестирования также придется выполнять заново, подстраиваясь под новые требования. Или же наоборот, в каскадной модели процесса разработки ПО все процессы идут строго друг за другом, когда абсолютно полностью выполнен каждый предыдущий шаг, желательно без возможности возврата к нему, поэтому, как мне кажется, в такой методологии все процессы являются строго дискретными. Часто используемые источники информацииhttps://www.wikipedia.org/ - на данном сайте можно найти информацию и статьи на абсолютно любые темы. https://habr.com/ru/ - сайт, на котором есть новости и статьи преимущественно на тему информационных технологий, а также бизнеса и интернета. https://proglib.io/ - источник образовательного контента в IT-сфере. На сайте опубликованы обзоры книг, видеолекции и видеоуроки, дайджесты и образовательные статьи, которые помогают улучшить процесс познания в разработке. https://stepik.org/ - образовательная платформа и конструктор бесплатных открытых онлайн-курсов и уроков. Позволяет любому зарегистрированному пользователю создавать интерактивные обучающие уроки и онлайн-курсы, используя видео, тексты и разнообразные задачи с автоматической проверкой и моментальной обратной связью. https://qalight.com.ua/baza-znaniy/ - сайт, содержащий множество статей о разработке программного обеспечения и его тестировании. Также на данном сайте есть возможность прохождения соответствующих курсов. Наиболее эффективная методология разработки ПОКомандой, с которой я выполняла производственный проект, была использована гибкая методология разработки Agile, в частности Scrum. На мой взгляд, данная методология является наиболее эффективной в настоящее время, так как при её использовании возможно быстрое выявление неправильных подходов и ошибок в разработке ПО, что повышает качество кода готового продукта и существенно сокращает затраты средств и времени. Источники информации |