![見出し画像](https://assets.st-note.com/production/uploads/images/83261144/rectangle_large_type_2_fbdc0bab2cfe308cb468b5b2dfc59ae4.png?width=1200)
コードを書く前に考えること
1.課題を定義する
背景・目的の設定
現時点の環境では様々な問題があって、そういった困っていることをシステム化によって解決したいなど、まずは、問題点を列挙します。アプリ開発をする場合、例として、以下のような問題が挙げられます。
無料アプリではいまいち。
有料アプリは、会社の制約があってできない。
既存アプリでは、自分好みの(会社に適した)設定ができない。例えば、あんな機能やこんな機能が欲しいなど。
ゴールイメージの設定
上記の問題設定に対する答え(ゴール)を設定します。
無料アプリのような広告もなく、サブスクもなく、自社にあった設定で、あんな機能やこんな機能が盛り込まれている。
やらないことの設定
後で実装できれば良い機能や、開発コストが大きい事柄は、コアな作業から外します。例えば、以下のような機能をやらないようにします。
最低限以外の機能を実装する。
本来の目的から大きく拡張して、高度な機能を導入する。
設備投資をする。インフラを整える。
作業量を把握(必須)
無駄な作業を削除するためには、以下のように、作業を細かく設定して(ここ大切)、その後、コード作成の作業に入ります。
最終目標を正確に把握する。
最低限必要な項目をリストアップする。
各々の作業を細かく設定する(始業前に作業1時間程度のタスクに分解)。例えば、トップ画面を作るための作業(リンクを貼る、フォントを決める、デザインを決める)を列挙する。ログを表示するページを作るための作業(データベースへ保存、登録画面を表示する)を列挙する。Webに公開するための作業(アカウント作成、連携)を列挙する。など。
わからない技術要素は、簡単な部分から細かく作業する。例えば、PHPのコード、データベースを保存、HTMLやCSSでWebページのデザイン、公開する作業、などに分割すると、少しづづコードを構築する。
テキストでアプリの動きやWebページの動きを再現する。
2.必要条件の設定
目的とゴールを設定したら、次は、システムを運用する上でのルール(条件)を設定します。例として、以下の条件設定があります。
業務の条件
業務で必要な作業フローに沿っていることが大切です。要するに利用者の使いやすさ。フロー図などで作業フローを作成します。マインドマップでも良いです。無料かつウェブアプリであれば、Text2MindMapがオススメです。
機能的な条件
アプリの表示されるページの流れをフロー図にします。入力フォームやボタンをイメージし、前項の作業フローを見える化させる。
アプリを表示させるワイヤフレームを書いて、並行して機能とデータを定義する。このボタンをクリックすると、どうなるか、どのようなデータが蓄積されるか、エラーメッセージの条件などを記述する。
機能的じゃない条件
性能はどれくらい必要か。
拡張性は予定しているか。
可用性はあるか。
セキュリティはどのようにするか。
運用や保守の条件
運用体制はどうするか。
保守体制はどうするか。
障害時体制はどうするか。
何かを始める前に段取り、大切ですね。
この記事が気に入ったらサポートをしてみませんか?