Как написать следующее приложение?

Привет всем. Самостоятельно изучаю программирование. На основной работе (не связанная с ИТ) провожу обучение и аттестацию. Решил написать программу для учета аттестованных (замучился писать руками в журнале, особенно когда народу навалом). Программа будет пока только на моем ПК с возможностью установки на другие (если получиться её качественно написать и работодатель захочет её купить). Идея в следующем: внесение данных об обучающихся (фио, адрес, должность и т.д., дата аттестации и последующие даты переаттестации), просмотр списка обучающихся с возможностью фильтрации по должности, организации и т.д., просмотр инфы о каждом учащемся отдельно, составление отчетов. Расписал 4 шага:
1. нужна БД, выбрал MySQL, установил, создал БД с таблицами. Вопрос: т.к. программа будет на одном ПК т.е. БД локальная, с возможностью в дальнейшем установкой на другие ПК, правильный ли выбор БД или лучше использовать другую, склоняюсь к Microsoft SQL Server 2016 Express
2. т.к. изучаю С# логика будет писаться этом ЯП
3. Графический интерфейс с помощью Windows Presentation Foundation
4. как-то соединить все эти компоненты в одно, как пока не знаю.
Сейчас остановился на 1-ом шаге.
Подскажите, правильный ли ход мыслей (архитектура программы), поправьте где ошибся.
Ваши предложения, замечания. Спасибо за помощь.
  • Вопрос задан
  • 825 просмотров
Пригласить эксперта
Ответы на вопрос 3
devspec
@devspec
Помогло? Отметь решением
Да нигде не ошиблись вроде. Всё это можно связать в одно и работать будет. Если нужна сетевая БД - можете использовать MySQL или Postgresql.
Вместо WPF можно использовать WinForms. А можно и WPF - как больше нравится.
Не забудьте про ORM - Entity Framework, например.
Ответ написан
Комментировать
alexsandr0000
@alexsandr0000
Программист C#/C++/C
Думаю вам надо сначала понять, что вы хотите получить в итоге.
Если программа будет работать на одном ПК, то возможно стоит посмотреть в сторону SQLite, при этом для установке на др. компьютер вам надо будет просто скопировать папку с проектом.
Если подразумевается многопользовательский доступ, то тут есть несколько вариантов:
- клиент-sql server;
- клиент-сервер-sql server;
Преимущества и недостатки обоих методов можно будет посмотреть в интернете.

Далее, если вы планируете в дальнейшем развивать проект, то стоит задуматься об архитектуре и условно разделить приложение на несколько уровней:
- Уровень работы с БД или DAL (тут нужно и использовать ORM);
- Уровень бизнес-логики или BLL, на этом уровне уже выполняться все проверки и обеспечение правильной логики работы;
- Уровень представления, тут уже можете отображать данные, вводить данные и т.п. с помощь WPF, ASP.NET, Winform.

Ну если вы решите использовать трехзвенную структуру, то еще думаю стоит посмотреть WCF.

Советую почитать книгу Применение DDD и шаблонов проектирования
Ответ написан
nki
@nki
bezkart.ru готовая система лояльности
У вас типичная учетная задача.
Лучший инструмент для решения подобных задач - 1С, но это если вы действительно хотите решить задачу о которой написали. Если же вам хочется поупражняться в программировании, то можете выбирать наиболее подходящий вам вариант.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы