Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Otvety_k_ekzamenu_po_OKTekh

.docx
Скачиваний:
13
Добавлен:
16.03.2016
Размер:
874.14 Кб
Скачать

Целая часть:

- Последовательно делим целую часть десятичного числа на основание системы, в которую переводим, пока десятичное число не станет равно нулю.

- Полученные при делении остатки являются цифрами искомого числа. Число в новой системе записывают, начиная с последнего остатка.

Дробная часть:

- Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.

- Число в новой системе составляют целые части результатов умножения в порядке, соответствующем их получению.

Пример: переведем 1510 в восьмеричную:

15\8 = 1, остаток 7

1\8 = 0, остаток 1

Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 1510 = 178. Преобразование из двоичной в восьмеричную и шестнадцатеричную системы. Для перевода в восьмеричную — разбиваем двоичное число на группы по 3 цифры справа налево, а недостающие крайние разряды заполняем ведущими нулями. Далее преобразуем каждую группу, умножая последовательно разряды на 2n, где n — номер разряда. В качестве примера возьмем число 10012: 10012 = 001 001 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20) = (0+0+1) (0+0+1) = 118 Для перевода в шестнадцатеричную — разбиваем двоичное число на группы по 4 цифры справа налево, затем — аналогично преобразованию из 2-й в 8-ю. Преобразование из восьмеричной и шестнадцатеричной систем в двоичную. Перевод из восьмеричной в двоичную — преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2, недостающие крайние разряды заполним ведущими нулями. Для примера рассмотрим число 458: 45 = (100) (101) = 1001012. Перевод из 16-ой в 2-ю — преобразуем каждый разряд шестнадцатеричного числа в двоичное 4-х разрядное число делением на 2, недостающие крайние разряды заполняем ведущими нулями. Преобразование дробной части любой системы счисления в десятичную. Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1. Пример: 101,0112 = (1*22 + 0*21 + 1*20), (0*2-1 + 1*2-2 + 1*2-3) = (5), (0 + 0,25 + 0,125) = 5,37510 Преобразование дробной части двоичной системы в 8- и 16-ую. Перевод дробной части осуществляется также, как и для целых частей числа, за тем лишь исключением, что разбивка на группы по 3 и 4 цифры идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа. Пример: 1001,012 = 001 001, 010 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20), (0*22 + 1*21 + 0*20) = (0+0+1) (0+0+1), (0+2+0) = 11,28 Преобразование дробной части десятичной системы в любую другую. Для перевода дробной части числа в другие системы счисления нужно обратить целую часть в ноль и начать умножение получившегося числа на основание системы, в которую нужно перевести. Если в результате умножения будут снова появляться целые части, их нужно повторно обращать в ноль, предварительно запомнив (записав) значение получившейся целой части. Операция заканчивается, когда дробная часть полностью обратится в нуль. Для примера переведем 10,62510 в двоичную систему:

0,625*2 = 1,25

0,250*2 = 0,5

0,5*2 = 1,0

Записав все остатки сверху вниз, получаем 10,62510 = (1010), (101) = 1010,1012 21. База данных – совокупность некоторых данных, доступных для обработки. Выделяют реляционные, сетевые, иерархические и объектные БД. Базы данных необходимы для хранения информации в определенном виде в определенных ячейках. В при чем эти ячейки имеют между собой связи. С помощью этих связей из одной ячейки информации может быть зависима от другой. К примеру, нам нужно найти определенного человека, имея на руках его страну, город, место работы, должность и фамилию. Поскольку в мире очень много одинаковых фамилий, нам необходимо сузить поиск. Имея базу данных, мы обращаемся сначала к стране. В ячейке страны хранятся ячейки городов в этой стране. Указав нужный город, мы получаем ячейки организаций, затем должность и список людей, согласно этой должности в конкретной организаций. Таким образом, мы сузили поиск до минимума с имеющимися данными. Реляционная модель БД – такая БД, где данные хранятся в виде таблиц, имеющие определенные отношения друг с другом. Пример такой таблицы описан выше. Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру - они состоят из полей (элементов данных), в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице. Внешний ключ– служит как ограничение целостности связей нескольких таблиц, конкретно подчиненная таблица не может ссылаться на несуществующие записи главной таблицы(что позволяет строить целостные модели данных). СУБД – программное средство, позволяющее создавать и управлять базами данных. Основные СУБД: MySQL, MS SQL Server, Oracle Database, DB2. 22. Основные типы данных SQL: integer, DECIMAL, Varchar(x), Char(x), CLOB, BLOB, Timestamp. Основные операции над БД: создание БД (CREATE), удаление БД (DROP), выбор (SELECT), вставка (INSERT), обновление (UPDATE), удаление значения (DELETE). Примеры: CREATE TABLE Student ( SELECT * Code INTEGER NOT NULL, FROM T Name CHAR(30) NOT NULL, WHERE C1=1 Address CHAR(50), Mark DECIMAL );

23. Операция JOIN объединяет таблицы по некоторому признаку. Того же самого можно добится при помощи команды SELECT ... WHERE, однако для сокращения времени выполнения скрипта рекомендуется использование JOIN. Обе операции ниже имеют одинаковый функционал, однако вариант с JOIN работает быстрее и требует меньше обращений к БД.

1

SELECT * FROM tbl1,tbl2 WHERE tbl1.id=tbl2.id

1 SELECT * FROM tbl1 JOIN tbl2 ON tbl1.id=tbl2.id Выше было продемонстрировано перекрестное объединение таблиц tbl1 и tbl2. При это результирующая таблица содержит комбинации строк обеих таблиц, удовлетворяющих условию tbl1.id = tbl2.id. Левое объединение (LEFT JOIN) позволяет включить в результирующую таблицу строки "левой" таблицы tbl1, которой не нашлось соответствие в "правой" таблице tbl2.

1

SELECT * FROM tbl1 LEFT JOIN tbl2 ON tbl1.id=tbl2.id

Как видно из этого примера, записи в таблице tbl1 со значением id = 1 не нашлось соответствия в таблице tbl2, т.к. поле id в ней принимает значения 2,3,4. Тем не менее в результирующую таблицу запись включена, при этом значения полей из таблицы tbl2 принимают значение NULL. То же происходит и с операцие JOIN RIGHT, однако с точностью наоборот. UNION используется для объединения результатов работы нескольких команд SELECT в один набор результатов.

24. ISO/IEC 2501n – группа модели качества. В стандартах данной группы представлены подробные модели качества для компьюетрных систем и ПО, качества в использовании и качества данных. Данная группа стандартов содержит также практическое руководство по использованию представленных моделей качества. ISO/IEC 25010:2011 – Системная и программная инженерия – Требования к качеству и оценка ПО – Модели качества систем и ПО. Качество в использовании – степень применимости продукта или системы заданными пользователя для удовлетовлетворения их потребностей в

достижении заданных целей с результативностью, эффективностью, свободой от риска.

25.

26. Надежность ПО – свойство объекта сохранять во времени в установленных пределах значения всех параметров, хар-щих способность выполнять требуемые функции в заданных режимах и условиях применения. Тестирование ПО – процесс анализа ПО, связанный с выявлением дефектов (отклонение поведения программ от ожидаемого). Жизненный цикл дефекта – период времени от выявления данного дефетка до момента окончания разработки ПО. Отчет о дефекте – документ, содержащий данные о несоответствии поведения ПО каким-то требованниям и алгоритм для повторения этого дефекта. Функц. тестирование (чёрный ящик) – тип тестирования на соответствие ПО всем функциональным требованиям. Обычно ПО исследуется как чёрный ящик. Структ. тестирование (белый ящик) – тестирование кода на предмет логики работы программы. Для полной реализации этого тестирования необходимо покрыть все строки кода, ветви программы и пути в программе. 27. Регрессионное тестирование – тип тестирования ПО, направленный на обнаружение ошибок в уже протестированных участках исходного кода. Если вы что-то исправили в программе, то необходимо проверить всю программу заново, ибо из-за устранения одного бага могло появиться еще три. Модульное тестирование – спецификация модуля Интеграционное – архитекутра ПО Системное – требования к ПО Приёмочное – потребности. Альфа-тестирование – имитация реальной работы с системой штатными разработчиками с привлечением ограниченного числа реальных пользователей системы. Происходит исключительно на стороне разработчика ПО. Бета-тестирование – реальная работа ПО на стороне заказчика с привлечением ограниченного числа реальных пользователей системы. ПО при бета-тестировании обычно характеризуется урезанным функционалом и относительно большим кол-вом дефектов. Автоматизированное тестирование – тестирование ПО с использованием спец. ПО. Для его использования необходимо фактически разработать новое ПО. 28. Жизненный цикл разработки ПО — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного завершения. Типы методологий:

Основные роли разработки ПО: Project Manager, Team Leader, Архитектор, Front-End, Back-End, Бизнес-аналитик, Системный администратор. 29. В основе методологии RUP лежат следующие принципы:

- Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.

- Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).

- Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.

- Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.

- Постоянное обеспечение качества на всех этапах разработки проекта (продукта).

- Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам. Фазы: - Начальная стадия(формируются видение и границы проекта, создается экономическое обоснование, определяются основные требования, ограничения и ключевая функциональность продукта, создается базовая версия модели прецедентов, оцениваются риски). При завершении начальной фазы оценивается достижение вехи целей жизненного цикла, которое предполагает соглашение заинтересованных сторон о продолжении проекта.

- Уточнение (документирование требований (включая детальное описание для большинства прецедентов, спроектированную, реализованную и оттестированную исполняемую архитектуру, обновленное экономическое обоснование и более точные оценки сроков и стоимости, сниженные основные риски). Успешное выполнение фазы разработки означает достижение вехи архитектуры жизненного цикла.

- Построение (происходит реализация большей части функциональности продукта).

- Внедрение (создается финальная версия продукта и передается от разработчика к заказчику). Документация для программного обеспечения — документы, описывающие то, как работает программа и/или то, как её использовать.

Документирование — это процесс создания документации, важная часть в разработке программного обеспечения, ей часто уделяется недостаточно внимания. Типы документации: - архитектурная/проектная — обзор программного обеспечения, включающий описание;

- рабочей среды и принципов, которые должны быть использованы при создании ПО;

- техническая — документация на код, алгоритмы, интерфейсы, API;

- пользовательская — руководства для конечных пользователей, администраторов системы и другого персонала. 30. Приёмы написания чистого кода:

- Выбор содержательных имён переменных, функций и классов.

- Принцип единой ответственности. На класс должна возлагаться только одна ответственность, одна функция должна выполнять только одну операцию.

- Один уровень абстракции на функцию.

- Форматирование кода

- Функции и классы должны быть компактными.

- Максимальный уровень отступов в функции не должен превышать трех.

- Чтение кода сверху вниз, правило понижения - вызывающая функция должна находиться над вызываемой.

- Переменные и функции должны объявляться непосредственно перед первым использованием.

- Вертикальное разделение концепций - разделение фрагментов кода пустыми строками.

Рефакторинг кода - процесс изменения исходного кода программы, не затрагивающий её поведения и ставящий целью облегчить понимание её работы и/или упростить её дальнейшую поддержку. Рефакторинг - это лишь замена имён переменных или перемещение небольших участков кода из одного места программы в другое. Правила именования переменных заключается в том, что к именам переменных добавляется некоторый префикс. Этот префикс служит идентификатором области, которой эта переменная принадлежит.Такой идентификатор должен легко запоминаться и должен быть понятен исходя из своего названия. Похожие объекты должны иметь похожие идентификаторы, что позволяет объединять объекты в логические группы. Любой код должен содержать комментарии, которые помогают понять, что происходит в той или иной части кода. Множество ненужных комментариев, однако, также не желатель. Комментарии должны быть компактными, максимально информативными и каноническими. Функция - подпрограмма, результат выполнения которой есть единственное скалярное значение, присваемое имени этой функции. Функции необходимы для снижения кол-ва запросов в коде. Единожды написав функцию или процеду, вы можете вызывать ее при необходимости, а не нагромождать ее прямо в программе. Константы – удобный способ задания значений, которые не нуждаются в первоначальных и повторных вычислениях и, по определению, остаются неизменными на протяжении всего сеанса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]