
- •3. Проектирование сложных объектов основные принципы проектирования.
- •4. Аспекты и стадии проектирования
- •5. Нисходящее и восходящее проектирование и программирование
- •6. Развитие парадигмы программирования (Операциональное программирование, нисходящая технология конструирования программ. Структурное, модульное, объектное и объектно-ориентированное программирование)
- •7. Суть и метод структурного анализа. Основные этапы структурного анализа.
- •8. Программные системы и их жизненный цикл.
- •Процессы жизненного цикла по
- •9. Анализ целевых и разработка требований к программным системам.
- •10. Функциональное моделирование. Стандарты idef0, idef3.
- •11. Информационное моделирование. Стандарты idef1, idef1x
- •12. Методы, модели, современные технологические и инструментальные средства структурного анализа, достоинства и недостатки. Разработка функциональных и информационных моделей.
- •13. Понятие и метод объектно-ориентированного анализа.
- •15. Стадии объектно-ориентированного анализа и определение основных абстракций и механизмов.
- •16. Методы и средства представления. Нотации представления результатов анализа.
- •17. Основы проектирования программных систем, принципы аспекты проектирования. Понятие проекта, методологии проектирования.
- •18. Автоматизация и системы автоматизации проектирования. Процессы разработки проектных решений и проектных процедур.
- •19. Классические методы проектирования и модели представления проектных решений.
- •20. Методы структурного проектирования. Этапы проектирования программных систем.
- •21. Жизненный цикл и этапы проектирования программного обеспечения.
- •Этапы жизненного цикла по:
- •Основные:
- •Модели жизненного цикла по: Водопадная (каскадная, последовательная) модель
- •Итерационная модель
- •Спиральная модель
- •22. Классические технологии разработки программного обеспечения.
- •23. Нисходящее и восходящее проектирование.
- •24. Структурное программирование. Модульное программирование
- •25. Абстракция и абстрагирование. Фундаментальные свойства и принципы объектно-ориентированного представления программных систем.
- •26. Понятие системы, системность, сложная система, системный эффект.
- •Классы, объекты, общая характеристика и отношения между классами и объектами в объектно-ориентированном проектировании.
- •Объектно-ориентированные методы проектирования. Нотации и процессы объектно-ориентированного проектирования
- •Языки визуального моделирования. Язык uml (Unified Modeling Language). Базовые отношения, термины и понятия.
- •Ключевые абстракции и механизмы. Отношения, общие механизмы и диаграммы. Типичные приемы моделирования Общие механизмы языка uml:
- •31. Средства и элементы статических и динамических моделей объектно-ориентированных систем (статические и динамические диаграммы uml).
- •32. Методы и приемы разработки моделей объектно-ориентированных программных систем.
- •33. Основные диаграммы uml (в вопросе по 2-е из 12 основных диаграмм). Представление, сущность, использование.
- •34. Элементы и разработка поведенческих моделей объектно-ориентированных систем. Модели реализации объектно-ориентированных программных систем.
- •35. Паттерны (образцы) проектирования: виды шаблонов и их классификация, распределение «обязанностей» между шаблонами.
- •40. Факторы качества написания программного кода:
- •41. Методы и средства конструирования высококачественного кода.
- •42 Совместная разработка: методы и средства.
- •Методы и средства тестирования и отладки программных приложений.
- •Широкое использование проверенных внешних библиотек.
- •Рефакторинг и оптимизация программного кода.
- •45. Сборка, внедрение и поставка по
- •Выбираем инсталлятор, описываем в нем процесс установки/удаления программы и настраиваем сборку дистрибутива
- •Технологии и средства развертывания, наладки и обслуживания проектов.
- •Язык xml: средства, назначения и особенности использования. Xml и dtd.
- •Методы и средства обработки xml документов с использованием моделей dom и sax, преимущества и недостатки.
- •Языки Extensible Markup Language(xsl) и xsl Transformations (xslt): назначение и особенности использования.
- •Процесс выполнения xslt-преобразования
- •51. Язык xPath и его применение для доступа к элементам xml.
- •52. Унифицированный процесс разработки (rup): общее понятие и терминология.
- •53. Фазы, итерации и циклы разработки. Рабочие процессы, модели и артефакты.
- •54. Модели разработки объектно-ориентированных программных систем и управление рисками.
- •55. Особенности проектирования и разработки распределенных информационных систем.
15. Стадии объектно-ориентированного анализа и определение основных абстракций и механизмов.
Реально процесс разработки состоит из нескольких стадий. Причем эти стадии существуют в любых моделях жизненного цикла проектов, они лишь отличаются названиями и группировкой действий.
Цели стадии анализа требований состоят в том, чтобы понять процессы, которые управляют предприятием или системой, определить область деятельности системы и требования пользователя. Система рассматривается с точки зрения конечного пользователя как черный ящик, составляется представление, что система будет делать, не рассматривая, как она это будет делать.
На данной стадии с помощью UML создается модель прецедентов системы. Она позволяет выделить внешние системы, контактирующие с системой, основные процессы и их взаимосвязь. Диаграммы прецедентов дают возможность выделить функциональную структуру системы, не вдаваясь в детали ее реализации. Кроме того, производится предварительное выделение объектов системы и их классификация. На основании построенной модели составляется план разработки системы.
Стадия системного проектирования включает в себя решения верхнего уровня относительно разработки системы в целом. Здесь производится разработка архитектуры системы с помощью диаграммы развертывания. Она позволяет выделить вычислительные ресурсы, устройства, использующиеся ими, и соединения между ними, спроектировать размещение отдельных процессов и исполняемых компонент на определенных устройствах, что особенно важно при проектировании сложных систем и интернет-приложений.
Посредством диаграммы компонент производится разделение программной системы на исполняемые компоненты. На основании построенных диаграмм производится выбор технологии и средств разработки.
В течение стадии детального проектирования должны быть описаны способы решения задач, выполняемых системой. Эта стадия полностью описывает функции, классы системы и графический интерфейс с пользователем.
На данной стадии разрабатываются диаграммы классов, включая отношения между классами и их атрибутами, что позволяет произвести классификацию объектов, функционирующих в системе. Применяя диаграммы поведения (диаграммы последовательности, диаграммы взаимодействия, диаграммы состояний и диаграммы активности), разрабатывается модель поведения объектов в системе. Широкий набор средств и методов позволяют выделить те стороны поведения объектов, которые наилучшим образом отражают их свойства.
С помощью разработанной модели поведения устанавливаются зависимости между классами, производится разделение системы на модули и выделение классов, реализуемых в данных модулях для того, чтобы можно было эффективно организовать разработку системы командой разработчиков.
При разработке систем, использующих реляционные базы данных, на основании диаграммы классов создается физическая модель базы данных для хранения данных объектов постоянных классов. Все решения, связанные с построением объектно-ориентированной модели программной системы здесь должны быть завершены.
В течение стадии реализации, модели, созданные на стадиях проектирования системы, переводятся в исходный код 3GL или 4GL языков программирования и разрабатывается база данных системы.
На стадии тестирования производится проверка того, что система удовлетворяет всем требованиям и производит ожидаемые действия. С помощью модели легко разрабатываются сценарии тестирования модулей и программы в целом. Кроме того, объектная модель системы позволяет избежать многих проблем несовместимости отдельных модулей приложения, что значительно уменьшит количество ошибок в программе и облегчит работу на данной стадии.