Базовые основы разработки и стратегии конструирования программного обеспечения (ПО). Классический жизненный цикл и макетирование. Стратегии конструирования ПО. Программная инженерия и распределенное программирование. Применение параллельных алгоритмов.
В 80-е годы успехи микроэлектроники привели к резкому увеличению производительности компьютера при значительном снижении стоимости. Основной задачей 90-х годов и начала XXI века стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО). Чрезвычайно актуальными стали следующие проблемы: - аппаратная сложность опережает наше умение строить ПО, использующее потенциальные возможности аппаратуры; наше умение строить новые программы отстает от требований к новым программам; Настоящая работа посвящена изучению и оценке систематических принципов, моделей и методов (формирования требований, анализа, синтеза и тестирования), используемых в настоящее время в инженерном цикле разработки сложных программных продуктов.Технология разработки программного обеспечения - система инженерных принципов для создания ПО, которое надежно и эффективно работает в реальных компьютерах. Различают методы, средства и процедуры технологии разработки ПО [1]. Методы обеспечивают решение следующих задач: - планирование и оценка проекта; Средства (утилиты) разработки ПО обеспечивают автоматизированную или автоматическую поддержку методов. Процедуры являются «клеем», который соединяет методы и утилиты так, что они обеспечивают непрерывную технологическую цепочку разработки.Очень часто классический жизненный цикл называют каскадной или водопадной моделью, подчеркивая, что разработка рассматривается как последовательность этапов, причем переход на следующий, иерархически нижний этап происходит только после полного завершения работ на текущем этапе (рис. Подразумевается, что разработка начинается на системном уровне и проходит через анализ, проектирование, кодирование, тестирование и сопровождение. Поскольку ПО является лишь частью большой системы, то анализ начинается с определения требований ко всем системным элементам и назначения подмножества этих требований программному «элементу». На этом же этапе начинается решение задачи планирования проекта ПО. В ходе планирования проекта определяются объем проектных работ и их риск, необходимые трудозатраты, формируются рабочие задачи и план-график работ.С другой стороны, разработчик может сомневаться в адаптации продукта под операционную систему, форме диалога с пользователем или в эффективности реализуемого алгоритма. В этих случаях целесообразно использовать макетирование. Модель может принимать одну из трех форм: 1) бумажный макет или макет на основе ПК (изображает или рисует человеко-машинный диалог); 2, макетирование основывается на многократном повторении итераций, в которых участвуют заказчик и разработчик. Макетирование начинается со сбора и уточнения требований к создаваемому ПО Разработчик и заказчик встречаются и определяют все цели ПО, устанавливают, какие требования известны, а какие предстоит доопределить.Существуют 3 стратегии конструирования ПО [1]: - однократный проход (водопадная стратегия) - линейная последовательность этапов конструирования; В начале процесса определяются все пользовательские и системные требования, оставшаяся часть конструирования выполняется в виде последовательности версий. Система также строится в виде последовательности версий, но в начале процесса определены не все требования. Однократный проход Инкрементная (запланированное улучшение продукта) Эволюционная Да Да Нет Нет Да Да Нет Может быть Да В терминах общей стратегии конструирования ПО различают ряд моделей: Инкрементная модель является классическим примером инкрементной стратегии конструирования. Например, ПО для обработки слов в 1-м инкременте реализует функции базовой обработки файлов, функции редактирования и документирования; во 2-м инкременте - более сложные возможности редактирования и документирования; в 3-м инкременте - проверку орфографии и грамматики; в 4-м инкременте возможности компоновки страницы.Такую гарантию дает сертификат качества процесса, подтверждающий его соответствие принятым международным стандартам. Кроме того, в компании имеются и действуют корпоративные стандарты на процессы взаимодействия с заказчиком, процессы анализа, проектирования, программирования, тестирования и внедрения программных продуктов. Таким образом, модель СММ фиксирует критерии для оценки зрелости компании и предлагает рецепты для улучшения существующих в ней процессов. Иными словами, в ней не только сформулированы условия, необходимые для достижения минимальной организованности процесса, но и даются рекомендации по дальнейшему совершенствованию процессов. Начальный уровень (уровень 1) означает, что процесс в компании не формализован.Это означает, что программы должны делать правильные вещи. Необходимые программы должны работать так же и завтра, что обычно означает, что программы сегодня должны быть поддерживаемыми. Эта работа, должна быть эффективна по стоимости, иначе программы, как продукт, вообще могут не найти своего потребителя.Традиционный взгляд на работу состоит в том, что команда выполняет работу, а отдельный человек вносит вклад в
План
Содержание
Введение
1. Базовые основы разработки программного обеспечения
1.1 Классический жизненный цикл
1.2 Макетирование
1.3 Стратегии конструирования ПО
1.4 Модели качества процессов разработки ПО
2. Программная инженерия
2.1 Распределенное программирование
3. Современные тенденции разработки ПО
3.1 Применение параллельных алгоритмов
3.2 Case-системы
Заключение
Список литературы
Введение
Известно, что основной задачей первых трех десятилетий компьютерной эры являлось развитие аппаратных компьютерных средств. Это было обусловлено высокой стоимостью обработки и хранения данных. В 80-е годы успехи микроэлектроники привели к резкому увеличению производительности компьютера при значительном снижении стоимости.
Основной задачей 90-х годов и начала XXI века стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО).
Современный персональный компьютер теперь имеет производительность большой ЭВМ 80-х годов. Сняты практически все аппаратные ограничения на решение задач. Оставшиеся ограничения приходятся на долю ПО.
Чрезвычайно актуальными стали следующие проблемы: - аппаратная сложность опережает наше умение строить ПО, использующее потенциальные возможности аппаратуры;
- наше умение строить новые программы отстает от требований к новым программам;
- нашим возможностям эксплуатировать существующие программы угрожает низкое качество их разработки.
Ключом к решению этих проблем является грамотная организация процесса создания ПО, реализация технологических принципов промышленного конструирования программных систем (ПС).
Настоящая работа посвящена изучению и оценке систематических принципов, моделей и методов (формирования требований, анализа, синтеза и тестирования), используемых в настоящее время в инженерном цикле разработки сложных программных продуктов.
Компьютерные науки вообще и программная инженерия в частности - очень популярные и стремительно развивающиеся области знаний. Обоснование простое: человеческое общество XXI века - информационное общество. Об этом говорят цифры: в ведущих странах занятость населения в информационной сфере составляет 60%, а в сфере материального производства - 40%. Именно поэтому специальности направления «Компьютерные науки и информационные технологии» гарантируют приобретение наиболее престижных, дефицитных и высокооплачиваемых профессий. Так считают во всех развитых странах мира. Ведь не зря утверждают: «Кто владеет информацией - тот владеет миром!»
Поэтому понятно то пристальное внимание, которое уделяет компьютерному образованию мировое сообщество, понятно стремление унифицировать и упорядочить знания, необходимые специалисту этого направления. Одними из результатов такой работы являются международный стандарт по компьютерному образованию Computing Curricula 2001 - Computer Science и международный стандарт по программной инженерии IEEE/ACM Software Engineering Body of Knowledge SWEBOK 2001.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы