- •28. Предпроектные исследования предметной области.
- •29. Техническое задание. Основные разделы.
- •30. Архитектура программного обеспечения.
- •31. Тип пользовательского интерфейса.
- •32. Выбор языка и среды программирования
- •1). Выбор языка программирования.
- •33. Спецификация программного обеспечения при структурном подходе.
- •34. Язык описания разработки программных продуктов uml.
- •35. Тестирование программного обеспечения.
34. Язык описания разработки программных продуктов uml.
В основе объектного подхода к разработке программного обеспечения лежит объектная декомпозиция, т. е. представление разрабатываемого программного обеспечения в виде совокупности объектов, в процессе взаимодействия которых через передачу сообщений и происходит выполнение требуемых функций.
В 1995 г. появилась первая версия языка UML (Unified Modeling Language - унифицированный язык моделирования), который в настоящее время фактически признан стандартным средством описания проектов, создаваемых с использованием объектно-ориентированного подхода. Его создателями являются ведущие специалисты в этой области: Гради Буч, Ивар Якобсон и Джеймс Рамбо.
Спецификация разрабатываемого программного обеспечения при использовании UML объединяет несколько моделей: использования, логическую, реализации, процессов, развертывания (рис. 6.2).
Модель использования: описание функциональности программного обеспечения с точки зрения пользователя.
Логическая модель описывает ключевые абстракции программного обеспечения (классы, интерфейсы и т. п).
Модель реализации определяет реальную организацию программных модулей в среде разработки.
Модель процессов отображает организацию вычислений и оперирует понятиями «процессы» и «нити».
Модель развертывания показывает особенности размещения программных компонентов на конкретном оборудовании.
Всего UML предлагает девять дополняющих друг друга диаграмм, входящих в различные модели:
• диаграммы вариантов использования;
диаграммы классов;
диаграммы пакетов;
диаграммы последовательностей действий;
диаграммы кооперации;
диаграммы деятельностей;
диаграммы состояний объектов;
диаграммы компонентов;
диаграммы размещения.
Все указанные диаграммы по возможности используют единую графическую нотацию, что облегчает их понимание.
Спецификация обязательно включает словарь терминов, различного рода описания и текстовые спецификации. Конкретный набор документации определяется разработчиком.
35. Тестирование программного обеспечения.
Тестирование - это процесс выполнения программы, целью которого является выявление ошибок. Никакое тестирование не может доказать отсутствие ошибок в хоть сколько-нибудь сложном программном обеспечении. Для программного обеспечения выполнение полного тестирования, т. е. задания всех возможных комбинаций исходных данных, становится невозможным, а, следовательно, всегда имеется вероятность того, что в программном обеспечении остались невыявленные ошибки. Однако соблюдение основных правил тестирования и научно обоснованный подбор тестов может уменьшить их количество.
Тестирование - очень важный и трудоемкий этап процесса разработки программного обеспечения, так как правильное тестирование позволяет выявить подавляющее большинство ошибок, допущенных при составлении программ.
Процесс разработки программного обеспечения предполагает три стадии тестирования: автономное, комплексное и системное, каждая из которых соответствует завершению соответствующей части системы.
Различают два подхода к формированию тестов: структурный и функциональный. Каждый из указанных подходов имеет свои особенности и области применения.
Процесс разработки программного обеспечения, в том виде, как он определяется в современной модели жизненного цикла программного обеспечения, предполагает три стадии тестирования:
автономное тестирование компонентов программного обеспечения;
комплексное тестирование разрабатываемого программного обеспечения;
системное или оценочное тестирование на соответствие основным критериям качества.