Поясните влияние архитектуры по на процесс его разработки
Скачать 18.75 Kb.
|
Поясните влияние архитектуры ПО на процесс его разработки. База данных представляет собой систему хранения записей, организованных в виде таблиц. Таблица состоит из набора строк и столбцов. Столбцы таблицы имеют имена, и за каждым столбцом закреплен тип и/или область значений. Строки таблицы баз данных называются записями, а ячейки, на которые делится запись, – полями. Таблицы могут быть связаны между собой с помощью ключей. Первичный ключ – это уникальный идентификатор записи, который может представлять собой не только один столбец, но и целую комбинацию столбцов. Разработка программного обеспечения предполагает не только написание кода, но и грамотное распределение ответственности между подсистемами. И, чем сложнее становится программный продукт, тем сильней его архитектура влияет на качество конечного результата. Монолит, в котором решение прикладных задач неотделимо от задач программистских, трудно совершенствовать, также, как и искать причины ошибок в коде. Объясните назначение и порядок использования метода-модификатора. 1) Модификатор «public». К переменной, методу или классу, помеченному модификатором public, можно обращаться из любого места программы. Это самая высокая степень открытости – никаких ограничений нет. 2) Модификатор «private». К переменной, методу или классу, помеченному модификатором private, можно обращаться только из того же класса, где он объявлен. Для всех остальных классов помеченный метод или переменная – невидимы. Это самая высокая степень закрытости – только свой класс. Такие методы не наследуются и не переопределяются. Доступ к ним из класса-наследника также невозможен. 3) «Модификатор по умолчанию». Если переменная или метод не помечены никаким модификатором, то считается, что они помечены «модификатором по умолчанию». Переменные и методы с таким модификатором видны всем классам пакета, в котором они объявлены, и только им. Этот модификатор еще называют «package» или «package private», намекая, что доступ к переменным и методам открыт для всего пакета, в котором находится их класс 4) Модификатор «protected». Этот уровень доступа чуть шире, чем package. К переменной, методу или классу, помеченному модификатором protected, можно обращаться из его же пакета (как package), но еще из всех классов, унаследованных от текущего. Как определить принадлежность символа строки к буквам или цифрам? Что такое singleton и как это работает? Основная концепция использования шаблона Singleton заключается в том, чтобы ограничить экземпляр определенным количеством объектов, которые в общем случае используются для одного. Чем отличаются обычный метод и статический? Статический метод можно вызывать для класса независимо от того, определён ли хотя бы один объект этого класса: class::staticmethod(). Так как статический метод не «приписан» к объекту, он не получает указателя this в качестве параметра. Статические методы не могут быть константными или виртуальными. В чем отличие SQLite от других СУБД? разработан язык SQL (Structured Query Language, язык структурированных запросов), который дает возможность не только осуществлять запросы и изменять данные, но и создавать новые базы данных. Основными действиями, выполняемыми с базой данных, являются: создание новой таблицы, чтение (выборка и проекция), вставка, изменение и удаление данных. Для чего и как используют объект тип QSqlDatabase? Для непосредственного взаимодействия с базой данных нам потребуется объект db типа QSqlDatabase, который мы объявим в качестве атрибута класса. Указатель model типа QSqlTableModel* будет использован для работы с концепцией интервью. Механизмы работы с ней будут рассмотрены позднее. Что и где подключается для работы с классами БД? помимо метафайла QtSql нам потребуется подключить заголовочный файл qvariant.h (или QVariant) для обработки результатов запросов. Кроме того, модуль sql должен быть подключен и в файле проекта В чем отличие разных видов апострофов, используемых в тексте запросов? Как выполняется подключение к БД и проверка наличия подключения? Для проверки и непосредственного подключения к базе в методе check() вызываем метод db.open(), который не только открывает соединение с базой данных, но и возвращает в качестве результата логическое значение: «истину» при успешном подключении к базе, и «ложь» – при сбое, на случай которого мы высылаем сигнал dberror() с текстом возникшей ошибки. Как выполняется запрос средствами Qt? Как проверить успешность и неуспешность выполнения запроса, узнать причину ошибки? Для чего используется параметр AUTOINCREMENT в команде CREATE? Отметим, что для SQLite параметр AUTOINCREMENT можно не указывать, увеличение значений ключа будет выполняться по-умолчанию. Каким образом выполнить обновление уже существующей записи? В методе Сэйв проверяем айди записи, если оно не 0, то выполняется изменение значений таблицы с помощью скуэл запросов( update customers set …(значения)) Как получить выборку данных по неполному значению некоторого поля? Использовать метод LIKE затем неполностью введенные данные и + % Как определить наличие данных в выборке и получить значения полей? При успешном выполнение запроса результат записывается в объуект query. Метод next() проверяет наличие очередной записи в выборке. Метод value() возвращает значение в query по порядковому номеру, которые можно привести к определенному типу с помощью туинт тустринг и тудэйт. Каким образом создать связный список средствами Qt SDK, занести туда элемент, определить количество элементов? Какой сигнал связан с действием смены вкладки? currentChanged(int). Поясните порядок работы с таблицей QTableWidget, назначение методов. Объясните порядок создания и взаимодействия классов различных уровней ответственности. Поясните смысл использования ключей в базах данных? Разъясните суть концепции интервью, какие классы и для чего используются. Как выполняется сопоставление модели и её представления, какие методы для этого используются? Что приводит к обновлению содержимого экранной таблицы? |