はたして業務系ってのがどこまでの範囲を指すのかは知らないけども、
オレの管轄の仕事は、全て業務系だ。

最近気になっているのは、社内のワークフローだ。人の上下関係をクラス化するのは必須でしょう。

例えば、こういう社員構成になっていたとします。

総務部長 坂巻さん
開発部長 山下さん
総務マネージャ 川中さん
開発一般社員 齋藤さん
総務一般社員 鈴木さん

目で見れば縦割りの内容はすぐにわかりますし、並列な立場の人間もわかります。これをクラス化するには、どうしましょう。

ちょっと考えると、ツリー構造がよさそうな気がしますが、実はそれだと破綻する場合があります。

というのも、一人の人間が複数の部に属している場合なんか、ツリーじゃ表現できないからです。というわけで、すべからく木構造を元にしているものは、ゆくゆく破綻しそうに思います。

だからといって、それぞれの部に属している人を別々のデータにするわけにもいきません。

田中さんが、総務と開発の両方に属しているから、田中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