
- •1.Архитектура эвм - уровни абстракции представления, аппаратная и программная части, основные элементы, поколения эвм.
- •2. Арифметич. Основы эвм. Типы данных, представление, перевод чисел. Коды чисел – прямой обратный дополнит.
- •3. Виды памяти и внешние устройства – регистры, озу, пзу, страничная и виртуальн. Память.
- •4. Процессор – уу, счак, машинная логика, набор операций, адресность.
- •5.По особенности используемой системы машинных команд: risc и cisc процессоры
- •5. Методы адресации, выполнение команд, прерывания, переместимость.
- •7. Персональные эвм, обзор основных типов, аппаратные элементы.
- •9.Функции и состав типичной ос.
- •10. Основные команды операционной системы
- •11. Классификация структур данных, задачи обработки, массивы, списки
- •12. Древовидные и табличные структуры
- •13. Поиск в массиве.
- •14. Методы внутренней сортировки.
- •15. Внешняя сортировка наборов данных.
- •16. Жизненный цикл программы.
- •17. Методы проектирования программ
- •18. Методы тестирования и отладки программ.
- •19. Понятие о технологии про-раммирования. Качество по.
- •20. Классификация и основы построения по.
- •21. Банк данных, архитектура бд.
- •29. Локальные сети, протоколы.
- •24. Пакеты прикладных программ.
- •25.Информационно-поисковые системы
- •26. Системы искусственного интеллекта (ии).
- •28. Основные понятия сапр.
- •23.Реляционная алгебра и обработка данных.
- •22.Субд и их функции. 23.Реляционная алгебра и обработка данных
- •32. Структурное программиро-вание.
16. Жизненный цикл программы.
Жизненным циклом программы (ЖЦП) наз отрезок времени от принятия решения о необходимости разработки программы до снятия программы с эксплуатации . ЖЦП делится на фазы разработки и использования. Первой фазе соответствует разработка документации, а второй сопровождение. Под сопровождением понимают два вида работ : 1.модификация программы за счет изменения модели предметной области ; 2.нахождение и исправление ошибок, которые есть в программе.
В свою очередь фаза разработки делится на 4 под фазы:
1.Анализ задачи
2.Проектирование
3.Кодирование
4.Тестирование
Каждый период заканчивается своей документацией.1-техническое задание; 2- эскизный, технический проекты, пояснительная записка; 3- распечатка программы и статическое тестирование; 4- сборка программы, программа тестирования, результаты тестирования.
Тестирование: 1.автономное (тестирование модулей в среде); 2.совместное; 3.комплексное (с точки зрения пользователя).
Разработка ПО может вестись с использованием лавинообразной (рис.1.а) или итеративной(рис.1.б) моделей разработки. Лавинообразная модель (модель "водопада") может быть использована для разработки ПО небольшого размера (до 10000 операторов исходного языка) с хорошо определенной алгоритмической базой.
Этапы жизненного цикла ПО
а - традиционная лавинообразная модель, б -итеративная модель с использованием объектно-ориентированного подхода
Целью этапа анализа явл описание задачи, которое должно быть полным, последовательным, доступным для чтения и обзора различными заинтересованными сторонами, позволяющим производить сравнение с реальными условиями. В ходе этого этапа решаются задачи: 1. уточнение требований, приведенных в задании на проектирование; 2. разработка спецификаций на ПО. Итогом выполнения этого этапа являются эксплуатационные и функциональные спецификации, содержащие конкретное описание ПО.
Цель этапа проектирования - иерархическое разбиение сложной задачи создания ПО на подзадачи меньшей сложности. На этапе проектирования решаются следующие задачи: 1. формирование структуры ПО и разработка алгоритмов,
всеми сразу), а другие только с одним из элементов. Получается соотношение "многие ко многим". В этом случае используется сетевая структура. Примером может служить посещение факультативов разными учащимися, когда они посещают по нескольку факультативов.На рис. хорошо видно, какие факультативы посещают какие ученики:
Сетевая структура
Структуру системы часто бывает удобно представить в виде таблицы. В таком виде удобно описать, например, систему движения самолетов.Табличные структуры являются наиболее распространенными, и к ним можно свести другие рассмотренные виды структур. Кроме того, для работы с ними разработан мощный математический аппарат, что позволяет достаточно эффективно работать с ними на ЭВМ.
АэропортНомерТипДни Время
Назначения рейса самолета отправления
Адлер 302 Ту-154 1,4,6 14-30
Киев 320 Ту-154 2,3 20-45
Новосибирск 280 АН-24 1,4,7 13-00
Табличная структура
Шаг Вход Буфер Выход
A 5-3-4-8-6-7
B 5-3-4-8 6-7
C 5-3-4 8-7 6
D 5-3 8-4 7-6
E 5 3-4 8-7-6
F 5-4 3 | 8-7-6
G 5 4-3 | 8-7-6
H 5-4-3 | 8-7-6
Обратите внимание мы храним записи в буфере до тех пор, пока не наступит время записать их в выходной файл. Если вход случаен, средняя длина отрезков равна примерно удвоенной длине буфера. Однако, если данные хоть как-то упорядочены, отрезки могут быть очень длинными. Вот почему этот метод, вообще говоря, более эффективен для промежуточных, частичных сортировок.
Прочитав из входного файла очередную запись, мы ищем наименьший ключ, который >= последнего считанного. При этом мы, конечно, можем просто сканировать записи в буфере. Однако, если таких записей тысячи, время поиска может оказаться недопустимо большим. Если на этом этапе использовать двоичные деревья, нам понадобится всего лишь lg n сравнений.
Находим (выбираем) в массиве элемент с минимальным значением на интервале от 1-го элемента до n-го (последнего) элемента и меняем его местами с первым элементом. На втором шаге находим элемент с минимальным значением на интервале от 2-го до n-го элемента и меняем его местами со вторым элементом.
Сортировка обменом ("пузырьковая" сортировка)
Принцип метода:
Слева направо поочередно сравниваются два соседних элемента, и если их взаиморасположение не соответствует заданному условию упорядоченности, то они меняются местами. Далее берутся два следующих соседних элемента и так далее до конца массива.
После одного такого прохода на последней n-ой позиции массива будет стоять максимальный элемент ("всплыл" первый "пузырек"). Поскольку максимальный элемент уже стоит на своей последней позиции, то второй проход обменов выполняется до п-1-го элемента. И так далее. Всего требуется п-1 проход.
Сравнение прямых методов сортировки
Теоретические и практические исследования алгоритмов прямых методов сортировки показали, что как по числу сравнений, так и по числу присваиваний они имеют квадратичную зависимость от длины массива я. Исключение составляет метод выбора, который имеет число присваиваний порядка п*ln(п). Это свойство алгоритма выбора полезно использовать в задачах сортировки в сложных структурах данных, когда на одно сравнение выполняется большое число присваиваний. В таких задачах метод выбора успешно конкурирует с самыми быстрыми улучшенными методами сортировки.
Если сравнить рассмотренные прямые методы между собой, то в среднем методы вставки и выбора оказываются приблизительно эквивалентными и в несколько раз (в зависимости от длины массива) лучше, чем метод обмена ("пузырька").
данный момент. Таким образом, каждый отрезок может содержать больше Р записей, хотя в любой момент в дереве выбора находится не более Р записей.
В обычном процессе выбора с замещением наименьший элемент каждого блока в некотором отрезке всегда не меньше, чем наибольший элемент в предыдущем блоке этого отрезка: это соответствует «1 степени свободы». Условие: наименьший элемент каждого блока был не меньше, чем наибольший элемент предыдущего блока, но он не должен быть меньше, чем наибольшие элементы каких-то m предыдущих блоков того же отрезка.
Сортировка многофазным слиянием с использованием «горизонтального распределения»: Данный алгоритм берет начальные отрезки и распределяет их один за другим по файлам, пока запас начальных отрезков не исчерпается. Затем он определяет, как надо сливать файлы, используя Р-путевое слияние, в предположении, что имеются Т=Р+1>=3 файлопротяжных устройств. Файл Т можно использовать для хранения ввода, т.к. в него не записывается ни одного начального отрезка. В памяти хранятся следующие таблицы: -A[j] точное фибоначивое распределение, к которому мы стремимся(<=T);-D[j]число фиктивных отрезков, которые считаются присутствующими в начале файла на логическом устройстве с номером j (1<=j<=T);-TAPE[j] номер физического файлопротяжного устройства, соответствующего логическому устройству с номером j.
задаваемых спецификациями; 2. определение состава модулей с разделением их на иерархические уровни; 3. выбор структуры информации в базе данных; 4. фиксация межмодульных интерфейсов. Результатом работы на этом этапе являются спецификации на отдельные модули, дальнейшая декомпозиция которых нецелесообразна.
Цель этапа тестирования и отладки - выявление в ПО ошибок, проверка работоспособности ПО, его соответствие спецификациям. В ходе этого этапа решаются следующие задачи: 1. подготовка данных для отладки;
2. планирование отладки;
3. разработка драйверов тестов; 4. испытание ПО.
Результатом работы должно являться оттестированное и отлаженное ПО.