
- •1. Использование системного подхода при проектировании программного обеспечения
- •2. Основные проблемы разработки и проектирования ПО и методы их преодоления
- •3. Понятие жизненного цикла ПО и его роль в проектировании информационных систем
- •4. Понятие модели ЖЦ в проектировании информационных систем, терминология моделей ЖЦ
- •5. Основные модели ЖЦ и рекомендации по их использованию
- •6. Преимущества и недостатки использования каскадной модели ЖЦ
- •7. Преимущества и недостатки использования эволюционной модели ЖЦ
- •8. Сравнение эволюционной и итерационной моделей ЖЦ
- •10. Понятие "сложности" в современном проектировании информационных систем и способы её преодоления
- •11. Использование принципа декомпозиции в процессе проектирования информационных систем
- •14. Основные понятия объектно-ориентированного подхода к проектированию информационных систем
- •16. Понятие гибкого моделирования, манифест и основные принципы гибкого процесса проектирования
- •17. Понятие гибкого унифицированного процесса проектирования
- •18. Фазы и дисциплины унифицированного процесса проектирования, распределение работ на различных фазах для основных дисциплин
- •19. Начальная фаза унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •20. Понятие требования к информационной системе, типы и категории требований
- •21. Понятие прецедента в процессе моделирования требований к информационной системе, модель прецедентов.
- •23. Артефакты унифицированного процесса, используемые для описания нефункциональных требований к информационной системе
- •24. Фаза развития унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •25. Задачи фазы развития унифицированного процесса и планирование итераций на этой фазе проектирования
- •26. Моделирование предметной области и основные понятия модели предметной области
- •27. Использование классов описаний и производных атрибутов в процессе моделирования предметной области
- •28. Понятие системного события и идентификация системных событий
- •29. Открытый системный интерфейс и описание операций в рамках унифицированного процесса проектирования
- •30. Проектирование динамической структуры ПО с использованием UML в рамках объектно ориентированного подхода
- •31. Средства UML для выражения полиморфных сообщений в контексте проектирования динамической структуры ПО
- •32. Средства UML для выражения асинхронных вызовов в контексте проектирования динамической структуры ПО
- •34. Средства UML для представления атрибутов коллекций в контексте проектирования статической структуры ПО
- •35. Признаки существования зависимости между классами в контексте проектирования статической структуры ПО
- •36. Стадии создания информационной системы в рамках канонического проектирования
- •37. Обследование и технико-экономическое обоснование проекта
- •39. Состав эскизного и технического проектов
- •40. Типовое проектирование информационных систем
2. Объектно-ориентированный, использующий объектную декомпозицию, то есть структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами.
Подходы имеют много общего. Достоинством второго подхода является то, что есть единая иерархия, и нет необходимости отслеживать соответствие между двумя иерархиями функциональномодульного подхода.
10. Понятие "сложности" в современном проектировании информационных систем и способы её преодоления
Одна из основных проблем создания больших систем это проблема сложности. В современном проектировании ИС различают 2 вида сложности:
1. Техническая.
2. Сложность управления. Техническая сложность вызывается:
1. Структурная сложность. Количество элементов и сложностью взаимосвязи между ними.
2. Техническая сложность может быть вызвана отсутствием полных аналогов, что ограничивает возможность использования типовых проектных решений.
3. Необходимость интеграции существующих и вновь разрабатываемых решений.
4. Функционирование в неоднородной среде, например на нескольких аппаратных платформах;
5. Высокими требованиями к надежности и производительности Сложность управления порождается следующими причинами:
1. Сильное воздействие внешней среды (политика, экономическая ситуация, контракты, много заинтересованных лиц, противоречивые требования);
2. Большой коллектив разработчиков (много различных проектов и продуктов).
3. Разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и традициям использования инструментальных средств;
4. Значительная временная протяженность проекта.
Основным подходом к преодолению сложности в современном проектировании является принцип декомпозиции. То есть сложная программная система должна быть разделена на небольшие подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от других.
11. Использование принципа декомпозиции в процессе проектирования информационных систем
Для упрощения проектирования сложных информационных систем используется принцип декомпозиции — разбиение системы на более простые, понятные и независимые части (подсистемы). Каждую подсистему можно разрабатывать и тестировать отдельно, что облегчает работу над всей системой в целом.
Основные принципы декомпозиции:
1. Минимальные связи между подсистемами (Low Coupling) — подсистемы слабо зависят друг от друга.
2. Максимальное взаимодействие внутри подсистемы (High Cohesion)
— все компоненты подсистемы тесно связаны общей задачей.
При разбиении системы на подсистемы необходимо добиться выполнения следующих условий:
1.Каждая подсистема должна инкапсулировать свое содержимое (скрывать его от других подсистем);
2.Каждая подсистема должна иметь четко определенный интерфейс
сдругими подсистемами, устанавливающий стандартные ограничения на взаимодействие.
Чтобы декомпозиция была эффективной, важно:
● Скрывать внутреннее устройство каждой подсистемы от других (инкапсуляция).
● Определить чёткий интерфейс взаимодействия между подсистемами. Подходы к декомпозиции:
1. Функционально-модульный — система разбивается по функциям и структурам данных (две иерархии: функций и данных).
2. Объектно-ориентированный — система описывается через объекты и связи между ними (единая иерархия, проще отслеживать связи).
Хотя оба подхода схожи, объектно-ориентированный удобнее тем, что не требует согласования двух разных иерархий, как в функциональном подходе.
12.Проектирование архитектуры информационной
системы в соответствии с моделью представлений "4+1", понятие модели ПО
Архитектура программного обеспечения (ПО) — это набор правил, определяющих структуру и поведение системы. Она включает:
● элементы системы и связи между ними; ● взаимодействие этих элементов; ● иерархию подсистем;
● архитектурный стиль (тип организации системы, например, клиент-сервер или микросервисы).
Так как архитектура сложна и многогранна, её удобнее представлять через модель «4+1», включающую пять представлений:
1. Представление вариантов использования (Use Case) — показывает, как пользователи и внешние системы взаимодействуют с ПО (сценарии использования). В проекте у нас называются прецедентами.
2. Логическое представление — отражает структуру кода: классы, пакеты, связи между ними.
3. Представление реализации — показывает, из каких компонентов состоит система, и как они объединены (например, библиотеки, модули).
4. Представление процессов — описывает поведение ПО при параллельной работе (потоки, процессы).
5. Представление размещения — показывает, где физически размещены компоненты системы (серверы, узлы, сети).

Каждое представление — это отдельный взгляд на архитектуру, важный для своей цели и скрывающий второстепенные детали.
Дополнительно, в процессе разработки применяется модель ПО — это формализованное (то есть описанное по строгим правилам) представление системы на определённом уровне абстракции.
Для упрощения проектирования и автоматизации процессов разработки применяются CASE-средства (Computer Aided Software Engineering). Они помогают моделировать систему, анализировать её и сопровождать на всех этапах жизненного цикла. Такой подход называется CASE-технологией.
13.Принципы объектно-ориентированного подхода
кпроектированию информационных систем
Объектно-ориентированный подход основывается на объектной модели, которая описывает систему в виде объектов и связей между ними. Это позволяет представить как структуру программы (что есть), так и её поведение (как работает) через обмен сообщениями между объектами.
Главная идея — объектная декомпозиция: система разбивается на отдельные объекты, каждый из которых представляет собой часть реального мира.
Основные принципы ООП:
1. Абстрагирование
Позволяет выделить главные характеристики в объекте и отбросить все лишние. Например, "Книга" может описываться как объект с названием и автором, без лишних деталей. Абстракции — это объекты и классы.
2. Инкапсуляция
Скрывает внутреннее устройство объекта. Мы видим только интерфейс (что можно делать), но не знаем, как это устроено внутри. Объект работает как «чёрный ящик». Абстрагирование и инкапсуляция — взаимосвязанные идеи.
3. Модульность
Система делится на независимые части (модули), каждый из которых можно разрабатывать и тестировать отдельно. Модули связаны слабо, но внутри — крепко организованы.