Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Выбор классовой реализации / 8 сообщений из 8, страница 1 из 1
03.11.2008, 19:20
    #35632709
ASD.Rapax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
Для диплома разрабатываю ИС своей кафедры. Сейчас работаю над клиентоским приложением, выполняющим роль журнала. В приложение могут входят люди под разными ролями(преподы, студенты, замзав кафедры и завкафедры). Естесственно от роли зависит список возможностей авторизированного пользователя.
Я думаю как реализовать это лучше в ООП. В данный момент уже начал реализовыватьтакой вариант:
Класс Man. К нему композицией присоединяется экземпляр интерфейса DataOperation. Этот интерфейс исполняет класс PrepodDataOperation, от него наследуются StudentDataOperation и ещё два.
Также думаю над другим вариантом: Тот же класс Man. Он же исполняет интерфейс DataOperation. От него наследуются классы Prepod, Student и тд.

Какой из них лучше? Может у вас есть третье решение? Очень важно мнение опытных людей, так как я такой серьезной разработкой занимаюсь впервые, да ещё и один, так что подсказывать вообще некому.

Критерии работы системы: Расширение ролей не планируется. Быстродействие не критично, но необходимо на некотором уровне. Важней всего получается расширяемость функционала. Ну и возможность переноса между платформами(сейчас на .нет).
...
Рейтинг: 0 / 0
03.11.2008, 22:56
    #35632858
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
ASD.Rapax
Сейчас работаю над клиентоским приложением, выполняющим роль журнала. В приложение могут входят люди под разными ролями(преподы, студенты, замзав кафедры и завкафедры). Естесственно от роли зависит список возможностей авторизированного пользователя.
Я думаю как реализовать это лучше в ООП. В данный момент уже начал реализовыватьтакой вариант:

- проектирование СУБД отдельно и по своим критериям
- проектирование клиента по своим

- роли и права пользователей вторичны, первична цель приложения, варианты использования и сущности на уровне БД.
...
Рейтинг: 0 / 0
03.11.2008, 23:07
    #35632869
ASD.Rapax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
Petro123
Спасибо. Информационная модель готова: я конечно структуру адекватную предметной области имею, но вот думаю, что она далека от оптимального уровня.

По самом вариантам реализации клиента что можете сказать?
...
Рейтинг: 0 / 0
04.11.2008, 13:18
    #35633304
Кифирчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
без кода ваших классов и интерфейсов вам врядли подскажут по "вашим вариантам"...
не видно нафига вообще разделение возможностей авторизированного пользователя, в смыле как оно будет использоваться... как тут любят выражаться - "телепатов здесь нету" :)

если в общем...
вы хорошо подумайте, прежде чем делать дерево классов описывающее вашу "модель"...
я вот смутно представляю, зачем это может понадобиться в "клиентским приложением, выполняющим роль журнала"...
другое дело когда у вас там море процессов, которые нужно "наглядно" описывать, унифицировать, если оперировать моделью БД не удобно, надо делать какие-то вшение интерфейсы, есть необходимость разделять слои (представление/бизнес-процессы/работа с БД)...

при это ООП слой получается оочень не маленький...

то есть, ИМХО для небольшого приложения этим не стоит заморачиваться,
...
Рейтинг: 0 / 0
04.11.2008, 17:16
    #35633608
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
ASD.RapaxДля диплома разрабатываю ИС своей кафедры. Сейчас работаю над клиентоским приложением, выполняющим роль журнала. В приложение могут входят люди под разными ролями(преподы, студенты, замзав кафедры и завкафедры). Естесственно от роли зависит список возможностей авторизированного пользователя.
Я думаю как реализовать это лучше в ООП. Не лучше. Будет очень много букв. И эта идея умрет от ожирения. Вас спасет грамотно сформированная SQL структура таблиц и логика между ними.
...
Рейтинг: 0 / 0
05.11.2008, 09:44
    #35634222
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
ASD.Rapax,

без ВИ невозможно подсказывать (если ВИ у ложки в виде вилки, то ложка будет другая)
...
Рейтинг: 0 / 0
05.11.2008, 20:52
    #35636110
ASD.Rapax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
Роли:
1. Препод. Преподает различные предметы, различным группам, а также различные типы занятий (лектор, лаборант, практик, консультант по ккр).
2. Студент. Обучается в определенной группе различным предметам.
3. Заместитель заведующего кафедры(замзав). "Супер студент". Отслеживает образовательный процесс в полной мере, но ничего не может изменить. Как и у студента - режим ридонли.
4. Заведующий кафедры(звакаф). "Супер препод". Может принимать любые работы у любого студента по предметам заведомой кафедры.

Варианты использования:
Общие:
0. Авторизация.
1. Открыть журнал (по предмету, группе и подгруппе, типу занятий).
1'. Открывать журнал с личными пометками по оценкам - для препода только
2. Поставить/изменить оценку студента на занятии. - препод, завкаф
2'. Оставлять комментарий по оценке
3. Заполнять сопутствующую занятиям инфу
3. Перекидывать студентов между подгруппами. - для препода только
4. Выгружать часть БД для выполнения работы в филиалах университета
5. Загрузка в БД информации, возникшей в ходе командировки
...
Рейтинг: 0 / 0
06.11.2008, 00:29
    #35636309
AlexTheRaven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор классовой реализации
ASD.RapaxРоли:<...>
Варианты использования:
Общие:<...>
Вот-вот-вот, и дальше в том же духе, админа только забыли :) . Дальше спускаетесь на следующий уровень детализации, кто кого и что CRUD и что при этом происходит. Дальше - аналитическая модель, описываете человеческим языком классы человек-роль-группа-предмет-оценка. Дальше - "динамика", последовательности и алгоритмы, и статика - "информационные" и "инфраструктурные" классы, мэппинги на таблицы БД (если есть возможность делать долго и академически правильно). Можете даже пару паттернов где-нибудь использовать..

Что лучше - решайте сами, критерий качества решения - простота и работоспособность, а не "изящность".
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Выбор классовой реализации / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]