Создание простого многопользовательского настольного приложения - PullRequest
0 голосов
/ 23 октября 2010

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

Таким образом, ярешил пойти с решением на основе Sqlite.Причина, по которой я выбрал Sqlite, заключается в смягчении таких проблем, как перезапуск программного обеспечения базы данных при каждом перезапуске сервера, а что нет.Разместите Sqlite в центральном месте, а программное обеспечение будет взаимодействовать с ним по локальной сети.Надеюсь, это должно работать нормально.

Я ищу немного понимания того, что я должен использовать для создания реального интерфейса.Я склоняюсь к приложению C # WPF.Несмотря на то, что я использовал Professional (или это Ultimate?) Версию через DreamSpark для универа, этот проект не покрывается лицензией, поэтому мне придется использовать Express Edition.

Мне было интересно, какие функции отсутствуют, которые могут помешать мне.Сторона базы данных на самом деле не проблема - хотя linq или EF предпочтительнее, я не работаю с Sqlite с Linq и не уверен, есть ли EF в Express Edition.Тем не менее, с учетом сказанного, я не особо против того, чтобы делать все вещи с БД самостоятельно, если мне это необходимо.Все, что мне действительно нужно, это способ взаимодействия с БД.Что было бы лучшим способом сделать это с помощью VS 2010 Express?Существуют ли бесплатные решения, которые я могу использовать, чтобы сделать это проще?Все ли (большинство?) Элементы управления доступны?

По сути, я просто пытаюсь понять, какие ограничения будут наложены на меня и что может создать мне проблемы в будущем.

Если у вас есть другие предложения, я буду рад их услышать.Кроме того, я помню, что слышал, что у Microsoft была какая-то программа, которая давала начинающим разработчикам дешевый или бесплатный доступ к инструментам на несколько лет или около того.Любая идея, как это называется - не повезло, гуглить это.

Ответы [ 3 ]

2 голосов
/ 23 октября 2010

Я использую MS-Access с 1995 года, и у меня было много неудачных попыток с MS-Access в параллельном многопользовательском сценарии чтения / записи по локальной сети, особенно когда сетевой транспортный уровень не является надежным.Превышено время ожидания соединения, что может привести к повреждению данных.Я также программирую на Oracle и SQL-Server, но некоторые клиенты просто не хотят нести дополнительные расходы на истинную архитектуру клиент-сервер (в отличие от общего файла), независимо от того, какие ужасные истории вы им рассказываете.

Вы можете подключиться к SQLite, используя библиотеки System.Data.SQLite, доступные через http://sqlite.phxsoftware.com/, но поскольку SQLite использует исключительную блокировку файла во время операции записи, он также может быть поврежден аномалиями транспортного уровня, что не редкость, когда речь идет о беспроводном соединении.

Я бы порекомендовал либо а) веб-интерфейс к серверной части, если вы выбираете архитектуру с общими файлами, такую ​​как Access или SQLite, илиб) настоящий клиент-серверный движок, на котором клиент работает на рабочем столе.Ваш академический клиент может претендовать на значительные лицензионные скидки от крупных коммерческих компаний, если вы решите использовать их вместо открытого исходного кода.

Веб-интерфейс также позволит клиентам, не принадлежащим Microsoft, использовать приложение.

0 голосов
/ 24 октября 2010

Не забывайте, что Sql Server в наши дни поставляется в бесплатной версии.

Существуют некоторые ограничения, но это не должно быть проблемой в вашем сценарии.

Что такое зависание при перезапуске программного обеспечения базы данных, если вы перезапускаете сервер, общий файловый ресурс собираетсяв любом случае, чтобы перейти в автономный режим.

Кроме того, при использовании VS2010 Express вы не должны подвергаться каким-либо серьезным ограничениям, заметными недостающими компонентами являются юнит-тестирование, поддержка надстроек, интеграция с контролем версий.у вас есть все, что вам нужно для создания богатого интерфейса, однако самым большим препятствием для вас станет кривая обучения.Если вы сможете преодолеть это, то WPF хорошо вам послужит.

0 голосов
/ 23 октября 2010

Кроме того, я помню, что слышал, что у Microsoft была какая-то программа, которая давала начинающим разработчикам дешевый или бесплатный доступ к инструментам на несколько лет или около того.Любая идея, как это называется - не повезло, гуглить.

WebSiteSpark program

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...