- •Сущность и актуальность дисциплины «Технологии программирования», основные понятия и определения дисциплины.
- •Жизненный цикл программного средства.
- •Модели жизненного цикла по.
- •Модель с промежуточным контролем
- •Спиральная модель
- •Спиральная или итерационная схема разработки программного обеспечения
- •Изменение жизненного цикла программного обеспечения при использовании case-технологий.
- •Качество программного обеспечения.
- •Модели качества по
- •Метрики качества программного обеспечения.
- •Измерение и оценка качества по, стандартный метод оценки значений показателей качества.
- •Управление качеством пс.
- •Требования стандарта к организации системы качества
- •Диалоговые программы, типы диалога, формы диалога.
- •Спецификация пс.
- •Определение требований к программному средству.
- •Спецификация качества программного средства.
- •Функциональная спецификация программного средства.
- •Методы контроля внешнего описания программного средства.
- •Способы записи алгоритмов.
- •Представление основных структур алгоритмов.
- •Псевдокоды.
- •Flow-формы.
- •Диаграммы Насси-Шнейдермана.
- •Классификация структур данных.
- •Файловые структуры, физическая организация файлов.
- •Логическая организация файлов.
- •Документирование файлов.
- •Модульные программы, модули и их свойства.
- •Сцепление и связность модулей.
- •Нисходящая и восходящая разработка программного обеспечения.
- •Программирование «с защитой от ошибок».
- •Основные подходы программирования, «стихийное» программирование.
- •Основные подходы программирования, структурный подход к программированию.
- •Основные подходы программирования, объектный подход к программированию.
- •Основные подходы программирования, компонентный подход и case-технологии.
- •36. Процедурное (императивное) программирование
- •37.Функциональное программирование.
- •38. Декларативное программирование
- •39. Объектно-ориентированное программирование
- •40.Объектно-ориентированные языки программирования.
- •41. Спецификация программного обеспечения при структурном подходе.
- •42.Диаграммы переходов состояний.
- •43. Функциональные диаграммы
- •44. Диаграмма потоков данных
- •45. Моделирование управляющих процессов с помощью диаграмм потоков данных
- •46. Структуры данных и диаграммы отношений компонентов данных
- •47. Диаграммы Джексона.
- •48. Скобочные диаграммы Орра
- •49. Сетевая модель данных
- •50. Проектирование программного обеспечения при структурном подходе
- •54. Метод пошаговой детализации для проектирования структуры по
- •55. Структурные карты Констайна.
- •56. Проектирование структур данных
- •57. Представление данных в оперативной памят
- •60. Проектирование программного обеспечения, основанное на декомпозиции данных Методикой Варнье-Орра
- •61. Case-технологии, основанные на структурных методологиях анализа и проектирования
- •63. Определение «вариантов использования»
- •64. Диаграммы вариантов использования
- •65. Построение концептуальной модели предметной области
- •69. Проектирование программного обеспечения при объектном подходе
- •70. Разработка структуры программного обеспечения при объектном подходе
- •Определение отношений между объектами.
- •Диаграммы последовательностей этапа проектирования.
- •Диаграммы кооперации.
- •Уточнение отношений классов.
- •Интерфейсы в uml.
- •Проектирование классов.
- •Проектирование методов класса.
- •Компоновка программных компонентов.
- •Проектирование размещения программных компонентов для распределенных программных систем.
- •Методы доказательства правильности программ.
- •Метод индуктивных утверждений Флойда.
- •Метод Хора доказательства правильности программ.
- •Виды контроля качества разрабатываемого программного обеспечения.
- •Формирование тестовых наборов, основные подходы.
- •Ручной контроль программного обеспечения, методы ручного контроля.
- •I. Контроль обращений к данным
- •2. Контроль вычислений
- •3. Контроль передачи управления
- •4. Контроль межмодульных интерфейсов
- •Структурное тестирование, критерии формирования тестовых наборов.
- •Функциональное тестирование, методы формирования тестовых наборов.
- •Тестирование модулей и комплексное тестирование.
- •Оценочное тестирование.
- •Отладка программного обеспечения.
- •Классификация ошибок программного обеспечения.
- •Методы отладки программного обеспечения.
- •Методы и средства получения дополнительной информации об ошибках.
- •Общая методика отладки программного обеспечения.
- •Документирование и стандартизация.
- •Виды программных документов.
- •Основные правила оформления программной документации.
- •Основные инженерные подходы к созданию программ.
- •Классификация технологических подходов к созданию программ.
- •Классификация технологических подходов к созданию программ, подходы со слабой формализацией.
- •Классификация технологических подходов к созданию программ, строгие каскадные подходы.
- •Классификация технологических подходов к созданию программ, строгие каркасные подходы.
- •Классификация технологических подходов к созданию программ, генетические подходы.
- •Классификация технологических подходов к созданию программ, подходы на основе формальных преобразований.
- •Классификация технологических подходов к созданию программ, ранние подходы быстрой разработки.
- •Классификация технологических подходов к созданию программ, адаптивные технологические подходы.
- •Классификация технологических подходов к созданию программ, подходы исследовательского программирования.
- •Особенности и компоненты case-средств.
- •Объектно-ориентированные case-средства анализа и проектирования.
- •Структурные case-средства анализа и проектирования.
- •Case-средства компании ibm Rational Software, средство визуального моделирования Rational Rose.
- •Системы автоматизированного проектирования и их место среди других автоматизированных систем.
- •Структура сапр.
- •Разновидности сапр.
- •Понятие о cals-технологиях.
Файловые структуры, физическая организация файлов.
Файл — упорядоченный набор информации на внешнем носителе (наиболее часто на дисковом носителе).
Физическая информация файла на внешнем носителе соотносится с логической структурой данных оперативной памяти методами доступа операционных систем.
Обычно файловая система операционной системы компьютера содержит следующие средства:
управление файлами: хранение файлов, обращение к ним, их коллективное использование и защита;
обеспечение целостности файлов — гарантирование того, что файл содержит только то, что требовалось;
средства управления внешней памятью (распределяют внешнюю память для размещения файлов).
Дескриптор файла или блок управления файлом может включать следующую информацию:
строковое имя файла;
тип файла (расширение имени) — информация для пользователя о предполагаемой информации в файле;
размещение файла во внешней памяти;
тип организации файла (прямой, последовательный, индексно-последовательный и т. д.);
тип устройства (несъемный, съемный, допускающий только чтение и т. д.);
данные (атрибуты) для контроля доступа (владелец, групповой пользователь, допущенный и общедоступный пользователи);
диспозицию (файл постоянный или временный);
дату и время создания;
дату и время последней модификации.
Наиболее общими операциями работы с файлами являются следующие операции:
связывание полного имени файла с файловыми переменными;
открытие файла (например, для записи, только чтения, изменения длины);
закрытие файлов;
установление атрибутов файла.
Логическая организация файлов.
Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая запись - это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи. На рисунке 2.33 показаны несколько схем логической организации файла. Записи могут быть фиксированной длины или переменной длины. Записи могут быть расположены в файле последовательно (последовательная организация) или в более сложном порядке, с использованием так называемых индексных таблиц, позволяющих обеспечить быстрый доступ к отдельной логической записи (индексно-последовательная организация). Для идентификации записи может быть использовано специальное поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей.
Рис. 2.33. Способы логической организации файлов
Документирование файлов.
Структура файлов создается одновременно с выявлением оперативных структур данных и с разработки процедур записи информации в файл и считывания информации из файла. Описание файлов обычно начинается с указания назначения, полного имени файла, атрибутов, диспозиции, организации и вида доступа. В документальном описании организации файлов стандартной организации достаточно упомянуть тип этого файла. Например, файл типа текстовый в кодировке MS DOS. При необходимости можно дополнительно описать порядок смысловых строк теста.
Документирование порядка следования информации в файлах, состоящих из сблокированных записей фиксированной длины и с большим количеством полей, а также документирование сложных нетипизированных файлов обычно выполняют тремя способами.
Согласно первому способу порядок информации в файле определяется последовательным рассмотрением цепочек байтов файла с использованием таблиц.
По второму способу, порядок размещения информации в файле определяется комментированными описаниями оперативной структуры данных на языках программирования, из которых осуществляется запись информации в файл и в которые предполагается считывание информации из файла.
Согласно третьему способу описание, выполненное по второму способу, дополняется текстами процедур «чтения/записи» файла.
Практика показала, что использование документации файлов, составленной сторонними фирмами по второму и особенно по третьему способу не вызывало затруднений.
«Чтение/запись» файлов со сложной произвольной организацией, как правило, производится последовательными порциями. Первая порция считывается в статическую запись оперативной памяти. Эту запись называют заголовочной (header). Она содержит один или несколько байтов идентификации, которые необходимы для проверки подлинности файла (его принадлежности к конкретным программам). В заголовочной информации может быть указана версия файла. Считывание последующих порций осуществляется как в статические, так и в динамические связные переменные, причем их длина может определяться информацией, полученной как из заголовочной порции, так и из ряда предшествующих порций.