2008年1月4日金曜日

体調を記録するアプリケーションの作成 - UML で概念モデリング 1

使用するツール

JUDE/Community

 

現状

「太郎」さんは、病気になってから、いろいろな症状が毎日続いている。日記のように毎日記録をつけているが、単にテキストとして保存しているだけ。同じような症状が繰り返すこともあり、毎日記録をつけるのが面倒だ。

例えば、次のように記録している。

2007.4.1 : 今日も頭痛が朝から続いている。夕方には、腹痛も加わってきた。

2007.4.2 : 朝は昨日よりも頭 痛は和らいでいた。昼間、吐き気あり。夕方からは眩暈も加わってきた。

 

要求

毎日記録をつけて、症状がどのように変化しているか把握したい。現状では、日記を読み返して、過去にあったことを定期的に把握している。漠然とした傾向をイメージするだけである。

 

分析

最初に、関心の中心である「体調」という言葉について考えた。この言葉の日常的な用法は二つある。

  • (A) 「今、ちょっと体調が悪い」
  • (B) 「昨日から体調を崩している」

(A) は、ある時点における「具合」を表わしている。それに対して、 (B) は、特定の時点から現時点まで、一定の期間の状態を表わす。

071231-023

日常的に使われる言葉は、コミュニケーションが成立すればよいので、曖昧さを含んでいても問題はない。しかし、状態をデータとして管理する際には、それではちょっと具合が悪い。

太郎さんは、日記のように、毎日体調を記録する目的で「体調」という言葉を使っている。そこで、ここでは「体調」という言葉を 、次にようにとらえることにする。

  • 一日を単位とした体の状態

体調を、一日に生じる様々な「症状」によって把握する、トータルな状態を表わす概念として見なして考えた。

これをクラス図にしてみた。

080101-025

上記の例として挙げた記録のオブジェクト図を描いてみた。

080101-026

このモデルでは、テキストとして記録しているものと比べると、それほど変わらない。違うのは、各症状を特定の基準で個別に表現しているところ。

 

「症状」について

症状には「頭痛」「腹痛」「吐き気」などのように種類がある。また、「朝から頭痛がした。」のように、「朝」「昼」「夕」のような時間帯と関係している。これを表現したのが下図。

080101-029

記録内容における「症状の種類」「時間帯」以外の要素については、とりあえず症状の「備考」属性に記録することによって対応することにした。

例では書かれていないが、例えば、頭痛の痛さの程度を 5 段階で自己評価して記録することより、症状を比較することができるようになる。そこで、症状に「程度」という属性を加えた。また、「頭痛が朝から晩まで続いていた。」のように、症状の種類は複数の時間帯と関係するので、一つの症状に対して複数の時間帯を設定できるようにした。

上記をオブジェクト図で表現してみた。

080101-027

これを見ると「程度」という属性を入れた意義がわかる。例えば、上図における 2007.4.2 における「頭痛」の「備考」属性の値 「昨日よりも和らいだ」 は、「程度」属性で表現できる。つまり、2007.4.2 における「頭痛」の値を、2007.4.1 の頭痛の程度よりも、大きい値が設定することだ。

 

「症状」の表現

症状という言葉は、思ったよりも複雑。 (+_+) 例えば、「頭痛」について考えてみよう。頭痛とは、「」が「痛い」ことである。「腹痛」ならば、「」が「痛い」ことだ。同様に、腰痛ならば、「」が「痛い」ことである。「頭が痛い」と一口に言っても、例えば、頭が「しびれる」ような感じがしたり、頭が「締め付けられる」ような感じがすることがある。つまり、症状というのは、「頭」や「腹」のように、「身体部位」と、「痛い」や「しびれる」のように、「感覚」の組み合わせによって表現できる。

080101-030

おもしろいことに、日常に使っている言葉には、「頭」が「痛い」ことを「頭痛」と一単語で呼ぶことができるが、日本語では「頭」が「しびれる」ことを「頭しびれ」というようには言わない。 これは、「頭が痛い」という症状が圧倒的に多く、「頭がしびれる」ということが少ないため、そのような言葉をわざわざ一単語で表現する必要性がなかったためだろう。 オブジェクト図で表わすと、次のようになる。

080101-031

では、ここで症状の種類を変え、「背部痛」について考えてみることにする。背部痛の症状として、「肩甲骨の内側が痛む」や、「胸椎の辺りが痛い」という場合がある。これは「背部痛」が、背部という範囲よりも細かな部位に生じるということだ。先ほどのモデルに即して言えば、「背部」と呼ばれる身体部位に、「肩甲骨の内側」と「胸椎の辺り」という部分があるということ。そして、それぞれの痛みは伴に背部痛に分類される。これは、症状の範囲に全体と部分の関係があり、部位の分類が階層化されていることを示す。これをクラス図にして表現すると、次のようになる。

080101-032

上記をオブジェクト図で表現してみた。

080101-034

「腰椎の辺り」が「痛い」症状があった場合、「背部」へのリンクを辿ることで、「背部痛」の一種であることが表現されている。

 

関連記事