Слайд1
Слайд2
Корпорация «Umbrella» занимается полным циклом разработки и тестирования штаммов вирусов. Компания состоит из нескольких подразделений (отделов) – руководящий состав, научный персонал, тестировщики, служба безопасности и служба технической поддержки (вкратце рассказать про каждый отдел – 4-5 слов). В общей сложности в корпорации работает около 200-230 человек.
Производство препаратов (вирусов) – довольно дорогостоящий, трудоёмкий и крайне ответственный процесс. Один из важнейших принципов работы всей корпорации – точное, а главное своевременное выполнение инструкций, предписанных каждому сотруднику. Также очень важно – общение, взаимодействие между различными отделами корпорации. Информация, циркулирующая между отделами различна – в основном это текстовая информация (сообщения) – для передаче запросов, или данных о продукте, результатах его тестирования, а также нетекстовая – например, руководитель в случае производства нового вируса вполне логично хочет видеть результат его действия или получить какие-нибудь статистические данные – в этом случае правильно было бы предоставить ему помимо словесного описания фотографии, таблицы, графики с результатами.
Слайд3
Независимо от типа передаваемых данных, требуется высокая скорость обмена этими данными между отделами. До введения нашей информационной системы в корпорации вопрос обмена решался просто – всё передавалось в устной и письменной формах. Это решение создало ряд серьёзных проблем:
- во-первых, в корпорации работает немалое число сотрудников, и при отсутствии единой информационной среды между ними руководителям крайне сложно отследить занятость тех или иных своих подчинённых, проверить и просмотреть результаты их работ
- во-вторых, общение между сотрудниками в устной/письменной форме приводит к большим временным простоям в работе, что безусловно сказывается на прибыли корпорации
Слайд4
(один раз жмякнуть пробел)
- в-третьих, в силу специфики самого производства временные задержки в передаче сообщений между некоторыми отделами весьма и весьма чреваты. Например, если случится мутация подопытных живых образцов, и пока тестировщик добежит до сотрудников службы безопасности, полкорпорации может превратиться в нечто следующее… жуткое…
;)
Слайд5
Требования заказчика. Необходимо реализовать информационную систему, которая будет решать круг следующих задач (можешь чуть-чуть расшифровать:)):
- Централизованное хранение документов и отчетов.
- Организация обмена информацией между отделами.
- Автоматизация работы с данными о сотрудниках.
- Автоматизация процесса разработки и тестирования.
- Автоматизация контроля, управления и учёта.
П.С. посмотри сколько времени на всё потратишь… если больше 3,5 минут, то сокращай что-нить на свой вкус!!!
Слайд6-7
Рассмотрим архитектуру системы.
Информационная система представляет собой клиент-серверное приложение. Серверная часть системы должна обеспечивать возможность запуска СУБД Oracle версии 9 или выше (этим требованиям удовлетворяет практически любая современная операционная система). Вся функциональность системы реализована в приложении, разворачиваемом на стороне клиента. Приложение получает данные из базы данных, связанной с клиентской машиной посредством локальной сети…
(что-то про технологии – Java, Oracle в НАШЕМ приложении)
Взаимодействие компонентов приложения происходит следующим образом:
Логическое представление информационной системы «Обитель зла» разделено на 3 пакета – 3 «классических» уровня (то, что в скобках, можно не проговаривать):
-
уровень представления
-
уровень бизнес-логики
-
уровень доступа к данным
Уровни бизнес-логики и доступа к данным тесно взаимосвязаны друг с другом (на слайде видно, что уровень доступа к данным включается в бизнес-логику).
К этим 2м уровням относятся следующие группы классов:
-
классы предназначены непосредственно для связи с базой данных, выборке объектов из базы, их хранения, удобного представления основных элементов
-
Null-Object шаблоны (пара слов об этом)
-
Вспомогательные классы
Уровень представления содержит классы, представляющие собой все рабочие формы приложения.
Слайд8
В табличной модели базы данных информационной системы всего 6 таблиц, но этого количества вполне хватает, чтобы реализовать всю функциональность системы:
-
ЧЕЛОВЕК – таблица для описания человека
-
СОТРУДНИК – таблица для описания сотрудника корпорации, кроме всего прочего содержит удобное поле фотография
-
СООБЩЕНИЕ – таблица для описания сообщения – базовой единицы для отчётов, запросов, описаний вложений и выполняемых задач (разработки вирусов)
-
ВЛОЖЕНИЕ – таблица для описания вложения – дополнения к сообщению, предназначенное для хранения информации нетекстового формата (текстовые и бинарные файлы) – например, вместе с отчётом о разработанном вирусе можно послать фотографию с результатами его действия на живые организмы.
-
ЗАДАЧА – таблица для описания задачи – информация о разрабатываемом вирусе – тут надо сказать пару слов о переименовании ВИРУСа в ЗАДАЧУ
-
ХОД_ВЫПОЛНЕНИЯ – Таблица для записей хода выполнения задач. Служит для удобного отслеживания отчётности по заданиям.
Слайд9
В ходе разработки системы возник ряд трудностей:
-
Проблемы с разработкой кроссплатформенного GUI
-
Низкая производительность отладочных средств
-
Ограничение программной и аппаратной конфигураций со стороны заказчика
(вкратце рассказать суть каждой трудности – и способы их решения)
Слайд10
Таким образом, мы подошли к тестированию нашей информационной системы.
Было произведено несколько видов тестирования:
-
Модульное Unit-тестирование – для проверки доступа к данным классов бизнес-логики. Тестирование проводилось как вручную, так и за счёт написания unit-тестов, для чего использовалась специальная библиотека классов для написания тестов – Junit 4.1
-
Функциональное тестирование – для проверки соответствия описанным в спецификации требований прецедентам использования всех групп пользователей системы. Тестирование проводилось вручную.
-
Тестирование пользовательского интерфейса – для проверки корректности в отображении пользовательских форм, а также простоты их понимания. А также для проверки пользовательского интерфейса на соответствие единому стандарту в рамках одной роли пользователя. Тестирование проводилось вручную и с помощью написания скриптов в Rational Robot 7.
-
Нагрузочное тестирование – для проверки корректной работы информационной системы при одновременном взаимодействии с ней различного числа пользователей, использующих одни и те же данные. Даёт возможность проверить, поддерживает ли система то максимальное число пользователей системы, что указано в требованиях. Тестирование проводилось с помощью специально написанной программы (спросить у Жеки)
-
Тестирование безопасности и контроля доступа – проверки попытки несанкционированного входа в систему, попытки войти в систему с неправильной парой логин/пароль, а также для проверки возможности выполнения пользователем только тех действий, что предписаны его ролью (и не возможность выполнить «чужие действия»). Проводилось вручную.
В результате тестирования были найдены некоторые ошибки, которые были исправлены, и в итоге система была признана годной к вводу в эксплуатацию.
Слайд11
Сделаем выводы по разработанной нами информационной системе. Были реализованы следующие функции (основные):
-
Работа с базой сотрудников (добавление, увольнение, редактирование)
-
Работа с базой вирусов (добавление, удаление, редактирование)
-
Пересылка запросов между отделами (посылка простых текстовых сообщений, а также сообщений с вложениями, возможность сохранения этих вложений, удаления, добавления нескольких)
-
Написание и пересылка отчётов о работе (аналогично запросам – также с возможностью вложений и действиями с ними)
-
Работа с базой отчётов (просмотр, возможность сохранения файлов из вложений)
Система имеет «дружественный», интуитивно понятный графический интерфейс, благодаря которому проблем с её использованием не возникает.
За счёт кроссплатформенности система является легко переносимой.
Таким образом, получившаяся система является удобным средством контроля над производством, его управлением, а также средством автоматизации некоторых процессов в ходе производства штаммов вирусов и сопутствующих им.
Приложение полностью справляется со всеми задачами, заявленными в техническом задании на систему.
Спасибо за внимание!