1

ソフトウェア設計の作成中に問題が発生しました。

私は学生のリストを持っており、各学生は自分が勉強できる 1 つ以上の科目 ( name 属性を持つ Student と Subject クラス) を選択できます。

例:

名前付きの生徒のリストは、S1、S2、S3、S4 のいずれかです。

名前付きのサブジェクトのリストは、SU1、SU2、SU3、SU4 です。

学生に科目を割り当てる

S1 --> SU1、SU3

S2 --> SU1、SU4

S3 --> SU2、SU3、SU4

S4 --> SU1、SU4

生徒と教科のペアごとに、研究パートナーを持つことができる、または持つことができない

PS: 自分以外の生徒。

S1、SU1 --> S2、S4

S1、SU3 --> S4

S2、SU1 --> NULL (研究パートナーなし)

S2、SU4 --> S3

S3、SU2 --> S1、S2

S3、SU3 --> NULL (研究パートナーなし)

S3、SU4 --> S4

S4、SU1 --> S1、S2

S4、SU4 --> S3

このモデル (UML ダイアグラムまたはサンプル コード) を設計するために、誰からの助けにも感謝します。関連クラスについて考えましたが、どのように適合するかわかりません。

4

1 に答える 1

2

SubjectStudyPartnerの概念をラップするクラスを持つことができますSubjectWrapper

class SubjectWrapper
{
    Subject subject;

    List<Student> studyPartners
}

のリストを持つ代わりにSubject、各生徒は のリストを持つことにSubjectWrapperなり、このようにして科目と学習パートナーである生徒のリストの両方をラップします。

class Student
{
    // Name, Age, and what not...

    List<SubjectWrapper> subjects;
}

この場合、空のリストは研究パートナーがいないことを表します。

于 2013-10-02T17:53:17.877 に答える