n階層システム設計の考慮点

第9回 n階層システムの考慮点についてのまとめ

この記事を読むのに必要な時間:およそ 1.5 分

2008年4月から今回で9回にわたり,私なりの考慮点,ノウハウをMicrosoft社の資料の引用も含めて説明させて頂きました。

ここで,本連載の纏めをさせて頂きたいと思います。

まとめ

(ア)アプリケーションの規模は小さくともn階層で設計します
n階層(規模と機能によりますが,2階層以上)で設計することにより,それぞれの役割,機能,境界が明確化され,効率のよい設計,構築,保守ができるようになります。
(イ)ビジネスコンポーネントは機能ごとに設計します
(ア)と同様に,機能ごとに設計することにより,それぞれのビジネスコンポーネントの独立性が高められます。これにより,部分的な仕様変更や業務追加などにも対応が容易になります。
(ウ)共通化できるロジックは共通化して重複しないように設計します
共通ロジックの抽出は大変に工数かかかり,また技術が必要になります。しかし,共通ロジックを抽出,設計,構築することにより,全体的な工数の削減,品質の向上,保守性の向上を図ることができます。
(エ)データストアにアクセスするロジックは1箇所に集約して設計します
集約することにより,データストアへの接続資源の有効利用,全体的な工数の削減,品質の向上,保守性の向上を図ることができます。
(オ)Windows Presentation Foundation,Windows Communication FoundationやWindows Workflow Foundationを活用し,より効率的に,高品質で,保守性のよい,顧客に満足して頂けるアプリケーションを設計,構築,配置,そして使用して頂きましょう
新技術の導入は顧客からもプロジェクト内からも少なからず抵抗があると思います。しかし,顧客が真に要望するアプリケーションに実現のために必要であれば進んで取り入れていくことを検討しましょう。また,これらの技術の活用より,より効率的に,高品質な,保守性がよく,拡張性の高いアプリケーションを構築することができるようになります。是非新技術の活用をご検討ください。
(カ)LINQ技術を活用し,より効率的で保守性のよいアプリケーションを設計しましょう
LINQ技術の活用により,効率的に,高品質で,保守性のよいアプリケーションを設計,構築することができます。是非取り組んで頂きたい技術です。

新しい言語「F#」

連載開始からの4か月の間に,Microsoft社からさまざまな新製品,新技術の発表がありました。

新しい総合開発環境である「Microsoft® Visual Studio® Team System Codename “Rosario”」,新しい開発言語の「F#」等があります。

F#は2007年11月にMicrosoft社が.NETプログラミング言語としてサポートすることを表明した新しい言語です。

この言語は関数型言語で,関数型言語は今までは大学や研究機関での使用がほとんどでした。しかし,今年のTech・Ed North America 2008 DevelopersでF#のセッションがあり,注目されるようになりました。

F#は2008年5月にライブラリや各種コンポーネントの検討が始まったばかりで,2008年の秋にはCTP(Community Technology Preview)がリリースされる予定です。そして,その後βバージョン,RTM(Release to Manufacturing)を経て次期総合開発環境である「Microsoft® Visual Studio® Team System Codename “Rosario”」への搭載が予定されています。

詳しくは下記のMicrosoft社のホームページを参照してください。

終わりに

第5回第6回でも書かせて頂きましたが,.NET Framework 3.5の公開により,今まで3rdパーティ社製品をしないと構築が難しかったJava等の異プラットフォームで作成したサービスとの連携やLINQ技術の導入などで,プログラマーだけでなく,システム設計者にも新技術の習得が求められています。それぞれの技術の詳細についてはMicrosoft社の資料やBlog等の情報をご参照して頂きたいと思います。私もできるだけ情報を発信していきたいと思います。

しかし,システム設計者の本質である,「顧客要望の実現方法の模索」,「システムの品質確保」,「システム構築の効率向上」,「新技術の探求」といったことは今後も変わらないと思います。

国内外のコンピュータ関連技術者が「日本にはアーキテクトがいない」とおっしゃられるのをよく伺います。しかし,私はこの意見に対して自分なりにこのような意見を持っています。「確かに,個々の技術者としてのアーキテクトは少ないかもしれない。しかし,チームとしてシステムアーキテクチャを考える(設計する)ことのできる人材は多い」と思っています。

個々かチームかはどうであれ,顧客要望に沿ったシステムアーキテクチャを設計し,効率よく設計理念に沿ったアプリケーション(システム)を納期通り構築し,安定して稼働できればよいのではないでしょうか。

従来のシステム方式に新しい技術を融合させ,より顧客満足度の高いこれまでになかった新システムを構築する技術は,日本の技術者にはあると思っています。これらを活かし,日本の技術者の技術,モチベーション,向上心を上げて行けばよいと思います。

今回の連載を読んで頂いた方にとって何かしらのお役に立ち,ヒントを得て頂けたらとおもいます。

著者プロフィール

露木敏博(つゆきとしひろ)

1966年神奈川県横浜市生まれ。1990年,株式会社日立システムアンドサービス(旧日立システムエンジニアリング株式会社)に入社。

流通系SE,営業所駐在SEなどを経て,2003年から生産技術部門で.NET技術に関する技術支援業務に携り,.NET技術に関する各種基準書および標準化,設計ガイドなどを作成。

マイクロソフトMVPアワードプログラムよりDevelopment Platforms - ASP/ASP.NETのカテゴリで2008年7月よりMVPアワードを受賞。

コメント

コメントの記入