ПРОБЛЕМЫ СОВРЕМЕННЫХ ПРОГРАММНЫХ И КОМПЬЮТЕРНО - ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И СОВРЕМЕННЫЕ ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ |
Автор: М.У.Маматмурадова,И.Ж.Бозорова,Ф.Э.Кодиров |
29.03.2019 11:01 |
ПРОБЛЕМЫ
СОВРЕМЕННЫХ ПРОГРАММНЫХ И КОМПЬЮТЕРНО - ИНЖЕНЕРНЫХ
ТЕХНОЛОГИЙ И СОВРЕМЕННЫЕ ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ М.У.Маматмурадова И.Ж.Бозорова Ф.Э.Кодиров Каршинский филиал Ташкентского университета информационных технологий имени Мухаммада аль-Хорезми Аннотация: Накопленный к настоящему времени опыт
создания систем ПО и компьютерно-инженерных технологий показывает, что это
сложная и трудоемкая работа, требующая высокой квалификации участвующих в ней
специалистов. Однако до настоящего времени создание таких систем нередко
выполняется на интуитивном уровне с применением неформализованных методов,
основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих
экспериментальных проверках качества функционирования ПО. Ключевые слова: программное обеспечение, управление проектами, программная инженерия,
проектирование объекта, процесс создания ПО. Проблемы создания ПО следуют из его
свойств. Еще в 1975 г. Фредерик Брукс, проанализировав свой уникальный по тем
временам опыт руководства крупнейшим проектом разработки операционной системы
OS/360, определил перечень неотъемлемых свойств ПО: сложность, согласованность,
изменяемость и незримость. Что
же касается современных крупномасштабных проектов ПО, то они характеризуются,
как правило, следующими особенностями: Характеристики объекта
внедрения:
В числе причин возможных
неудач, по мнению разработчиков, фигурируют:
Объективная потребность контролировать процесс разработки сложных систем ПО, прогнозировать и гарантировать стоимость разработки, сроки и качество результатов привела в конце 60-х годов прошлого века к необходимости перехода от кустарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объединенных общим названием "программная инженерия" (software engineering). В основе программной инженерии лежит одна фундаментальная идея: проектирование ПО является формальным процессом, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств создания ПО позволяет повысить его качество, обеспечить управляемость процесса проектирования ПО и увеличить срок его жизни. В то же время, попытки чрезмерной формализации процесса, а также прямого заимствования идей и методов из других областей инженерной деятельности (строительства, производства) привели к ряду серьезных проблем. После двух десятилетий напрасных ожиданий повышения продуктивности процессов создания ПО, возлагаемых на новые методы и технологии, специалисты в индустрии ПО пришли к пониманию, что фундаментальная проблема в этой области - неспособность эффективного управления проектами создания ПО. Невозможно достичь удовлетворительных результатов от применения даже самых совершенных технологий и инструментальных средств, если они применяются бессистемно, разработчики не обладают необходимой квалификацией для работы с ними, и сам проект выполняется и управляется хаотически, в режиме "тушения пожара". Бессистемное применение технологий создания ПО (ТС ПО), в свою очередь, порождает разочарование в используемых методах и средствах (анализ мнений разработчиков показывает, что среди факторов, влияющих на эффективность создания ПО, используемым методам и средствам придается гораздо меньшее значение, чем квалификации и опыту разработчиков). Если в таких условиях отдельные проекты завершаются успешно, то этот успех достигается за счет героических усилий фанатично настроенного коллектива разработчиков. Постоянное повышение качества создаваемого ПО и снижение его стоимости может быть обеспечено только при условии достижения организацией необходимой технологической зрелости, создании эффективной инфраструктуры как в сфере разработки ПО, так и в управлении проектами. Одна из причин
распространенности "хаотического" процесса создания ПО - стремление
сэкономить на стадии разработки, не затрачивая времени и средств на обучение
разработчиков и внедрение технологического процесса создания ПО. Эти затраты до
недавнего времени были довольно значительными и составляли, по различным
оценкам (в частности, Gartner Group), около трех лет на внедрение развитой ТС
ПО, охватывающей большинство процессов жизненного цикла ПО, в многочисленной
команде разработчиков (до 100 чел.). Причина - в "тяжести"
технологических процессов. "Тяжелый" процесс обладает следующими
особенностями:
Альтернативой
"тяжелому" процессу является адаптивный (гибкий) процесс, основанный
на принципах "быстрой разработки ПО", интенсивно развиваемых в
последнее десятилетие. Современные тенденции в программной
инженерии В начале 2001 года века
ряд ведущих специалистов в области программной инженерии (Алистер Коберн,
Мартин Фаулер, Джим Хайсмит, Кент Бек и другие) сформировали группу под
названием Agile Alliance. Слово agile (быстрый, ловкий, стремительный) отражало
в целом их подход к разработке ПО, основанный на богатом опыте участия в
разнообразных проектах в течение многих лет. Этот подход под названием
"Быстрая разработка ПО" (Agile software
development) базируется на четырех идеях, сформулированных ими в
документе "Манифест быстрой разработки ПО" (Agile Alliance's
Manifesto) и заключающихся в следующем:
При таком подходе
технология занимает в процессе создания ПО вполне определенное место. Она
повышает эффективность деятельности разработчиков при наличии любых из
следующих четырех условий:
В то же время проблема
обоснованного выбора и эффективного применения ТС ПО и компьютерных технологий в
крупномасштабных проектах остается актуальной. Невозможно достичь
удовлетворительных результатов от применения даже самых совершенных технологий,
если они применяются бессистемно, разработчики не обладают необходимой
квалификацией для работы с ними, и сам проект выполняется и управляется
хаотически. Систематический, обоснованный подход к выбору и применению ТС ПО
может сократить время и повысить качество разработки ПО, обеспечить высокую
степень его независимости от конкретных разработчиков, а также снизить затраты
на разработку и сопровождение ПО. Список литературы: 1. Ф. Брукс --
Мифический человеко-месяц или как создаются программные системы: Пер. с англ.
-- СПб.: Символ-Плюс, 1999 2. Г. Буч , Дж. Рамбо , А. Джекобсон --
Язык UML. Руководство пользователя.: Пер. с англ. -- М.: ДМК, 2000 3. А.М. Вендров -- Проектирование
программного обеспечения экономических информационных систем: Учебник. -- М.:
Финансы и статистика, 2000 4. М. Каменнова , А. Громов , М.
Ферапонтов , А. Шматалюк -- Моделирование бизнеса. Методология ARIS. -- М.:
Весть-МетаТехнология, 2001 |
Обновлено 29.03.2019 11:06 |