Компонентный подход в программировании

       

Компонентный подход в программировании

Программы "большие" и "маленькие"
Принципы работы со сложными системами
Абстракция (abstraction) и уточнение (refinement).
Пример абстракции и уточнения.
Другой пример.
Модульность (modularity).
Пример.

Переиспользование.



Компонентный подход в программировании

Понятие жизненного цикла ПО
Стандарты жизненного цикла

Группа стандартов ISO
Группа стандартов IEEE
Группа стандартов CMM, разработанных SEI

Модели жизненного цикла

Компонентный подход в программировании


"Тяжелые" и "легкие" процессы разработки
Унифицированный процесс Rational
Экстремальное программирование

Компонентный подход в программировании

Анализ предметной области
Выделение и анализ требований
Варианты использования

Компонентный подход в программировании

Качество программного обеспечения

Методы контроля качества
Тестирование
Проверка на моделях
Ошибки в программах

Компонентный подход в программировании

Анализ области решений
Архитектура программного обеспечения

Разработка и оценка архитектуры на основе сценариев

UML. Виды диаграмм UML
Статические диаграммы
Динамические диаграммы

Компонентный подход в программировании

Образцы человеческой деятельности

Образцы анализа
Архитектурные стили
Каналы и фильтры
Многоуровневая система

Компонентный подход в программировании

Данные–представление–обработка

Образцы проектирования
Подписчик
Идиомы
Шаблонный метод

Образцы организации и образцы процессов
Инспекция программ по Фагану

Компонентный подход в программировании

Удобство использования программного обеспечения
Психологические и физиологические факторы
Человеку свойственно ошибаться
Скоростные показатели деятельности человека

Внимание человека
Понятность
Память человека
Разные категории пользователей
Факторы удобства использования и принципы создания удобного ПО

Методы разработки удобного программного обеспечения
Контроль удобства программного обеспечения

Компонентный подход в программировании

Платформы Java и .NET
Лексика
Общая структура программы
Базовые типы и операции над ними
Логический тип
Целочисленные типы

Типы чисел с плавающей точкой
Выражения
Инструкции

Пользовательские типы

Компонентный подход в программировании

Наследование
Элементы типов

Шаблонные типы и операции
Дополнительные элементы описания операций
Описание метаданных
Средства создания многопоточных программ
Библиотеки

Компонентный подход в программировании


Основные понятия компонентных технологий
Общие принципы построения распределенных систем
Синхронное и асинхронное взаимодействие
Транзакции

Компонентный подход в программировании

Web-приложения
Расширяемый язык разметки XML

Платформа Java 2 Enterprise Edition
Связь
Именование

Процессы и синхронизация
Целостность
Отказоустойчивость
Защита
Работа с XML
Платформа .NET
Процессы и синхронизация
Пример 13.1

Пример 13.2
Пример 13.3

Компонентный подход в программировании

Общая архитектура Web-приложений
Уровень бизнес-логики и модели данных в J2EE
Компоненты данных и сеансовые компоненты

Компоненты, управляемые сообщениями
Дескрипторы развертывания компонентов EJB
Уровень модели данных в .NET

Протокол HTTP
Уровень пользовательского интерфейса в J2EE
Сервлеты
Серверные страницы Java

Уровень пользовательского интерфейса в .NET

Компонентный подход в программировании

Развитие технологий J2EE
Jakarta Struts
Java Server Faces
Управление данными приложения. Hibernate

Java Data Objects
Среда Spring
Ajax
Web-службы
Описание интерфейса Web-служб
Связь

Именование
Процессы
Синхронизация и целостность
Отказоустойчивость
Защита

Компонентный подход в программировании

Задачи управления проектами

Окружение проекта
Структура организации–исполнителя проекта
Организационная культура
Заинтересованные в проекте лица
Виды деятельности, входящие в управление проектом

Управление содержанием проекта и качеством
Метрики ПО
Управление ресурсами

Специфика управления персоналом

Управление рисками
Управление коммуникациями и информационным обеспечением

Содержание раздела