開発スタート時の設計手順を言語化してみる

この記事は、 KENTEM TechBlog アドベントカレンダー2023 16日目、12月22日の記事です。

こんにちは!KENTEM第2開発部のHFです。
KENTEM Tech Blogのアドベントカレンダー2023も残すところあと2回となりました。 年の瀬も近付いていますが、皆様はどんな一年だったでしょうか?

大きな障害を迎えて大変だった方、努力の結果資格試験に合格した方、つつがなく過ごせたよという方、 色々な方がいらっしゃるかと思います。

皆様まずは一年間お疲れ様でした。

堅い技術記事を読みたい時期ではないので、私が普段プロジェクトをスタートさせる際の設計手順やツール類についてゆるっとお話しようと思います。
アプリケーションの開発スタートが近づいているけど何から手をつけて良いか不明で不安という方の参考になれば幸いです。

まずは聞き込みして、必要な機能を洗い出しましょう

業務アプリケーションを開発する場合、最初のフェーズは聞き込み(打ち合わせ)になっていると思います。

会議室や喫煙所だったり、Teamsチャットだったりするとは思いますが、要求保持者の方と打ち合わせた記録は取っていますか? 聞き込みした情報はそのままだとただの記号の羅列ですので、自分の中で整理を忘れずに!

私は普段打合せ中にテキストや手書きメモに残した情報を「Xmind」というツールを使って整理しています。 有名なツールなのであえての説明は必要ないかもしれませんが、雑多な情報をグルーピングしながら整理するには非常に便利です。 後述しますが、私はクラス設計やDB設計等でも内容によってはXmindを使用しています。

簡単、速い、開発者以外にも伝わり易いと良い事だらけですので、使用されたことがない方は是非お試しください。

整理した情報から画面イメージを作成

情報整理が完了すると、うっすらと画面イメージが頭に浮かんできているのではないでしょうか? 次のフェーズはこのイメージを具体化してプロジェクトメンバーと共有・検討・修正していきます。

画面と聞いてUIデザインツールを開かれた方、まだ早いのでそっと閉じてください。
UIデザインは何度もレビューと修正が必要となるので、変更・修正が簡単な手段をお勧めします。

ちなみに私は最初手書きやPowerPointのオートシェイプで作成します。

システム構成・処理概要を考える

画面の概要が決まったら頭の中で画面を動かしてみましょう。

頭の中だけだと見えてこなかったデータやファイルの構成と流れがなんとなくイメージできるようになっていませんか?
画面イメージという外部情報を用意するとそこに付随するものを考える余裕が生まれます。

画面を頭の中で動かすことで必要となるデータやファイルの流れを確認

データ・ファイルの構成・流れからクラス・DB構成を考えていきましょう。

データ・ファイルの流れからクラス・DB構成を検討

ハード側の構成が決まったらソフト側の構成を検討可能になります。

前述したようにクラス構成を考える際、単純な構成のみで良い場合はXmindでサラッと仕上げる事も多いです。

クラス・DB構成から処理フローを検討

仕上げです!クラス・DB構成から具体的な処理フローを考えましょう。
処理詳細を考える際に最もお勧めなのはシーケンス図です。

私がプログラマーに入門した20年程前は非常に手間のかかったUMLですが、 ここ10年でネット上で作成できる「SequenceDiagram」というサービスが出たり、 VSCode+PlantUML+Markdown Preview Enhancedで簡単に作成可能になっています。

実際は細かいルールもありますが、外注用の設計でもなければそこまで拘る必要はないかと捉えています。
スピード重視で!

まとめ

[機能] ⇒ [画面] ⇒ [ハード構成] ⇒ [ソフト構成] ⇒ [処理フロー]
と順番に考える事で、無理なく設計作業を完了できるようになります。 特別な事は何もなく、順序を変えたり手順を省略しないことが成功のコツとなります。

それでは皆様よいお年を!

KENTEMでは、様々な拠点でエンジニアを大募集しています!
建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。
年明けのチャレンジをKENTEMで実現してみませんか? https://hrmos.co/pages/kentem2211/jobs/A0008hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co