Виды испытаний
Приемосдаточные испытания программы должны проводиться согласно разработанной исполнителем и согласованной заказчиком «Программы и методики испытаний».
Ход проведения приемо-сдаточных испытаний заказчик и исполнитель документируют в протоколе испытаний.
Общие требования к приемке работы
На основании протокола испытаний исполнитель совместно с заказчиком подписывают акт приемки-сдачи программы в эксплуатацию.
Приложение Б.
Основные SQL–запросы
Создание процедур:
Процедура с параметром, которая выводит название и направление групп, которые обучаются на заданном курсе
Процедура, возвращающая максимальное количество человек в группе выбранного курса
Создание функций:
Функция, считающая, сколько человек учится на курсе
Функция, возвращающая таблицу с названием направления и количеством человек, которые обучаются по этому направлению
Создание триггеров:
Создание журнала изменений столбца «Оклад» в таблице «Сотрудники»
Триггер(instead), срабатывающий при попытке изменить данные в таблице
Создание индексов:
Приложение В.
Примеры отчётов
Табель учёта рабочего времени
Список мероприятий
Ведомость
Приложение Г.
Листинг наиболее важных частей кода
Часть кода, отвечающая за получение и «связывание» данных из базы:
public DataTable MerList()
{
using (workplaceEntities context = new workplaceEntities())
{
context.Database.Log = s => Debug.WriteLine(s);
var queryResult = from M in context.meropriyatya
join E in context.Sotrudniki on M.id_sotrudnika equals E.id_sotrudnika
selectnew
{
M.mername,
M.mervid,
M.mertip,
M.opisanie,
M.yavka_obyazatelna,
M.vlozheniya,
M.corpus,
M.cabinet,
M.date_time,
E.Name,
E.last_name
};
if (queryResult.Count() > 0)
{
DataTable result = new DataTable();
result.Columns.Add("Название");
result.Columns.Add("Вид");
result.Columns.Add("Тип");
result.Columns.Add("Описание");
result.Columns.Add("Присутствиеобязателно");
result.Columns.Add("Вложения");
result.Columns.Add("Корпус");
result.Columns.Add("Кабинет");
result.Columns.Add("Дата");
result.Columns.Add("Фамилия ответсвенного");
result.Columns.Add("Имя ответсвенного");
foreach (var row in queryResult)
{
result.Rows.Add(row.mername, row.mervid, row.mertip, row.opisanie, row.yavka_obyazatelna, row.vlozheniya, row.corpus, row.cabinet, row.date_time, row.last_name, row.Name);
}
return result; }
else
{ returnnull;}
}
}
Часть кода, отвечающая за добавление данных с формы приложения в базу:
publicbool addMer(string mname, string vid, string opisanie, DateTime date_time, string corpus, string cab, string tip, string vloj, string name, string last_name, string second_name, bool yavka)
{
if (getPersId(name, second_name, last_name)!= 0)
{
using (workplaceEntities context = new workplaceEntities())
{
context.Database.Log = s => Debug.WriteLine(s);
meropriyatya meropriyatie = new meropriyatya()
{
mername = mname,
mervid = vid,
mertip = tip,
opisanie = opisanie,
vlozheniya = vloj,
yavka_obyazatelna = yavka,
corpus = corpus,
cabinet = cab,
date_time = date_time,
id_sotrudnika = getPersId(name, second_name, last_name)
};
context.meropriyatya.Add(meropriyatie);
context.SaveChanges();//сохраняемизменениянауровнебазыданных
returntrue;
}
}
elsereturnfalse;
}
Пример получения номера направления через запрошенное пользователем название:
publicint getDepartmentIdByName(string department)
{
using (workplaceEntities context = new workplaceEntities())
{
var queryResult = from D in context.kafedra
where D.kafname == department
selectnew
{
D.id_kafedri
};
int result = queryResult.Single().id_kafedri;
return result;
}
}