がんばれ!!しんちゃん
子育てから、音楽・ビデオ鑑賞などの趣味、学問や能力開発等生活全般に関する話題を断片的に書き綴る。
UMLの基礎概念

UMLの構造(Architecture)



アーキテクチャーとは、システムの構成要素とその機能、振る舞い、インターフェイス、組み合わせ等に関する決定事項を簡単にまとめたものを言う。
メタメタモデル層、メタモデル層、モデル層、ユーザオブジェクト層の4層から成る。


メタメタモデル層



UML構成要素全てを指定する言語を定義する。

メタモデル層



モデルに含めるものを定義する。
基盤、動的要素、モデル管理の3つのパッケージからなる。

1.基盤(Foundation)

・Core ... UMLモデルの構築に必要なものを定義する。
 抽象アイテム
 モデル要素(Model Element)、汎化要素(Generalizable Element)、分類子(Classifier)から成る。
 分類子は、クラス、コンポーネント、アクター、インターフェイス、サブシステム、ユースケース、シグナル、データ型等が

 具象アイテム(抽象アイテムのサブアイテム)
  インスタンス作成可。
  クラス、インターフェイス、関連(Association)、データ型等がある。

抽象構文(abstract syntax) ... パッケージはアイテムをクラス図に表示する。
整合規則(wellformedness rules) ... パッケージにはアイテムの使用規則が含まれている。
セマンティクス(semantics) ... パッケージはアイテムの意味に関する情報を提供する。

・補助要素 ... コアパッケージを発展させたもの
・データ型 ... Data Type。UMLが使用するデータ型を指定する
・拡張メカニズム ... Extension Mechanisms。UMLの拡張方法を指定する

2.動的要素(Behavioral Elements)
 4つのパッケージがある。

・共通の振る舞い ... Common Behavior
 動的要素に概念を提供し、その他のパッケージをサポートする。
 動的要素に提供される「概念」には、シグナル、リンク、関連終端(Association End)等がある。

・コラボレーション ... Collaborations
 ここでのコラボレーションは、分類子とその関連が特定のタスクを実行するときのやり取りを表す。
 コラボレーション図とユースケース図が当てはまる。

・ユースケース ... Use Cases
 ユースケースの概念の形式上の詳細を説明する。

・状態マシン ... State Machine
 ステートチャート図とアクティビティ図の形式上の詳細を説明する。

モデル層



 クラスを取り扱う作業はこの層に属している。
 モデル、サブシステム、パッケージを定義する。


ユーザオブジェクト層



例や特定のドメインのインスタンスを取り扱う作業。
ここでの「ユーザ」とはUMLユーザのことであり、システムのユーザではない。


UMLの拡張


 3つの既成の拡張メカニズムがある。
 これらは、メタモデル層の基盤パッケージの拡張メカニズムパッケージに含まれている。

ステレオタイプ


 UML構成要素を拡張して新しいクラスのインスタンスを生成するために負荷する文字列。

 ●依存関係
 ‹‹become››
 ‹‹call››
 ‹‹deroved››
 ‹‹friend››
 ‹‹extend››
 ‹‹include››
 ‹‹import››
 ‹‹metatarget››
 ‹‹instanece››
 ‹‹semd››

 ●分類子
 ‹‹metaclass››
 ‹‹powertype››
 ‹‹process››
 ‹‹thread››
 ‹‹utility››
 ‹‹stereotype››

 ●クラス
 ‹‹type››
 ‹‹implementationClass››


 ●コンポーネント
 ‹‹document›› ‹‹executable››
 ‹‹file›› ‹‹table›› ‹‹library››

 ●汎化
 ‹‹inherit›› ‹‹subclass››
 ‹‹private››

 ●パッケージ
 ‹‹façade››
 ‹‹system››
 ‹‹stub››
 パターン
 ‹‹framework››
 ‹‹topLevelPackage››

 ●その他のステレオタイプ
  ‹‹invariant››
  ‹‹postcondition››
  ‹‹precondition››
  ‹‹requirement››
  ‹‹create››
  ‹‹destroy››

 ●グラフィックのステレオタイプ
  クリップアート等を使用。


制約(constraint)


 関連、リンク終端、汎化、要求の条件を定義するもの。
{or}は、この関連に影響を及ぼす関連が一つだけ存在することを示す。
{implicit}は、この関連が概念的な関連であることを示す。
{parameter}は、このオブジェクトがパラメータであるために可視であることを示す。
{self}は、オブジェクト自身が要求のディスパッチャであるために可視であることを示す。
{global}は、リンクに関してオブジェクトがグローバルスコープやローカルスコープにあるために可視であることを示す。
{association}は、オブジェクトが可視なのは関連があるためであることを示す。
 複数の汎化は、{complete}(全てのサブタイプが指定されている)かまたは、{incomplete}(その他のサブタイプを追加できる)で、{overlapping}(一つ以上のサブタイプがインスタンスタイプとして機能)又は、{disjoint}(一つのサブタイプがインスタンスタイプとして機能。デフォルト)になる。
 要求が決まった順序はなく、多数のターゲットインスタンスに送られる場合、{broadcast}になる。
 また、多数のインスタンス全てが値を返し、その戻り値の過半数を占める値に決定される場合、{vote}になる。

タグ付き値


 既成のタグ付き値は、分類子、コンポーネント、属性、インスタンス、操作に適用する。
{documentation=}は、あらゆる要素に適用でき、右辺には、説明やコメントを挿入する。{location=}は、分類子に適用する場合、右辺には、その分類子の属するコンポーネント、コンポーネントに適用する場合、右辺には、コンポーネントの属するノードを挿入する。
{persistence=}は、要素の状態が永続的であるかどうかを示す。右辺の値は、維持されるならpermanentで、破棄されるならtransitory。
{semantice=}は、分類子又は操作の意味を指定する。
{responsibility=}は、分類子の義務を指定する。 






開発の方法論




ウォーターフォール方式1


 分析 → 設計 → コード化 → 配置が順番に行われる。

 ●問題点
1.作業を区分しなければならない。
2.プロジェクト進行中に明らかになった情報を反映しにくい。
3.分析や設計に十分時間をかけられない。


新しい方式


 開発の各段階での協調作業に注目した方式。

 ●問題点
1.各段階を区別してしまうことがあり、システムにクライアントの要求が反映されない。


開発チーム


分析者、設計者、プログラマ、システムエンジニア

求められること



1.開発チームが、解決すべき問題を十分に把握していることの確認。
2.開発チームのメンバーに適切な役割を割り当てていること。
3.役割を割り当てられたメンバー間のコミュニケーションを促進すること。
4.フィードバックをひとつの開発段階に限定しないこと。
5.不要な書類を減らし、開発作業の進捗状態をクライアントに伝えること。

GRAPPLE



Guidelines for Rapid APPLication Engineering

状況に応じて改変可能な柔軟な考え方をまとめたもの。

RAD3(又はRADDD)


五つのセグメントで構成されており、各セグメントは、複数のアクションで構成されており、ひとつひとつのアクションから青果物が得られる。


1.要求の収集(Requirements Gathering)


 最重要セグメント。

・業務プロセスの洗い出し
・ドメイン分析の実施
・協調して動作するシステムの特定
・システムの要求の洗い出し ... JAD(Joint Application Development)セッション
調整役はファシリテータ(facilitator)
・クライアントへの結果報告

2.分析(Analysis)


・システムの用途の把握 ... ユースケース図
・ユースケースの洗い出し ... ユースケースの手順書
・クラス図の洗練 ... クラス図
・オブジェクトの状態遷移の分析 ... ステートチャート図
・オブジェクト間の相互作用の定義 ... シーケンス図とコラボレーション図
・協調して動作するシステムとの統合 ... 配置図、データモデル(オプション)


3.設計(Design)


・文書化の開始 ... 文書の構造
・テストの設計 ... テストプログラムのスクリプト
・ユーザーインターフェースの設計とプロトタイプ化 ... ユーザとのJADセッション、プロトタイプのスクリーンショット
・開発計画 ... 配置図
・コンポーネント図の作成 ... コンポーネント図
・オブジェクト図の洗練 ... オブジェクト図とアクティビティ図


4.開発(Development)


・コード作成 ... コード
・コードのテスト
・ユーザーインターフェースの作成、コードの接続、テストの実施
・文書の感性

5.配置(Deployment)



・バックアップと復元の計画







ゲルマニウムは、本当に効くのか?

ゲルマニウムは、本当に効くのか?



知り合いが、ゲルマニウムのブレスレットを付けたら体調が良くなったと言っていたので、何がどう効くのか調べてみた。

ゲルマニウム(Germanium):炭素族の元素の一つで、原子番号 32の元素(元素記号 Ge)。バンドギャップ(約 0.7eV)を持つ半導体で、結晶構造はダイヤモンド構造。
ジャーマニウム(英)。

金属と非金属の中間に位置し、条件によって絶縁体になったり、導体になったりする。
トランジスタラジオやコンピュータの部品として使われている。
無機ゲルマニウムと有機ゲルマニウムがある。

無機ゲルマニウム



地球の地殻に広く分布しており、32度以上に温められるとマイナスの電子を放出する。放出されたマイナス電子は肩こりや痛みのある部分(プラス電気が多い)に集まり、中和させる(生体電流を調整をする)。
ブレスレットなどのアクセサリーの形で身につけている限り半永久的有効であるといわれている。
しかし、そのような効能やメカニズムが科学的に証明されているとは言えず、疑問視する意見もあるようだ。
臨床試験に携わった研究者によってその危険性も指摘されている。
無機ゲルマニウムを含む健康食品を摂取して死亡した例もある。

無機ゲルマニウムは、絶対に飲用してはならない。




有機ゲルマニウム



朝鮮人参、麗芝、サルノコシカケ、ニンニク等に含まれる。
体内に酸素を増大させるたり、体内から有害な毒素や老廃物を排出する作用(新陳代謝)があるので、体調を正常化、酸欠状態解消に著しい効果があると言われている。
又、ヨーロッパの「ルルドの泉」は奇跡の泉として有名であり、有機ゲルマニウムを多量に含んでいる。


無機ゲルマニウムと有機ゲルマニウムの違い




人体は摂取した成分と、体内に残存する成分が、必要量を超過するとバランスを維持するため、体内にある成分を体外に尿や汗として排出しようとする。
水溶性でなければ排出の際、腎臓に負担がかかり、ついには腎臓障害に陥る。

無機ゲルマニウムは水溶性ではないので長期間に渡り服用すると、腎不全・神経障害などの様々な障害が現れるようだ。
一方、有機ゲルマニウムは、水溶性なので、過剰なゲルマニウムが体内に蓄積されない。ただし、国立健康・栄養研究所「健康食品」の素材情報データベースには、「末梢神経や尿路系の障害を起こし、重篤な場合には死に至ることがある」というデータがあるが、それが無機ゲルマニウムのみを指しているものかどうかは不明。
「食品としての経口摂取はおそらく危険と思われる」との記述がある。