要求仕様に、機能要件と非機能要件があり、新規システムで行う業務についての定義、つまり、アクティビティ図に描くような、誰が何をするってことが、機能要件になる。これはいい。
でも、じゃあ、非機能要件は?というと、それ以外の要求ということになる。
そのとき、ひとつの目安として、ソフトウエアの品質の定義があり、そのソフトウエア品質特性の規格に、JIS X 0129-1があって、ここで、その特性は、
機能性、信頼性、使用性、効率性、保守性、移植性
とあがっていて、さらに副特性がある。
くわしくは、
ソフトウェア品質特性について
http://www.alles.or.jp/~torutk/oojava/oo/develop/014.html
なんかに載っているみたい。
ってことで、ここまでの話もいい。
でも、問題は、機能要件、つまり、業務と、このソフトウエア品質の間が、あまりにもかけ離れていて、どーも、この間におちる要件があるような気がしていた。
(どこどこの事業所で、何時から何時まで稼動するとか。。。)
まあ、それはシステム制約だ!って言われれば、それはそれでいいんだけど、じゃあ、とにかく、その機能要件とその運用規則みたいな、周辺部分との関係は何で、どーいったことを記述すればいいの?っていうことが分からなかった。。
んだけど、昨日、NHKの語学の新番組、
「新感覚 わかる使える英文法」
の2007年4月号テキスト4ページ5ページをみていてわかった!
そこによると、その講座では世の中を、
・名詞的世界:モノの集合
・動詞的世界:出来事をあらわす「誰が何に対して何をしたか」
・副詞的世界:状況をあらわす「いつ、どこで、どうして、どのように」
の3つの世界に分けて考えるそうなんだけど。。。
。。副詞的世界だ!!そう、抜けているのは、その状況部分ですね!
動詞的世界、これは、DOAだとDFDにあらわされるし、UMLだと、アクティビティ図にあらわされる。ユースケース図の場合は、誰がアクターになるので、もちろん、これでもあらわされる。
名詞的世界に関しては、ER図上に現れるんだけど、名詞的世界そのものが現れるのではない。
名詞はモノや概念である名詞(エンティティになる)と、属性になる名詞にわかれる。
さらに、エンティティには、動詞のうち、永続性のあるもの(電気きっても、残しておかないといけないデータ)もなる。エンティティとなった動詞の属性部分は、その動作(業務)を行う引数である。
佐藤正美氏は、前者の名詞のエンティティをリソース、後者の動詞の永続性のあるエンティティをイベントといっている。
ちなみに、動詞の永続性のないもの(書く、描く、読むなど)は、メソッドとなるのでER図には載らない。
名詞がエンティティになるのはいいとして、動詞の永続性のあるものが、なぜ、エンティティになるかなのだが、これは後操作からきている。
ER図のエンティティは、データベースのテーブルとなる。このデータベースに入れるものは、永続性のあるモノである。そうすると、名詞は、まあ、たいてい永続性があるわけで(電気を切ったら、その人が消えるっていうことは、あんまり?ない)、これはエンティティとなるが、動詞でも、永続性があるものがあって、これをDBに入れるので、こいつもエンティティとして扱わないといけない(つまり、永続性という次元でエンティティは成り立っている)。
UMLでは、クラス図のクラスがエンティティに相当するが、メソッドをクラスにすることもできる(たとえばStrutsのActionクラスは別にクラスにしなくても、mainメソッドみたいに、指定されたクラスの特定の名前のメソッドを呼び出すという形式に仕手も成立するが、Actionはクラスである。そのほうがやりやすいから。。みたいなノリ)
で、UMLでもDOAの世界でも、名詞的世界と動詞的世界はやるんだけど、副詞的世界を表現していない。
UMLでは、時間的推移はシーケンス図で表現できるけど、何時から何時まで、何時間おきに行うみたいな、運用的なものを表現する図ではない。
DOAの場合は、データが中心なので、プロセスを動かす環境っていうのを表現する部分はない。
したがって、副詞的世界の情報を、コメントとして入れるか、ユースケースシナリオでいれるか、別に用意しないと、この条件が抜けてしまう。そして、これは、動詞的世界、つまりDFDやユースケース図が定義された上でないと、話ができない。
ただし、動詞的世界の延長線上の話である。
で、この副詞的世界も合わせると、たしかに物事の記述は完成する。。
(気がする ^^;)
すげー、そーだったのかあ。。
みんなは知ってたかもしれないけど、ウィリアムのいたずらは知らなかった。
「新感覚 わかる使える英文法」の田中先生すげー。。。
なんか、この辺の話と、ソフトウエア工学っていうか、要求仕様定義が結びつくと、すげー気がする。。
うん?たしか、この「新感覚 わかる使える英文法」の前に、このシリーズ、英会話っていうのがあって、そこでは、SFCの先生も出ていたような。。
SFCではそういうこと。。をやってるんじゃなくって、コンピューターとは違うことやってるんだろうな、その先生たちは、きっと(って、わかんないけど。。)
P.S でも、「新感覚わかる使える英文法」は、放送見て、そこに感心したのではなく、
ここに感心したんだけどね(っていうか、名詞的世界、動詞的世界、副詞的世界
は前書きにあって、番組で説明されるところではありません)