- •Билет 1 (Понятие технологии программирования. Характеристика основных этапов ее развития.)
- •Билет 2 (Основные этапы развития технологии программирования. Первый и второй этапы.)
- •Билет 3 (Основные этапы развития технологии программирования. Третий и четвертый этапы.)
- •Билет 4 (Программа как формализованное описание процесса обработки данных. Программное средство.)
- •Билет 5 (Неконструктивность понятия правильной программы. Надежность программного средства.)
- •Билет 6 (Технология программирования как технология разработки надежных программных средств.)
- •Билет 7 (Интеллектуальные возможности человека, используемые при разработке программного средства.)
- •Билет 8 (Причина ошибок в программных средствах. Основные пути борьбы с ошибками.)
- •Билет 9 (Специфика разработки программных средств. Жизненный цикл программного средства.)
- •Билет 10 (Основные подходы к организации процесса создания и использования программного средства.)
- •Билет 11 (Водопадный подход к организации процесса создания и использования программного средства.)
- •12. Понятие качества программного средства.
- •14. Методы борьбы со сложностью. Обеспечение точности перевода. Преодоление барьера между пользователем и разработчиком. Известны два общих метода борьбы со сложностью систем:
- •15. Методы борьбы со сложностью. Контроль принимаемых решений. Известны два общих метода борьбы со сложностью систем:
- •19. Спецификация качества программного средства.
- •21) Методы контроля внешнего описания программного средства.
- •22)Основные подходы к спецификации семантики функций.
- •23) Метод таблиц решений.
- •24) Операционная семантика.
- •26) Аксиоматическая семантика.
- •27) Языки спецификаций.
- •28) Понятие архитектуры программного средства. Цельная программа. Комплекс автономно выполняемых программ.
- •29) Понятие архитектуры программного средства. Слоистая программная система. Коллектив параллельно выполняемых программ.
- •30) Архитектурные функции. Контроль архитектуры программных средств.
- •31) Цель и основные характеристики модульного программирования.
- •32) Методы разработки структуры программы. Нисходящие методы. Контроль структуры программы. Методы разработки структуры программы.
- •33) Методы разработки структуры программы. Восходящие методы. Контроль структуры программы. Методы разработки структуры программы.
- •34) Порядок разработки программного модуля.
- •35) Структурное программирование. Контроль программного модуля.
- •36. Пошаговая детализация и понятие о псевдокоде. Контроль программного модуля.
- •48. Алгоритм Кнута - Мориса - Пратта.
Билет 1 (Понятие технологии программирования. Характеристика основных этапов ее развития.)
Технология программирования и основные этапы её развития.
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
1)Указание последовательности выполнения технологических операций;
2)Перечисление условий, при которых выполняется та или иная операция;
3)Описание самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т.п.
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.
Основные этапы развития программирования как науки:
Первый этап – “ стихийное программирование ”. Этот этап охватывает период с момента появления первых вычислительных машин до середины 60-х годов 20 века. В этот период практически отсутствовали сформулированные технологии, и программирование фактически было искусством. Первые программы имели простейшую структуру. Они состояли из собственно программы на машинном языке и обрабатываемых ею данных. Сложность программ в машинных кодах ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение данных при программировании.
Второй этап – структурный подход к программированию (60-70-е годы 20 века.) Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм. С появлением других принципов декомпозиции данный способ получил название процедурной декомпозиции.
Третий этап – объектный подход к программированию (с середины 8-х до конца 90-х годов 20 века). Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа, а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.
Четвертый этап – компетентный подход и CASE – технологии (с середины 90-х годов 20 века до нашего времени). Компонентный подход предполагает построение программного обеспечения из отдельных компонентов – физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде и использовать в любом языке программирования, поддерживающем соответствующую технологию.