BLOG

【脱初心者】上流工程やってみよう!【Todoアプリ】-#4 基本設計やってみよう-

2024-12-06

■過去回はこちら!
#1:上流工程とは
#2:要件定義書を書いてみよう①
#3:要件定義書を書いてみよう②

ロックシステムのみなみです!

『【脱初心者】上流工程やってみよう!【Todoアプリ】』最終回です!
前回までで要件定義書が用意できました。今回は基本設計を進めていきます!

この記事の内容

  1. 基本設計やってみよう
    1. おさらい~上流工程とは~
    2. 基本設計
    3. 機能設計
    4. データベース設計
    5. 画面設計

基本設計やってみよう

上流工程とは
一般的なアプリ開発のプロジェクトは、上流工程と下流工程といった2つのプロセスに分けられ、これまで勉強してきたプログラミングは下流工程。アプリをどういった仕様・作り方で進めるかを決めるのが上流工程です。 上流工程では直接ユーザー(お客様)と話しながら、どんなシステムや機能が欲しいのかを聞いたり、それらをどうやって作るのかを決めていきます。 要件定義、要求定義、基本設計と合わせて上流工程と呼ぶ。

今回は上流工程の一番最後、基本設計をやっていきます!


■基本設計
要件定義の内容から画面レイアウトや表示するデータ・情報などを決定。
「システムが何を実現すべきか」を明確にし、クライアントの要望を実現するための大まかな方針を定めます。
システムの全体的な構造や機能、仕様の基本的な部分を決め基本設計書という成果物にまとめます。

基本設計書の成果物
画面設計
機能設計
データベース設計
・テーブル定義
・CRUD図
システム構成図
など

■機能設計
システムやアプリがどんな機能を持ち、それぞれの機能がどのように動作するかを具体的に決めます。ユーザーが行う操作や画面での反応、システム内部で行われる処理などを設計します。

機能要件との違いは?
機能要件…システムが「どんな機能を持つか」という概要を決めるもの。
機能設計…機能要件をもとに、「どうやって実現するか」を設計するもの。

要件定義で作成した表を基に機能設計を作成。
機能設計で機能の処理内容や必要なデータなどの要件を明確にすることで開発効率や品質を向上させることができます。

■データベース設計
システムやアプリでどのようなデータを扱うか、そのデータをどう管理・保存するかを決める作業。たとえば、データの種類や関連性、保存場所などを細かく設計します。
アプリやシステムが必要な情報を正確に管理、利用するためにとても重要です。後でデータの更新や修正がしやすくなる効果も。

今回はデータベース設計としてテーブル定義とCRUD図を用意します。
※設計の目的やプロジェクトの進め方に応じて、基本設計と詳細設計のどちらに含めるかが変わります。今回は基本設計の段階でどちらも用意すると想定。

・テーブル定義

システムが使用するデータベースのテーブルの構造を決めるもので、データベース設計に欠かせないドキュメント。
データベースの構造や関係性を詳しく記載するもので、各テーブルの名前、カラムのデータ型、制約などが含まれます。各カラムでタスクの状態や詳細、管理に必要なデータをしっかり保管することで、データベースの中でそれぞれの情報が重複しないようにして、整合性を確保します。

基本設計に含める場合...
ユーザー情報、注文情報などのテーブルなどの主要なデータだけを定義し、フィールド名やデータ型の概要だけを決めます。


・CRUD図

各データに対して「どの機能で作成(Create)、読み取り(Read)、更新(Update)、削除(Delete)が行われるか」を整理した図で、システムがデータをどう扱うかを視覚化したもの。全体の機能がデータにどのように関わるかを整理するために使われる。

基本設計に含める場合...
重要なデータの操作概要を把握してデータフローや関連性を確認することを目的としている。


■画面設計
アプリやウェブサイトなどの画面の見た目や配置を決める作業。
ユーザーが使いやすいように、ボタンや文字、画像などをどこに配置するかを考えて設計します。

要件定義で大まかに決めた画面レイアウトを基に画面のイメージを用意。アプリやウェブサイトでどの画面からどの画面に移動できるかを図で示した画面遷移図も用意、ユーザーが操作したときにどう画面が変わるかを視覚的に理解しやすくします。
以上で上流工程講座終了ーー!
エンジニアとしてのレベルアップを目指して上流工程に挑戦してみてください!

株式会社ロックシステム

「ブラック企業をやっつけろ!!」を企業理念にエンジニアが働きやすい環境をつきつめる大阪のシステム開発会社。2014年会社設立以来、残業時間ほぼゼロを達成し、高い従業員還元率でエンジニアファーストな会社としてIT業界に蔓延るブラックなイメージをホワイトに変えられる起爆剤となるべく日々活動中!絶賛エンジニア募集中。