2024年10月16日(水)の投稿です。
システム開発の設計でユースケース図の作成に取り組んでいるのですが、結構難しい…
そもそも、ユースケース図とは「システムで出来ることをユーザー目線で表現する図」のことです。
Webサイトで調べてるときは、簡単そうだなーと感じていましたが「包含」「拡張」の矢印の向きの説明の記載がないサイトが多く、ChatGPTを頼り、理解しました。ありがとう!ChatGPT!
一応、忘備録的なやつで残しとこー
include(包含):あるユースケースが他のユースケースに含まれる関係のこと。例えば「投稿する」というユースケースが「テキストを入力する」というユースケースを含む場合、矢印の関係は
「投稿する」→「テキストを入力する」
となります。投稿するときは、必ずテキストを入力する必要があることを示します。
投稿する際に、必ずテキストを入力する必要がない場合は「include」で表すのに適していない。
大事なことは、親(メイン機能)から子(サブ機能)に向かって矢印が向かっていることです。
extend(拡張):あるユースケースが拡張される関係を表したもの。特定の条件下で追加される動作やオプションの機能を実行する場合に使います。例えば「投稿する」というユースケースは「ハッシュタグを入力する」という拡張機能を持つ場合、矢印の関係は
「ハッシュタグを入力する」→「投稿する」
となります。ハッシュタグを入力するのは任意の機能であることを示します。
大事なことは、子(サブ機能)から親(メイン機能)に向かって矢印が向かっていることです。
私自身の解釈ですが、包含と拡張の違いは「必須か必須ではないか」と考えています。会員登録の機能の内、名前の入力は必須なので「会員登録」と「名前の入力」は包含の関係である。アイコンの登録は任意なので「会員登録」と「アイコンの登録」は拡張の関係である。このように解釈して区別しています。
今日はここまでー
明日はFlutterの勉強しよ。それと応用情報の勉強も始めよ。この前の試験は午後で落ちてるの確定だし…今度は計画的に勉強しよ!