■
はたして業務系ってのがどこまでの範囲を指すのかは知らないけども、
オレの管轄の仕事は、全て業務系だ。
最近気になっているのは、社内のワークフローだ。人の上下関係をクラス化するのは必須でしょう。
例えば、こういう社員構成になっていたとします。
総務部長 | 坂巻さん |
開発部長 | 山下さん |
総務マネージャ | 川中さん |
開発一般社員 | 齋藤さん |
総務一般社員 | 鈴木さん |
目で見れば縦割りの内容はすぐにわかりますし、並列な立場の人間もわかります。これをクラス化するには、どうしましょう。
ちょっと考えると、ツリー構造がよさそうな気がしますが、実はそれだと破綻する場合があります。
というのも、一人の人間が複数の部に属している場合なんか、ツリーじゃ表現できないからです。というわけで、すべからく木構造を元にしているものは、ゆくゆく破綻しそうに思います。
だからといって、それぞれの部に属している人を別々のデータにするわけにもいきません。
田中さんが、総務と開発の両方に属しているから、田中1、田中2とするのは意味がわかりませんし、もしこの人の給与などを考えるとやっぱり破綻します。
すると、組織の人を考えるには、役職と部署を複数持てるようにしなくちゃなりません。
つまり、役職、上司が複数なので、役職クラスのリストと、上司リストのリストのようなものをもたなくちゃならないんですね。
public class human private _name as string public property Name() as string get return _name end get set(byval value as string) _name = value end set end property private _sectionCD as string public property SectionCD() as string get return _sectionCD end get set(byval value as string) _sectionCD = value end set end public Public Enum EnumStatus 部長=10 マネージャ=5 一般=0 end Enum public property SectionStatus() as EnumStatus get return _sectionStatus end get set(byval value as EnumStatus) _sectionStatus = value end set end Property end class