- •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. Роли участников команды бп.
25. Особенности структурного тестирования (белый ящик). Его достоинства и недостатки.
Структурное тестирование – отладка на основе текстов программ.
Известно: внутренняя структура программы.
Исследование: внутренние элементы программы и связи между ними.
Объект исследования: внутреннее поведение программы.
Тесты демонстрируют корректность построения всех элементов программы; правильность их взаимодействия.
Характеристика: степень покрытия логики программы.
Структурное тестирование основано на анализе управляющей структуры программы. При проведении тестирования формируются тестовые варианты, при которых
гарантируется проверка всех независимых маршрутов;
проходятся все ветви логических решений;
выполняются все циклы;
анализируется правильность внутренних структур данных.
Недостатки методов
Количество маршрутов слишком велико. Пусть, например, цикл, выполняющийся k раз, содержит n ветвлений. Тогда количество маршрутов
.
Если n=5, k=2,
то m = 1014, что
при времени одного прогона, равном 1
мс, составит при круглосуточной работе
3170 лет.Исчерпывающее тестирование маршрутов не гарантирует соответствия программы исходным требованиям.
Нельзя обнаружить ошибки, появление которых зависит от данных.
Достоинства методов – учитываются особенности программных ошибок.
Количество ошибок минимально в центре и максимально на периферии программ.
Предварительные предположения о вероятности потока управления или данных в программе могут быть некорректными – тогда типовым может стать другой маршрут.
При записи алгоритма на языке программирования возможно внесение типовых ошибок, которые легко определяются.
Некоторые результаты зависят не столько от исходных данных, сколько от внутренних состояний программы.
26. Функциональное тестирование (черный ящик). Категории выявляемых ошибок.
Тестирование методом "черного ящика" предполагает обработку системы как "непрозрачного объекта", таким образом знание внутренней структуры в явном виде не используется. Функциональное тестирование - отладка на основе спецификаций.
Известно: функции программы.
Исследование: работа каждой функции на всей области определения.
Объект исследования: интерфейс.
Тесты демонстрируют
как выполняются функции программ;
как принимаются исходные данные;
как вырабатываются результаты;
как сохраняется целостность внешней информации.
Методы функционального тестирования (черного ящика) позволяют обеспечить проверку функциональных требований путем формирования соответствующих исходных данных. Этими методами исследуются входо-выходные соотношения, характерные для данной предметной области и выраженные в спецификации программы. Для проведения полноценного тестирования необходимо знать особенности предметной области и иметь опыт составления тестовых вариантов и оценки результатов тестирования. Этой работой должны заниматься специалисты высокой квалификации.
Рассматриваются следующие категории ошибок:
некорректные или отсутствующие функции;
ошибки интерфейса;
ошибки в доступе к внешним данным (неверное понимание структуры данных);
ошибки характеристик (память, время и т.п.);
ошибки инициализации и завершения.
Основные задачи, стоящие при тестировании этими методами, следующие:
сокращение необходимого числа тестовых вариантов;
выявление классов ошибок.
