本連載では、UMLでモデリングを行う方法を解説しています。今回より、宅配便会社の業務を例に、UMLの図を書きながらモデリングを行っていきます。まずは、UML図の「振る舞い図」に当たるアクティビティ図を用いてモデリングに必要な業務の流れ(業務フロー)を記述してみましょう。

「まいにち宅配便」の業務

まずは、今回モデリングの対象となる架空の宅配便会社「まいにち宅配便」の業務の流れを説明しましょう。同社に依頼主から荷物が持ち込まれて、届け先に荷物が届けられるまでの流れは図1の通りです。

図1 「まいにち宅配便」の荷物の配送の流れ

宅配便会社にとって、主たる業務は小口荷物の運送業務です。宅配便の依頼主が荷物を送る際、市区町村単位にある営業所に電話して家まで荷物を取りに来てもらうか、営業所やコンビニエンスストアなどの取次店に荷物を持ち込むか、いずれかの方法がとられます。取次店に持ち込まれた荷物は営業所に集められ、依頼主から集荷した荷物と合わせて、都道府県単位にある複数のターミナルを経由して届け先の地区を管轄する営業所に配送されます。依頼主からの荷物の回収、届け先への配達は、各営業所に所属する配達員の役割です。以下、こうした業務の流れをUMLで表現していきます。

アクティビティ図による業務フローの記述

初めに、アクティビティ図を用いて業務フローを記述します。この図はUMLを知らない方でも目にしたことがあるのではないでしょうか。業務フロー図はどのような役割の人が、どのような作業(アクション)をすることで業務が遂行されていくのかを表します。業務フロー図の書式はUMLのほかにも「産能大式」などいくつかありますが、いずれも似たような図になっています。

UMLでは、役割単位で分割した領域を「パーティション」と呼びます。パーティションに配置された各役割が実施するアクション間の情報や物の流れを表現するのが「オブジェクトノード」と「オブジェクトフロー」です。そのほか、状況によって以降のアクションが変わる場合の分岐をひし形で表現した「デシジョンノード」も頻繁に使われます。「まいにち宅配便」の業務フローをまとめた図2では、荷物や伝票の受け渡しをオブジェクトノードとオブジェクトフローで、配達時に届け先が不在のために不在票を発行するケースをデシジョンノードで表しています。

業務フローは業務のモデリングにおいて多用されますが、目的に応じた切り口で記述する必要があります。例えば、図2では集荷・輸送・配達業務を大まかに見るために記述されたものなので、売上計上・請求・入金など、お金の流れは書かれていません。業務改善やシステム開発のための業務フローを記述するには、特定の役割に焦点を絞ったり、記述の粒度を詳細化したりするなどの工夫が必要になります。まずは目的を明確にして切り口・粒度を考えてから、業務フローを書くようにしてください。

図2 業務フローを記述したアクティビティ図

『出典:システム開発ジャーナル Vol.2(2008年1月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは 異なる場合があります。ご了承ください。