Главная страница

Срез. Среззззз. Билет 1 Наименование вопроса Дайте определение понятия Программное обеспечение


Скачать 0.49 Mb.
НазваниеБилет 1 Наименование вопроса Дайте определение понятия Программное обеспечение
Дата04.03.2023
Размер0.49 Mb.
Формат файлаdocx
Имя файлаСреззззз.docx
ТипДокументы
#967737
страница2 из 9
1   2   3   4   5   6   7   8   9

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

UNIQUE - атрибут указывает, что столбец может хранить только уникальные значения.

NULL и NOT NULL – данный атрибут указывает, может ли столбец оставаться пустым при добавлении новой строки. NULL говорит что столбец может быть пустым, NOT NUL – что нет.

DEFAULT - атрибут определяет значение по умолчанию для столбца. Если при добавлении данных для столбца не будет предусмотрено значение, то для него будет использоваться значение по умолчанию.


CHECK - атрибут задает ограничение для диапазона значений, которые могут храниться в столбце.

3. Руководствуясь правилами объявления переменных, объявите число типа byte. Определите, является ли сумма цифр натурального двухзначного числа четной. Организуйте удобный пользовательский интерфейс. Число ввести с клавиатуры. Спроектируйте консольное приложение на языке программирования С#.

Console.Write("Введите натуральное двухзначное число: ");

try {

byte a = byte.Parse(Console.ReadLine());

string result = ((a / 10 + a % 10) % 2 == 0) ? "сумма цифр четная" : "суммацифр нечетная";

Console.WriteLine("Число:" + result);

}

catch (Exception e)

{

Console.WriteLine("Возникла ошибка! Проверьте ввод!");

}
4. Руководствуясь правилами объявления переменных, объявите переменную типа int. Определите, будет ли это число: четным, кратным 4. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

a=int(input('Введите натуральное число'))

if a%2==0 and a%4==0:

print('Число чётное и кратное 4:')

else:

print('Число нечетное или не кратное 4')
БИЛЕТ № 2

Наименование вопроса:

1. Дайте определение понятия «Жизненный цикл программного обеспечения». Выделите основные фазы жизненного цикла ПО. Охарактеризуйте основные этапы жизненного цикла ПО.

Жизненный цикл ПО – это последовательность стадий и выполняемых на них процессов связанных с созданием, применением и утилизацией ИС.

Для каждого этапа определяются состав и последовательность выполняемых работ, получаемые результаты, методы и средства, необходимые для выполнения работ, роли и ответственность участников и т.д.

Жизненный цикл ИС можно представить как ряд событий, происходящих с системой в процессе ее создания и использования.

С амым распространенным мотивом обращения к понятию жизненного цикла является потребность в систематизации работ в соответствии с технологическим процессом. Этому назначению хорошо соответствует так называемая общепринятая модель жизненного цикла программного обеспечения, согласно которой программные системы проходят в своем развитии две фазы:

- разработка

- сопровождение

РАЗРАБОТКА начинается с идентификации потребности в новом приложении, а заканчивается передачей продукта разработки в эксплуатацию.

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

Постановка задачи и определение требованийвключает описание общего контекста задачи, ожидаемых функций системы и ее ограничений. На этом этапе заказчик совместно с разработчиками принимают решение о создании системы. Особенно существен этот этап для нетрадиционных приложений.

Спецификация системы в соответствии с требованиями. Разработчики программного обеспечения пытаются проанализировать выдвигаемые заказчиком требования и зафиксировать их в виде спецификаций системы (технического задания).

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

На этапе реализации, или кодирования (программирования)каждый из этих модулей программируется на наиболее подходящем для данного приложения языке. С точки зрения автоматизации этот этап традиционно является наиболее развитым.

фаза разработки заканчивается этапом тестирования, где программный продукт проверяется на работоспособность и полное соответствие требованиям заказчика.

ФАЗА ЭКСПЛУАТАЦИИ И СОПРОВОЖДЕНИЯ включает в себя всю деятельность по обеспечению нормального функционирования программных систем, в том числе фиксирование в скрытых во время исполнения программ ошибок, поиск их причин и исправление, повышение эксплуатационных характеристик системы, адаптацию системы к окружающей среде, а также, при необходимости, и более существенные работы по совершенствованию системы. Все это дает право говорить об эволюции системы. В связи с этим фаза эксплуатации и сопровождения разбивается на два этапа: собственно сопровождение и развитие. В ряде случаев на данную фазу приходится большая часть средств, расходуемых в процессе жизненного цикла программного обеспечения.

2. Назовите виды ключевых полей, используемых в таблицах. Дайте определение понятиям первичный и внешний ключ. Классифицируйте первичный ключ по разным категориям. Перечислите разновидности каскадных операций для внешнего ключа.

В таблицах используются два вида ключевых полей: первичный ключ и внешний ключ.

Первичный ключ – уникальный идентификатор каждой строки в таблице.

Внешний ключ – устанавливает связь между таблицами. Внешний ключ устанавливается для столбцов из зависимой, подчиненной таблицы, и указывает на один из столбцов из главной таблицы. Как правило, внешний ключ указывает на первичный ключ из связанной главной таблицы.

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

Для внешнего ключа доступны следующие каскадные операции: CASCACE, RESTRICT, SET NULL, SET DEFAULT.

3. Руководствуясь правилами объявления переменных и математических функций класса Math, вычислите значение выражения g= yx+1 + x+y / 2 −1/sinz (x+1) 3 | y− 2 | + 3 2 | x+y | при заданных значениях переменных x = 12.310-1, y = 15.4, z = 0.252103. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

double x, y, z, g;

x = 12.3 * Math.Pow(10, -1);

y = 15.4;

z = 0.252 * Math.Pow(10, 3);

g = Math.Pow(y, x + 1) / (Math.Pow(Math.Abs(y - 2), 1 / 3) + 3) + (x + y / 2) / (2 * Math.Abs(x + y)) * Math.Pow(x + 1, -1 / Math.Sin(z));

Console.WriteLine("Значение выражения g = {0:F2}", g);

4. Руководствуясь правилами объявления переменных, объявите переменную типа float. Определить, какое это число: положительное, отрицательное, ноль. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

A=float(input('Введите число: '))

if A > 0:

print('Положительное')

elif A< 0:

print ('Отрицательное')

else: print ('Равно нулю')

БИЛЕТ № 3

Наименование вопроса:

1. Опишите стандарт ISO/IEC 12207. Перечислите группы процессов жизненного цикла ПО и определите процессы, которые входят в эти группы. Охарактеризуйте основные процессы жизненного цикла ПО по стандарту ISO/IEC 12207.

Существует целый ряд стандартов, регламентирующих ЖЦ ПО, а в некоторых случаях и процессы разработки. Самым известным стандартом является стандарт ISO/IEC 12207 – стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного ПО.

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

Стандарт ISO/IEC 12207 детально определяет перечень работ каждого процесса ЖЦ, однако не устанавливает конкретной модели ЖЦ ПО в виде последовательности фаз, стадий и этапов.

В соответствии с базовым международным стандартом ISO/IEC 12207 все процессы ЖЦ ПО делятся на три группы:

1. Основные процессы:

  • заказ;

  • поставка;

  • разработка;

  • эксплуатация;

  • сопровождение.

2. Вспомогательные процессы:

  • документирование;

  • управление конфигурацией;

  • обеспечение качества;

  • разрешение проблем;

  • аудит;

  • аттестация;

  • совместный анализ;

  • верификация

3. Организационные процессы:

  • создание инфраструктуры;

  • управление;

  • обучение;

  • усовершенствование.

Основные процессы:

  • Заказ – определяются действия покупателя, приобретающего информационную систему, программный продукт или его сервис. Предполагает анализ требований к системе (например, функциональные, требования безопасности, соответствие определенным стандартам); документальное оформление требований к заказу (сроки и условия реализации заказа, требования к системе) и т.д.

  • Поставка – регламентируются действия поставщика информационной системы, программного продукта или его сервиса. Процесс включает подготовку договора, планирование и выполнение соответствующих работ на поставку ИС;

  • Разработка – определяются работы и задачи, выполняемые разработчиком, то есть организацией, которая проектирует и разрабатывает ПП. (анализ требований, проектирование, программирование, тестирование, ввод в действие и т.д.)

  • Эксплуатация – включает оказание помощи и консультации пользователям, организацию обратной связи с ними;

  • Сопровождение – регламентируются действия по изменению программного продукта, поддержке его текущего состояния и функциональной работоспособности при возникновении проблем или необходимости модернизации или настройки.


2. Опишите назначение связи между таблицами. Перечислить типы связей(отношений) между таблицами в реляционных БД. Установите для какого типа используется транзитивная таблица связей.

Связь между таблицами необходима для того, чтобы обеспечить ссылочную целостность.

Существует три разновидности связей между таблицами базы данных:

  • «один-ко-многим»,

  • «один-к-одному»,

  • «многие-ко-многим».

Отношение «один-к-одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.

Отношение «один-ко-многим» имеет место, когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице, но не наоборот.

Отношение «многие-ко-многим» имеет место, когда:

а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;

б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

Тип связи «многие-ко-многим» реализуется через дополнительную транзитивную таблицу связи.

3. Руководствуясь условной конструкцией if..else, определите общую сумму с начисленными процентами вклада банка, в котором алгоритм начисления процента по вкладу зависит от суммы вклада. При значении суммы меньше 100, начисляется – 5 %, если значение суммы находится в диапазоне от ста до двухсот – 7 %, если больше – 10 %. Сумму вклада ввести с клавиатуры. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

Console.Write("Введите сумму вклада: ");

double sum = Convert.ToDouble(Console.ReadLine());

if (sum < 100)

{

sum += sum * 0.05;

}

else if (sum <= 200)

{

sum += sum * 0.07;

}

else

{

sum += sum * 0.1;

}

Console.WriteLine($"Сумма вклада после начисления процентов: {sum}");

4. Руководствуясь правилами объявления переменных, объявите переменную типа str для перевода веденного символа от a до f в верхний регистр. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

a = str(input())

if a >= 'a' and a <= 'f':

a = a.upper()

print(a)

БИЛЕТ № 4

Наименование вопроса:

1. Дайте определение «Модель жизненного цикла программного обеспечения». Изобразите и охарактеризуйте каскадную модель жизненного цикла программного обеспечения. Выделите ее достоинства и недостатки.

Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной ИС и заканчивая моментом ее полного выхода из употребления.

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

Каскадная модель (рис. 1) предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе.




Каскадная модель характеризуется следующими основными особенностями:

- последовательным выполнением входящих в ее состав этапов;

- окончанием каждого предыдущего этапа до начала следующего;

- отсутствием временного перекрытия этапов (последующий этап не начнется пока не завершится предыдущий);

- отсутствием возврата к предыдущим этапам;

- наличием результата только в конце разработки.


Каскадный подход хорошо зарекомендовал себя при построении относительно простых ИС, когда в самом начале разработки можно достаточно точно и полно сформулировать все требования к системе.

В ранних проектах достаточно простых ИС каждое приложение представляло собой единый, функционально и информационно независимый блок. Для разработки такого типа приложений эффективным оказался каскадный способ. Каждый этап завершался после полного выполнения и документального оформления всех предусмотренных работ.

Можно выделить следующие положительные стороны применения каскадного подхода:

  • на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;

  • выполняемые в логической последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.

Недостатки:

  • сложность четкого формулирования требований в начале ЖЦ и практически невозможность их динамического изменения;

  • недостаточное участие пользователя в разработке ПС;

  • непригодность промежуточного продукта для использования.

2. Назовите назначение нормализации БД. Дайте определение первой, второй и третьей нормальным формам. Опишите процесс приведения таблиц к произвольной нормальной форме на ваш выбор.

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

База данных находилась в 1 нормальной форме (1NF), необходимо чтобы ее таблицы соблюдали следующие реляционные принципы:

В таблице не должно быть дублирующих строк

В каждой ячейке таблицы хранится атомарное значение (одно не составное значение)

В столбце хранятся данные одного типа

Отсутствуют массивы и списки в любом виде

Чтобы база данных находилась во второй нормальной форме (2NF), необходимо чтобы ее таблицы удовлетворяли следующим требованиям:

Таблица должна находиться в первой нормальной форме

Таблица должна иметь ключ

Все неключевые столбцы таблицы должны зависеть от полного ключа (в случае если он составной)

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

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

3. Руководствуясь условной конструкцией switch..case, по заданному виду арифметической операции (сложение, вычитание, умножение и деление) и двум операндам, определите результат применения данной операции к операндам. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

Console.Write("Введите знак операции: ");

char oper = char.Parse(Console.ReadLine());

bool ok = true;

Console.Write("Операнд 1: ");

double a = double.Parse(Console.ReadLine());

Console.Write("Операнд 2: ");

double b = double.Parse(Console.ReadLine());

double res = 0;

switch (oper)

{

case '+':

res = a + b;

break; //1

case '-':

res = a - b;

break;

case '*':

res = a * b;

break;

case ':':

if (b != 0) //2

{

res = a / b;

break;

}

else

{

goto default;

}

default:

ok = false;

break;

}

if (ok)

{

Console.WriteLine("{0} {1} {2} = {3}", a, oper, b, res);

}

else

{

Console.WriteLine("Ошибка");

}
4. Руководствуясь правилами объявления переменных, объявите переменную типа str. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python, которая выбирает из строки числа.

s=str(input('Введите строку с числами: '))

a=s.split()

for i in a:

if i.isnumeric():

print(i)

БИЛЕТ № 5

Наименование вопроса:

1. Дайте определение «Модель жизненного цикла программного обеспечения». Изобразите и охарактеризуйте итерационную модель жизненного цикла программного обеспечения. Выделите ее достоинства и недостатки.

Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной ИС и заканчивая моментом ее полного выхода из употребления.

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

В итерационной модели (модели с промежуточным контролем) разработка ИС ведется итерациями с циклами обратной связи между этапами. Межэтапные корректировки позволяют учитывать реально существующее взаимодействие результатов разработки на различных этапах; время жизни каждого из этапов растягивается на весь период разработки.



Итерационная модель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает “мини-проект”, включая все фазы ЖЦ в применении к созданию меньших фрагментов функциональности, по сравнению с проектом, в целом. Цель каждой итерации – получение работающей версии программной системы, включающей функциональность, определенную интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта.


Достоинства:

  • получение функционального продукта после реализации каждого инкремента;

  • включение в процесс разработки пользователей;

  • получение продукта более высокого качества чем в каскадной модели.

Недостатки:

  • необходимость хорошего планирования и грамотного распределения работ;

  • возможность текущего изменения требований к программному средству, которые уже реализованы на предыдущих итерациях;

  • необходимость в четко определенных интерфейсах между модулями, связанные с различными сроками их создания.

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

2. Охарактеризуйте свойства полей таблицы: значение по умолчанию, условие на значение, маска ввода, формат полей. Выделите их основные отличия друг от друга.

Атрибут DEFAULT определяет значение по умолчанию для столбца. Если при добавлении данных для столбца не будет предусмотрено значение, то для него будет использоваться значение по умолчанию. Например, так можно задать значение по умолчанию в виде числа 18 для столбца Age при создании таблицы:

Age INT DEFAULT 18

Для того, чтобы задать условие для добавляемого условия в столбец или маску ввода, необходимо использовать атрибут CHECK. Например, чтобы удостовериться, что добавляемый в таблицу возраст будет находится в диапазоне от 0 до 120 можно задать полю age следующие атрибуты:

Age INT CHECK(age > 0 and age < 120)

Для того, чтобы задать маску ввода, необходимо в атрибуте CHECK использовать оператор LIKE или регулярные выражения. Например, в поле PhoneNumber добавляются только телефоны, начинающиеся с +375:

PhoneNumber VARCHAR(25) CHECK(PhoneNumber LIKE ‘+375%’)
3. Дана точка на плоскости с координатами (х, у). Руководствуясь правилами описания множеств, которое выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе. Организуйте удобный пользовательский интерфейс. спроектируйте консольное приложение на языке программирования С#. Области задаются графически следующим образом:



Console.Write("Координата x: ");

double x = double.Parse(Console.ReadLine());

Console.Write("Координата y: ");

double y = double.Parse(Console.ReadLine());

const int r = 10;

if (x * x + y * y < r * r)

{

Console.WriteLine("Да");

}

else if (x * x + y * y > r * r)

{

Console.WriteLine("Нет");

}

else

{

Console.WriteLine("На границе");

}
4. В киоске продается газета стоимостью m ден. ед. и журнал стоимостью n ден. ед. Руководствуясь правилами объявления переменных, объявите переменную типа float. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python, которая спрашивает о желании покупателя (журнал или газета?), принимает деньги (сумма денег вводиться с клавиатуры) и печатает причитающую сдачу.

jour=15

gaz=10

a=str(input('Выберите, что хотите купить: Журнал - ж, Газета- г: '))

if a=='ж':

print('Вы выбрали журнал стоимость 15р, введите деньги для оплаты: ')

jo=float(input())

if jo
print('НЕВЕРНОЕ ЧИСЛО')

else:

print('Ваша сдача: ', jo-jour)

elif a=='г':

print('Вы выбрали газету стоимость 10р, введите деньги для оплаты: ')

go=float(input())

if go
print('НЕВЕРНОЕ ЧИСЛО')

else:

print('Ваша сдача: ', go-gaz)

else:

print('Ошибка, вы должны выбрать Журнал (ж) или Газету (г) ')

БИЛЕТ № 6

Наименование вопроса:

1. Дайте определение «Модель жизненного цикла программного обеспечения». Изобразите и охарактеризуйте спиральную модель жизненного цикла программного обеспечения. Выделите ее достоинства и недостатки.

Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной ИС и заканчивая моментом ее полного выхода из употребления.

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

Спиральная модель (рис.) На каждом витке спирали выполняется создание очередной версии продукта, уточняются требования проекта, определяется его качество и планируются работы следующего витка.

Согласно спиральной модели ПО создается не сразу, а по частям с использованием метода прототипирования. Прототип – действующий программный компонент, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО. Создание прототипов осуществляется в несколько итераций или витков спирали.

Особое внимание уделяется начальным этапам разработки - анализу и проектированию, где реализуемость тех или иных технических решений проверяется и обосновывается посредством создания прототипов.Это позволяет уточнить требования, цели и характеристики проекта, определить качество разработки, спланировать работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который удовлетворяет действительным требованиям заказчика и доводится до реализации.

Достоинства:

  • возможность уточнения и внесения новых требований в процессе разработки;

  • пригодность для использования промежуточного продукта (раннее получение результата за счет прототипирования);

  • обеспечение участия пользователя (заказчика) в разработке.

Недостатки:

  • сложность управления проектом;

  • сложность определения критериев для продолжения процесса разработки на следующей итерации и неизвестность точного количества необходимых итераций, что затрудняет планирование проекта и может вызвать задержку реализации финальной версии ПС.

Основная проблема спирального цикла – определение момента перехода на следующий этап. Для ее решения вводятся временные ограничения на каждый из этапов жизненного цикла, и переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. Планирование производится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.

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

2. Дайте определение понятию «тип поля». Классифицируйте типы полей по группам и перечислите по 3-4 типа из каждой группы. Укажите для чего используются типы данных ENUM и SET?

Тип поля – это тип данных, к которому относится поле. Он определяет диапазон значений и операций, которые могут быть применены к значениям данного типа.

MySQL предоставляет следующие типы данных, которые можно разбить на ряд групп.
1   2   3   4   5   6   7   8   9


написать администратору сайта