Срез. Среззззз. Билет 1 Наименование вопроса Дайте определение понятия Программное обеспечение
Скачать 0.49 Mb.
|
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), наиболее полезное для новых пользователей, последовательно проводит по ряду шагов, служащих для выполнения каких-либо типичных задач. Тематический подход, при котором каждая глава руководства посвящена какой-то отдельной теме, больше подходит для совершенствующихся пользователей Алфавитный справочник команд и задач Маркетинговая Для многих приложений необходимо располагать рядом рекламных материалов, с тем чтобы заинтересовать людей, обратив их внимание на продукт. Такая форма документации имеет целью: - усилить интерес к продукту у потенциальных пользователей - информировать их о том, что именно делает продукт, с тем чтобы их ожидания совпадали с тем что они получат - объяснить положение продукта по сравнению с конкурирующими решениями |