webサービスを開発した素人が実際に設計で使ったメモを晒す

つい先日webサービスを公開しました。「素人だけど作ってみた」系記事に触発されてwebサービスを作ろうと思い立ち、実際にランダムチャットをなんとか形にして公開までこぎつけることに成功しました。

 

こちらの記事の話です。

frisker.hatenablog.com

 

そして実際に作ったサービスがこちらです。

TriChat - どこかの誰かと3人でおしゃべりできるチャットサービス

 

メモ書きでもこれくらいのなら頑張ればこぎつけるんだ!ということを伝えるために恥を偲んで設計に使ったメモを晒してみたいと思います。

 

ではここから。

 

最初はちゃんとUMLで設計しようという志があった

まずは必要最低限のメモを書いた。そこからUMLでクラス図やらユースケース図やらと結構気合入れてきちんと設計しようとしていたのだが、わざわざUMLを理解するのが面倒くさすぎたために挫折した。

 

そもそも入門書に「開発者同士の意思疎通のため」とか「統一された記述により意見の食い違いが抑えられる」などがメリットとして挙げられていたため、UMLを使わない方針に参考書から太鼓判を押された形になった。

 

誰かと協力するのならまだしも「どうせ一人で作るのだからオレだけのオレオレ設計書でいいじゃないか!!」とUMLを放り投げるスタイルで行くことに決定。

 

必要最低限のメモを元にいきなり作り始めることにした。

 

素人が実際にwebサービス開発に使った「必要最低限のメモ」がこちらです

 

3ショットチャット

3人揃った辞典でチャットスタート
同時に3人でチャットができる
一人がいなくなっても二人で継続する
退出ボタン、発言ボタン、メッセージボードがある

本人は左側、自分以外は右側にメッセージが表示される
3人はそれぞれ違う色で表示される
名前を入力できる
画像を表示できる

ログは必要な場合以外残さない方向で
一応掲示板もつけておく

画面遷移:
1:スタート画面(掲示板、チャットする)
2:チャット(終了、発言、メッセージ入力、プロフコメント欄、画像欄)
3:チャット終了後(またチャットする、掲示板へ)

4:掲示板一覧(板、次へ、前へ)
5:板(発言ボタン、削除キー、削除ボタン、次へ、前へ)

 

スーパーに向かうおばちゃんの買い物メモみたい・・・誤字もあるし・・
 

このメモを作っているときはまだ作る気はなかった

たしかこのメモを作ったのはどこかしら別の「webサービス作ってみた」系の記事を読んだ直後だった。

 

実は普段から自分はネットをぼーっとブラウジングしていてメモる癖がある。

 

人付き合い関係の心理学記事やら自己啓発系記事やらライフハック系の記事を読んでは思い浮かんだアイデアや教訓をデスクトップ上にメモを貼り付け、一週間ほどたってから「あ〜こんなんメモしたな」を思いながらゴミ箱に捨てる癖である。

 

この3ショットチャットのメモもいつもの「あ〜こんなんメモしたな」シリーズと同じように実行されることはなくゴミ箱に捨てられる運命なのだろうと思いながらメモをしていたが、作ってみた系記事に影響されて開発者気分に浸っていたため、軽い気持ちで簡単に設計までしてしまおうと思い立った。

 

次にメモの一部としてUMLを書こうとした

メモを書き上げた後、思い立ったが吉日と今度は紙にペンでUMLで設計図を書こうとした。本棚の積み本の中からUMLの入門書を引っ張りだしたが、そこで手が止まった。前述したとおりわざわざUMLを書くのが面倒くさ過ぎたのだ。

 

そこまで複雑でもないし、簡単なモックアップ作って直していけばそれでいいじゃんと方向転換することにした。

 

「そう、これは・・・あれだ、アジャイルだ!!」」「プロトタイピングだっけ!?」などと言い訳しつつ、最低限のガワだけを作った。

 

このガワだけ作った瞬間が開発のスタートだった。

 

欲しい機能と画面遷移だけをメモして、とりあえずガワだけ作るスタイル

自分の場合問題点が一つだけあって、それは開発中盤からソースがスパゲッティ化していくことだった。

 

ソースの上段で処理したと思ったら似たような処理を下段で行い、しかもセッション変数として持ち回しているのでエラーの発生時点がコロコロ変わる。同じ変数が至るところで、しかもバラバラな目的(計算に使ったり、フラグ代わりだったり)に使われるなどなど。どこに手を付ければ良いかわからない状態になってしまった。

 

多分いきなり作り始める問題はこれくらいだと思う。

 

メモから始めれば挑戦前の「めんどくせ〜の谷」は超えられる。中盤の「スパゲッティの谷」には捕まるかもだけど・・・

 

中盤以降のこの「スパゲッティの谷」と序盤の「めんどくせ〜の谷」であれば、序盤のほうがはるかに飛び越えるのに失敗する可能性が高いのでいきなり作り始めるのはかなりおすすめである。

 

多分自分が何か次に挑戦するときも同じやり方で作ると思う。作らないかもしれないけど。

 

最後まで読んでくれてありがとうございました。