Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы Технология Программирования.docx
Скачиваний:
1
Добавлен:
17.09.2019
Размер:
172.84 Кб
Скачать
  1. Технология программирования и основные этапы ее развития.

Технология программирования – совокупность методов и средств используемых в разработке ПО – это набор технологических инструкций, включающих указания последовательности выполнения технологических операций, перечислении условий, при которых выполняется операция, описания самих операций, где определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки.

Этапы:

  1. Стихийное программирование (конец 40-ых – начало 60-ых годов) – программы описывались в машинных кодах. Программы записывались на машинных языках для каждого типа ЭВМ. Программирование рассматривалось, как искусство реализации алгоритмов задач. Для удобства записи команд начали создаваться ЯСК (Языки Символьного Кодирования). Вслед за ЯСК появились трансляторы, а именно интерпретаторы и компиляторы.

  2. Структурных подход (60-ые – 70-ые года) – совокупность технологических приёмов в основе которого лежит декомпозиция (деление на части). Появились методы проектирования программ. Стали создаваться библиотеки подпрограмм, включаемые на этапе редактирования текста программ.

  3. Объектно-ориентированное программирование (середина 80-ых – конец 90-ых) – программы представляются в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию с наследованием свойств. Взаимодействие объектов происходит путём передачи сообщений.

  4. Компонентный подход и CASE-технологии – основан на построении ПО из отдельных компонентов физически существующих раздельно. Компоненты могут быть собраны в отдельные динамические библиотеки или исполняемые файлы распространяемые без исходных текстов.

  1. Жизненный цикл и этапы разработки программного обеспечения.

Классический жизненный цикл

  1. Системный анализ

  2. Анализ требований – уточняются и детализируются функции программного элемента, его характеристики и интерфейс.

  3. Проектирование – состоит в создании представлений:

    1. Архитектуры ПО

    2. Модульной структуры ПО

    3. Алгоритмической структуры ПО

    4. Структуры данных

    5. Входного и выходного интерфейса (входных и выходных форм данных)

  4. Кодирование – перевод результатов проектирования в текст на языке программирования.

  5. Тестирование – выполнение программы для выявления дефектов в функциях, логике и форме реализации ПО.

  6. Сопровождение:

    1. Исправление ошибок

    2. Адаптация к изменениям внешней для ПО среды.

    3. Усовершенствование по требованию заказчика.

  1. Характеристика основных, вспомогательных и организационных процессов ЖЦ.

  • Основные:

    • Приобретение (действия и задачи заказчика, приобретающего ПО)

    • Поставка (действия и задачи поставщика, который снабжает заказчика программным продуктом или услугой)

    • Разработка (действия и задачи, выполняемые разработчиком: создание ПО, оформление проектной и эксплуатационной документации, подготовка тестовых и учебных материалов и т. д.)

    • Эксплуатация (действия и задачи оператора — организации, эксплуатирующей систему)

    • Сопровождение (действия и задачи, выполняемые сопровождающей организацией, то есть службой сопровождения). Сопровождение — внесений изменений в ПО в целях исправления ошибок, повышения производительности или адаптации к изменившимся условиям работы или требованиям.

  • Вспомогательные

    • Документирование (формализованное описание информации, созданной в течение ЖЦ ПО)

    • Управление конфигурацией (применение административных и технических процедур на всем протяжении ЖЦ ПО для определения состояния компонентов ПО, управления его модификациями).

    • Обеспечение качества (обеспечение гарантий того, что ИС и процессы ее ЖЦ соответствуют заданным требованиям и утвержденным планам)

    • Верификация (определение того, что программные продукты, являющиеся результатами некоторого действия, полностью удовлетворяют требованиям или условиям, обусловленным предшествующими действиями)

    • Аттестация (определение полноты соответствия заданных требований и созданной системы их конкретному функциональному назначению)

    • Совместная оценка (оценка состояния работ по проекту: контроль планирования и управления ресурсами, персоналом, аппаратурой, инструментальными средствами)

    • Аудит (определение соответствия требованиям, планам и условиям договора)

    • Разрешение проблем (анализ и решение проблем, независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов)

  • Организационные

    • Управление (действия и задачи, которые могут выполняться любой стороной, управляющей своими процессами)

    • Создание инфраструктуры (выбор и сопровождение технологии, стандартов и инструментальных средств, выбор и установка аппаратных и программных средств, используемых для разработки, эксплуатации или сопровождения ПО)

    • Усовершенствование (оценка, измерение, контроль и усовершенствование процессов ЖЦ)

    • Обучение (первоначальное обучение и последующее постоянное повышение квалификации персонала)

  1. Эволюция моделей жц.

Итерационная модель

Альтернативой последовательной модели является так называемая модель итеративной и инкрементальной разработки (англ. iterative and incremental development, IID), получившей также от Т. Гилба в 70-е гг. название эволюционной модели. Также эту модель называют итеративной моделью и инкрементальной моделью.

Модель IID предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект», включая все процессы разработки в применении к созданию меньших фрагментов функциональности, по сравнению с проектом в целом. Цель каждой итерации — получение работающей версии программной системы, включающей функциональность, определённую интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта. Таким образом, с завершением каждой итерации продукт получает приращение — инкремент — к его возможностям, которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и эволюционность в данном случае есть выражение одного и то же смысла разными словами со слегка разных точек зрения.

Спиральная модель.

См. тетрадь.

  1. Основные составляющие case-технологии.

CASE (англ. Computer-Aided Software Engineering) — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов. Также под CASE понимают совокупность методов и средств проектирования информационных систем с интегрированными автоматизированными инструментами, которые могут быть использованы в процессе разработки программного обеспечения.

проектирования интерфейсов, документирования и производства структурированного кода на желаемом языке программирования.

Все современные кейс-устройства могут классифицироваться, в основном, по типам и категориям. Классификация по типам отражает функциональную ориентацию кейс-средств на те или иные процессы жизненного цикла и, в основном, совпадают с компонентным составом кейс-средства и включает следующие типы:

  • Средства анализа - предназначены для построения и анализа предметной области;

  • Средства проектирования баз данных;

  • Средства разработки приложений;

  • Средства реинжиниринга (где реинжиниринг - это фундаментальное переосмысление и радикальное перепроектирование процессов для достижения резких улучшений в решающих показателях деятельности компании);

  • Средства планирования и управления проектом;

  • Средства тестирования;

  • Средства документирования.

  1. Технологии rad и xp.

Экстремальное программирование (англ. Extreme Programming, XP) — одна из гибких методологий разработки программного обеспечения.

Двенадцать основных приёмов экстремального программирования (по первому изданию книги Extreme programming explained) могут быть объединены в четыре группы:

  • Короткий цикл обратной связи (Fine scale feedback)

    • Разработка через тестирование (Test driven development)

    • Игра в планирование (Planning game)

    • Заказчик всегда рядом (Whole team, Onsite customer)

    • Парное программирование (Pair programming)

  • Непрерывный, а не пакетный процесс

    • Непрерывная интеграция (Continuous Integration)

    • Рефакторинг (Design Improvement, Refactor)

    • Частые небольшие релизы (Small Releases)

  • Понимание, разделяемое всеми

    • Простота (Simple design)

    • Метафора системы (System metaphor)

    • Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership)

    • Стандарт кодирования (Coding standard or Coding conventions)

  • Социальная защищенность программиста (Programmer welfare):

    • 40-часовая рабочая неделя (Sustainable pace, Forty hour week)

RAD (от англ. rapid application development — быстрая разработка приложений) — концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. Практическое определение: RAD — это жизненный цикл процесса проектирования, созданный для достижения более высокой скорости разработки и качества ПО, чем это возможно при традиционном подходе к проектированию. С конца XX века RAD получила широкое распространение и одобрение. Концепцию RAD также часто связывают с концепцией визуального программирования.

Технология быстрой разработки приложений (RAD) позволяет обеспечить:

  • быстроту продвижения программного продукта на рынок;

  • интерфейс, устраивающий пользователя;

  • легкую адаптируемость проекта к изменяющимся требованиям;

  • простоту развития функциональности системы.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]