
- •Вопросы к экзамену по курсу "Технология программирования"
- •История развития языков программирования высокого уровня.
- •Архитектура языков программирования (три поколения).
- •Архитектура объектно-ориентированных языков программирования.
- •Сложность, присущая по (основные причины). Проблемы, возникающие при создании сложных систем.
- •Структура сложных систем (пять признаков). Примеры сложных систем (выделить признаки).
- •Основные понятия: метод, методология, технология. Классификация методов проектирования пс. Общая характеристика методов проектирования.
- •Эволюция программного продукта. Основные определения, понятия, отличительные черты.
- •Понятие «модуль» в программировании. Различные виды модулей при использовании основных методов проектирования пс.
- •Case – технологии (инструменты, системы, средства). Эволюция case – средств, их классификация, характеристики современных case – инструментов. Перспективы развития.
- •Роль case – инструментов в объектно-ориентированной методологии разработки пс. Связь case – технологии с методами быстрой разработки приложений (rad).
- •Классификация средств разработки (case - инструментов).
- •Жизненный цикл по (жц). Структура жц, основные фазы жц.
- •Организация процесса разработки пс (методы, средства, процедуры).
- •Модели процесса разработки пс (каскадная, спиральная)
- •Модели процесса разработки пс (компонентно-ориентированная, инкрементная, rad – модель).
- •Тяжеловесные и облегченные процессы разработки пс.
- •Унифицированный процесс разработки пс.
- •Iconix – процесс.
- •Scrum – процесс.
- •Артефакты
- •Встречи
- •Планирование спринта происходит в начале итерации(не более 4-8 часов), выбирается что будет сделано и обсуждается как это будет сделано.
- •Митинг Происходит каждый день в течение спринта(не более 15 минут), ищутся ответы на вопросы: что сделано? Что надо сделать? Какие есть проблемы?
- •Демонстрация проходит в конце спринта(не более 4-8 часов), показывается инкремент.
- •Прототип системы (достоинства и недостатки макетирования).
- •Масштаб проекта и риски
- •Содержание основных рабочих процессов по созданию по (анализ требований, системный анализ, проектирование).
- •Содержание основных рабочих процессов по созданию по (кодирование, тестирование).
- •Изменения в процессе эволюции программных систем, стоимость каждого вида изменения (в смысле затрат).
- •Организационные процессы (распределение ресурсов, управление проектом, организация коллектива разработчиков).
- •Документирование программного продукта. Различные виды документов, их содержание.
- •Виды документов при использовании объектно-ориентированной методологии разработки пс.
- •Временные затраты на реализацию этапов разработки по. Особенности распределения ресурсов при использовании объектно-ориентированной методологии.
- •Методы и средства структурного анализа.
- •Диаграммы потоков данных с расширениями для реального времени.
- •Пример банковской задачи (провести анализ).
- •Средства структурного проектирования (карты Константайна).
- •Методы проведения анализа объектно-ориентированных систем.
- •Типовая и структурная иерархии в объектно-ориентированной методологии.
- •Унифицированный язык моделирования пс (uml). Словарь, достоинства и возможности
- •Механизмы расширения в uml.
- •Диаграммы классов (точки зрения).
- •Отношения в диаграмме классов.
- •Классы ассоциаций.
- •Диаграммы вариантов использования, реализации вариантов использования.
- •Диаграммы взаимодействий.
- •Диаграммы пакетов и компонентов.
- •Диаграммы состояний.
- •Диаграммы активности (деятельностей).
- •Каркасы и паттерны.
- •Основные понятия и определения теории тестирования. Подходы к тестированию. Стратегии тестирования. Критерии тестирования.
- •Критерии тестирования стратегии "черного ящика".
- •1. Эквивалентное разбиение (самый популярный критерий из-за простоты)
- •2. Анализ граничных условий.
- •3. Метод функциональных диаграмм
- •Классический процесс тестирования по.
- •Тестирование модулей (блоков) программы. Тестирование интеграции.
- •Тестирование правильности (функциональное тестирование). Системное тестирование.
- •Особенности тестирования объектно-ориентированных программ. Тестирование классов.
- •Тестирование взаимодействия классов и функционирования компонентов.
- •Вопросы автоматизации тестирования. Инструменты тестирования.
Case – технологии (инструменты, системы, средства). Эволюция case – средств, их классификация, характеристики современных case – инструментов. Перспективы развития.
Роль case – инструментов в объектно-ориентированной методологии разработки пс. Связь case – технологии с методами быстрой разработки приложений (rad).
Классификация средств разработки (case - инструментов).
Средства разработки классифицируются в следующие типы: 3GL, специализированные, мультиплатформенные, Smalltalk, файл-ориентированные базы данных, предназначенные для генерации отчетов и CLAP, генерирующие код, CASE, разделяющие приложение и Web-ориентированные.
Средства категории 3GL - это традиционные языки программирования общего назначения, такие как C++, Pascal, Cobol и FORTRAN. Лучшими представителями на рынке "клиент-сервер" являются Microsoft Visual C++, Borland C++, Symantec C++ и Borland Object Pascal.
Специализированные средства предназначены для специфической цели создания приложений, баз данных в архитектуре "клиент-сервер". Сегодня всем привычны такие названия специализированных средств как PowerBuilder, Delphi и Visual Basic. Такие средства обеспечивают разработчика всем необходимым для проектирования, построения и внедрения приложения.
Мультиплатформенные средства (их также называют кросс-платформенными) очень похожи на специализированные средства, но позволяют распространить одно приложение на произвольное число платформ. Эти средства дают возможность разрабатывать приложения для организаций, располагающих большим количеством разнотипных клиентских платформ. Примерами мультиплатформенных средств являются Jam 7 (JYACC Corp.), Unifi (Unifi Corp.) и Unuface (Compuware Corp.).
Средства Smalltalk образуют отдельную категорию. В них применяется чисто объектный подход к разработке приложений. На основе усложненного механизма оболочек даже реляционные базы данных трактуются как объекты. Примерами средств Smalltalk являются Object Studio (VMark Software Inc.), Visual Age for Smalltalk (IBM Corp.), Visual Smalltalk Enterprise и Visual Works (PatkPlace-Digitalk Inc.)
Файл-ориентированные и основанные на персональных базах данных средства происходят от средств семейства Xbase и включают Microsoft Visual FoxPro и Access, Lotus Approach и Borland Visual dBase. Эти средства работают с базами данных, хранящимися в файлах на локальных или совместно используемых дисках.
Средства генерации отчетов и разработки CLAP-приложений, не будучи предназначенными для создания приложений общего назначения, позволяют разработчикам создавать специализированные аналитические приложения с целью выборки и обработки данных, генераторы отчетов на основе языка SQL дают возможность визуального проектирования отчетов и генерируют SQL-код, требуемый для общения с базой данных. Примерами таких средств являются Report Smith (Borland) и Crystal Report (Seagate Software).
Средства, генерирующие код, работают подобно специализированным средствам, но генерируют код на языках третьего поколения, обрабатываемый традиционными компиляторами, а не обеспечивают свои собственные механизмы. Пример такого средства - ProtoGen компании Protosoft.
CASE-средства позволяют разработчикам и архитекторам приложений проектировать и создавать как приложения, так и базы данных. В них используются сложные подсистемы работы с диаграммами, позволяющие понять систему на логическом уровне, прежде чем генерировать прикладные объекты и схему базы данных. Примерами моделирующих средств, генерирующих приложения для Visual Basic, PowerBuilder и других средств разработки являются Rational Rose (Rational Software) и Erwin (Logic Works).
Средства, разделяющие приложения, такие как Cactus (IBM), Forte (Forte) и Dynasty (Dynasty) позволяют разработчику создать логическую версию приложения, а затем распределить выполняемые объекты между несколькими доступными серверами. В отличие от ранних специализированных средств разработки приложений в архитектуре "клиент-сервер", в которых почти всегда используется двухзвенная модель "клиент-сервер" с "толстым" клиентом, средства, разделяющие приложения, основаны на n-звенной модели и дают возможность выполнять объекты приложения на любом числе серверов и/или клиентов.
Самую новую категорию средств разработки составляют Web-ориентированные средства. На самом деле, эти средства являются новыми версиями средств, рассмотренных ранее, за исключением того, что они позволяют генерировать приложения для использования в Internet или Intranets. В них используются такие технологии как HTML, CGI, NSAPI, ISAPI, Java и ActiveX. К средствам, специально ориентированным на разработку Web-приложений, относятся Visual J++ (Microsoft) и Cafe Pro (Symantec). Unify и Uniface поддерживают возможность как приложений в архитектуре "клиент-сервер", так и Web-приложений.