実践的オブジェクト指向分析・設計と実装
コース番号:123P
日数:4日間
形態:ハンズオン

研修コースの概要

アプリケーションやシステム開発の主流であるオブジェクト指向の主要な開発方法であるRUP (Rational Unified Process) の「ユースケース駆動」に基づいて分析、設計、そして実装という一連のプロセスを演習を通して一貫して学ぶことを目的としたコースです。単に概念的な設計図の作成だけで終わらず、実装まで行うのがこのコースの最大の特徴です。この実装を通して得られるフィードバックにより「実装可能で実行時効率・拡張性に優れた設計図の開発」という設計の本質を理解することがきます。

また、プログラムがマシン上でどのようにメモリーに展開され実行されるのか、あるいは継承、インターフェース、ポリモーフィズムといったオブジェクト指向の重要な機能がどのように実装されそして使われるのかを実際のプログラムを通して理解します。このように分析・設計から実際のコーディングおよび実行時の動作まで一貫して理解することにより、実装の細部にまで責任を持って設計を行えるアーキテクトを養成します。

さらに、「ユースケース駆動」と並んでRUPの他の2つの柱である、「アーキテクチャ中心」および「繰り返しによる開発」に関して、その本質および有効性をケーススタディ等を通して簡潔に分かりやすく説明します。

開催日程
  • 2017/5/23(火)-26(金)
    ※次回2018年上期開催予定
時間 9:30 - 18:00
料金(税抜)
  • (早割) 218,550円
  • (通常) 235,000円
※価格表示は税抜です
会場 弊社 神保町 セミナールーム »

この研修の対象者

最新のオブジェクト指向の手法を分析・設計から実装まで一貫して体系的に学ぼうと考えていらっしゃるソフトウェア・エンジニア、システム分析・設計者、プログラマの方々に最適です。
受講には6ヶ月以上のプログラムの経験とC#.NETあるいはJavaの文法の理解が必要です。ただし、経験豊富なプログラマの方であればC++またはCの知識だけでも受講可能です。オブジェクト指向分析・設計の事前の知識は必要ありません。

コース内容

オブジェクト指向の基礎

  • クラスとオブジェクト
  • カプセル化
  • オブジェクトとクラスのUML記述
  • 継承とポリモーフィズム
  • デザインパターン
  • OO言語の比較

Rational Unified Process(RUP)

  • ユースケース駆動のプロセス
  • アーキテクチャ中心
  • 反復的
  • 段階的な開発によるプロジェクト管理

JavaあるいはC#.NET言語による実装

  • GUI構築の基礎
  • イテレーター・パターン
  • JFCあるいは.NET Frameworkのクラスの利用

実習の内容

UMLを使い、標準の開発手法であるRUPに基づいて、仕様、分析・設計そして実装コードまで導出する演習を3つ行います。

  • アクターとユースケースの識別
  • 分析・設計モデルの作成(クラス図:クラス、フィールド、関連、多重度)(ユースケース実現:イベントフロー記述、シーケンス図)
  • 設計モデルからJavaあるいはC#.NETのコードへの展開

担当講師のコメント

同じ設計といっても、ソフトウェアの設計とハードウェアの設計は意味が違うようです。ハードの設計者は生産ラインに乗った最終製品の動作について責任を持つのに対して、ソフトの設計者はそうではない場合があるようです。 しかし最新のOOの設計手法(RUP)に沿って行った正しい設計は、ほとんど機械的といって良い簡単さで正しく動作するコードに落ちるものなのです。

先日UML・RUPの産みの親の一人であるJacobsonの講演を聞く機会があったのですが、その中で彼は現在の設計とコーディングではコーディングにかける時間が多すぎ、将来はその比率を8(設計)対2(コーディング)位にするべきだと言っていました。これは設計者が実装まで見据えて、その動作まで責任を持って設計を行うことによって初めて可能になることです。

このコースでは、RUPの方法論を学んだ後、それを使って3つの演習問題の分析・設計を行います。特に2番目の演習では各自の設計を実際にJavaで実装します。この実装を通して得られるフィードバックにより実装可能な設計・不可能な設計の判別、効率の良い設計・悪い設計の判別といった実践的な知識および技術を身につけることができます。

受講者の声

「講師は、圧倒的な技術力をお持ちなのと、受講生のことを考えてアドバイスして下さるのが、とても素晴らしいと思いました。設計からコードに落とすところまでのやり方をこんなに分かりやすく教えて下さる方に出会ったのは初めてです。」

「オブジェクト指向の設計と実装の本質的な意味を理解するのに大いに役立った。UML設計から実装が簡単に行えることが十分理解できた。そのほか、最新の情報や実際の経験に基づく話などの一つ一つの内容が興味深い内容であった。」

「正直な感想としてこんなに機械的にソースに落ちてなおかつデバッグがほとんど必要ないなんて、このコースを受けてびっくりしました。これからはインストラクターの水野さんのおっしゃるとおり例を増やしていきたいと思います。」

「ユースケースからどのようにオブジェクト図、クラス図に落としていくかが座学のみではなく、演習を通じて理解できるのがとても良かったです。ここまで各グループの設計をレビューしてアドバイスしてくださるコースはないと思います。」

「オブジェクト指向の基礎的なことから始まり、演習で実際に実装までを一貫して学べるため、非常に良いコースであった。特に演習があって初めて理解・実感できることも多く、演習の時間が多くとられていたことが良かった。」

「非常に密度が濃い内容でした。日々感じていた、今まで行ってきた(教えられてきた)設計の矛盾点を正確に指摘していて、本来あるべき設計の姿をもう一度考える良いきっかけとなりました。内容も期待していた以上のものでした。」

「基本的な内容が適度に取り込まれていた。演習にうまくトラップが仕込まれていたのが実践的で良かった。」

「オブジェクト指向の考え方が完全に変わった。今まで受講した中で最も良い研修だったと強く感じた。」

「1年目の社員から必須にしてよいくらい、役に立つ。」

「自身が受けた研修の中で最も良かった。同僚にぜひ勧めたい。」