みなさんは、FileMakerでアプリケーションを作るとき、頭に思い浮かんだのをそのまま作ってませんか?
すぐ実装できるところはFileMakerのいいところなのですが、やはりシステムとして作るときは
やりたいことが
・どんな画面で
・どんな機能を盛り込むか
ということを設計してから作っていきましょう。
なんでかというと、思いつきで作ると、要望されたことが実装する段階で漏れが出てくるかもしれないからです。
FileMakerのいいところとして、すぐに実装できるところと書きましたが、全てをすぐに実装する必要はないのです。
小さな要望から実装していって、大きなシステムに育て上げるようにしていけばいいのです。
これは、よく言う「スパイラル開発」ですね。
スパイラル開発は、中心となる軸(やりたいこと)は変わっていませんが、小さく開発したことをベース(土台)に徐々に大きくしていく開発なので、やりたいことをすぐに実装できるFileMakerにぴったりの開発手法だと思います。
さぁ、ここから、スパイラル開発のスタートです。
画面遷移と要望割り当て
まずは、最初に出てきた要望を書き出してみましょう。
要望は、「業務要件」といいます。
この出てきた業務要件をシステムに落とす(作り上げる)ために、どのような画面が必要で、どのような遷移をしてユーザビリティを高めればいいのか、などをわかりやすくまとめていきます。
(本当はもっと色々図を描きますが)
こんな↑簡単な図でいいのです。
要件をまとめて、今回実装する部分を明確にしましょう。
こういう風に書き出していくと、どんな画面が必要で、どんな機能を実装し、画面間の行き来(画面遷移)はどうするかが一目でわかります。
状態遷移
次に、TODO項目がどういう状態でシステムの中で処理されていくかを設計していきましょう。
それぞれのTODO項目が作成されてから、TODOが完了するまでの状態を確認します。
これを、状態遷移といいます。
今回は、TODO項目だけの状態を考えましたが、システム開発では、例えば見積書が納品書になり、請求書になりと状態を変えていきます。このとき、見積書が今後の納品につながるのかそれとも没になったのか、また、納品までに至る過程(製造・外部発注・梱包などの状態)においてどういう状況を監視していかなければならないのか、などを分析していきます。
この業務分析のとき、「フラグ」とかつけて考えたい衝動に駆られますが、業務分析では業務に関することのみを分析し、その結果を実装に関する開発仕様に落とし込んでいきますので、どう実装しようか、ということは頭から抜いてください。
業務分析をすることで、その後の開発が例えばFileMakerなのか、PHPなのか、Javaなのか、言語を選ばずに開発設計ができ、業務と実装を分けて考えることができます。
その他、考えずらかったら、フローチャートで設計していってもいいです。
FileMakerではすぐに実装できることから、設計と実装が同時進行していきがちですが、設計8割:実装2割で開発していくと、後戻りが少なく、かつスパイラルにしていっても設計がしっかりとしていると追加もこわくありません。
ちなみに、こういう図は、なにもExcelで一生懸命線をひっぱらなくていいんですよ。
cacooという、システム開発では必須の図が描ける、オンラインのドロー・ツールがあるので、ぜひとも活用してみてください。
今回の図もcacooで描いています。
cacooは、複数人で共有もできますので、プロジェクトチームなどで使うときも誰がどのような図を描いたか、修正したか、そして、webベースなのでチャットしながらシステム図を描き上げることができます。
効率いいですよ!
では、いよいよ開発設計へいきましょう!