- •1.Предметная область. Прикладные программные системы (пс). Условия создания прикладных программных систем.
- •2.Автоматизированные системы управления и современные прикладные программные системы. Классификация, особенности.
- •3.Информационные системы и системы реального времени.
- •4.Требования к прикладным системам. Характеристика требований.
- •5.Требования к пс: адекватность предметной области; дружественность; возможность модификации.
- •6.Требования к пс: живучесть; защищенность. Проблемы переносимости. Универсальность и специализация.
- •7.Тиражирование прикладных систем. Тиражируемые, индивидуальные, слабо тиражируемые пс.
- •8.Модели жизненного цикла. Их характеристики.
- •9.Модели проектирования – каскадная, поэтапная, спиральная. Их особенности и области применения.
- •10.Планирование работы. Сетевой график.
- •11.Организация коллективной работы. Типы коллективов программистов.
- •12.Условия работы коллектива программистов.
- •13.Роли участников проекта: заказчик, пользователь, разработчик, руководитель, администратор.
- •14.Руководитель проекта, его действия по созданию работоспособного коллектива.
- •15.Профессиональная зрелость коллектива программистов.
- •16.Начальный этап проектирования. Анализ требований. Извлечение информации о предметной области.
- •17.Структурный системный анализ. Методология структурного системного анализа sadt (стандарт idef0).
- •18.Этап проектирования. Проектирование данных, функций, интерфейса, событий, выходных документов.
- •19.Потоки данных и процессы их обработки Диаграммы потоков данных в методологии Гейна-Сарсона.
- •20.Обсуждения: сквозной структурный контроль.
- •21.Принципы и виды отладки программ. Стратегии тестирования. Автономная и комплексная отладка.
- •22.Правила («Заповеди») тестирования.
- •23. Автономная отладка. Восходящее и нисходящее тестирование. Шаги автономного тестирования.
- •24. Комплексная отладка. Тестирование архитектуры, внешних функций, качества, документации, требований.
- •25. Особенности структурного тестирования (белый ящик). Его достоинства и недостатки.
- •26. Функциональное тестирование (черный ящик). Категории выявляемых ошибок.
- •27. Документирование прикладных программных систем. Этапы создания документации для тиражируемых систем.
- •28. Сдача прикладных систем в эксплуатацию.
- •29. Смена систем. Особенности проектирования «второй системы». Тактические приемы смены систем.
- •30. Особенности разработки заказных программных систем.
- •31. Подходы к перепроектированию технологических процессов: реинжиниринг бизнес-процессов (рбп) и асу.
- •32. Перепроектирование технологических процессов: модель управления по функциям и модель горизонтального потока. Цель и средства рбп.
- •33. Перепроектирование технологических процессов: риски. Критика подхода.
- •34. Перепроектирование технологических процессов и информационные технологии.
- •35. Классические и легкие методологии проектирования. Области применения.
- •36. Особенности подхода в методологии экстремального программирования.
- •37. Участники команды разработчиков в экстремальном программировании.
- •38. Экстремальное программирование: ценности, базовые принципы, виды деятельности.
- •39.Двенадцать правил экстремального программирования.
- •40. Риски легких методологий (на примере экстремального программирования).
- •41. Определение безнадежного проекта (бп). Категории бп.
- •42. Причины, порождающие безнадежные проекты.
- •43. Участники безнадежного проекта.
- •44. Отношение руководителя проекта и разработчиков к бп различных типов.
- •45. Оценка сложности проекта. Переговоры. Допустимые компромиссы.
- •46. Стратегии проведения переговоров в бп.
- •47. Человеческий фактор в бп: формирование команды.
- •48. Человеческий фактор в бп: условия работы.
- •49. Человеческий фактор в бп: мотивация, вознаграждение.
- •50. Роли участников команды бп.
35. Классические и легкие методологии проектирования. Области применения.
Легкие методологии предназначены для использования небольшими динамичными компаниями, работающими в условиях очень сжатых сроков, быстро меняющихся требований и необходимости обеспечения достаточно высокого качества. Внедрение таких методологий не требует ни серьезных инвестиций, ни перестройки структуры фирмы для своего внедрения — сотрудникам просто надо договориться о новом способе работы. Появились в противовес тяжёлым методологиями, на внедрение и поддержание которых требуются существенные затраты (для того чтобы следовать им, необходимо выполнять настолько много дополнительной работы, что производительность разработки снижается).
Классическая методология создания ПО, используемая в мире уже не один десяток лет, состоит из шести последовательных этапов — анализ требований, проектирование, кодирование, сборка, тестирование, внедрение/сопровождение. На ее основе разработаны конкретные популярные модели. Модель “Водопад” предусматривает последовательный переход от фазы к фазе — поочередно выполняются определение системных требований, анализ требований к продукту, предварительное и детальное проектирование, кодирование, тестирование, объединение модулей, проверка работы всей системы, комплексное и системное тестирование и внедрение.
Главная проблема подобных подходов — экспоненциальный рост времени на устранение выявляемых на последних этапах ошибок (особенно если они связаны с неверно спроектированной архитектурой системы или с плохо сформулированными требованиями).
Оптимумом является такое решение, которое при условии снижения затрат на поддержание самого процесса, в наибольшей степени удовлетворяет поставленным целям. При априорном выборе той или иной готовой методологии, будь то легкой или традиционной, существует небольшая вероятность того, что получившийся результат будет оптимален при данных условиях. Однако тот факт, что методологии образуют единое пространство, позволяет приближаться к оптимуму последовательно. Можно оптимизировать наиболее критичные для поставленных целей процессы, причем реализовать их таким образом, чтобы максимально эффективно использовать ресурсы организации – время, деньги, квалификацию сотрудников и т. д. При изменении условий или если обнаружилось, что выбранные методы не решают поставленных задач, можно двигаться дальше, охватывая новые процессы или оптимизируя существующие. Но понятие пространства методологий позволит рационально выбирать подходящие методы реализации процессов.
36. Особенности подхода в методологии экстремального программирования.
ЭМ нацелены на скорейшее получение конкретного результата, удовлетворение главных требований пользователя и более медленную доработку системы в соответствии с дополнительными пожеланиями. При этом требования могут меняться весьма значительно (поэтому длительность каждой итерации коротка, чаще всего неделя). Направление развития системы рассматривается прежде всего с точки зрения потенциальных рисков (сложные или сомнительные, если говорить о прикладной полезности, фунциональные возможности откладываются; учитывается близость конечного срока и объемы оставшихся бюджетных средств). ЭМ будут работать только при наличии высокопроизводительной команды, в которой отлажен механизм взаимодействия, а каждый сотрудник способен переключаться на разные виды работ.
Под «легким» подходом понимают методологию, в которой эти этапы либо сильно сокращены, либо отсутствуют вовсе. Разумеется, простое отбрасывание какого-то этапа, скорее всего, приведет к краху проекта, поэтому «легкие» методологии предполагают какую-то их компенсацию. Экстремальное программирование(XP) - одна из таких методологий.
Суть Авторы методологии экстремального программирования (ХР) предлагают использовать подход, который они назвали естественным. В отличие от разработки безнадежного проекта (Йордон), которая производится в условиях дефицита ресурсов, разработка в ХР должна вестись так, как будто всего хватает, особенно времени. При этом требуется выполнение некоторых правил, которые называются «двенадцатью правилами ХР» (смотри другой вопрос). Кроме того, авторы определяют четыре переменные, которые следует оптимизировать, и четыре ценности, которые поддерживаются в ХР. Деятельность в ХР базируется на пяти принципах, а всего родов деятельности четыре.
Переменные: затраты, время, качество, объем работ (функциональность).
Методология ХР позволяет самостоятельно выбрать наиболее критичные переменные, но рекомендует за основу взять объем работ. В заключение – о применимости этой методологии. Очевидно, что она хорошо подойдет для варианта разработки небольшого проекта в мало известной или быстро меняющейся области. Крупные системы для устоявшегося производственного процесса лучше проектировать традиционными методами.
