ПРЕДИСЛОВИЕ
Цель учебника — введение в современные методы и средства проектирования программного обеспечения информационных систем (ПО ИС), основанные на международных стандартах и использовании CASE-технологии, а также формирование навыков их самостоятельного практического применения. При отборе материала автор стремился к следующему:
· осветить с системных позиций основные направления, существующие в области инженерного проектирования ПО или программной инженерии, не углубляясь в их детали, с тем чтобы сформировать у читателя целостное представление о данной области (в противном случае учебник мог бы превратиться в многотомную энциклопедию);
· заполнить пробел, имеющийся в отечественной учебной литературе по программной инженерии;
· учесть официально утвержденные и признанные де-факто международные и отечественные стандарты в области программной инженерии и прежде всего стандарт ISO 12207 «Процессы жизненного цикла ПО», на котором базируются почти все современные промышленные технологии создания ПО;
· рассмотреть современное состояние развития CASE-средств и промышленных технологий проектирования ПО.
В новом издании на основе опыта, накопленного автором в учебном процессе, а также новых материалов, появившихся с момента выпуска первого издания учебников 2002 и 2003 г., существенно пересмотрено и дополнено описание методов объектно-ориентированного анализа и проектирования ПО, добавлены новые разделы и примеры, изменена структура.
Учебник подготовлен в соответствии с Государственным образовательным стандартом по специальности 351400 «Прикладная информатика», но может быть использован также студентами и преподавателями других специальностей, связанными с проектированием информационных систем и программного обеспечения, в частности 351500 «Математическое обеспечение и администрирование информационных систем» и 010200 «Прикладная математика и информатика». Он состоит из введения и семи глав.
Во введении рассматриваются основные проблемы современных проектов, причины их возникновения и способы разрешения.
В главе 1 описываются процессы и модели жизненного цикла (ЖЦ) ПО, модель оценки зрелости процессов создания ПО СММ и уровни зрелости процессов создания ПО. В качестве примеров процессов рассмотрены управление требованиями и управление конфигурацией ПО.
Глава 2 посвящена методическим аспектам проектирования ПО. Рассматриваются общие принципы проектирования систем, структурный и объектно-ориентированный подходы к анализу и проектированию ПО, унифицированный язык моделирования UML.
В главе 3 даны описание моделирования бизнес-процессов и спецификации требований к ПО. Представлены различные подходы к моделированию бизнес-процессов — структурные методы (диаграммы потоков данных, метод ARIS) и объектно-ориентированный подход к моделированию бизнес-процессов с использованием языка UML, а в главе 4 — методы анализа и проектирования ПО на основе структурного и объектно-ориентированного подхода.
Основная часть материала третьей и четвертой глав построена на методической базе одной из наиболее развитых современных технологий Rational Unified Process, ее применение иллюстрируется на примере учебного проекта.
Глава 5 посвящена технологиям создания ПО. Приводится система понятий, описывающих технологию создания ПО, состав компонентов технологии, требования, предъявляемые к технологии, факторы выбора технологии и пример технологии Rational Unified Process.
В главе 6 рассматриваются различные методы и стандартные метрики, применяемые для оценки трудоемкости создания ПО.
В главе 7 обсуждаются особенности управления современными проектами создания ПО в условиях жестких ресурсных ограничений.
В конце книги даются дополнительная литература, краткий словаь терминов и список основных сокращений.
Подготовка второго издания учебника во многом стала возможной благодаря той положительной реакции, которую я получал от своих многочисленных слушателей — специалистов различных организаций России и ближнего зарубежья, а также студентов факультета вычислительной математики и кибернетики МГУ.
Автор выражает также глубокую благодарность рецензентам — профессору Георгию Николаевичу Калянову и доценту Алексею Алексеевичу Сорокину, взявшим на себя труд прочитать рукопись и сделавшим ряд конструктивных замечаний. Я благодарен своей семье — жене Марине и дочери Александре за поддержку и терпение, которое они проявили в период написания книги.