筆者は、たこ焼き屋出店の機能分割として、運営管理係、設営係、食材確保係、たこ焼き作成係、会計係に分割しました(図3)。
これによって、あとはそれぞれの班の詳細な役割を考えるだけでOKです。
6.1項で決めたそれぞれに対して、詳細な役割を記述します(図4)。
図4は、より詳細な機能分割例です。例えば、設営係ならば、「食材確保」「食材管理」という仕事がありますし、会計係であれば、「お金の管理」「会計報告」という詳細な仕事があります。
このように、機能分割を行うことで、たこ焼き屋模擬店全体の役割分担を示すことができます。機能が独立していれば、例えば、「会計係」は、お金の管理だけすればよく、「小麦粉にどの程度水を入れるか?」について悩む必要はありません。「食材確保」の人数が足りなければ、その部分だけを剣道部に依頼しても「たこ焼き屋の出店」は全く混乱しません。機能分割の利点を理解していただけるとうれしく思います。
今回は、要求仕様書作成のための「機能分割」に着目しました。要求仕様書作成では、バラバラの仕様を一定のまとまりとする機能分割をすることが大事です。
今回は、たこ焼き屋模擬店を題材として、機能分割のイメージを示しました。
筆者は、その結果、運営管理係、設営係、食材確保係、たこ焼き作成係、会計係の6個の機能として、それぞれの詳細な役割を考えました。結果は人によって異なると思いますので、イメージだけつかんでもらえれば幸いです。
実際のソフトウェア開発では、文化祭を題材とすることはないでしょうが、ある機能にまとめて、それぞれの詳細を考えるアプローチは参考になりますので、ぜひ活用しましょう。
本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。
前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.