goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

プロセス等(メソッド)の詳細化と動詞の名詞化(クラス化)

2009-12-12 23:12:14 | そのほか

 DFDにおけるプロセス、アクティビティ図におけるアクティビティなどは、業務=動作だがら、動詞で示されるのが自然である。たとえば、営業部の業務としては

営業部
 受注する
 発注する
 在庫を確認する

などなど・・・

 ところが、これらを詳細化する場合、たとえば「受注する」を詳細化した図をかこうとした場合、その図のタイトルを「受注する」という動詞のままだとかっこ悪いので(まあ、動詞のままでもいいんだけど)名詞化して「受注」とする。

 受注
   受注内容を入力する
   受注データをチェックする
   受注データを保存する
   受注票を発行する

  
 みたいな。。。




 これは、動詞の名詞化だから、プログラム的には、ここで書いたように、メソッドをクラス化することで対応できる。

クラスで書くとこんな感じ

//	営業部
class eigyo
{
	//	受注する
	public void jyutyu()
	{
		//	受注処理
		//	受注オブジェクトを生成する
		Jyutyu gyomu = new Jyutyu();

		//	必要な値をセッターを使ってセット

		//	いろいろ実行

	}

	//	発注する
	public void hattyu()
	{
		//	発注処理

	}

	//	 在庫を確認する
	public void zaikoKakunin()
	{
		//	在庫確認処理
	}

} 

// 受注
class	Jyutyu
{
	//	必要な値をプロパティに書く
	//	setter,getterを書く

   //	受注内容を入力する
	public	void	nyuryoku()
	{

	}
   //	受注データをチェックする
	public	void	check()
	{

	}

   //	受注データを保存する
	public	void	hozon()
	{

	}

   //	受注票を発行する
	public void zyutyuhyo()
	{

	}
}



みたいなかんじに、いままでの理屈ではなる。




しかし、じつは、そうはならず、この場合、受注業務が一連の業務であれば、


package	eigyo;

// 受注
class	Jyutyu
{
	//	必要な値をプロパティに書く
	//	setter,getterを書く

   //	受注内容を入力する
	public	void	nyuryoku()
	{

	}
   //	受注データをチェックする
	public	void	check()
	{

	}

   //	受注データを保存する
	public	void	hozon()
	{

	}

   //	受注票を発行する
	public void zyutyuhyo()
	{

	}
}



というかんじで、営業部のパッケージを作り、その中に、受注、発注、在庫確認などの処理を作ったほうがいい。というか、そうするのが、ふつうだろう。




 つまり、クラスにするようなものは、パッケージにすることもできる。
 では、どのようなとき、パッケージで、どのようなとき、クラスにするのか?

 ・・・については、話が長くなるので、またこんど



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする