Главная страница

Процессы, используемые при разработке программного обеспечения


Скачать 28.35 Kb.
НазваниеПроцессы, используемые при разработке программного обеспечения
Дата01.12.2019
Размер28.35 Kb.
Формат файлаdocx
Имя файлаArtemyeva_3530904_60101_zadanie_1.docx
ТипАнализ
#98014

Артемьева В.Е.

3530904/60101

Задание №1
  1. Процессы, используемые при разработке программного обеспечения


  1. Анализ требований – часть разработки продукта, включающая в себя сбор требований к программному обеспечению, их систематизацию, выявление взаимосвязей, а также документирование [2]. Полнота и качество анализа требований играют ключевую роль в успехе всего проекта [2].

В рамках этой стадии происходит максимально эффективное взаимодействие нуждающегося в программном решении клиента и сотрудников компании-разработчика, в ходе обсуждения деталей проекта помогающих более четко сформулировать предъявляемые к ПО требования [2].

Я считаю, что данный процесс очень важен для создания качественного продукта, так как результатом проведенного анализа становится формирование основного регламента, на который будет опираться исполнитель в своей работе — технического задания на разработку программного обеспечения. Техническое задание должно полностью описывать поставленные перед разработчиком задачи и охарактеризовать конечную цель проекта в понимании заказчика.

  1. Проектирование ПО - определение внутренних свойств системы и детализация её внешних (видимых) свойств на основе выданных заказчиком требований к ПО (исходные условия задачи). Первоначально программа рассматривается как чёрный ящик [3]. Ход процесса проектирования и его результаты зависят не только от состава требований, но и выбранной модели процесса, опыта проектировщика [3].

В зависимости от класса создаваемого ПО, процесс проектирования может обеспечиваться как «ручным» проектированием, так и различными средствами его автоматизации. В процессе проектирования ПО для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы, а также макеты[3].

Проектирование является очень нужным основным шагом в создании программного обеспечения, так как разработчик получает возможности оценить стоимость и время разработки программного продукта, исключить потери времени и денег на ненужные действия (вынужденные доработки, длительное согласование), избежать разногласий и неудовлетворенности клиента и исполнителя.

  1. Программирование — процесс создания компьютерных программ [4]. Программирование основывается на использовании языков программирования, на которых записываются исходные тексты программ [4].

Несомненно, программирование является очень важным основным и непрерывным процессом. Без программирования не будет создано никакого продукта. Также, в современной разработке проектов добавление кода или его изменение происходит постоянно, чтобы совершенствовать продукт или реализовывать новые требования к продукту.

  1. Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом [5]. Это процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов [5].

Я полагаю, что тестирование также является основным и непрерывным процессом в разработке ПО, потому что каждый проект необходимо постоянно проверять на соответствие требованиям во избежание всяческих ошибок, для экономии средств и времени разработки, а также для создания качественного и надежного продукта.

  1. Системная интеграция — комплекс услуг по созданию и сопровождению эффективной с точки зрения взаимодействия используемых информационных систем ИТ-инфраструктуры предприятия [8].

Интеграционные решения ориентированы на организацию информационной поддержки выполнения бизнес-задач, стоящих перед учреждением, обеспечивая прозрачность, последовательность и надежность взаимодействия разнородных прикладных информационных систем, работающих в рамках единого бизнес-процесса [8].

На мой взгляд, данный процесс также является неотъемлемой частью разработки ПО для усовершенствования ИТ-инфраструктуры и максимальной эффективности взаимодействия используемых информационных систем. Системная интеграция используется после создания отдельного продукта и его тестирования.

  1. Внедрение программного обеспечения — полный спектр работ согласно пожеланиям заказчика, начиная от инсталляции, адаптации и наладки программного обеспечения и до интеграции с устройствами и передачи в эксплуатацию [6]. Время и стоимость комплекса работ зависят от множества факторов и критериев выполнения, указанных заказчиком или необходимых для стабильности, таких как:

  • готовность персонала компании к переходу на новое ПО или его освоению;

  • наличие необходимых для выполнения аппаратных средств;

  • особенностей выполнения работы;

  • масштаба предполагаемых действий;

  • состояния баз данных на текущий момент, наличия резервных копий на крайний случай;

  • наличия и работоспособности каналов связи [6].

Я считаю, что данный процесс необходим для правильного и эффективного использования ПО специалистами заказчика. Процесс внедрения производится по готовности всех предыдущих процессов.

  1. Сопровождение (поддержка) программного обеспечения — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию, поэтому данный процесс является дискретным [7]. Я полагаю, что в ходе сопровождения в программу вносятся изменения с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования и применимость ПО.

Сопровождаемость программного обеспечения — характеристики программного продукта, позволяющие минимизировать усилия по внесению в него изменений:

  • для устранения ошибок;

  • для модификации в соответствии с изменяющимися потребностями пользователей[7].

Следуя из вышеописанного, сопровождение также является основным процессом.

Ознакомившись с основными процессами, используемыми при разработке программного обеспечения, можно сделать вывод, что все эти процессы очень важны и являются основными. Также, данные процессы можно разделить на вспомогательные процессы, помогающие основному процессу более эффективно выполнить свою задачу в определенных требованиях.

Некоторые этапы разработки ПО могут быть как непрерывными, так и дискретными в зависимости от используемой методологии разработки ПО. Так, например в гибкой методологии разработки изменения в требованиях к продукту могут изменяться в любой момент, так что процессы проектирования, программирования и тестирования также придется выполнять заново, подстраиваясь под новые требования. Или же наоборот, в каскадной модели процесса разработки ПО все процессы идут строго друг за другом, когда абсолютно полностью выполнен каждый предыдущий шаг, желательно без возможности возврата к нему, поэтому, как мне кажется, в такой методологии все процессы являются строго дискретными.
  1. Часто используемые источники информации


  1. https://www.wikipedia.org/ - на данном сайте можно найти информацию и статьи на абсолютно любые темы.

  2. https://habr.com/ru/ - сайт, на котором есть новости и статьи преимущественно на тему информационных технологий, а также бизнеса и интернета.

  3. https://proglib.io/ - источник образовательного контента в IT-сфере. На сайте опубликованы обзоры книг, видеолекции и видеоуроки, дайджесты и образовательные статьи, которые помогают улучшить процесс познания в разработке.

  4. https://stepik.org/ - образовательная платформа и конструктор бесплатных открытых онлайн-курсов и уроков. Позволяет любому зарегистрированному пользователю создавать интерактивные обучающие уроки и онлайн-курсы, используя видео, тексты и разнообразные задачи с автоматической проверкой и моментальной обратной связью.

  5. https://qalight.com.ua/baza-znaniy/ - сайт, содержащий множество статей о разработке программного обеспечения и его тестировании. Также на данном сайте есть возможность прохождения соответствующих курсов.
  1. Наиболее эффективная методология разработки ПО


Командой, с которой я выполняла производственный проект, была использована гибкая методология разработки Agile, в частности Scrum. На мой взгляд, данная методология является наиболее эффективной в настоящее время, так как при её использовании возможно быстрое выявление неправильных подходов и ошибок в разработке ПО, что повышает качество кода готового продукта и существенно сокращает затраты средств и времени.

Источники информации




написать администратору сайта