Развернуть ▼
Курс посвящен технологическим проблемам разработки крупномасштабных программных систем и методам решения этих проблем. В нем рассказывается о современных способах организации разработки таких систем на основе компонентных технологий на примере Web-приложений с использованием технологий Java и.NET, а также дается введение в эти технологии. Читатели получат хорошее представление о методах разработки сложного программного обеспечения, об использовании современных подходов к промышленной разработке программ и о способах построения качественных и гибких программ в условиях жестких ограничений на проекты разработки. Читатели также познакомятся с элементами технологий создания распределенных приложений на платформах J2EE и.NET.
Учебное пособие для студентов вузов, обучающихся по специальности 511900 «Информационные технологии».
СодержаниеПредисловие
Лекция 1. Проблемы разработки сложных программных систем
Программы «большие» и «маленькие»
Принципы работы со сложными системами
Лекция 2. Жизненный цикл и процессы разработки ПО
Понятие жизненного цикла ПО
Стандарты жизненного цикла
Группа стандартов ISO
Группа стандартов IEEE
Группа стандартов СММ, разработанных SEI
Модели жизненного цикла
Лекция 3. Унифицированный процесс разработки и экстремальное программирование
«Тяжелые» и «легкие» процессы разработки
Унифицированный процесс Rational
Экстремальное программирование
Лекция 4. Анализ предметной области и требования к ПО
Анализ предметной области
Выделение и анализ требований
Варианты использования
Лекция 5. Качество ПО и методы его контроля
Качество программного обеспечения
Методы контроля качества
Тестирование
Проверка на моделях
Ошибки в программах
Лекция 6. Архитектура программного обеспечения
Анализ области решений
Архитектура программного обеспечения
Разработка и оценка архитектуры на основе сценариев
UML. Виды диаграмм UML
Статические диаграммы
Динамические диаграммы
Лекция 7. Образцы проектирования
Образцы человеческой деятельности
Образцы анализа
Архитектурные стили
Каналы и фильтры
Многоуровневая система
Лекция 8. Образцы проектирования (продолжение)
Данные—представление-обработка
Образцы проектирования
Подписчик
Идиомы
Шаблонный метод
Образцы организации и образцы процессов
Инспекция программ по Фагану
Лекция 9. Принципы создания удобного пользовательского интерфейса
Удобство использования программного обеспечения
Психологические и физиологические факторы
Человеку свойственно ошибаться
Скоростные показатели деятельности человека
Внимание человека
Понятность
Память человека
Разные категории пользователей
Факторы удобства использования и принципы создания удобного ПО
Методы разработки удобного программного обеспечения
Контроль удобства программного обеспечения
Лекция 10. Основные конструкции языков Java и C#
Платформы Java и .NET
Лексика
Общая структура программы
Базовые типы и операции над ними
Логический тип
Целочисленные типы
Типы чисел с плавающей точкой
Инструкции и выражения
Выражения
Инструкции
Пользовательские типы
Лекция 11. Основные конструкции языков Java и C# (продолжение)
Наследование
Элементы типов
Шаблонные типы и операции
Дополнительные элементы описания операций
Описание метаданных
Средства создания многопоточных программ
Библиотеки
Лекция 12. Компонентные технологии и разработка распределенного ПО
Основные понятия компонентных технологий
Общие принципы построения распределенных систем
Синхронное и асинхронное взаимодействие
Транзакции
Лекция 13. Компонентные технологии разработки Wfcb-приложений
Web-приложения
Расширяемый язык разметки XML
Платформа Java 2 Enterprise Edition
Связь
Именование
Процессы и синхронизация
Целостность
Отказоустойчивость
Защита
Работа с XML
Платформа .NET
Связь
Именование
Процессы и синхронизация
Целостность
Отказоустойчивость
Защита
Работа с XML
Лекция 14. Разработка различных уровней Web-приложений в J2EE и.NET
Общая архитектура Wfeb-приложений
Уровень бизнес-логики и модели данных в J2EE
Компоненты данных и сеансовые компонент
Компоненты, управляемые сообщениями
Дескрипторы развертывания компонентов EJB
Уровень модели данных в .NET
Протокол HTTP
Уровень пользовательского интерфейса в J2EE
Сервлеты
Серверные страницы Java
Уровень пользовательского интерфейса в .NET
Лекция 15. Развитие компонентных технологий
Развитие технологий J2EE
Jakarta Struts
Java Server Faces
Управление данными приложения. Hibernate
Java Data Objects
Enterprise Java Beans 3.0
Среда Spring
Wsb-службы
Описание интерфейса Web-служб
Связь
Именование
Процессы
Синхронизация и целостность
Отказоустойчивость
Защита
Лекция 16. Управление разработкой ПО
Задачи управления проектами
Окружение проекта
Структура организации-исполнителя проекта
Организационная культура
Заинтересованные в проекте лица
Виды деятельности, входящие в управление проектом
Управление содержанием проекта и качеством
Метрики ПО
Управление ресурсами
Специфика управления персоналом
Управление рисками
Управление коммуникациями и информационным обеспечением
Литература