工程 | 要求定義 | 分析 | 設計 | ||
---|---|---|---|---|---|
アーキテクチャー分析 | ユースケース分析 | アーキテクチャー設計 | ユースケース設計 | ||
成果物 | ユースケース・モデル(ユースケース図)、 用語集、 機能外要求 | ドメイン・モデル、 分析クラス・メカニズム対応表 | 相互作用図(コラボレーション図)、 VOPC(ユースケースのクラス図) | パターン、 レイヤー、 設計クラス・メカニズム対応表 | 相互作用図(シーケンス図)、 クラス図 |
□ 属性
可視性 属性名:型 = 初期値□ 操作
可視性 操作名(引数名:型, ...):戻り値型
記号 | Java の表現 | 意味 |
---|---|---|
+ | public | 継承されているクラスからならアクセス可 |
# | protected | どこからでもアクセス可 |
~ | package | 同じパッケージからならアクセス可 |
- | private | どこからもアクセス不可 |
- public class MyClass {
- private int code;
- private String name = "";
- private static int counter;
- public static boolean create(String name) {
- ...
- }
- public abstract void execute();
- }
public class 従業員 { private 部門 所属部門; }
public class 部門 { private 従業員 所属部員; }
1 1 のみ 1..1 1 のみ 0..1 0 または 1 * 0 以上 0..* 0 以上 1..* 1 以上 0..4 0 から 4 1, 3, 5 1 または 3 または 5 1..4, 10..* 1 から 4 または 10 以上
□"従業員"
- public class 従業員 {
- private 部門 所属部門;
- }
□"部門"
- public class 部門 {
- private 従業員[] 所属部員; // または、private Collection<従業員> 所属部員;
- }
「佐藤さんは田中さんと 7/28 10:00-11:00 に打ち合わせをしようと思っています」
class 社員 { スケジュール帳 aスケジュール帳; 会議室[] a会議室; boolean 打ち合わせを確認する() { return aスケジュール帳.日時を確認する(); } } class スケジュール帳 { boolean 日時を確認する() { } } class 会議室 { boolean 予約する() { } }
class 顧客 { 伝票 a伝票; } class 伝票 { 明細[] a明細; int 支払額を返す() { int sum = 0; for (int i = 0; i < a明細.length; i++) { sum += a明細[i].金額を返す(); } return sum; } } class 明細 { int 個数; 商品 a商品; int 金額を返す() { return 個数 * a商品.定価を返す(); } } class 商品 { int 定価; int 定価を返す() { return 定価; } }