組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム
組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム
L1、L2受験者必見!UMLモデリング技能試験対策セミナー 2019年8月9日に当協議会が行った試験対策セミナーの映像版です。
オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで本特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説
開発の世界では一般常識化 オブジェクト指向――Object Oriented(OO)という考え方は、JavaやUMLの普及に伴っていまや開発の世界では一般常識化してきました。OO関連の書籍や専門誌特集記事など多数出版されていて、開発に携わっている皆さんはある程度オブジェクト指向の考え方について自分なりに理解できていると思います。そもそもオブジェクト指向の考え方の歴史は古く、最後の“指向―Oriented”は余韻を含んだ言葉ですが、人によりOOの理解の仕方に若干幅があるようです。今回は筆者流にオブジェクト指向の基本的考え方を5枚の図を用いて簡単に整理してみたいと思います。 もう 少し時間のある人は、連載「ここから始めるオブジェクト指向―オブジェクト指向基礎講座」(全8回)をご参照ください。さらに時間と興味のある人は、連載「オブジェクト指向の世界」をご参照ください。
状態遷移表 ステートチャート図(UML) 入れ子をどんどん深くしていけばもっと複雑な状態も表せるのですが、あまり深くなりすぎるようならオブジェクトが大きすぎるのかもしれません。 図表を作成することで、各状態における処理を洗い出すことができることが解ったと思います。ところがいざこれをコーディングしようとすると、意外にもなかなか難しいのです。 複数の状態を管理してイベント発生時に適切な関数を呼び出すように管理するために、ややこしいフレームワークを書いて、関数テーブルを作成しなければなりません。こうした手間を軽減するためにCASEツールを用いる方法もあります。状態遷移に対応したCASEツールならば、状態やイベントの追加も簡単ですし、どの状態のどのイベントがテストされていないといったような情報を集めることもできます。 ところで状態遷移とオブジェクト指向の関連性はどうなっているのでしょうか? オブジ
HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。
ユースケースとは何か? なぜ必要か? 今回は、だれも書いたことがない視点から、オブジェクト技術者が理解しておくべきユースケースモデルについてのノウハウを解説します。そもそも、ソフトウェア開発には、必ず開発を行う目的があります。どんなソフトウェアであってもこの目的がはっきりしないと、よいソフトウェアなど作れるはずがありません。 筆者が初心者のころ、よく「構造化されたソフトウェアを考えてみよう」とか「継承を生かした何らかのソフトウェアを作ってみよう」といったことを計画し、自作ソフトウェアを作ろうと試みたことがありました。しかし、あえなくすべて失敗に終わってしまいました。「構造化」や「オブジェクトテクニック」が目的であっては何も作れないのです。 では、ソフトウェア開発にとって最も重要なことは何でしょうか。そうです、「ソフトウェアがどのような人に、どう使われるか」ということなのです。今回は、UML
UML(Unified Modeling Language:統一モデリング言語)の定める10種類のダイアグラムの一つに「ステートチャート図 State Chart Diagram」があります。 状態遷移図を基本にし、簡略化した記述ができるように拡張されています。 遷移の矢線の上だけでなく、状態の入口と出口にアクションが記述できます。 たとえば、ある状態に入る全ての遷移に共通のアクションがある場合、 全部の矢線に同一のアクションを記述するかわりに、 その状態の entry/ アクション として記述できます。 また、その状態にあるあいだ継続的に行う動作は、 do/ アクティビティ として記述します。 状態遷移図には条件判定がありませんでした。 条件判定が必要な場合には、新たな状態を追加して表現するのですが、遷移図が無意味に複雑になる場合があります。 このような場合イベントに条件を追加して記述し
HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。
ステレオタイプ UMLはどのプログラミング言語にも依存しない.そこで,UMLにはさまざまな拡張機能が定義されている.ステレオタイプ(streotype)はUMLの拡張機能の一つで,ステレオタイプを用いれば,役割や用法上の違いなどをモデル要素に修飾することができるようになる.ここで,役割や用法上の違いとは,同一の要素でも頻繁に発生する.例えば,一口にメソッドといっても,理論的に役割は異なる.コンストラクタ,イベントなどが存在するだろう.ステレオタイプはこのような違いを明確に記述し,その意味を開発者に伝えるものである.ステレオタイプはギュメtypeを用いて,ステレオタイプ名を囲み,以下のように記述する. この図はコントロールの役割を持つクラス Component とインターフェイスとしての役割を持つ Container クラス,そして,属性クラスである ControlAttribute の
連載第9-1回 UMLの基礎と応用 (株)NTTデータ 技術開発本部 副本部長 山本修一郎 ■■アクティビティ図■■ アクティビティ図は作業プロセスを記述できるのでフローチャートや業務フロー図とよく似た図式である。このためアルゴリズムだけでなくワークフローやビジネスモデルの表現にも適した図式であり幅広く利用できる可能性がある。その反面、最もUMLらしくない図式であるとも見られることもある[1]。 ただしUMLではアクティビティ図は状態遷移図の特殊な場合として扱われている[2]。この理由は、アクティビティ図の状態遷移が、先行する状態におけるアクションが完了したときに後続する状態に遷移する場合だけに限定されているからである。フローチャートについてもアクティビティ図と同じことがいえるので、フローチャートの各処理をそれぞれ「処理状態」だと考えれば、フローチャートも状態遷移図の特殊な場合ということに
UMLの2種類の動的モデルについて「振る舞いをUMLで表現する」というテーマで、「第6回 振る舞いをUMLで表現する-相互作用図」は2つの相互作用図(シーケンス図とコラボレーション図)、「第7回 振る舞いをUMLで表現する-ステートチャート図」はステートチャート図の説明をしました。今回はアクティビティ図について説明します。相互作用図やステートチャート図を描くにはオブジェクトが必要ですが、アクティビティ図を描くのにクラスやオブジェクトは不要です。 前回宿題として挙げておきました「弁当作成」の第3のモデルを考える前に、UMLのアクティビティ図について弁当作成の例題で説明します。 アクティビティ図 アクティビティ図は処理の流れを表現するのに使用し、フローチャート図と似ています。お母さんが弁当を作成する手順は大きくは、「(1)材料を準備する」「(2)弁当を作る」という2つのステップからなります。ア
The power of software modeling Astah’s modeling tools allow you to visualize the essence of your ideas and software designs. Quickly and effortlessly build diagrams that create a clear understanding among teams. Build UML, ER diagrams, Data Flow Diagrams, Flowcharts, mind maps and more in the most powerful modeling software for everyone from students to enterprise teams. Get a free trial New Acade
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く