Тема 2 Проблемы создания больших программных систем


Download 19.91 Kb.
Sana16.06.2023
Hajmi19.91 Kb.
#1495511
Bog'liq
список тем лекций маг.


Тема 1 Структура инфокоммуникационных систем и сетей.


Тема 2 Проблемы создания больших программных систем
2.1. Особенности разработки сложных (больших) про-граммных систем
2.2. Проблемы создания ПС
2.3. Кризис программирования. Инженерный подход к раз-работке ПС
2.4. Становление и развитие программной инженерии
2.5. Развитие технологий программирования
2.6. Индустрия программного обеспечения
2.7. Современное состояние ИТ-индустрии
Тема 3 Архитектуры программных систем
3.1. Понятие архитектуры программной системы
3.2. Почему важна архитектура
3.3. Как появляется архитектура. Кто и что влияет на архи-тектуру
3.4. Архитектурные образцы, эталонные модели и эталон-ные варианты архитектуры
3.5. Что определяет и на что влияет выбранная архитектура
3.6. Архитектурные структуры и представления
3.7. Отношения между структурами
3.8. Варианты архитектур программных систем
3.8.1. Архитектура, основанная на уровнях абстракций
3.8.2. Архитектуры, основанные на портах
3.8.3. Архитектуры, основанные на потоках данных
3.8.4. Архитектуры независимых компонентов
3.8.5. Сервис-ориентированные архитектуры (SOA)
Тема 4 Жизненный цикл программных систем
4.1. Понятие жизненного цикла программных систем
4.2. Основные процессы ЖЦ ПС
4.3. Вспомогательные процессы ЖЦ ПО
4.4. Организационные процессы ЖЦ ПС
4.5. Взаимосвязь между процессами ЖЦ ПС
4.6. Модели и стадии ЖЦ ПС
4.7. Виды моделей ЖЦ ПС и технологии создания про-граммных систем
4.7.1. Каскадная модель (классический жизненный цикл)
4.7.2. Итерационная модель ЖЦ ПС
4.7.3. Макетирование
4.7.4. Стратегии конструирования ПС
4.7.5. Инкрементная модель
4.7.6. Спиральная модель ЖЦ ПО
4.7.7. Рациональный унифицированный процесс
4.7.8. SCRAM-методология
4.7.9. Agile-методологии
4.7.10. Управление жизненным циклом приложений. Интегрированная среда поддержки создания программных систем
Тема 5.Проектирование программных систем.
Определение требований и целей программного продукта
5.1. Процесс проектирования как последовательная транс-ляция требований, предъявляемых к системе
5.2. Методология решения задач проектирования ПС по Г. Майерсу
5.3. Уровни требований к программным системам
5.4. Определение требований к программным системам
5.4.1. Постановка задачи и принципы разработки тре-бований
5.4.2. Бизнес-моделирование
5.4.3. Определение функциональных требований
5.4.4. Определение нефункциональных (эксплуатаци-онных) требований
5.5. Анализ и управление требованиями
5.6. Требования и риски
5.7. Проверка правильности требований
5.8. Цели программного продукта
5.9. Постановка целей для программной системы
5.9.1. Цели продукта
5.9.2. Цели проекта
Тема 6 Разработка предварительного внешнего проекта
6.1. Представление и анализ требований
6.1.1. Требования в V-модели Халла
6.1.2. Моделирование в определении требований и спе-цификаций
6.1.3. Разработка программных систем, управляемая моделями
6.2. Анализ требований и определение спецификаций. Структурный подход
6.2.1. Спецификации
6.2.2. Структурный подход представления специфика-ций
6.2.3. Метод функционального моделирования. Функ-циональные диаграммы
6.2.4. Диаграммы потоков данных
6.2.5. Диаграммы переходов состояний
6.3. Анализ требований и определение спецификаций при объектном подходе
6.3.1. Общие сведения о языке UML как языке модели-рования сложных систем
6.3.2. Определение прецедентов использования
6.3.3. Концептуальная модель предметной области
6.3.4. Описание поведения системы
6.4. Разработка предварительного внешнего проекта
6.4.1. Процесс внешнего проектирования
6.4.2. Проектирование взаимодействия с пользователем
6.4.3. Подготовка внешних спецификаций
6.4.4. Проверка правильности внешних спецификаций
Тема 7 Проектирование архитектуры программных систем
7.1. Методология проектирования
7.2. Модульность
7.2.1. Модули, модульно-интерфейсный подход, мо-дульное программирование
7.2.2. Обоснование модульности
7.2.3. Внутренняя характеристика модуля – связность (прочность)
7.2.4. Сцепление модулей – внешняя характеристика модуля
7.3. Сложность программной системы
7.3.1. Методы оценки сложности
7.3.2. Оценка сложности на основе связности и сцепле-ния модулей
7.4. Представление архитектуры программных систем
7.4.1. Модульно-интерфейсный подход
7.4.2. Объектно-ориентированный поход
7.4.3. Компонентный подход
7.5. Слои программного продукта
7.6. Методы структурного проектирования
7.6.1. Метод восходящей разработки (“снизу-вверх”)
7.6.2. Метод нисходящей разработки (“сверху-вниз”)
7.6.3. Заключительные замечания по структурному про-ектированию
7.7. Формальное описание методики разработки модульной (компонентной)
архитектуры программной системы
7.7.1. Проектирование сверху-вниз
7.7.2. Проектирование снизу-вверх
7.7.3. Еще раз о проектировании архитектуры ПС на основе объектно-ориентированной и компонентной методологии
Тема 8.Технико-экономический анализ проектов программных систем
8.1. Технико-экономический анализ при планировании жизненного цикла программных систем
8.2. Первичное технико-экономическое обоснование разра-ботки ПС
8.3. Методы оценки размеров проектов
8.3.1. Размерно-ориентированные метрики
8.3.2. Функционально-ориентированные метрики
8.4. Выполнение оценки проекта
8.4.1. Оценка на основе LOC- и FP-метрик
8.4.2. Оценка по конструктивной модели стоимости
8.4.3. Модель композиции приложения
8.4.4. Модель раннего этапа проектирования
8.4.5. Модель этапа постархитектуры
8.5. Оценка компромиссной стоимости программной сис-темы
8.5.1. Принципы определения стоимости заказчиком
8. 5.2. Принципы определения стоимости исполнителем
8.5.3. Положения компромиссного подхода\
Тема 9 Рефакторинг программных систем
9.1. Что такое рефакторинг
9.2. Рефакторинг, проектирование и производительность программ
9.3. Когда применять рефакторинг
9.3.1. Дублирование кода
9.3.2. Длинный метод
9.3.3. Большой класс
9.3.4. Длинный список параметров
9.3.5. Расходящиеся модификации
9.3.6. Множественные изменения
9.3.7. Завистливые функции
9.3.8. Группы данных
9.3.9. Одержимость элементарными типами
9.3.10. Операторы типа switch
9.3.11. Параллельные иерархии наследования
9.3.12. Ленивый класс
9.3.13. Теоретическая общность
9.3.13. Временное поле
9.3.13. Цепочки сообщений
9.3.14. Посредник
9.3.15. Неуместная близость
9.3.16. Альтернативные классы с разными интерфейса-ми
9.3. 17. Неполнота библиотечного класса
9.3.18. Классы данных
9.3.19. Отказ от наследования
9.3.20. Комментарии
9.4. Уровни рефакторинга
9.5. Методы рефакторинга
9.5.1. Основные методы
9.5.2. Рефакторинг кода первого уровня
9.5.3. Рефакторинг условных выражений
9.5.4. Рефакторинг кода второго уровня
9.5.5. Методы рефакторинга, облегчающие работу с данными
9.5.6. Рефакторинг третьего уровня
9.6. Архитектурный рефакторинг
9.6.1. Когда нужен архитектурный рефакторинг
9.6.2. Построение архитектуры ПС по ее программному коду
9.6.3. Рефакторинг архитектуры многослойной иерархической ПС
9.6.4. Слои в архитектуре ПС. Паттерн выделения слоев
Download 19.91 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling