Система управления производством. Рецептура, по которой осуществляется управление, системой состоит последовательных загрузок компонентов. Рецептура хранится в БД, причем, эта база локальная, т.е. обращение к таблицам локальное.
Рецептура должна редактироваться пользователем, с рецептурой должно быть просто и удобно работать из кода. Как это сделать просто и быстро? Попробую описать по шагам решение.
Шаг 1. Где хранить данные?
Для хранения я выбрал MS SQL CE 3.5. Почему? Во-первых, она бесплатная. Во-вторых, хотя мне и сказали, что работать по сети это не должно, почему не заложиться на будущее – MS SQL CE совместим с полным MS SQL. Если вдруг что – не сложно будет перенести это в сетевой вариант. Причем MS SQL Express все еще бесплатна (ограничения в 4 Гб для такой маленькой системы явно хватит).
Шаг 2. Список команд
Пока я знаю только про одну команду – “загрузить xxx кг компонента xxx”. Но из опыта я подозреваю, что этим дело не закончится. Как минимум будет “пауза на xxx сек”, "подождать сигнал на канале xxx" и может еще что-то. Поэтому добавлю в систему немного гибкости – рецептура будет состоять из команд. А уже каждая команда будет определенного типа и со своими параметрами.
Тут главное не переборщить в гибкости. Если просили написать программу поиска корней квадратного уравнения, то нет нужны писать программу поиска корней уравнения n-й степени. А потом “ну только сконфигурить”… Типовая ошибка архитектора - ненужное усложнение системы. Но в моем случае лучше заложить немного гибкости в систему. Ровно настолько насколько нужно.
Теперь нужно придумать, как это хранить в таблицах и как загружать, сохранять, редактировать и работать с этими данными. Об этом в следующих частях.
Вторая часть
Вторая часть
No comments:
Post a Comment