
- •Препроцессор. Директивы препроцессора.
- •Описание, определение и вызов функций. Параметры по умолчанию. Встроенные функции.
- •Особенности работы с указателями разных типов в языке с.
- •Модели памяти. Функции работы с динамической памятью.
- •Шаблоны функций. Перегружаемые функции.
- •Организация ввода-вывода.
- •Разработка надежного программного обеспечения. Обработка исключительных ситуаций.
- •13. Особенности программирования для ос Windows.
- •14. Библиотека динамической компоновки. Области применения. Разработка и использование dll-библиотек.
- •15. Объектно-ориентированное программирование. Классы. Определение спецификации доступа.
- •16. Объектно-ориентированное программирование. Полиморфизм.
- •17. Ооп. Наследование. Области видимости для классов.
- •18. Ооп. Классы. Дружественные функции.
- •19. Понятие компоненты. Типы компонент. Свойства. Контейнерные компоненты.
- •20. Организация процесса конструирования по. Типы по. Стратегии конструирования.
- •21. Понятие жизненного цикла. Модели жизненного цикла.
- •22. Особенности процесса синтеза программных систем.
- •23. Разработка структуры программы. Модульное программирование. Критерии оценки программ.
- •24. Проектирование программ. Методы нисходящего и восходящего проектирования.
- •27. Классические методы анализа проектирования. Метод Джексона.
- •28. Структурные методы проектирования. Sadt.
- •29. Структурные методы проектирования программных систем. Использование dfd и er диаграмм.
- •30. Case-системы. Классификация.
- •31. Методы контроля и тестирования по. Статический и динамический контроль. Функциональное тестирование.
- •32. Методы контроля и тестирования по. Структурное тестирование. Многомодульное тестирование.
- •33. Разработка интерфейса пользователя. Структуры диалога. Критерии выбора структуры диалога.
- •34. Разработка интерфейса пользователя. Описание диалога. Использование сетей переходов для представления структуры диалога. Правила свёртки сети переходов.
- •40. Критерии оценки качества по. Документирование и оценка качества в соответствии с iso 9000.
- •41. Основные понятия сом-технологии.
24. Проектирование программ. Методы нисходящего и восходящего проектирования.
В процессе разработки программы её модульная структура может формироваться одним из 2 способов. Способ формирования структуры определяет порядок программирования и отладки модулей. Методы:
1) метод восходящего проектирования. Строится структура программы в виде дерева, затем поочерёдно программируются модули, начиная с нижнего уровня. Таким образом, чтобы при программировании текущего модуля были готовы все модули, к которым он обращается.
Тестирование такой программы производится по ходу создания модулей, т.е. каждый ярус тестируется самостоятельно.
2) метод нисходящего проектирования. Сначала строится дерево структуры, затем программируются модули, начиная с головного. Переход к следующему модулю осуществляется только в случае необходимости обращения к нему уже разработанного.
Тестирование проводят после создания всех модулей. В этом способе ликвидируют повторное тестирование ранее проверенных модулей. Однозначно определяют ошибки межмодульных взаимодействий.
В рассмотренных методах разработки древовидная структура программы должна разрабатываться до начала программирования. На практике сложно разработать точную структуру программы. Используют два подхода разработки структуры: конструктивный и архитектурный.
Конструктивный подход основан на нисходящей разработке. Структура программы создаётся в процессе программирования. Головной модуль создаётся на основании спецификации программы в целом. Если головной модуль получается слишком велик, то выделяют подзадачи. Для каждой подзадачи создаётся собственная спецификация. Она реализуется как фрагмент программы. Каждый фрагмент при необходимости также может быть подвергнут детализации.
Архитектурный подход основан на восходящей разработке. Цель – повышение уровня используемого ЯП, т.е. для заданной предметной области выделяют типичные функции, которые специфицируются и программируются как отдельные модули. При этом ставится задача максимального использования внутренних ресурсов языка. Этот подход позволяет уменьшить трудозатраты на разработку конкретных программ путём подключения и использования в ней заранее заготовленных и проверенных модулей нижнего уровня.
27. Классические методы анализа проектирования. Метод Джексона.
Метод включает 6 шагов. 3 из них выполняются на этапе анализа требований, а 3 – проектирования.
В ходе анализа выполняют этапы: 1 объект-действия – определяют объекты (источник/приёмник информации) и действия (события реального мира, воздействующие на объект).
2 объект-структура – представляет выделенные действия в виде диаграмм.
3 начальное моделирование – объекты и действия представлены как обрабатываемая модель, определяют взаимосвязь между моделью и реальным миром.
При выполнении анализа по методу Джексона используют 3 типа диаграмм действия: действие - последовательность, действие - выбор и действие – итерация.
4 доопределение функции – выделяются сервисные функции. Джексон выделяет 3 типа сервисных функций:
встроенные – задаются программами, вставляемыми в структурный текст процесса модели.
Функции впечатления – наблюдают вектор состояний процесса модели и вырабатывают выходной результат.
Функции диалога – наблюдают вектор состояний процесса модели, формируют и выводят поток данных, влияющих на действие в процессе модели.
5 учёт системного времени. На шаге учёта системного времени проектировщик должен определить временные ограничения, накладываемые на систему, и зафиксировать систему планирования так, что полученные на предыдущих шагах диаграммы состоят из последовательности процессов. Необходимо ввести дополнительную синхронизацию по времени, учитывающую влияние внешней программно-аппаратной среды и совместно используемых ресурсов.
6 реализация – предполагает создание программного комплекса на основе структурного текста при определении функций объекта с учётом синхронизации на выбранном ЯП.
Метод применяют для описания крупных программно-аппаратных систем и позволяющих определить точные характеристики каждого из элементов системы.