私は卒業論文をやり始めました。私の任命はアパートの暖房を最適化するシステムを作ることです。アパートには現在の温度を測定するセンサーがあります。アプリケーションから最適化アルゴリズムを分離する
これらの温度および他のいくつかの測定値を使用することにより、最適化が行われ、信号が温度を調節するマンションに送り返される。最適化は24時間365日、すべてのアパートを循環する循環的な方法で行われます。
したがって、システムはセンサと通信し、最適化を行い、データも記録する必要があります。さらに、現在の電力/水消費量を見ることができるように、webbベースのユーザーインターフェイスをアパートメントに提供する必要があります。
システムはC#/ .Netで記述されます。
大規模なシステムを構築する経験がなく、.Netでの経験が限られています。私の最初の考えは、最高レベルの2つのインタフェースが提供されるN層アーキテクチャを持つことです。ユーザのための1つのウェブインタフェース、次にセンサのためのある種のインタフェース(アーキテクチャ内の以下の最適化アルゴリズムを有する)。
私は可能な限り私は残りの部分から可能な限り最適化アルゴリズムを区切るしたい制約とアーキテクチャにさらにダウン成分のできるだけ多くを再利用したいと思います。つまり、アルゴリズムの異常がシステムの残りの部分(おそらくセンサーインターフェースを除く)に影響してはならない。
私の質問はこうです。どのような方法で最適化部分を実装する必要がありますか? Windowsサービスを作成する必要がありますか、またはそれを自分のスレッドで実行する必要がありますか?
Windowsサービスが良い選択であれば、コンポーネントを階層内でさらに使用することは可能ですか?つまり、データベースリポジトリ、すべてのオブジェクトなどです。
アーキテクチャの選択は良いですか?そうでない場合、なぜですか?
システムを設計/実装する際には何か特別な点はありますか?
注。この段階で、センサとシステムとの間の通信がどのように実行されるかは明確ではない。
楽しい一日を!