掲示板作成の経験

裁判所では、裁判の秘書として裁判官のアシスタントとして働いていますが、たとえば、社内で使用する次のソフトウェアを作成するなど、より複雑で重要なイベントに参加することに魅力を感じることがあります(すぐに技術的な背景がないことに注意してください)。



これは1か月前に発生しましたが、このイベントに関する噂は長い間広まっていますが、建物の再建に伴う最も重要なタスクの1つは、法廷を配布するための電子システムの作成と、各法廷の前にプラズマと7台のモニターに関する情報を提供するプログラムの作成ですミーティング。



彼らは、プロセスを次のように整理することにしました。

1.入札の結果に基づいて、ネットワークの敷設、機器の供給とセットアップに従事する請負業者が選択されました。

2.プログラマー-システム管理者および法廷秘書-プログラマー、つまり私を持ち、社内で使用するためにソフトウェアを作成することにしました。



今日は、ホールの配布システムと「ボード」上の情報の出力について具体的にお話したいと思います。 私たちのプログラマーは最初の責任者、私は2番目の責任者に任命されました。 そのような分業は意図的であり、長年の仕事のためにプログラムを作成するプロセスを加速することができる彼自身の成果をすでに持っていたので、私はさらに正当化すると言いますが、私は若い専門家に固有の大きな熱意と高速実行を持っています。 さらに、私たち一人一人には明確な活動分野があり、個人的な責任がありました。



開始する





ワーキンググループの会議に続いて、次の行動計画の概要が示されました。



必要なすべてのケース情報は、自動化された情報システム(AIS)に保存されます。AISは、このORACLE 8番目のバージョンのデータベースと、実際に検討中のケースに関するすべての情報(ケース番号、裁判官、関係者、日付、生産の種類など ベースにはかなり複雑でわかりにくいリンク構造があり、ドキュメントはまったくありません。 2000年にこのすばらしい製品を開発した会社は、このバージョンのプログラムを修正または新しい機能を追加することを望みませんでしたが、完全に新しいAISを作成することを提案しましたが、すべての船にとってこの幸せな日が来るまで、引退できると思います単に死ぬかもしれないので、今日はこの事実に焦点を合わせません。 このプログラムは非常にユーザーフレンドリーであるとしか言えません。



裁判所のセッションの日付(延期、一時停止など)は上記のAISに保存されますが、時間の入力は提供されないため、プログラマーはMicrosoftが提供するツールを使用してデータベース上に小さなアドオンを長い間開発しましたアクセスは、単純かつ簡単に呼び出されました-毎週金曜日に裁判所の事務員が事件の時間に関する情報を入力する「割り当てられた」。 私たちの前に設定されたタスクをsiすることなく解決するために、このDBMSを少し改善することにしました-「割り当て済み」に入力されたすべての情報は「割り当て済み」自体に保存されず、ORACLEに直接保存され、プログラムのこの情報へのアクセスが高速化されます-スコアボード」は、データベースから必要な情報の収集を簡素化します。 共有(ネットワーク)ドライブに保存されているmdbファイルの増大に関する絶え間ない問​​題も解決されました。



情報出力プログラム。 請負業者は、7台のモニターと1台のプラズマが接続されているコンピューターをインストールします。 このコンピューターは、Windows 7 64ビットがプリインストールされた2枚のNvidia Quadro NSV 420ビデオカードを搭載したDellワークステーションであり、出荷後2日でアクティベーションが終了しましたが、これはまったく別の話です。



画像

開発環境としてDelphi 7を選択しました。ちなみに、選択は必要に応じて決められ、突然作業場所を変更することにした場合にプログラマによるプログラムソースコードへの変更の導入を簡素化するために行われます。



画像



「モニターとプラズマの世界を管理する」





まだコードの記述を開始していないので、彼は将来のプログラムに必要な主な機能の概要を説明しました。

-クライアントサーバーの原則に基づくネットワーク管理、

-建物のインテリアデザインと調和した、美しくて同時に実用的なインターフェースで、訪問者や裁判所の従業員が理解しやすい。



画像



次の情報は、ロビーにあるプラズマテレビ(「プラズマ」と呼びます)に表示する必要があります。時間に応じて、すべてのホールでの公聴会に関する情報。 現在の時刻と日付。 国立銀行のウェブサイトからインターネットから自動的にダウンロードされる為替レート。 現在の天気と数日先-はい、このブロックは、特にチームの女性の半分の間で最大のセンセーションを引き起こしました。一部の人は、天気を見つけるために今では頻繁に1階に行く必要があることを後悔しました。 裁判官による市民の受け入れのスケジュールを反映した小さなセクション(現在受け取っている裁判官のみを撤回することがここで決定されました)。 info-block-主にプロパガンダの性質の任意の情報がここに表示されます。







法廷の前にぶら下がっているモニターは、時間、事件番号、裁判官、原告、被告、紛争\状況など、検討中の事件のみに関するより専門的な情報を提供します。



上記で述べたように、Borland Delphi 7はODAC、EhLib、VGSceneなどの追加コンポーネントを備えた開発環境として選択されました。

Oracle Data Access Componentsはデータベースとの通信に使用され、EhLibはそのグリッドで知られている一連のコンポーネントであり、私は言葉、ユニークな機能を恐れていません、VGSceneはインターフェースを作成するための目を楽しませ、機能が豊富なベクトルエンジンです。

メインプログラムは、コンピューターの起動時に開始され、指定されたモニターに金型を散布します。

さらに、2つのプログラムが開発されました。ネットワーク上のモニターの世界を管理できる管理者部分と、情報ブロックにニュースメモを追加するためのプログラムです。



私たちが遭遇した困難





ネットワークの敷設と機器の設置に2週間関与した組織は、機器の配送に関する「朝食」を受け取りました。商品は税関で拘束されたか、倉庫に保管されていました。 最後に、彼らはそれらを押したとき、彼らは1台のコンピューターを使用して7台のモニターを構成できないと告白しました。 彼らがこのスキームを私たち自身に提案したという事実を考えると、すばらしい。 「それを取り、私たちは自分でそれをセットアップします」と私たちは言い、彼らの仕事の一部をしました。



複数のモニターに出力される情報。 最初、私たちのプログラマーは、このタスクの実装についての考えを述べました。たとえば、いくつかの仮想マシンを実行するなど、決定が不合理になることがありました。 これがどのように役立つかは完全には明らかではありませんが、Delphiを使用した私の(むしろ平凡な)バージョンに落ち着きました。



if (monitorIndex.MonitorCount > 1) and (monitorIndex <= Screen.MonitorCount) then

begin

Left := Screen.Monitors[monitorIndex].Left;

Top := Screen.Monitors[monitorIndex].Top;

Height := Screen.Monitors[monitorIndex].Height;

Width := Screen.Monitors[monitorIndex].Width;

end;








リーダーシップによると、プラズマの情報ブロックはテキストを表示するだけでなく、さまざまな効果で表示する必要があり、これらの効果は影と下から上への滑らかな滑走だけでなく、テキストの外観を斜めに「フェード」し、左、右など、一般に、すべてがPower Pointのようなものです。 難しいが、情報ブロックへのそのような品質は必要ではなく、訪問者をそらすだろうと説明した。



データベースの構造とボリュームの複雑さ。 いくつかのSQLクエリをコンパイルするとき、私は大量の文献に目を向けなければならず、いくつかの場所では創造的でした。 非常にまれですが、複数の原告/被告が事件に関与している状況がまだあります。 「複数のパーティー」は多くの問題を引き起こしましたが、私はこの方法でそれを克服しました(以下のリクエストのテキストを提供します、それは役に立つかもしれません):



CREATE VIEW PLAINTIFF AS

select suit_id, max(LTRIM(sys_connect_by_path(name,'; '),'; ')) app

from (SELECT naznach.suit_id, app_resps.name, row_number() over (partition by naznach.suit_id order by app_resps.name) rn

from Naznach INNER JOIN App_resps ON naznach.suit_id = app_resps.suit_id

WHERE ((app_resps.TYPE=1) Or (app_resps.TYPE=4) Or (app_resps.TYPE=10) Or (app_resps.TYPE=14) Or (app_resps.TYPE=13)))

start with rn = 1

connect by prior rn = rn-1

and prior suit_id = suit_id

group by suit_id

order by suit_id








このリクエストの実行の結果、原告(名前)に関する情報と他のテーブルとの通信の識別子を含むビューが作成されます。 事件に原告が複数いる場合、それらは記号「;」で記録されます。 さらなる処理はすでにプログラムの側で行われています。



まとめ





掲示板の作成は非常に簡単な作業ですが、タイムリーに見える問題ではなく、独自の問題に関連しています:不正な請負業者であろうと、AISの使用に関するドキュメントが完全に欠けている場合であろうと。



他の州の組織ではどのようなことが起こっているのでしょうか?プログラマーや会社全体がそのようなプログラムの作成に関与していますか?



All Articles