Программные инженеры и научная среда



Взаимодействие с научной средой – один из способов повышения эффективности деятельности. Возможная выгода от сотрудничества с учеными:

- Новые технологии.

- Новые методы, алгоритмы.

- Анализ новых перспективных разработок.

- Исследовательская работа в смежных областях.

Помощь ученых жизненно необходима в по крайней мере в двух ситуациях:

- Там, где в принципе не решить задачу своими силами.

- Там, где есть специалисты, но нет времени и ресурсов для исследований.

Этот подход широко применяется современными IT-компаниями: Intel, Microsoft, IBM и другими.

Процесс создания программного обеспечения

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

Выделяют 4 основных мероприятия (стадии) процесса:

Спецификация: формулирование спецификаций определяет основные требования к ПО (что должна делать система).

Разработка: создание ПО в соответствии со спецификациями.

Аттестация: проверка ПО на соответствие потребностям заказчика.

Модернизация: развитие ПО в соответствии с изменившимися потребностями заказчика.

Рис. 2 - Основные этапы процесса разработки ПО

 

Все стадии основаны на специальных технологиях. Например, рассмотренные кратко в предыдущей лекции модульное, структурное, объектно-ориентированное, компонентное программирование относятся к стадии Реализации.

Каждая организация может организовать процесс создания программного обеспечения так, как ей это представляется разумным. Этот процесс может иметь разную степень формализации. Так, создание продукта может идти по принципу «вечером обсудили и договорились», но этот принцип работает только для команд из 2-3 человек в достаточно простых проектах. Возможна другая крайность – каждое действие жестко определено и прописано в описании процесса. В этом случае возникает необходимость длительного предварительного обучения сотрудников работе в рамках этого, безусловно, сложного описания. Подобный подход, конечно, порождает и другие накладные расходы. Например, то, что вполне могло бы быть решено в частной беседе, теперь приходится долго и нудно «проводить» через соответствующий формализм. Пожалуй, такая степень формализации может пойти на пользу для очень больших, тем более распределенных, коллективов, решающих задачи большой сложности. Для небольшого или среднего проекта описанная степень формализации принесет больше вреда, чем пользы (хорошая аналогия – забивание гвоздей микроскопом).

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

Существуют известные методологии разработки ПО, которые подробно прорабатывают указанные процессы: Microsoft Solutions Framework (MSF), Rational Unified Process (RUP), Scrum и другие.

Эти методология имеют свои разновидности и могут применяться как для малых и средних компаний и проектов, так и для больших.

Модели процесса создания ПО

Итак, некий «каркас» процесса обычно выглядит так:

- Спецификация.

- Разработка.

- Аттестация.

- Модернизация.

Сам этот «каркас» можно приводить в жизнь по-разному. Существуют общие модели процесса, которые определяют, как организовать работу по «каркасу» на практике. Фактически, модель процесса – некое абстрактное представление процесса на верхнем уровне. Так, модель не рассматривает детально содержимое каждого из этапов. Модель рассматривает состав этапов и способы их претворения в жизнь.

Рассмотрим некоторые устоявшиеся модели процесса разработки программного обеспечения.


Дата добавления: 2019-02-22; просмотров: 229; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!