Скачать презентацию 1 Основные понятия и подходы Технологии программирования Скачать презентацию 1 Основные понятия и подходы Технологии программирования

Модуль_1.PPT

  • Количество слайдов: 25

1. Основные понятия и подходы Технологии программирования 1. Основные понятия и подходы Технологии программирования

Обзор n Технология программирования и основные этапы ее развития n Жизненный цикл и этапы Обзор n Технология программирования и основные этапы ее развития n Жизненный цикл и этапы разработки программного обеспечения n Оценка качества и технологичность программного продукта

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

Этапы развития: «стихийное» программирование l Первые программы имели простейшую структуру и состояли из программы Этапы развития: «стихийное» программирование l Первые программы имели простейшую структуру и состояли из программы на машинном языке и обрабатываемых ею данных l Позже появились средства, позволяющие оперировать подпрограммами, которые можно было сохранять и использовать в других программах

Этапы развития: структурный подход l Структурный подход к программированию представляет совокупность рекомендуемых технологических приемов, Этапы развития: структурный подход l Структурный подход к программированию представляет совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения l В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм l Процедурные языки программирования (ALGOL-68, Pascal, С) включали основные «структурные» операторы передачи управления, поддерживали вложение подпрограмм, локализацию и ограничение области «видимости» данных

Этапы развития: объектный подход l Объектно-ориентированное программирование определяется как технология, основанная на представлении программы Этапы развития: объектный подход l Объектно-ориентированное программирование определяется как технология, основанная на представлении программы в виде совокупности объектов каждый из которых является экземпляром , определенного типа (класса), а классы образуют иерархию с наследованием свойств l Декомпозиция программного обеспечения при объектно-ориентированном программировании приводит к более полной локализации данных, что позволяет вести практически независимую разработку отдельных частей (объектов) программы. l Объектный подход позволяет конструировать сложные объекты из сравнительно простых

Этапы развития: компонентный подход и CASEтехнологии l Компонентный подходпредполагает построение программного обеспечения из отдельных Этапы развития: компонентный подход и CASEтехнологии l Компонентный подходпредполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы l Программный интерфейс— функциональность, которую некоторый программный компонент предоставляет другим программным компонентам l Объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию .

Этапы развития: компонентный подход и CASEтехнологии CASE-средства (Computer-Aided Software Engineering)программно-технологические средства специального класса n Этапы развития: компонентный подход и CASEтехнологии CASE-средства (Computer-Aided Software Engineering)программно-технологические средства специального класса n Главные составляющие. CASE-продукта: l методология (Method Diagrams) l графические редакторы (Graphic Editors) l генератор l репозиторий

Жизненный цикл программного продукта n Жизненным циклом программного продукта (обеспечения) (ЖЦПП) называют период от Жизненный цикл программного продукта n Жизненным циклом программного продукта (обеспечения) (ЖЦПП) называют период от момента появления идеи создания некоторого программного продукта до момента завершения его поддержки фирмой-разработчиком или фирмой, выполнявшей сопровождение n Процесс жизненного цикла определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные Международный стандарт ISO/IEC 12207

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

Структура процессов ЖЦПП n Каждый процесс характеризуется определенными задачами и методами их решения, а Структура процессов ЖЦПП n Каждый процесс характеризуется определенными задачами и методами их решения, а также исходными данными и результатами Основные процессы приобретение , поставка, разработка, эксплуатация , сопровождение Вспомогательные процессы документирование, управление конфигурацией , управление качеством, верификация, аттестация , совместная оценка , аудит, разрешение проблем Организационные процессы управление, создание инфраструктуры, усовершенствование, обучение

Этапы ЖЦПП n Этап ЖЦПП– это часть процесса разработки ПП, ограниченная по времени и Этапы ЖЦПП n Этап ЖЦПП– это часть процесса разработки ПП, ограниченная по времени и заканчивающаяся определенным результатом n Этапы ЖЦПП: l постановка задачи l планирование работ по созданию ПП l проектирование ПП l реализация (программирование) l тестирование l сопровождение и эксплуатация

Каскадная модель ЖЦПП Каскадная схема разработки программного обеспечения предполагает, что переход на следующую стадию Каскадная модель ЖЦПП Каскадная схема разработки программного обеспечения предполагает, что переход на следующую стадию осуществляется после того, как полностью будут завершены проектные операции предыдущей стадии и получены все исходные данные для следующей стадии

Модель с промежуточным контролем n Схема, поддерживающая итерационный характер процесса разработки, была названа схемой Модель с промежуточным контролем n Схема, поддерживающая итерационный характер процесса разработки, была названа схемой с промежуточным контролем n Контроль, который выполняется по данной схеме после завершения каждого этапа, позволяет при необходимости вернуться на любой уровень и внести необходимые изменения

Спиральная модель n В соответствии со спиральной схемой программное обеспечение создается не сразу, а Спиральная модель n В соответствии со спиральной схемой программное обеспечение создается не сразу, а итерационно с использованием метода прототипирования, базирующегося на создании прототипов

Спиральная модель n Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы Спиральная модель n Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого программного обеспечения n Преимущества: l сокращение времени до появления первых версий l быстрое продвижение следующих версий продукта на рынке l уменьшение вероятности морального устаревания системы за время разработки

Оценка качества n Существует несколько стандартов, связанных с оценкой качества процессов, которое обеспечивает организация-разработчик, Оценка качества n Существует несколько стандартов, связанных с оценкой качества процессов, которое обеспечивает организация-разработчик, среди них: l международные стандарты серии ISO 9000 (ISO 9000 - ISO 9004) l СММ - Capability Maturity Model l рабочая версия международного стандарта ISO/IEC 15504: более известна под названием SPICE Software Process Improvement and Capability d. Etermination

Технологичность программного продукта n Под технологичностью понимают качество проекта программного продукта, от которого зависят Технологичность программного продукта n Под технологичностью понимают качество проекта программного продукта, от которого зависят трудовые и материальные затраты на его реализацию и последующие модификации n Технологичность программного обеспечения определяется: l проработанностью его моделей l уровнем независимости модулей l стилем программирования l степенью повторного использования кодов

Модули и их свойства n Модулем - автономно компилируемая программная единица. n Чем выше Модули и их свойства n Модулем - автономно компилируемая программная единица. n Чем выше степень независимости модулей, тем: l легче разобраться в отдельном модуле и всей программе, то есть, тестировать, отлаживать и модифицировать ее l меньше вероятность появления новых ошибок при исправлении старых или внесении изменений в программу l проще организовать разработку программного обеспечения группой программистов и легче его сопровождать

Нисходящая и восходящая разработка программного обеспечения n При проектировании, реализации и тестировании компонентов структурной Нисходящая и восходящая разработка программного обеспечения n При проектировании, реализации и тестировании компонентов структурной иерархии, полученной при декомпозиции, применяют два подхода: l восходящий - сначала проектируют и реализуют компоненты нижнего уровня, затем предыдущего l нисходящий - вначале проектируют компоненты верхних уровней иерархии, затем следующих и так далее до самых нижних уровней

Структурное программирование n Программы, написанные с использованием только структурных операторов передачи управления, называютструктурными l Структурное программирование n Программы, написанные с использованием только структурных операторов передачи управления, называютструктурными l Линейная структура предполагает выполнение некоторые операции в определенной последовательности l Разветвленная структура предполагает, что конкретная последовательность операций зависит от значений одной или нескольких переменных l Циклическая структура процесса вычислений предполагает необходимость выполнения некоторых действий несколько раз

Базовые конструкции l следование - обозначает последовательное выполнение действий l ветвление- соответствует выбору одного Базовые конструкции l следование - обозначает последовательное выполнение действий l ветвление- соответствует выбору одного из двух вариантов действий l цикл-пока - определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла

Стиль оформления программы n Стиль оформления программы включает: l правила именования объектов программы (переменных, Стиль оформления программы n Стиль оформления программы включает: l правила именования объектов программы (переменных, функций, типов, данных и т. п. ) l правила оформления модулей l стиль оформления текстов модулей

Эффективность и технологичность n Эффективнымисчитают программы, требующие минимального времени выполнения и/или минимального объема оперативной Эффективность и технологичность n Эффективнымисчитают программы, требующие минимального времени выполнения и/или минимального объема оперативной памяти n В первую очередь необходимо оптимизировать те фрагменты программы, которые существенно влияют на характеристики эффективности

Защита от ошибок Поскольку полный контроль данных на входе и в процессе вычислений, как Защита от ошибок Поскольку полный контроль данных на входе и в процессе вычислений, как правило, невозможен, следует предусматривать перехват обработки исключительных ситуаций