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

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


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

FROM Customers

UNION SELECT FirstName, LastName FROM Employees;

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

static void Main(string[] args)

{

try

{

Console.WriteLine("Введите целое число");

int number = int.Parse(Console.ReadLine());

string binary = Convert.ToString(number, 2);

Console.WriteLine("|{0,10}|{1,15}|", "Число", "Представление");

Console.WriteLine("____________________________");

Console.WriteLine("|{0,10}|{1,15}|", number, binary);

}

catch (Exception ex)

{

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

}

Console.ReadKey();

}

4. Руководствуясь возможностями библиотеки NumPy сформируйте матрицу из нулей, со звездочкой из единиц (7х7, 2 диагонали + 2 оси). Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

import numpy as np

x = np.zeros((7,7))

np.fill_diagonal(x,1)

np.fill_diagonal(np.fliplr(x), 1)

x[:,3]=1

x[3,:]=1

print(x)

БИЛЕТ № 27

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

1. Объясните сущность гибкой методологии разработки ПО. Охарактеризуйте манифест гибкой разработки ПО. Приведите примеры гибких методологий.

Гибкая методология разработки (Agile software development, agile-методы) – серия подходов к разработке ПО, ориентированных на использование интерактивной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. 

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

По окончании каждой итерации команда выполняет переоценку приоритетов разработки .Agile-методы делают упор на непосредственное общение лицом к лицу. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами.

Манифест гибкой разработки программного обеспечения (англ. Agile Manifesto) – основной документ, содержащий описание ценностей и принципов гибкой разработки программного обеспечения, разработанный в феврале 2001 года на встрече 17 независимых практиков нескольких методик программирования, именующих себя «Agile Alliance».

Текст манифеста доступен на более чем 50 языках (в т. ч. на русском), и включает в себя 4 ценности и 12 принципов.

Для заказчика Agile-методология обычно выражается в следующем:

  • разработка ведется короткими циклами (итерациями), продолжительностью 1-4 недели;

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

  • команда разработки сотрудничает с заказчиком в ходе всего проекта;

  • изменения в проекте приветствуются и быстро включаются в работу.

Для разработчика Agile-методология обычно означает:

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

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

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

  • Непродолжительные (обычно раз в день) совещания разработчиков («meeting») по поводу предстоящих задач, возникших сложностей и выполненной со времени прошлого совещания работы.

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

Примеры гибких методологий разработки: экстремальное программирование (XP), Scrum, Kanban, Crystal.

2. Перечислите основные функции для работы с СУБД MySQL в языке программирования PHP. Опишите их назначение. Укажите, какие параметры нужны для подключения к базе данных.

Mysqli(MySQL Improved) — это расширение языка программирования PHP, которое добавляет в язык полную поддержку баз данных MySQL. Это расширение поддерживает множество возможностей современных версий MySQL. Все функции в PHP для работы с MySQL будут начинаться с префикса Mysqli. В расширении представлены следующие функции:

mysqli_connect(“адрес сервера”, “имя пользователя”, “пароль”, “имя базы данных”); - подключение к базе данных на сервере MySQL.

mysqli_connect_error() – функция возвращает текстовое описание последней ошибки в MySQL.

mysqli_close($link) – закрытие соединения с базой данных, где $link – переменная, хранящая ссылку на соединение с базой данных.

mysqli_set_charset($link, "utf8") – установка кодировки базы данных.

mysqli_query($link, $sqltext) – выполнение запросов к базе данных, где $link – ссылка на соединение с базой данных, $sqltext – строка с текстом запроса.

mysqli_fetch_array($result) – чтение одной записи из результата выполнения запроса, где $result – результат выборки.

mysqli_fetch_all($res, MYSQLI_ASSOC) – получение всей результирующей выборки в виде двумерного массива, где $res – ссылка на результат запроса (выборку).

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

адрес сервера”

имя пользователя”

пароль”

имя базы данных”.

3. Руководствуясь правилами объявления переменных, определить загаданное компьютером число в диапазоне от 1 до 100. При каждой попытке угадывания, компьютер должен подсказывать пользователю отношение загаданного числа к введенному. Определить общее количества попыток ввода. Предусмотреть возможность преждевременного выхода из программы. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

static void Main(string[] args)

{

Console.WriteLine("Введите число в диапазоне от 1 до 100" + "\nДля выхода введите 0");

Random rnd = new Random();

int hiddenNumber = rnd.Next(100) + 1;

int count = 1;

do

{

Console.Write("Попытка ввода: ");

Console.WriteLine(count);

int userNumber = int.Parse(Console.ReadLine());

if (userNumber == 0) break;

if (userNumber > hiddenNumber) Console.WriteLine("Ваше число больше задуманного мною!");

else if (userNumber < hiddenNumber)

{

Console.WriteLine("Ваше число меньше задуманного мною!");

}

else

{

Console.WriteLine("Ура!!! Ты угадал!\nВсего попыток: " + count);

break;

}

count++;

} while (true);

}

4. Руководствуясь возможностями библиотеки Pandas создайте два объекта Series и объедините их вертикально и горизонтально. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

import numpy as np

import pandas as pd

s1 = pd.Series(range(5))

s2 = pd.Series(list('abcde'))

ans_vertical = s1.append(s2)

ans_horizontal = pd.concat([s1, s2], axis=1)

print('Вертикально:')

print(ans_vertical)

print('Горизонтально:')

print(ans_horizontal)

БИЛЕТ № 28

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

1. Охарактеризуйте методологию экстремального программирования XP. Выделите и опишите основные приемы (методики) экстремального программирования.

Экстремальное программирование (Extreme Programming, ХР) – это упрощенная методика организации производства для небольших и средних по размеру команд специалистов, занимающихся разработкой программного продукта в условиях неясных или быстро меняющихся требований.

ХР направлено на то, чтобы снизить связанный с проектом риск, улучшить реакцию на изменение бизнеса, улучшить производительность работы над проектом

ХР формирует набор наиболее эффективных приемов. У всех приемов одна цель – создание программного продукта с заданной функциональностью к заданному сроку.

Основные приемы:

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

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

Заказчик всегда рядом

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

Игра в планирование

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

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

Быстрый выпуск версий

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

Непрерывная интеграция

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

Метафора системы

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

Умеренный темп (рациональная организация труда)

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

Стандарты кодирования

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

2. Опишите технологию ADO.NET. Укажите библиотеку и пространство имён, которые необходимо подключить для работы с данной технологией. Опишите классы, необходимые для подключения и взаимодействия с базой данных в данной технологии?

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

Для того чтобы работать с базой данных MySql в .net в проект нужно добавить ссылку на библиотеку MySql.Data.dll

Также необходимо в именных пространствах проекта прописать using MySql.Data.MySqlClient;

MySqlConnection – это класс, который расположен в библиотеке mysql.data.dll. Он предназначен для установки соединения с базой данных mysql. В качестве параметра конструктора данный класс принимает строку подключения. Строка подключения (Connection string) – это строка, которая содержит параметры для подключения к базе данных, такие как название базы данных, имя сервера, имя пользователя сервера, пароль пользователя. Для mysql строка подключения имеет следующий вид:

String myConnectionString = "server=localhost; database=Имя_БД; uid=root; pwd=ваш пароль в sql-сервере;"

Также используются следующие классы:

MySqlCommand - Используется для выполнения запросов к БД, таких как UPDATE, DELETE, INSERT, SELECT и т.д.

MySqlDataReader - Данный класс используется для хранения набора строк, который мы получили из базы при помощи SELECT-запроса. Является ассоциативным массивом. В объект данного типа записывается результат метода ExecuteReader(), вызванный у класса MySqlCommand/SqlCommand.

MySqlDataAdapter - Данный класс выступает посредником между реальной БД на сервере и виртуальной БД в программе, представленной в виде объекта класса DataSet.

MySqlCommandBuilder - Используется для корректности запросов, направляемых к БД.

3. Руководствуясь правилами объявления переменных, объявите переменную типа string. Удалить в строке n символов начиная с k-го символа. Строку ввести с клавиатуры. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

static void Main(string[] args)

{

Console.WriteLine("Введите строку: ");

string text = Console.ReadLine();
Console.WriteLine("Введите целое число - начальную позицию для удаления символа");

int position = int.Parse(Console.ReadLine());

Console.WriteLine("Введите целое число - количество удаляемых символов");

int len = int.Parse(Console.ReadLine());

if (position + len < text.Length)

Console.WriteLine(text.Remove(position, len));

else

Console.WriteLine("Невозможно выполнить операцию");

}

4. Руководствуясь возможностями библиотеки Pandas создайте два объекта Series (А и В). Определите индексы объекта Series A, данные которых содержатся в объекте Series B. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

import numpy as np

import pandas as pd

s1 = pd.Series([5, 3, 2, 1, 4, 11, 13, 8, 7])

s2 = pd.Series([1, 5, 13, 2])

ans2 = np.asarray([pd.Index(s1).get_loc(i) for i in s2])

print(ans2)

БИЛЕТ № 29

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

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

Документирование ПО – процесс формализованного описания информации, созданной в течение жизненного цикла программного обеспечения

Значимость: при разработке Программных Продуктов создается и используется большой объем разнообразной документации. Она необходима как средство передачи информации между разработчиками ПП, как средство управления разработкой ПП и как средство передачи пользователям информации, необходимой для применения и сопровождения ПП

Можно выделить следующие основные виды документации на ПО

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

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

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

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

Существует три подхода к организации пользовательской документации

  • Вводное руководство (англ. tutorial), наиболее полезное для новых пользователей, последовательно проводит по ряду шагов, служащих для выполнения каких-либо типичных задач.

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

  • Алфавитный справочник команд и задач

  • Маркетинговая

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

- усилить интерес к продукту у потенциальных пользователей

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

- объяснить положение продукта по сравнению с конкурирующими решениями
1   2   3   4   5   6   7   8   9


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