
- •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. Типовое проектирование информационных систем
4. Иерархия
Строится в виде дерева: от общих классов к частным. Есть два типа иерархий:
● Иерархия классов — через наследование ● Иерархия объектов — через агрегацию
Дополнительные принципы:
Типизация
Каждый объект принадлежит определённому типу, что помогает избежать ошибок при передаче и обработке данных.
Параллелизм
Объекты могут работать одновременно, каждый в своём потоке. Это важно для систем с многозадачностью.
Устойчивость
Объекты сохраняют свою сущность и данные на протяжении времени и могут существовать в разных частях системы (в том числе в памяти).
14. Основные понятия объектно-ориентированного подхода к проектированию информационных систем
К основным понятиям объектно-ориентированного подхода относятся:
объект; класс; атрибут; операция; полиморфизм; наследование; компонент; пакет; подсистема; связь.
1. Объект — это реальный или абстрактный "участник" системы, имеющий три ключевые характеристики:
a. Состояние (внутренние данные или свойства, зависят от значений атрибутов);
b. Поведение (действия, которые он выполняет в ответ на внешние сигналы);
c. Индивидуальность (уникальность, отличающая объект от других). Пример: объект «Пользователь» имеет имя, может входить в систему и отличается от других пользователей.
2. Структура и поведение схожих объектов определяют общий для них класс. Класс – это множество объектов, связанных общностью свойств, поведения, связей и семантики. Любой объект является экземпляром класса.
3. Атрибут – именованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства.
4. Операция – это услуга, которую можно запросить у любого объекта данного класса. Операции реализуют поведение экземпляров класса.
5. Полиморфизм – способность скрывать множество различных реализаций под единственным общим именем или интерфейсом. Интерфейс – это совокупность операций, определяющих набор услуг класса или компонента.
6. Наследование – это построение новых классов, на основе существующих с возможностью добавления или переопределения свойств и поведения.
7. Компонент – это относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры.
8. Пакет – это общий механизм для организации элементов в группы. Кроме того, пакетом также называется элемент модели, который может включать другие элементы. Каждый элемент модели может входить только в один пакет. Пакет является средством организации модели в процессе разработки, повышения ее управляемости и
читаемости. Кроме того в некоторых случаях является единицей конфигурации.
9. Подсистема – это комбинация пакета (может включать другие элементы модели) и класса (обладает поведением). Подсистема реализует один или более интерфейсов, определяющих ее поведение. Подсистема используется для представления компонента в процессе проектирования.
10.Связь – физическая или концептуальная связь между объектами, позволяющая им взаимодействовать.
15. Понятие соединения между элементами
объектной модели и различные виды соединений
Соединение — это связь между объектами в объектной модели, благодаря которой они могут взаимодействовать. Такие связи могут быть как логическими, так и физическими.
Существует несколько основных видов соединений:
1. Ассоциация – простая связь между классами. Например, студент учится в университете. Конкретные соединения (link'и) — это отдельные случаи такой связи между объектами.
2. Агрегация – "целое-часть", где часть может существовать отдельно. Пример: университет и кафедра.
3. Композиция – сильная агрегация. Часть не может существовать без целого. Пример: человек и его сердце.
4. Зависимость – временная связь: один элемент влияет на другой. Например, изменение спецификации одного класса может потребовать изменений в другом.
5. Обобщение – связь по типу "родитель – потомок". Например, "Транспорт" — общее понятие для "Автомобиля" и "Самолёта". Это основа наследования и полиморфизма.
6. Наследование – создание нового класса на основе существующего с возможностью расширения или изменения его поведения.
7. Реализация – связь между интерфейсом и его реализацией. Например, класс реализует заданный интерфейс, выполняя его методы.
16. Понятие гибкого моделирования, манифест и основные принципы гибкого процесса проектирования
Понятие гибкого моделирования. Основная цель моделирования в данном контексте заключается в том, чтобы понять, а не задокументировать возможные решения.
Гибкие методы разработки поддерживают итеративную и эволюционную разработку.
Манифест – набор основных идей, позволяющих ставить правильные акценты при разработке ПО.
1. Люди и взаимодействие, а не процессы и средства.
2. Работоспособное программное обеспечение, а не исчерпывающая документация.
3. Сотрудничество с потребителями, а не обсуждение контракта 4. Реакция на изменение, а не следование плану.
Основные принципы гибкого процесса:
1. Удовлетворять потребности пользователя, выпуская рабочее ПО как
можно раньше и регулярно.
2. Изменения приветствуются — даже на поздних стадиях проекта. 3. Постоянное взаимодействие между специалистом в предметной
области и разработчиками на всех этапах.