
- •Конспект лекций
- •Введение
- •Лекция 1. Информация и информационные технологии. Основные понятия. Предмет информатики
- •Информация Определение и измерение информации
- •Свойства информации
- •Информация и данные
- •Кодирование данных в компьютере
- •Измерение компьютерных данных
- •Лекция 2 Арифметические основы компьютеров Системы счисления
- •Перевод чисел в десятичную систему счисления
- •Поразрядный перевод чисел из одной системы счисления в другую
- •Перевод целых десятичных чисел в другую систему счисления
- •Перевод правильной десятичной дроби в другую систему счисления
- •Двоичная арифметика
- •Представление чисел в компьютере Целые числа без знака
- •Целые числа со знаком
- •Вещественные числа
- •Лекция 3 Технические средства информационных технологий Классификация
- •Устройство персонального компьютера
- •Системный блок
- •Материнская плата
- •Центральный процессор
- •Архитектура процессора
- •Система команд процессора
- •Оперативная память
- •Постоянная память
- •Лекция 4
- •Операционные системы
- •Файловая система. Основные определения
- •Операционная система ms dos
- •Загрузка компьютера с операционной системой ms dos
- •Командный язык операционной системы msdos и Windows
- •Dir [дисковод] [путь] [ключи]
- •Md [дисковод:] [путь]
- •Copy [дисковод:] полное_имя_1 [дисковод:] полное_имя_2
- •Ren [дисковод:] имя файла1 имя файла2
- •Линейный алгоритм
- •Ветвящийся алгоритм
- •Циклический алгоритм
- •Алгоритмы накопления суммы и произведения
- •Алгоритм табулирования функции
- •Алгоритм поиска экстремальных значений (max, min)
- •Лекция 6 Язык программирования Microsoft Qbasic Набор символов языка:
- •Классификация данных
- •Ограничения значений переменных
- •Операции
- •Выражения
- •Стандартные функции действия над числами
- •Операторы
- •Оператор восстановления данных restore
- •Оператор input
- •Input считывает входные данные от клавиатуры или из файла.
- •Input ["приглашение"{; | ,}] список переменных
- •Вывод данных Операторы print, lprint, print using, функции spc и tab
- •Функции spc и tab
- •Тав: print tab (выражение1); выражение2
- •Оператор форматированного вывода
- •Print using формат; список выражений [{;|,}]
- •Оператор позиционирования курсора locate
- •Лекция 7 Управление ходом выполнения программы Организация цикла
- •Оператор цикла for … next
- •Оператор цикла do … loop
- •Print "Значение I в конце цикла равно "; I
- •Оператор цикла без счетчика while …wend
- •Операторы изменения хода выполнения программы
- •Оператор выбора select case
- •Оператор exit
- •Оператор swap
- •Функции действия над строками
- •Лекция 8 Алгоритмы решения математических задач Решение уравнений методом итерации
- •Решение уравнений методом простой итерации
- •Input “Введите точность”, e
- •Input “Введите начальное значение х”, х
- •Input “Введите точность”, e
- •Input “Введите начальное значение х”, х
- •Итерационное решение уравнений методом половинного деления
- •Input “Введите точность”, e
- •Оператор описания массивов Одномерные массивы
- •Статические и динамические массивы
- •Оператор option base
- •Способы ввода значений элементов массива
- •Оператор rnd
- •Randomize [число].
- •Алгоритм формирования и печати исходного массива
- •Алгоритм поиска максимального и минимального значений в массиве s(n)
- •Алгоритмы сортировки массива Сортировка выбором мах (или мin)
- •Сортировка вставками
- •Метод «пузырька»
- •Лекция 10 Описание и обработка матриц
- •Input “ введите значение”, a(I,j)
- •Лекция 11 Алгоритмы компьютерной графики
- •Текстовый режим
- •Операторы графики
- •Построение графиков математических функций
- •Этапы построения графика функции
- •Оператор circle вывода окружностей, дуг, эллипсов
- •Circle (X, y), r, [цвет], [Dn], [Dk], [z]
- •Цвет в графике
- •Оператор рисования объекта.
- •Построение диаграмм
- •Этапы работы при создании рисунка
- •Эффект мультипликации
- •Лекция 13 Работа с файлами Назначение файлов
- •Физическая и логическая организации файлов
- •Способы доступа к файлам
- •Действия с файлами
- •Оператор open открытия файла
- •Режимы работы с файлами
- •Номер файла
- •Чтение данных из файла прямого доступа и бинарного файла оператором get
- •Get [#]номер_файла [,[номер_записи][, переменная]] ,
- •Чтение данных из файла последовательного доступа оператором input
- •Запись данных в файл прямого доступа и бинарный файл оператором put
- •Закрытие файла
- •Удаление файлов
- •Лекция 14 Приемы модульного программирования
- •Процедуры
- •Input “Введите размерность массива ”; n
- •Процедурные языки (с, basic, fortran, pascal и др.)
- •Функциональные языки
- •Логические языки (лисп, пролог)
- •Трансляторы
- •Лекция 15 Разработка сложных программ
- •Методологии и технологии проектирования ис Общие требования к методологии и технологии
- •Лекция 16 Компьютерные сети. Архитектура построения
- •Масштабы компьютерных сетей
- •Топологии компьютерных сетей
- •Топология типа «звезда»
- •Коммутируемая топология
- •Сложные топологии
- •Методы передачи компьютерных данных Кадры и протоколы
- •Кадр Ethernet стандарта ieee 802.3
- •Кадр Token Ring стандарта 802.5
- •Примеры протоколов.
- •Лекция 17 Основные компоненты компьютерных сетей
- •Линии связи
- •Коммуникационное оборудование
- •Литература
- •Словарь понятий
Лекция 15 Разработка сложных программ
Разработка сложной программы отличается большими затратами высококвалифицированного труда, необходимостью применения специальных методов организации работ и управления разработкой.
При решении этих задач используют понятие жизненного цикла программного обеспечения (ЖЦ ПО). ЖЦ ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.
Структура ЖЦ ПО по ISO/IEC 12207 базируется на трех группах процессов:
основные процессы ЖЦ ПО (приобретение, поставка, разработка, эксплуатация, сопровождение);
вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);
организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Разработка ПО включает в себя, анализ, проектирование и реализацию (программирование) в соответствии с заданными требованиями, а также оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки качества программных продуктов, материалов, необходимых для обучения персонала и т.д.
К настоящему времени наибольшее распространение получили следующие две модели ЖЦ:
каскадная модель (70-85 г.г.);
спиральная модель (86-90 г.г.).
Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем (рис. 18). Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Положительные стороны применения каскадного подхода заключаются в следующем [2]:
на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
Рис. 18 Каскадная схема разработки ПО
Каскадный подход хорошо зарекомендовал себя при построении ИС, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем чтобы предоставить разработчикам свободу реализовать их как можно лучше с технической точки зрения. В эту категорию попадают сложные расчетные системы, системы реального времени и другие подобные задачи. Однако, в процессе использования этого подхода обнаружился ряд его недостатков, вызванных прежде всего тем, что реальный процесс создания ПО никогда полностью не укладывался в такую жесткую схему. В процессе создания ПО постоянно возникала потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс создания ПО принимал следующий вид (рис. 19):
Рис. 19 Реальный процесс разработки ПО по каскадной схеме
Основным недостатком каскадного подхода является существенное запаздывание с получением результатов. Согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к ИС "заморожены" в виде технического задания на все время ее создания. Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания ПО, пользователи получают систему, не удовлетворяющую их потребностям. Модели (как функциональные, так и информационные) автоматизируемого объекта могут устареть одновременно с их утверждением.
Для преодоления перечисленных проблем была предложена спиральная модель ЖЦ [10] (рис. 20), делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта и в результате, выбирается обоснованный вариант, который доводится до реализации.
Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача - как можно быстрее показать пользователям системы работоспособный продукт, тем самым, активизируя процесс уточнения и дополнения требований.
Основная проблема спирального цикла - определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
Рис.20 Спиральная модель ЖЦ