ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 878
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
411 5.2.4. Диаграммы потоков данных
5.2.5. Диаграммы переходов состояний
5.3. Анализ требований и определение спецификаций при объектном подходе
5.3.1. Общие сведения о языке UML как языке модели- рования сложных систем
5.3.2. Определение прецедентов использования
5.3.3. Концептуальная модель предметной области
5.3.4. Описание поведения системы
5.4. Разработка предварительного внешнего проекта
5.4.1. Процесс внешнего проектирования
5.4.2. Проектирование взаимодействия с пользователем
5.4.3. Подготовка внешних спецификаций
5.4.4. Проверка правильности внешних спецификаций
Глава 6. Проектирование архитектуры программных
систем
6.1. Методология проектирования
6.2. Модульность
6.2.1. Модули, модульно-интерфейсный подход, мо- дульное программирование
6.2.2. Обоснование модульности
6.2.3. Внутренняя характеристика модуля – связность
(прочность)
6.2.4. Сцепление модулей – внешняя характеристика модуля
6.3. Сложность программной системы
6.3.1. Методы оценки сложности
6.3.2. Оценка сложности на основе связности и сцепле- ния модулей
6.4. Представление архитектуры программных систем
6.4.1. Модульно-интерфейсный подход
6.4.2. Объектно-ориентированный поход
6.4.3. Компонентный подход
6.5. Слои программного продукта
6.6. Методы структурного проектирования
6.6.1. Метод восходящей разработки (“снизу-вверх”)
6.6.2. Метод нисходящей разработки (“сверху-вниз”)
6.6.3. Заключительные замечания по структурному про- ектированию
6.7. Формальное описание методики разработки модульной
(компонентной) архитектуры программной системы
6.7.1. Проектирование сверху-вниз
6.7.2. Проектирование снизу-вверх
412 6.7.3. Еще раз о проектировании архитектуры ПС на основе объектно-ориентированной и компонентной ме- тодологии
Глава 7. Технико-экономический анализ
проектов программных систем
7.1. Технико-экономический анализ при планировании жизненного цикла программных систем
7.2. Первичное технико-экономическое обоснование разра- ботки ПС
7.3. Методы оценки размеров проектов
7.3.1. Размерно-ориентированные метрики
7.3.2. Функционально-ориентированные метрики
7.4. Выполнение оценки проекта
7.4.1. Оценка на основе LOC- и FP-метрик
7.4.2. Оценка по конструктивной модели стоимости
7.4.3. Модель композиции приложения
7.4.4. Модель раннего этапа проектирования
7.4.5. Модель этапа постархитектуры
7.5. Оценка компромиссной стоимости программной сис- темы
7.5.1. Принципы определения стоимости заказчиком
7. 5.2. Принципы определения стоимости исполнителем
7.5.3. Положения компромиссного подхода
Глава 8. Рефакторинг программных систем
8.1. Что такое рефакторинг
8.2. Рефакторинг, проектирование и производительность программ
8.3. Когда применять рефакторинг
8.3.1. Дублирование кода
8.3.2. Длинный метод
8.3.3. Большой класс
8.3.4. Длинный список параметров
8.3.5. Расходящиеся модификации
8.3.6. Множественные изменения
8.3.7. Завистливые функции
8.3.8. Группы данных
8.3.9. Одержимость элементарными типами
8.3.10. Операторы типа switch
8.3.11. Параллельные иерархии наследования
8.3.12. Ленивый класс
8.3.13. Теоретическая общность
8.3.13. Временное поле
8.3.13. Цепочки сообщений
8.3.14. Посредник
8.3.15. Неуместная близость
413 8.3.16. Альтернативные классы с разными интерфейса- ми
8.3. 17. Неполнота библиотечного класса
8.3.18. Классы данных
8.3.19. Отказ от наследования
8.3.20. Комментарии
8.4. Уровни рефакторинга
8.5. Методы рефакторинга
8.5.1. Основные методы
8.5.2. Рефакторинг кода первого уровня
8.5.3. Рефакторинг условных выражений
8.5.4. Рефакторинг кода второго уровня
8.5.5. Методы рефакторинга, облегчающие работу с данными
8.5.6. Рефакторинг третьего уровня
8.6. Архитектурный рефакторинг
8.6.1. Когда нужен архитектурный рефакторинг
8.6.2. Построение архитектуры ПС по ее программному коду
8.6.3. Рефакторинг архитектуры многослойной иерар- хической ПС
8.6.4. Слои в архитектуре ПС. Паттерн выделения слоев