Техническое задание База данных должна представлять собой три независимых программных модуля: 1. Модуль поиска и отображения данных. 2. Модуль ввода и редактирования данных. 3. Модуль формирования паролей. База данных должна обеспечивать: - нормальное функционирование при количестве записей не менее 100 000; - поиск по всей базе данных по заданным параметрам фильтра; - импорт записей с соответствующими полями из копий этой же базы данных, заполненных на других ПЭВМ; - печать/просмотр резюме выбранной записи; - печать/просмотр сводной таблицы результатов отбора по фильтру; - импорт текущей записи в файл формата MS Office (поля "Изображение", "Фамилия", "Имя", "Отчество", "ГодПоступления", "ГодВыпуска", "ДатаРождения", "ДатаСмерти" (если флаг "Живой"=0), "Страна", "АдресИндекс", "АдресГородОбл", "АдресПодробный", "Место захоронения" (если флаг "Живой"=0), "ТелефонМоб", "ТелефонДом", "ТелефонРаб", "ТелефонДр", "ЭлПочта1", "ЭлПочта2", "Skype", "ICQ", "Сайт", "ДатаЗаписи", "ИмяАвтора", "Биография", "БатальонФакультет", "РотаНазваниеКурса", "Классное отделение"). Внешний вид импортированной записи представлен на рисунке. - импорт отобранных по фильтру записей в файл формата MS Exel (поля "Фамилия", "Имя", "Отчество", "ГодПоступления", "ГодВыпуска", "БатальонФакультет", "РотаНазваниеКурса", "КлассноеОтделение"). Поля базы данных: 1. "Фамилия" - текст. 2. "Имя" - текст. 3. "Отчество" текст. 4. Флаг "ДостоверностьГодПоступления" - бинарный: 1 – достоверно; 0 – недостоверно. 5. Флаг "ДостоверностьГодВыпуска" - бинарный: 1 – достоверно; 0 – недостоверно. 6. "ГодПоступления" – числовой целый; 7. "ГодВыпуска" – числовой целый; 8. Флаг "ПрограммаОбучения" - бинарный: 1- высшая программа обучения; 0 – средняя программа обучения. 9. Флаг "ИВУ" - бинарный: 1 – если заканчивал ИВУ, 0 – не заканчивал. 10."КлассноеОтделение" – числовой целый; 11." РотаНазваниеКурса" – текст; 12."БатальонФакультет " – текст; 13.Флаг "Живой" – бинарный: 1 – живой; 0 – умер; 14."ДатаРождения" – дата дд.мм.гг; 15."ДатаСмерти" – дата дд.мм.гг, если введена, то автоматически флаг "Живой"="0". 16."Страна" – текстовый; 17."АдресИндекс" – текстовый (индекс бывает буквенно-цифровой). 18."АдресГородОбл" - текстовый. 19."АдресПодробный" - текстовый. 20. "МестоЗахоронения" - текстовый. 21."ТелефонМоб" – числовой, целый. 22."ТелефонДом" – числовой, целый. 23."ТелефонРаб" - числовой, целый. 24."ТелефонДр" – числовой, целый. 25."ЭлПочта1" – тестовый; 26."ЭлПочта2" – текстовый; 27."Skype" – текстовый; 28."ICQ" – числовой, целый; 29."Сайт" - текстовый 30."Биография", "Текст2", …, "Текст9" - текстовый 50 кБ. 31."ДопДанные". Поле с сылками на документы форматов doc, rtf, ppt, htm, avi. Должна обеспечиваться связь не менее чем с 10-ю внешними файлами. 32."Изображение" - поле с ссылкой на картинку. Должна обеспечиваться связь записи не менее чем с 50 файлами изображений в формате jpg. 33.Флаг "Генерал" - бинарный: 1 – если генеральское звание присвоено; 0 – нет. 34.Флаг "УчВОВ" - бинарный: 1 – участник; 0 – нет. 35.Флаг "Герой" - бинарный: 1 – Герой Советского Союза или России; 0 – нет. 36.Флаг "ЗолотМедал": 1 – золотой медалист училища, 0 – нет. 37."ДатаЗаписи" – дд.мм.гг, дата формирования или последнего редактирования записи. Формируется автоматически. 38."ИмяАвтора" – текст. Имя автора записи импортируется автоматически из модуля ввода данных (см. требования к модулю). 39."ЕмаилАвтора" – текст. Адрес электронной почты автора. Импортируется автоматически из модуля ввода данных (см. требования к модулю). Требования к модулю поиска и отображения данных. Модуль поиска и отображения данных должен быть отдельным приложением и работать независимо от модуля ввода и редактирования данных. Модуль должен обеспечивать импорт записей с соответствующими полями из баз данных, сформированных и заполненных на других ПЭВМ; Модуль состоит из следующих панелей: - панель отображения данных; - панель поиска; - панель отображения результатов поиска. Требования к интерфейсу панели отображения данных. Примерный внешний вид интерфейса указан на рисунке. Расположение субпанелей и элементов управления и их внешний вид могут изменяться в ходе разработки базы данных по согласованию с Заказчиком. На панели отображения данных расположены следующие субпанели, окна и элементы управления: 1. Баннер сайта Иватушники.РУ. Набор баннеров предоставляется Заказчиком. Линейные размеры баннера уточняются дополнительно. Смена баннера происходит при каждом запуске базы данных. Баннеры импортируются из отдельной папки в случайном порядке. При нажатии на него осуществляется открытие Интернет-обозревателя установленного у пользователя по умолчанию, с последующей загрузкой главной страницы сайта ivatushniki.ru. 2. Окно с меняющимися изображениями с периодичностью в 10 секунд. Изображения импортируются из отдельной папки в случайном порядке. Архив изображений предоставляется Заказчиком. Линейные размеры окна уточняются дополнительно. 3. Субпанель результатов поиска с отображением информации находящейся в полях записи. Внешний вид субпанели приведен на рисунке. Графический интерфейс и расположение элементов отображения на субпанели согласуется с Заказчиком в ходе разработки базы данных. На субпанели расположены следующие элементы: - окно отображения фамилии, имени отчества (поля соответственно "Фамилия", "Имя", "Отчество"). Если "Живой"=0, то окно обрамляется черной рамкой. - кнопки "След." и "Пред.", обеспечивают переход соответственно к следующей и предыдущей записи базы данных; - кнопки сортировки по фамилии по алфавиту в прямом и обратном порядке; - окна отображения года поступления и выпуска из училища (поля "ГодПоступления" и "ГодВыпуска"). Если флаг "ДостоверностьГодПоступления"=0, то соответствующее окно отображения необходимо выделить цветом и другим оформлением. Если флаг "ДостоверностьГодВыпуска"=0, то соответствующее окно отображения необходимо выделить цветом и другим оформлением. - кнопки сортировки по году поступления в возрастающем и убывающем порядке; - окна отображения полей "КлассноеОтделение", "РотаНазваниеКурса", "БатальонФакультет". При "ПрограммаОбучения"=0 отображаются значения всех трех полей, поясняющие надписи окон выглядят соответственно "Классное отделение", "Рота" и "Батальон". При "ПрограммаОбучения"=1 отображаются значения только полей "РотаНазваниеКурса" и "БатальонФакультет", поясняющие надписи окон выглядят соответственно "Название курса" и "Факультет". Если флаг "ИВУ"=1, то ни одно из этих окон на панели не отображается; - окна отображения места проживания (поля "Страна", "АдресИндекс", "АдресГородОбл", "АдресПодробный"); - окно отображения даты рождения (поле "ДатаРождения"). В случае совпадения даты рождения с текущей датой окно отображения должно выделяться с помощью средств графического оформления; - кнопки сортировки по дате рождения в возрастающем и убывающем порядке; - окно отображения даты смерти (поле "ДатаСмерти"). Если флаг "Живой"=1, то на панели не отображается, если "Живой"=0, то отображается; - окно отображения места захоронения (поле "МестоЗахоронения"). Отображается, если флаг "Живой"=0, если =1, то не отображается; - окна отображения контактных данных (поля "ТелефонМоб","ТелефонДом", "ТелефонРаб.", "ТелефонДр.", "ЭлПочта1", "ЭлПочта2", "Skype","ICQ", "Сайт"). При нажатии на окно отображения полей "Эл. почта1", "Эл. почта2", "Skype","ICQ", "Сайт" должен вызываться соответствующий внешний обработчик, установленный на компьютере по умолчанию (почтовый клиент, скайп, мессенджер). Если флаг "Живой"=0, то из всех этих полей отображается только поле "ТелефонДом", остальные поля не отображаются. - утопленная рамка для размещения иконок со стилизованными изображениями: звезда Героя Советского Союза (России) (поле "ГСС"), генеральский погон (поле "Генерал"), золотой медали ("ЗолотМедал"), ленточки Жукова (поле "УчастникБД"). Стилизованные изображения предоставляются Заказчиком, размер рамки согласовывается дополнительно. 4. Субпанель отображения изображений привязанных к записи. Требования к изображениям: - изображение должно вписываться в окно на субпанели по высоте или ширине окна; - при нажатии на окно с изображением открывается дополнительное окно изображения размером 1280 на 1024 пикс. - внизу под окном изображения должно быть размещено меню управления просмотром изображений: следующее изображение, предыдущее изображение, к первому изображению, к последнему изображению. 5. Субпанель дополнительной информации. Имеет десять вкладок. Вкладки с 1-й под 9-ю связаны с полями: "Биография", "Текст1", "Текст2","…", "Текст9". Первая вкладка имеет название "Биография", со 2-й по 9-ю нумеруются по порядку, 10-я вкладка имеет название "Дополнительные материалы" и должна обеспечивать отображение пиктограмм связанных с файлами, хранящимися во внешней папке. При нажатии на пиктограмму, должен вызываться соответствующий обработчик, установленный по умолчанию для этого типа программ (doc, rtf, htm, avi, ppt). 6. Информационная строка внизу панели. - окно №1 отображение даты создания/редактирования текущей записи; - окно №2 отображение автора текущей записи (поле "ИмяАвтор"). Имя автора является ссылкой на его электронный адрес (поле "ЕмаилАвтора"), при нажатии на него запускается обработчик эл. почты, установленный на компьютере по умолчанию; - окно №3 отображение числа отобранных по фильтру записей; - окно №4 отображение общего числа записей в базе данных. Требования к интерфейсу панели поиска. Примерный внешний вид панели приведен на рисунке. Нижний левый угол панели поиска должен совпадать с нижним левым углом панели отображения данных. Расположение верхнего правого угла должно обеспечивать отображение всех вкладок и читабельность надписей на них. Должна быть предусмотрена кнопка очистки настроек фильтра. Панель имеет следующие вкладки для настройки фильтра: - вкладка "Поиск по ФИО", имеет следующие окна для формирования поискового запроса: окно Фамилия – для поиска по полю "Фамилия"; окно Имя – для поиска по полю "Имя"; окно Отчество (поле "Отчество"). Поиск осуществляется как по полному слову, так и по его части: например введенная буква "П" в строке "имя" выводит список всех записей где имя начинается на букву "П" (Петр, Павел, Прохор, Порфирий и др.); окно "Ключевое слово" - для поиска по ключевому слову (фразе), поиск осуществляется по полям: "Фамилия", "Имя", "Отчество", "ГодПоступления", "ГодВыпуска", КлассноеОтделение", "РотаНазваниеКурса", "БатальонФакультет", "ДатаРождения", "ДатаСмерти", "Страна", "АдресИндекс", "АдресГородОбл", "АдресПодробный", "МестоЗахоронения", "ТелефонМоб", "ТелефонДом", "ТелефонРаб", "ТелефонДр", "ЭлПочта1", "ЭлПочта2", "Skype", "ICQ", "Сайт", "Биография", "Текст2", …, "Текст9". Результатом поиска будут записи, перечисленные поля которых полностью или частично совпадают с поисковым запросом. - вкладка "Дата жизни", имеет четыре окна для ввода данных: дата рождения 1, дата рождения 2, дата смерти 1, дата смерти 2. Если введена дата рождения 1, то ищется точное совпадение по полю "Дата рождения" в базе данных. Также должен обеспечиваться поиск по неполной дате. При вводе даты рождения 2 поиск осуществляется в указанном интервале. Аналогичные функции поиска должны выполнятся по дате смерти; - вкладка "Поиск по годам обучения". Окно "Год поступления" – фильтруются все записи, совпадающие с записью в поле "ГодПоступления". Окно "Год окончания" – аналогично. Окна "Год1" и "Год2", предназначены для ввода предполагаемого интервала обучения в училище. Результатом поиска буду все записи, в которых интервал "Год поступления"-"Год выпуска" пересекаются с интервалом "Год1" – "Год2". Дополнительные переключатели (И.В.У., 4-я ВШАТ, ИВАТУ, ИВАШАМ, ИВВАИУ, ИВАИИ) упрощают выбор интервала (например известно название училище, но неизвестны года обучения). Каждому переключателю соответствуют следующие интервалы лет: 1876 – 1919 для И.В.У.; 1932 – 1939 для 4-й ВШАТ; 1939 – 1941 и 1949 – 1975 для ИВАТУ; 1941 – 1949 для ИВАШАМ; 1975 – 1998 для ИВВАИУ; 1998 – 2005(?) для ИВАИИ; 2005 – 2013 для ИВВАИУ(ВИ). По умолчанию активирована кнопка "Искать по всем годам"; - вкладка "Поиск по подразделению", имеет следующие переключатели: "Поиск по всем категориям", установлен по умолчанию; окно ввода "Рота" с выпадающим списком чисел от 1-го по 30-е. Осуществляется поиск по полю "РотаНазваниеКурса" по полному совпадению. окно "Классное отделение" с выпадающим списком чисел от 11 до 300. Поиск осуществляется по полю "КлассноеОтделение" по полному совпадению; окно "Факультет" с выпадающим списком названий факультетов "ФЛА, ФПЛА, СД", "ФАОЛА", "ФАВ", "ФАРЭО", "Заочный". Поиск осуществляется по полю "БатальонФакультет" по полному совпадению; переключатель "Средняя программа обучения" осуществляет фильтрацию всех записей, где флаг "ПрограммаОбучения"=0. переключатель "Высшая программа обучения" осуществляет фильтрацию всех записей, где флаг "ПрограммаОбучения"=1. - вкладка "Поиск по адресу", имеет следующие окна для формирования поискового запроса: Страна – поиск по поле "Страна"; Индекс – поиск по полю "АдресИндекс"; Город – по полю "АдресГородОбл"). Поиск осуществляется как по полному совпадению, так и по частичному. - вкладка "Поиск по контактным данным", имеет следующие окна для формирования поискового запроса: Эл. адрес - поиск ведется по полям "Эл.Адрес1" и "Эл.Адрес2"; Телефон - поиск ведется по полям "ТелефонМоб", "ТелефонДом", "ТелефонРаб", "ТелефонДр"; Имя в Skype – поиск ведется по полю "Skype"; Номер ICQ - поиск по полю "ICQ". Поиск осуществляется по полному и частичному совпадению данных в поле записи с поисковым запросом. - вкладка "Дополнительно". Содержит в себе следующие чекбоксы: "ГСС(Р)" - поиск по полю "Герой"; "Участник ВОВ" - поиск по полю "УчВОВ"; "Генерал" - поиск по полю "Генерал"; "Золотой медалист" - поиск по полю "ЗолотМедал". Требования к интерфейсу панели отображения результатов поиска. На этой панели должны отображаться результаты поиска в соответствии с сформированным поисковым запросом на панели поиска. Примерный внешний вид панели приведен на рисунке. При нажатии кнопки "Поиск" на панели поиска отображаются результаты поиска в табличной форме, столбцами которой являются поля "Фамилия", "Имя", "Отчество", "ГодПоступления", "ГодВыпуска", "ФакультетБатальон" и "РотаНазваниеКурса" (количество полей может быть уменьшено по согласованию с Заказчиком). Полоса прокрутки позволяет просмотреть весь список записей, отобранных по фильтру. Нажатие на строку приводит к отображению полей этой записи на субпанели отображения результатов поиска. Нижний правый угол панели совпадает с нижним правым углом панели отображения данных. Расположение верхнего левого угла панели должно обеспечивать отображение всех заданных столбцов и не менее 10 строк по результатам поиска. Размер шрифта в таблице согласовывается дополнительно. По умолчанию результаты поиска упорядочены по году поступления в возрастающем порядке. По умолчанию активной является запись находящаяся первая (верхняя строка) и эта же запись отражается на субпанели результатов поиска. Нажатие на заголовок столбца приводит к сортировке записей в возрастающем/убывающем порядке (по подобию TotalCommander). При пустом поисковом запросе или при запуске программы в таблице отображаются все записи базы данных. Требования к модулю ввода и редактирования записей. Модуль ввода и редактирования должен быть отдельным приложением и работать независимо от модуля поиска и отображения данных. Модуль состоит из следующих панелей: - панель ввода/редактирования данных; - панель поиска – аналогична панели поиска модуля поиска и отображения данных; - панель отображения результатов поиска – аналогична панели отображения результатов поиска модуля поиска и отображения данных. Модуль должен обеспечивать выполнение следующих функций: - авторизацию пользователя при каждом запуске модуля; - привязку имени пользователя к записям, которые он формирует посредством полей "ИмяАвтора" и "ЕмаилАвтора". - возможность создания новой (пустой) базы данной или работа (редактирование и ввод записей) с существующей базой данных (предусмотреть соответствующие органы управления); - импорт записей с соответствующими полями с баз данных, сформированных и заполненных на других ПК; Требования к интерфейсу панели ввода и редактирования данных. На панели должны быть размещены следующие органы управления, позволяющие редактировать и создавать новые записи с соответствующими полями: кнопка удаления текущей записи (контроль удаления "да" – "нет"); кнопка внесения изменений в запись или ввода данных во вновь сформированную запись; поле "Фамилия" – окно ввода, контроль ввода на русском языке; поле "Отчество" – окно ввода, контроль ввода на русском языке; поле "Имя" – окно ввода, контроль ввода на русском языке; поле "ГодПоступления" – окно ввода, и переключатель флага "ДостоверностьГодПоступления" (1 – достоверно (по умолчанию), 0 – недостоверно). Диапазон вводимых годов: 1874 – 1919, 1932 – 2008; поле "ГодВыпуска" – окно ввода и переключатель флага "ДостоверностьГодВыпуска" (1 – достоверно (по умолчанию), 0 – недостоверно). Диапазон вводимых годов: 1876 – 1919, 1932 – 2013; переключатель флага "ПрограммаОбучения", по умолчанию "0" (средняя программа обучения), 1 - высшая программа обучения; переключатель флага "ИВУ", по умолчанию "0" (не заканчивал), 1 – если заканчивал ИВУ; поле "КлассноеОтделение" –выпадающий список с числами от 11 до 300; поле "РотаНазваниеКурса" – окно ввода; поле "БатальонФакультет" – выпадающий список со следующими значениями: "ЛА, ПЛА, СД", "АО", "АВ", "РЭО", ""1", "2", "3", …"20", по умолчанию пусто ""; поле "ДатаРождения" – окно ввода; поле "ДатаСмерти" – окно ввода, переключатель флага "Живой", по умолчанию "1" (живой). Если "ДатаСмерти" введена, то флаг "Живой" автоматически присваивается "0" (умер); поле "Страна" - окно ввода; поле "АдресИндекс" – окно ввода; поле "АдресГородОбл" – окно ввода; поле "АдресПодробн" – окно ввода; поле "АдресЗахоронения" – окно ввода, по умолчанию неактивно, активно, если "Живой"=0; поле "ТелефонДом" – окно ввода; поле "ТелефонРаб" – окно ввода; поле "ТелефонМоб" – окно ввода; поле "ТелефонДр" – окно ввода; поле "ЭлПочта1" – окно ввода; поле "ЭлПочта2" – окно ввода; поле "Skype" – окно ввода; поле "ICQ" – окно ввода, контроль ввода только числовых значений; поле "Сайт" – окно ввода; поле "Биография", "Текст2", …, "Текст9": - окна ввода текстовой информации. Каждое окно должно обеспечить ввод текста объемом не менее 50 кБ; поле "ДопДанные" – меню загрузки файла форматов doc, htm, rtf, ppt, avi. Должна обеспечиваться загрузка не менее 10 файлов; поле "Изображение" – меню загрузки файлов изображений в формате jpg. флаг "Герой"; флаг "УчВОВ"; флаг "ЗолотМедал"; флаг "Генерал". Модуль формирования паролей. Модуль представляет собой отдельное приложение. Алгоритм формирования паролей и их привязка к логину (имени) пользователя разрабатывается совместно с Заказчиком. ФАМИЛИЯ ИМЯ ОТЧЕСТВО Год поступления Достоверно Год выпуска Достоверно Батальон / Факультет Дата рождения Рота / Название курса Индекс Дата смерти пред Классное отделение Город или Област Место захоронения Подробн. Адрес Живой Телефон моб. Телефон раб. Эл. почта Телефон дом. Телефон др. Эл. почта Skype ICQ Сайт Участник ВОВ Генерал Биография 2 Герой СС(Р) след Золотой медалист 3 … Элементы управления просмотром рисунков 9 Доп. материалы ТЕКСТОВОЕ ПОЛЕ Дата создания текущей записи Автор текущей записи Отобрано записей Всего записей в БД Имя Отчество Год поступления Год выпуска Факультет/Бат Рота/Название курса Полоса прокрутки списка Фамилия ФИО Года обучения Фамилия Года жизни Дата рождения Подразделения Дата рождения Дополнительно Адрес Контакты Страна Эл. адрес Герой СС(Р) Индекс телефон Герой СС(Р) Город или обл. скайп Участик ВОВ По роте Имя Год поступ. Год вып. Дата смерти Дата смерти Классное отд. Отчество Год 1 Год 2 Факультет Ключевое слово ICQ ВПО СПО ИВВАИУ 1975 - 1998 ИВАИИ 1998 - 2004 ИВВАИУ(ВИ) 2004 - 2013 Золотой медалист 1 2 баннер ФАМИЛИЯ ИМЯ ОТЧЕСТВО пред Год поступления Год выпуска Батальон / Факультет Рота / Название курса Дата рождения Индекс 4 след Классное отделение Город или Област Дата смерти 3 Подробн. Адрес Место захоронения Телефон моб. Телефон раб. Эл. почта Телефон дом. Телефон др. Эл. почта Skype ICQ Сайт Рамка для иконок Генерал, УчВОВ, Зол. Медалист и ГСС(Р) Биография 2 3 … 9 Элементы управления просмотром рисунков Доп. материалы 5 ТЕКСТОВОЕ ПОЛЕ Дата создания текущей записи Автор текущей записи Отобрано записей Всего записей в БД