Народ, опомнитесь! Что ж вы делаете с бедным студентом!? =)
Итак, начну с общего - модель всегда должна соответствовать цели ее создания. Цель, если я правильно ее понимаю,
продемонстрировать знание нотации UML и понимание ее роли при проектировании ПО.
Исходя из данной цели, предлагаю пройтись по заданию:
1. Создать activity diagram для описания что произойдет когда кто нибудь попробует получить доступ к одной из зон школы, которая оснащена свайп карт ридером.
Для именно этого кейса, исходя из цели моделирования, правильно будет определить 4 действующих лица:
- Субъект, пытающийся получить доступ
- Карт ридер
- Система
- Дверь (турникет и т.п.)
Соответственно необходимо создать 4 дорожки, в которой описать действия каждого из акторов данного кейса в четком следовании нотации UML.
Начало Activity диаграммы во вложении. Можно дополнить дополнительными проверками, например если у нас турникет а не дверь - можно зафиксировать факт прохода, и дополнить проверку доступа нашим знанием о местоположении субхекта (осуществлял он ранее проход или нет - например по своей карте пытается провести в закрытую зону еще несколько человек, а регистрация более 3 входов и выходов в течении 5 минут может быть поводом об оперативном информировании службы безопасности) - тут уже можно фантазировать, поскольку данные моменты не оговорены в задании.
2. Предоставить use case model для NSAC системы описываемой сценарии из 1 сообщения.
а. Определить main use cases
b. Предоставить use case diagram. Она должна включать систему, actors, use cases а так же внутренние и внешние связи (include, extend), так же как и use case and/or actor generalisation в вашей диаграмме.
с. Разработать use case спецификации описывающий процесс когда свайп карта была создана для нового сотрудника, который устроился в школу. Если ваша диаграмма содержит больше чем 1 use case для достижения требуемого, тогда опишите для всех их. Это означает, что вы должны описать внешние и внутренние use cases.
Тут сообщество уже дало много хороших рекомендаций. Вопрос на засыпку: я правильно понимаю из диаграммы, что HR и Security не являются сотрудниками школы, и доступ им никуда не нужен?
Тут необходимо подчеркнуть, что UML - язык
очень формальный. Если чего-то не указано на диаграмме, то в контексте диаграммы этого просто не существует.
3. Разработайте class diagram для вашей системы. Включая атрибуты, операторы, ассоциации, множественность (miltiplicities).
Тут могу посоветовать выписать все сущности из задания и довести до минимализма (в буквальном смысле перечитать задание и подчеркнуть все существительные) и исходить из этого. Задание действительно сложное, лучше уточнить у преподавателя, будет ли здесь оцениваться полнота покрытия задания, или правильность использования UML
По текущей диаграмме очень много замечаний. Советую вслух проговорить все что описано на диаграмме, с учетом формальности языка. Например 2 класса сверху слева: У каждой персоны может быть 1 карта. У каждой карты есть от 1 до бесконечности владельцев (бред!).
Не забудь о том, что записи можно изменять, а не только создавать и удалять. Добавь CRUD для карт. Точка доступа это сама дверь или карт ридер?? Где логи? Слишком мудришь с сотрудниками и студентами (пытаешься сразу объять необъятное), лучше оставить только класс Persona, и перенести в нее атрибут privilege level - сотрудник, школьник и т.п.