Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Моделирование при разработке программного обеспечения

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Понятие технологии разработки программного обеспечения и модели жизненного цикла. Сущность объектно-ориентированного подхода. Строительные блоки, общие механизмы языка моделирования UML, диаграммы классов, состояний, взаимодействий и компонентов.
Краткое сожержание материала:

Размещено на

Размещено на

Содержание

  • 1. Введение в процесс моделирования
  • 2. Жизненный цикл программного обеспечения
  • 2.1 Понятие технологии разработки программного обеспечения
  • 2.2 Модели жизненного цикла
  • 2.3 Rational Objectory Process - модель жизненного цикла
  • 3. Объектно-ориентированный подход к разработке программного обеспечения
  • 3.1 Сущность объектно-ориентированного подхода
  • 3.2 Объект и класс
  • 3.3 Наследование и полиморфизм
  • 3.4 Унифицированный язык моделирования UML
  • 4. Введение в язык моделирования UML
  • 5. Строительные блоки UML
  • 5.1 Сущности
  • 5.2 Отношения
  • 5.3 Диаграммы
  • 6. Правила языка UML
  • 7. Общие механизмы языка UML
  • 7.1 Спецификация
  • 7.2 Дополнения
  • 7.3 Принятые деления
  • 7.4 Механизмы расширения
  • 8. Диаграмма вариантов использования
  • 9. Диаграммы классов
  • 9.1 Шаблоны классов
  • 10. Диаграммы состояний
  • 11. Диаграммы деятельности
  • 11.1 Состояния действия и состояния деятельности
  • 11.2 Переходы
  • 11.3 Ветвление
  • 11.4 Разделение и слияние
  • 11.5 Дорожки. Траектория объекта
  • 12. Диаграммы взаимодействий
  • 12.1 Диаграммы последовательностей
  • 12.2 Диаграммы кооперации
  • 12.3 Семантическая эквивалентность
  • 13. Диаграммы компонентов
  • 14. Диаграммы развертывания
  • Литература

1. Введение в процесс моделирования

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

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

- визуализировать систему в ее текущем или желательном для нас состоянии;

- определить структуру или поведение системы;

- получить шаблон, позволяющий затем сконструировать систему;

- документировать принимаемые решения, используя полученные модели.

Длительный опыт использования моделирования позволил сформулировать четыре основных принципа.

- выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение;

- каждая модель может быть воплощена с разной степенью абстракции;

- лучшие модели - те, что ближе к реальности;

- нельзя ограничиваться созданием только одной модели.

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

Алгоритмический метод представляет традиционный подход к созданию программного обеспечения. Основным строительным блоком является процедура или функция, а внимание уделяется, прежде всего, вопросам передачи управления и декомпозиции больших алгоритмов на меньшие. При изменении требований или увеличении размера приложения (что происходит нередко) сопровождать их становится сложнее.

Наиболее современным подходом к разработке программного обеспечения является объектно-ориентированный.

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

2.1 Понятие технологии разработки программного обеспечения

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

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

2.2 Модели жизненного цикла

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

Первой по времени появления и самой распространенной явилась каскадная модель.

Основные этапы каскадной модели представлены на рисунке 2.1.

Размещено на

Размещено на

Рисунок 2.1 - Каскадная модель жизненного цикла ПО

Каскадная модель характеризуется следующими основными особенностями:

- последовательным выполнением входящих в ее состав этапов;

- окончанием каждого предыдущего этапа до начала последующего;

- отсутствием возврата к предыдущим этапам;

- наличием результата только в конце обработки.

Выявление и устранение ошибок в каскадной модели производится только на стадии тестирования, которая может растянуться по времени или вообще не завершиться.

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

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

Размещено на

Размещено на

Рисунок 2.2 - Итерационная модель жизненного цикла ПО

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

Третья модель жизненного цикла ПО - спиральная модель - поддерживает итерации поэтапной модели, но особое внимание уделяется начальным этапам проектирования: анализу требований, проектированию спецификаций, предварительному и детальному проектированию (рисунок 2.3).

Размещено на

Размещено на

Рисунок 2.3 - Спиральная модель жизненного цикла ПО

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

2.3 Rational Objectory Process - модель жизненного цикла

Объектно-ориентированное проектирование программного обеспечения стало результатом появления объектно-ориентированного программирования (ООП), т.е. применение новой методологии началось с этапа кодирования. Ранние стадии описания предметной области и разработки архитектуры системы не поддерживались, первые варианты использования объектно-ориентированной методологии явились повторением принципов ООП.

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

- модель ЖЦ;

- действия;

- нотация языка.

Фирма Rational Software, разработавшая язык UML, предложила также и свою модель ЖЦ (рисунок 2.4),...

Другие файлы:

Надёжность программного обеспечения
В книге американских специалистов, рассмотрены возможные ошибки при разработке систем программного обеспечения ЭВМ и изложены методы выявления причин...

Электронная книга
Выбор и описание прототипов разрабатываемого устройства. Разработка структурной и принципиальной схемы. Обоснование программного обеспечения, использу...

Планирование прибыли предприятия при разработке программного обеспечения
Стоимость затрат на производство, обслуживание и тестирование программного обеспечения. Определение планового задания; калькуляция и коммерческая себе...

Моделирование надежности программного обеспечения
Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода...

Профессиональная практика программной инженерии
Понятие программной инженерии как применения определенного систематического измеримого подхода при разработке, эксплуатации и поддержке программного о...