Перед информационной службой компании поставлена задача создания новой системы начисления зарплаты взамен морально устаревшей существующей системы. Новая система должна предоставлять служащим возможность записывать электронным способом информацию по учёту рабочего времени и автоматически формировать чеки на оплату, учитывающие количество отработанных часов и общий объем продаж (для служащих, получающих комиссионное вознаграждение).
Новая система должна предоставлять служащим возможность ежедневно вводить информацию об отработанном времени, вводить заказы на поставку, изменять свои параметры (такие, как способ оплаты за работу), и формировать различные отчёты. Система должна работать на персональных компьютерах служащих всей компании. В целях обеспечения безопасности и аудита служащие должны иметь возможность доступа и редактирования только своих данных, доступ к чужим данным должен быть запрещён.
В системе должна храниться информация обо всех служащих компании в различных странах. Система должна обеспечивать правильную и своевременную оплату работы каждого служащего в соответствии с указанным им способом. Компания из соображений экономии расходов желает сохранить без изменений одну из существующих баз данных, которая содержит всю информацию относительно заказов, должностных месячных окладов и тарифов. Эта БД функционирует в среде DB2 на мейнфрейме IBM. Новая система может читать из неё данные, но не может обновлять их.
Некоторые служащие получают почасовую зарплату. Она начисляется на основе записей по учёту рабочего времени, каждая из которых содержит дату и количество часов, отработанных в соответствии с конкретным тарифом. Если какой-либо служащий отработал в день более 8 часов, сверхурочное время оплачивается с коэффициентом 1.5. Служащие-почасовики получают зарплату каждую пятницу.
Некоторые служащие получают фиксированный оклад. Однако система должна вести учёт количества отработанных ими часов, чтобы снижать выплату на 5%, если служащий отработал менее 40 часов в неделю. Сверхурочные служащим с фиксированным окладом оплачиваются на тех же основаниях, что и почасовикам. Расчёт и выплата служащим с окладом осуществляется в последний рабочий день месяца.
Некоторые из служащих с фиксированным окладом также получают комиссионное вознаграждение, учитывающее объем продаж. Помимо отработанного времени они указывают в системе заказы, по которым подсчитывается объем продаж за месяц. Процент комиссионного вознаграждения определяется индивидуально для каждого служащего и может составлять 10%, 15%, 25% или 35%.
Служащие ежегодно уходят в отпуск на 28 рабочих дней. Служащий может проинформировать систему об уходе в отпуск заблаговременно (срок, оставшийся до ухода в отпуск, не может быть меньше 60 дней). Отпускные выплачиваются служащему авансом и составляют среднее из выплат за 3 месяца, предшествующих отпуску.
Одной из наиболее часто используемых возможностей новой системы является формирование различных отчётов: запросить количество отработанных часов, суммарную зарплату, оставшееся время отпуска и т.д.
Служащие могут выбирать способ оплаты за работу. Они могут получать свои чеки на оплату по почте, на счёт в банке или на руки в офисе.
Администратор системы ведёт информацию о служащих. В его обязанности входит ввод данных о новых служащих, удаление данных и изменение любой информации о служащем, такой, как имя, адрес и способ оплаты, а также формирование различных отчётов для руководства.
Приложение начисления зарплаты запускается автоматически каждую пятницу и в последний рабочий день месяца, рассчитывая в эти дни зарплату соответствующих служащих. Начисление зарплаты должно производиться автоматически, без ручного вмешательства.
Клиенту необходимо отправлять и получать из налоговой инспекции различные документы (налоговые декларации), получать от налоговой службы массовые рассылки (рассылаются всем клиентам сразу) и персональные рассылки (предназначены для конкретного клиента). Напрямую делать это нельзя, налоговая инспекция работает со специализированными операторами связи, которые являются посредниками между ней и клиентом. Необходимо разработать модель сервера специализированного оператора связи (далее СОС -- сервер оператора связи), который бы осуществлял транзакции между клиентским приложением и налоговой службой (последняя имеет множество представительств).
Клиент может вести документооборот с одним или несколькими представительствами налоговой службы (например, клиент Бухгалтер Иванов сдаёт налоговые отчёты за компанию ООО "Летающая тарелка" в городе N и за ООО "Коровник и прочая С" в городе К, в этих городах разные представительства налоговой службы), т.е. у каждого клиента есть список пар "организация -- представительство налоговой службы", далее такая пара будет называться Направлением.
Каждая компания имеет уникальный идентификатор (для простоты, ИНН).
Каждое представительство налоговой службы имеет свой четырёхсимвольный код, например, 7799.
Каждая налоговая декларация имеет свой код.
СОС должен поддерживать сервис регистрации нового клиента, с выдачей ему логина-пароля для дальнейшего осуществления доступа, сервис добавления и удаления направления, сервис осуществления документооборота между клиентом и налоговой службой, сервис выдачи статистики документооборотов по каждому направлению и по каждому клиенту. Статистика включает в себя перечень произведённых документооборотов, с фиксацией времени прохождения всех его стадий и итогового статуса. Администратор СОС имеет возможность управлять списком представительств налоговой службы, с которым поддерживается работа данного СОС.
В дальнейшем вместо "представительство налоговой службы" будем использовать сокращённое название: "налоговая инспекция".
Виды документооборотов:
1. Подача налоговой декларации -- инициирует клиент, он посылает налоговую декларацию по выбранному направлению на СОС, тот в ответ присылает уведомление о получении и пересылает декларацию в указанную налоговую инспекцию, от налоговой инспекции на СОС приходит уведомление о получении, СОС фиксирует у себя его дату и пересылает сообщение клиенту. В какой-то момент времени после посылки сообщения в налоговую инспекцию от неё приходит результат обработки: декларация принята; декларация не принята; декларация принята с ошибками. СОС фиксирует у себя статус обработки декларации и пересылает сообщение клиенту. На этом документооборот считается завершённым.
2. Массовые рассылки -- инициирует налоговая инспекция, на СОС от конкретной налоговой инспекции приходит "рассылка" -- сообщение, которое должно быть разослано всем клиентам которые зарегистрированы в этой налоговой инспекции. В ответ от клиента требуется получить "уведомление о получении", которое посылается через СОС (дата фиксируется). На этом документооборот считается завершённым.
3. Персональная рассылка -- инициирует налоговая инспекция, на СОС от конкретной налоговой инспекции приходит "рассылка" -- сообщение, которое должно быть доставлено конкретной организации. В ответ от клиента требуется получить "уведомление о получении", которое посылается через СОС (дата фиксируется). На этом документооборот считается завершённым.
Подразделение/кафедра выбирается путём позиционирования на определённой (нужной) строке. Подразделения меняются сравнительно часто и поэтому их названия и коды хранятся в соответствующих справочниках.
Должности также выбираются в соответствии со штатным расписанием. Если соответствующие должности уже заняты, то ввод не может быть осуществлён.
Каждому сотруднику в соответствии с имеющимися ограничениями (http://kadry.mioo.ru/Tarif_kvalif_treb/tarif_kval_treb.htm) должен быть присвоен тарифный разряд.
Наряду с другими сведениями, вводится информация о знании иностранных языков. Языки выбираются из списка. Выбор может быть множественным (т.е. сотрудник может владеть более чем одним языком). Все выбранные позиции должны быть видны; пользователь может корректировать свой выбор перед тем, как окончательно занести данные в БД. Кроме названия языка, фиксируется ещё и степень владения языком.
Запрещается принимать на работу лиц пенсионного возраста.
При приёме на преподавательскую должность образование должно быть высшим.
При приёме на должность выше ассистента научно-педагогический стаж должен быть больше 3 лет. Научно-педагогический стаж не может быть больше общего стажа.
После занесения всей информации о сотруднике в БД каждому сотруднику автоматически присваивается табельный номер.
Зачисление в штат производится на пятилетний срок, по истечении которого трудовой контракт либо продлевается на 5 лет, либо разрывается. Сотрудник также может быть уволен или переведён на другую должность до истечения срока его трудового контракта.
Система должна по запросу готовить различные отчёты:
перечень сотрудников, имеющих общий стаж не менее указанного;
перечень сотрудников, имеющих научно-педагогический стаж не менее указанного;
перечень незанятых должностей по всем подразделениям;
перечень сотрудников, чей трудовой контракт истекает в ближайшем месяце;
перечень сотрудников, владеющих указанным иностранным языком.
Система поддержки сетевого файлового хранилища позволяет пользователям размещать свои файлы в Веб. Чтобы стать пользователем хранилища нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги хранилища зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображается список загруженных им файлов и созданных им каталогов, расположенных в корневом каталоге пользователя. Про элементы списка сообщается имя, дата изменений, тип доступа (публичный или приватный), размер (только для файлов). Элементы списка можно сортировать по имени, по дате, по типу, по размеру. Любой файл или каталог может быть переименован, удалён, либо может быть изменён режим доступа к нему. При удалении каталога удаляется всё его содержимое -- все вложенные каталоги и файлы. Хранилище обеспечивает пользователю навигацию по дереву каталогов и файлов. Можно переходить на страницы вложенных каталогов или подыматься на уровень выше -- в родительский каталог.
При загрузке файла автор указывает расположение файла на своём локальном компьютере и его имя, под которым он будет находиться в хранилище. Файл загружается в текущий каталог, страница которого открыта пользователем. Если имя совпадает с именем ранее загруженного файла, выдаётся предупреждение и приглашение перезаписать ранее загруженный файл. Пользователь может согласиться или отказаться. Загрузка файлов доступна пользователю, пока общий их объём меньше 10 Гб. Количество свободного файлового пространства сообщается пользователю на каждой странице.
Загруженные файлы пользователь может скачивать. Для файлов с публичным режимом доступа пользователь может получить ссылки для скачивания их любым пользователем Сети. Для скачивания по таким ссылкам нет необходимости регистрироваться и входить в систему хранилища. По такой ссылке хранилище открывает страницу-форму со сведениями о скачиваемом файле и кнопкой "Скачать", после нажатия на которую передаёт файл пользователю. Если файл удаляется пользователем, он перестаёт быть доступным по публичной ссылке. То же происходит при смене режима доступа на приватный. Файлы, находящиеся в приватном режиме могут быть скачены залогиненным пользователем со страницы каталога, где они помещены.
Пользователь может осуществлять поиск среди своих загруженных файлов и каталогов. При поиске он может указать период, содержащий дату искомого файла, часть имени, ограничение на размер. Результаты поиска выдаются в виде списка с указанием полных имён, содержащих помимо имени элемента последовательность имён каталогов, отражающих путь к файлу из корневого каталога.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими каталогами и файлами. После удаления регистрационные данные стираются из системы.
Система поддержки сетевого фотохостинга позволяет фотолюбителям размещать изображения в Веб. Чтобы стать пользователем фотохостинга нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги фотохостинга зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображаются 10 последних загруженных им фотографий (или менее, если их недостаточно). Если снимков загружено больше 10, то с начальной страницы можно перейти на вторую, где отображается второй десяток фотографий и т. д.. Снимки упорядочены по убыванию даты загрузки. Любой загруженный снимок может быть удалён его автором, либо сведения о загруженном снимке могут быть изменены. При загрузке снимка автор указывает расположение файла снимка на локальном компьютере, его описание и его имя, под которым изображение будет храниться на хостинге. Если имя совпадает с именем ранее загруженного снимка, выдаётся сообщение об ошибке. Загрузка доступна, пока общий объём изображений пользователя меньше 500 Мб.
Пользователь может осуществлять поиск среди своих загруженных снимков. При поиске он может указать дату загрузки, часть описания или имени снимка. Результаты поиска выдаются в виде нескольких страниц, на каждой из которых представлено по 10 фотографий. Снимки в списке сопровождаются ссылками, которые пользователь может использовать на других веб-ресурсах (блогах, форумах), чтобы его снимки отображались в его сообщениях.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими снимками. После удаления регистрационные данные стираются из системы.