Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Система тестирования


Автор: dogpaul 21.1.2009, 23:54
Здравствуйте, уважаемое население форума smile
Я студент 5 курса, приходит время дипломного проекта. По нему мне необходимо будет создать систему тестирования студентов для кафедры.
Система будет клиент-серверная. Будет как ПО для админа, через которое будет возможность создавать тесты, вести учёт студентов и их успеваемости, а так же будет и клиентское приложение, через которое студенты будут выбирать и проходить тесты.
У меян имеется опыт создания небольших программ на Windows формах, которые работали с MSSQL. 

Вот ответьте мне пожалуйста на мои вопросы, и посоветуйте.
1) ПО для админа, наверно всё-таки должно быть Windows приложением, написанное на C# я думаю?
2) клиентское ПО, должно быть web приложением (PHP) или же Windows приложением? Посоветуйте, пожалуйста, как сделать лучше, чтобы систему было легко разворачивать в пределах аудитории.
3) может какие-то технологии могут понадобиться в данной системе, или же можно будет обойтись просто формами?
4) смогут ли одновременно с системой работать 10 пользователей?

Ну у меня есть средненькие познания в ООП, так что нада пытаться сделать всё хорошо...

P.S. Даже незнаю что ещё добавить, жду Ваших мудрых советов в данной ситуации...  smile 

Автор: QryStaL 22.1.2009, 13:43
dogpaul, делал аналогичный диплом по такой же теме, могу поделиться своими соображениями =)

Цитата(dogpaul @  21.1.2009,  23:54 Найти цитируемый пост)
1) ПО для админа, наверно всё-таки должно быть Windows приложением, написанное на C# я думаю?

Все зависит от выбранной технологии (платформы разработки). Не думаю, что есть смысл их смешивать (несколько языков, платформ).

Цитата(dogpaul @  21.1.2009,  23:54 Найти цитируемый пост)
2) клиентское ПО, должно быть web приложением (PHP) или же Windows приложением? Посоветуйте, пожалуйста, как сделать лучше, чтобы систему было легко разворачивать в пределах аудитории.

Лучше взять какую-нибудь веб-технологию (PHP, ASP.NET или аналогичную), соответственно для развертывания достаточно настроить веб-сервер, а на клиентских местах будет браузер.

Цитата(dogpaul @  21.1.2009,  23:54 Найти цитируемый пост)
3) может какие-то технологии могут понадобиться в данной системе, или же можно будет обойтись просто формами?

Сначала нужно решить, desktop или web

Цитата(dogpaul @  21.1.2009,  23:54 Найти цитируемый пост)
4) смогут ли одновременно с системой работать 10 пользователей?

Зависит от того, как сервер написать. До 100 человек - особых сложностей нету (с учетом выбранного клиент-серверного взаимодействия)

Автор: source777 22.1.2009, 13:53
Ну чтобы с развёртыванием не возиться, конечно лучший вариант - веб-приложение на местном сервере, к которому есть доступ только из универа.

В качестве технологии реализации в данном случае идеально подойдёт http://www.asp.net/mvc, отличная поделка MS в отличии от вызывающего рвотные рефлексы классического ASP.NET

Автор: Drabuna 22.1.2009, 14:01
Пишу дипломную на эту же тему. Буду использовать Microsoft SQL Server 2005, ну соответственно и desktop application. Ещё думаю над тем имеет ли смысл делать 2 клиента - второй веб. Делаю следующим образом - сделал отдельную программу для создания тестов, которая генерирует XML файлы. Программа сама по себе не большая, и достаточно проста. Так как я рассчитываю на то что тесты будут делать и преподаватели, а работа админа - грузить их на сервер. Клиент пишу на C#, туда же и пихаю тулзы для админа, грузится они будут в зависимости от прав доступа. Сервер будет на сервере института, так что с этим особых проблем нету)

Автор: dogpaul 22.1.2009, 15:06
Такс... Спасибо большое за сказанное...
Но я склоняюсь всё же к тому, что клиент будет web приложением, а на клиентских ПК будет только браузер...
Как я предполагаю на серверер будет стоять во-первых веб сервер с PHP, чтобы клиенты могли общаться с сервером; во-вторых будет стоять ПО, которое преназначено: 1) для создания тестов (тесты должны быть разного плана, в тмо числе с загрузкой картинок к вопросу или ответу); 2) для добавления юзеров в систему и просмотра их результатов; 3) плюс справочники дисциплин и т.п. ; 4) также думаю нужна возможность экспорта данных и их распечатка... Как я думаю это у нас будет сделано на C#. Смогу ли я обойтись просто формами в данном случае?
Что вы подразумеваете под desktop application?

Кто что посоветует с чего начать? Наверно с создания windows приложения для администрирования?

Отсюда вопрос, как лучше всего реализваоть загрузку изображений на сервер? Где они будут храниться, в БД их ведь не засунеш? smile

Автор: Drabuna 22.1.2009, 15:13
Начать лучше с проектирования БД)

Автор: gambit 22.1.2009, 15:19
Цитата(dogpaul @  22.1.2009,  15:06 Найти цитируемый пост)
веб сервер с PHP

Ну если ты выбрал C# то наверное лучше ставить IIS и ASP.net выбрать.

Цитата(dogpaul @  22.1.2009,  15:06 Найти цитируемый пост)
Смогу ли я обойтись просто формами в данном случае?

А что ты хочешь еще кроме форм??

Я бы пошел путем одного сайта, без админских дескопных приложений.
Написание asp.net сайта который состоит из 2 частей, тестирование и админ.

Автор: QryStaL 22.1.2009, 15:20
Цитата(dogpaul @  22.1.2009,  15:06 Найти цитируемый пост)
Кто что посоветует с чего начать? Наверно с создания windows приложения для администрирования?

Начинать нужно с анализа предметной области. Клиентские приложения - в последнюю очередь.

Цитата(dogpaul @  22.1.2009,  15:06 Найти цитируемый пост)
 как лучше всего реализваоть загрузку изображений на сервер? Где они будут храниться, в БД их ведь не засунеш? 

Зависит от выбранной технологии. Хранить их можно спокойно в БД.

Цитата(dogpaul @  22.1.2009,  15:06 Найти цитируемый пост)
Что вы подразумеваете под desktop application?

Если грубо - то *.exe файл, который нужно распространить на компьютеры пользователей и запустить.

А вообще объясните, зачем вам смешивать .NET и PHP ??

Добавлено через 35 секунд
Цитата(Drabuna @  22.1.2009,  15:13 Найти цитируемый пост)
Начать лучше с проектирования БД)

Не лучший совет )

Автор: dogpaul 22.1.2009, 16:35
Про БД правильно сказали... Нада будет покумекать на эту темку...
А на счёт реализации всего на ASP что-то не хочется, поскольку с ASP я не дружу к сожалению... :(
Хотя наверно клиентов надо будет на ASP писать...

Автор: source777 22.1.2009, 16:58
Причём тут ASP? ты с ума сошёл что ли? забудь что такая технология вообще была... юзай ASP.NET MVC или другие фреймворки...

Автор: QryStaL 22.1.2009, 17:44
Цитата(source777 @  22.1.2009,  16:58 Найти цитируемый пост)
Причём тут ASP?

Скорее всего автор путает его с АСП.НЕТ =)

Автор: dogpaul 22.1.2009, 18:47
Ну да-да smile Спокойствие, я имел ввиду ASP.NET smile

Ребятки, подскажите плиз, ну я работал с текстовыми и числовыми данными в Windows формах на C#. А вот как быть с изображением, каким образом будет возможность выбрать файл и загрузить его на сервак? Т.е. файл будет в папке на серваке лежать, а ссылка будет на него в БД? Я так понимаю?

И ещё, только не чмырите меня плиз... smile
Вот в нормальных системах, код пишется где? В классах форм прямо? Или выносится за пределы форм в отдельные классы?

Автор: archeg 22.1.2009, 18:53
Цитата(dogpaul @  22.1.2009,  18:47 Найти цитируемый пост)
Вот в нормальных системах, код пишется где? В классах форм прямо? Или выносится за пределы форм в отдельные классы? 

Почитай про MVC паттерн (http://www.google.com.ua/search?hl=uk&q=MVC+pattern&btnG=%D0%9F%D0%BE%D1%88%D1%83%D0%BA+Google&meta=&aq=f&oq=)

Автор: source777 22.1.2009, 20:53
Цитата(dogpaul @  22.1.2009,  18:47 Найти цитируемый пост)
Вот в нормальных системах, код пишется где? В классах форм прямо?
Ты какой факультет заканчиваешь? социологии что ли? Естественно, в классе формы пишется только тот код, который относится к самой форме и её отображению. К тому же что ты как попугай с этими формами? Что ты к ним привязался, явное ж серверное приложение с тонким клиентом в виде html-страниц.

Цитата(dogpaul @  22.1.2009,  18:47 Найти цитируемый пост)
Спокойствие, я имел ввиду ASP.NET smile
фига се оговорочка, имхо, -1 бал на ГОС экзамене за такую оговорку в трёх местах, если конечно твоя специальность хоть как-то связана с программированием.

P.S. Если ты ничего кроме форм не знаешь, то скачай демонстрационное приложение от MS http://www.codeplex.com/mvcsamples/SourceControl/ListDownloadableCommits.aspx, посмотришь хоть как надо делать...

Автор: dogpaul 22.1.2009, 21:46
Спасибо всем smile  smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)