Архитектура и проектирование программных систем

Предисловие ВведениеПРОБЛЕМЫ СОЗДАНИЯ БОЛЬШИХ ПРОГРАММНЫХ СИСТЕМОсобенности разработки сложных (больших) программных системПроблемы создания ПСКризис программирования. Инженерный подход к разработке ПССтановление и развитие программной инженерииРазвитие технологий программированияЛитература к главе 1АРХИТЕКТУРЫ ПРОГРАММНЫХ СИСТЕМПонятие архитектуры программной системыПочему важна архитектураКак появляется архитектура. Кто и что влияет на архитектуруАрхитектурные образцы, эталонные модели и эталонные варианты архитектурыЧто определяет и на что влияет выбранная архитектураАрхитектурные структуры и представленияОтношения между структурамиВарианты архитектур программных системАрхитектура, основанная на уровнях абстракцийАрхитектуры, основанные на портахАрхитектуры, основанные на потоках данныхАрхитектуры независимых компонентовСервис-ориентированные архитектуры (SOА)Архитектурные представления программных системАрхитектурный вид - структура многослойной программной системыАрхитектурный вид - размещение программной системыАрхитектурный вид -размещение программной системы, основанной на потоках данныхАрхитектурный вид - распределение работ по группам разработчиковЛитература к главе 2ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНЫХ СИСТЕМПонятие жизненного цикла программных системОсновные процессы ЖЦ ПСВспомогательные процессы ЖЦ ПООрганизационные процессы ЖЦ ПСВзаимосвязь между процессами ЖЦ ПСМодели и стадии ЖЦ ПСВиды моделей ЖЦ ПС и технологии создания программных системКаскадная модель (классический жизненный цикл)Итерационная модель ЖЦ ПСМакетированиеСтратегии конструирования ПСИнкрементная модельСпиральная модель ЖЦ ПОРациональный унифицированный процессScram-методологияAgile-методологииУправление жизненным циклом приложенийЛитература к главе 3ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ СИСТЕМ. ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ И ЦЕЛЕЙ ПРОГРАММНОГО ПРОДУКТАПроцесс проектирования как последовательная трансляция требований, предъявляемых к системеМетодология решения задач проектирования ПС по Г. МайерсуУровни требований к программным системамОпределение требований к программным системамПостановка задачи и принципы разработки требованийБизнес-моделированиеОпределение функциональных требованийОпределение нефункциональных (эксплуатационных) требованийАнализ и управление требованиямиТребования и рискиПроверка правильности требованийЦели программного продуктаПостановка целей для программной системыЦели продуктаЦели проектаЛитература к главе 4РАЗРАБОТКА ПРЕДВАРИТЕЛЬНОГО ВНЕШНЕГО ПРОЕКТАПредставление и анализ требованийТребования в V-модели ХаллаМоделирование в определении требований и спецификацийРазработка программных систем, управляемая моделямиАнализ требований и определение спецификаций. Структурный подходСпецификацииСтруктурный подход представления спецификацийМетод функционального моделированияДиаграммы потоков данныхДиаграммы переходов состоянийАнализ требований и определение спецификаций при объектном подходеОбщие сведения о языке UML как языке моделирования сложных системОпределение прецедентов использованияКонцептуальная модель предметной области"/>Описание поведения системыРазработка предварительного внешнего проектаПроцесс внешнего проектированияПроектирование взаимодействия с пользователемПодготовка внешних спецификацийПроверка правильности внешних спецификацийЛитература к главе 5Проектирование архитектуры программных системМетодология проектированияМодульностьМодули, модульно-интерфейсный подход, модульное программированиеОбоснование модульностиВнутренняя характеристика модуля - связность (прочность)Сцепление модулей - внешняя характеристика модуляСложность программной системыМетоды оценки сложностиОценка сложности на основе связности и сцепления модулейПредставление архитектуры программных системМодульно-интерфейсный подходОбъектно ориентированный походКомпонентный подходСлои программного продуктаМетоды структурного проектированияМетод восходящей разработки («снизу вверх»)Метод нисходящей разработки («сверху вниз»)Формальное описание методики разработки модульной архитектуры программной системыПроектирование «сверху вниз»Проектирование «снизу вверх»Еще раз о проектировании архитектуры ПС на основе объектно-ориентированной и компонентной методологииЛитература к главе 6РЕФАКТОРИНГ ПРОГРАММНЫХ СИСТЕМЧто такое рефакторингРефакторинг, проектирование и производительность программКогда применять рефакторингУровни рефакторингаМетоды рефакторингаОсновные методыФормализация процесса рефакторинга на основе символьной записи структуры классовАрхитектурный рефакторинг. Архитектурные паттерныКогда нужен архитектурный рефакторингПостроение архитектуры ПС по ее программному кодуРефакторинг архитектуры многослойной иерархической ПССлои в архитектуре ПС. Паттерн выделения слоевАрхитектурный рефакторинг для повышения производительности многослойных программных системВозможный подход к созданию программных системПредставление созданной архитектуры ПСАнализ на соответствие послойной архитектуре (выделение слоев)Коррекция (трансформация) архитектуры в интересах ее рефакторингаРефакторинг архитектуры в интересах повышения производительности ПСЛитература к главе 7
 
  РЕЗЮМЕ   След >