Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вариант_№31.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.18 Mб
Скачать

1.Предпосылки возникновения объектно-ориентированного подхода

Рассмотрим тенденцию развития какого-либо программного продукта за последние 15 лет. Возьмем в качестве примера, компилятор Pascal фирмы Borland. В 1984 году появился компилятор версии 3.0, дистрибутив которого занимал 37 Кб вместе со всеми необходимыми библиотеками ( включая возможность работы с графикой ). Последняя версия компилятора - Delphi 3.0, дистрибутив которого в простейшем варианте занимает 100 Мб. Т.е. размер программы вырос примерно в 2700 раз за 15 лет. Аналогичную картину можно наблюдать на любом другом программном средстве.

В этой связи можно обратить внимание на следующие две особенности:

  • во-первых, размер дистрибутива растет в геометрической прогрессии,

  • во-вторых, в геометрической прогрессии сокращаются сроки между появлением новых версий.

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

  • машинные коды,

  • ассемблеры,

  • языки высокого уровня - FORTRAN,

  • структурное программирование - С,

  • абстрактные типы, модули и пакеты в ADA,

  • объектно-ориентированное программирование С++.

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

2.Жизненный цикл программного обеспечения

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

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

2.1.Стандартные модели жизненного цикла

2.1.1.Этапы жизненного цикла

Традиционно, во всех стандартных моделях, выделяют следующие основные этапы жизненного цикла:

  • стратегическое планирование;

  • анализ требований;

  • проектирование (предварительное и детальное);

  • кодирование (программирование);

  • тестирование и отладка;

  • эксплуатация и сопровождение.

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

Рассмотрим подробнее отдельные этапы жизненного цикла.

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

  • определение целесообразности разработки и сравнение с аналогами,

  • определение необходимых ресурсов для решения задачи,

  • спецификация требований к системе в виде “что она должна делать”, но не в виде “как это реализовать”,

  • проверка корректности и реализуемости требований.

На этапе проектирования создается структура будущей программой системы

Можно определить следующие фазы проектирования:

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

  • спецификация подсистем, определяет спецификацию каждой подсистемы,

  • проектирование интерфейса, определяет интерфейс каждой подсистемы, т.е. метод взаимодействия данной подсистемы с другими,

  • проектирование компонентов, каждая подсистема разделяется на компоненты,

  • проектирование структур данных, определяет где и как хранятся данные,

  • проектирование алгоритмов, определяются алгоритмы обработки данных.

Реализация подразумевает выбор языка программирования и составление текста программы ( кодирование ), а также, возможно, выполнение тестирования и отладки отдельных фрагментов.

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

На этапе сопровождения и эксплуатации программная система сдается в эксплуатацию, происходит обслуживание пользователей, возможно устранение незначительных ошибок ( сейчас это делается повсеместно с помощью распространения так называемых patсh - файлов ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]