Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Предпосылки возникновения программной инженерииСодержание книги
Поиск на нашем сайте В конце 60-х – начале 70-х годов прошлого века произошло событие, которое вошло в историю как первый кризис программирования. Событие состояло в том, что стоимость программного обеспечения стала приближаться к стоимости аппаратуры («железа»), а динамика роста этих стоимостей позволяла прогнозировать, что к середине 90-годов все человечество будет заниматься разработкой программ для компьютеров. Тогда и заговорили о программной инженерии (или технологии программирования, как это называлось в России) как о некоторой дисциплине, целью которой является сокращение стоимости программ. К настоящему времени программная инженерия накопила значительный багаж методологий, методик, стандартов и рекомендаций. Тем не менее, нельзя утверждать, что кризисные явления преодолены. Это выражается в том, что большие проекты выполняются с превышением сметы расходов и/или сроков, отведенных на разработку, а разработанное ПО не обладает требуемыми функциональными возможностями, имеет низкую производительность и качество. Анализом эффективности работы компаний по разработке ПО и эффективности их внедрения занимаются многие консалтинговые и аудиторские фирмы. Одна из них – американская Standish Group[7]. (Список российских консалтинговых фирм можно увидеть в [8] и [9]). По результатам исследований американской индустрии разработки ПО, выполненных в 1995 году этой фирмой, только 16% проектов завершились в срок, не превысили запланированный бюджет и реализовали все требуемые функции и возможности. 53% проектов завершились с опозданием, расходы превысили запланированный бюджет, требуемые функции не были реализованы в полном объеме. 31% проектов были аннулированы до завершения. Бюджеты средних проектов оказались превышенными на 89%, а срок выполнения – на 122%. В последние годы процентное соотношение успешных и неуспешных проектов незначительно изменяется в лучшую сторону. Аналитики процессов в индустрии производства программного обеспечения сформулировали основные причины неудач при разработке ПО. Это: ● нечеткая и неполная формулировка требований; ● недостаточное вовлечение пользователей в работу над проектом; ● отсутствие необходимых ресурсов; ● неудовлетворительное планирование и отсутствие грамотного управления проектом; ● частое изменение требований и спецификаций; ● новизна и несовершенство используемой технологии; ● недостаточная поддержка со стороны высшего руководства; ● недостаточно высокая квалификация разработчиков, отсутствие необходимого опыта. Одним из факторов неудачного создания ПО является плохое планирование, в результате устанавливаются невыполнимые сроки, закладываются недостаточные ресурсы. При этом основной причиной неверного планирования является заблуждение относительно производительности проектировщиков. В большом проекте общая производительность группы разработчиков не равна сумме производительностей отдельных членов группы (посчитанной, как если бы они работали в одиночку). Отметим особенности современных проектов ПО: ● сложность – неотъемлемая характеристика создаваемого ПО; ● отсутствие полных аналогов и высокая доля вновь разрабатываемого ПО; ● наличие унаследованного ПО и необходимость его интеграции с разрабатываемым ПО; ● территориально распределенная и неоднородная среда функционирования; ● большое количество участников проектирования, разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и опыту. Разработка ПО имеет следующие специфические особенности: ● неформальный характер требований к ПО и формализованный основной объект разработки – программы; ● творческий характер разработки; ● дуализм ПО, которое, с одной стороны, является статическим объектом – совокупностью текстов, с другой стороны, – динамическим, поскольку при эксплуатации порождаются процессы обработки данных; ● при своем использовании (эксплуатации) ПО не расходуется и не изнашивается, но морально устаревает; ● «неощутимость», «воздушность», «квазинематериальность» ПО, что подталкивает к безответственному переделыванию, поскольку легко стереть и переписать, чего не сделаешь при проектировании зданий и аппаратуры. Ответом на кризис в разработке ПО стало создание программной инженерии (software engineering) как специальной дисциплины или области знаний. Инженерия ПО (software engineering) – совокупность инженерных методов и средств создания ПО.
|
||
|
Последнее изменение этой страницы: 2020-12-17; просмотров: 427; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |