エンジニアが開発を進める工程を理解することは、エンジニアの本業はもちろんのこと人生で何かを創造するときにも活用できます。
今回はエンジニア開発工程の
ステップに位置づけられる
設計について紹介します。
設計の段階って何をするの?
前回の記事にて、開発工程の要件定義を説明しました。
[kanren postid=”3762″]
設計に関しては、前ステップである要件定義に
よって開発に必要な項目が定義された前提の上で成り立つものです。
今日紹介する設計は何かというと、定義された項目を満たすにはどの方法が最適なのか、つまり一番良いものを考えるステップになります。
例として、前回の記事でも利用したある野球チームでグッズのレコメンドをする機能を実装することで考えてみると、実際にレコメンドするためのコードを新しく書く必要性があります。
その際、現在運用している既存のシステムの中で新しくコードを書いて実装する方が良いのか、あるいは別の独立したシステムを構築し、コードを書いて実装する方が良いのか検討しなければなりません。
これが今回紹介する開発段階の設計で求められることです。
2つの側面から設計する
設計は2つの側面から考えられています。
まず、1つめは基本設計です。
デザインや機能や性能、構成等の主に見た目を設計するなど、サービスを受けるクライアントサイドから見える部分を設計します。
こちらは組織やプロジェクトによっては外部設計、概要設計と呼ばれることもあります。
2つめが詳細設計です。
どんな言語やフレームワークを使うか、また、それらを実行するための環境や大量アクセスに耐えられるようなインフラを設計するなど、サービスを提供するサーバーサイドから見える裏側を設計します。
こちらは基本設計を外部設計と呼んだ場合に限り、内部設計と呼ばれることもあります。
以上紹介した基本設計と詳細設計の構成をみていくとまず基本設計はシステム設計、機能設計、方式設計といったもので主に構成されています。
詳細設計はアプリケーション設計、データベース設計、インフラ設計、ネットワーク設計、モジュール設計、ユーザーインタフェース設計、タスク設計、関数使用定義、処理手順記述といったように基本設計と比べると設計項目も増加します。
アーティストのライブで設計をイメージする
これらの設計は、アーティストのライブ開催までの動きを思い浮かべるとよりイメージしやすくなるのではないでしょうか。
アーティストのライブは、どんなステージにするか、どんな演出にするのかというお客さん側からの見た目になる基本設計、その演出の裏側で動くプログラムや、どんな会場設備を準備するか、チケット申し込みのデータ扱いなどの詳細設計を考えていきます。
このように、アーティストのライブ開催までの準備は、まさに今回紹介した開発工程である設計で考えられるのです。
以上、アーティストライブ開催までの動きの準備で考えてみると、設計の役割をより理解できるのではないでしょうか。
最後に
本日はエンジニア開発工程のステップに位置付けられる設計についてご紹介させていただきました。
次回は、エンジニア開発工程の次のステップに位置付けられる実装について紹介させていただきたいと思います。
[kanren postid=”3779″]
また、今回の内容に関しては以下の本で学ばせてもらったことを参考にアウトプットさせていただいています。
わかりやすくITエンジニアリングの基本がまとめられていて、IT業界に携わる人や興味ある人はもちろん、様々なところで活用できると思うのでぜひご一読をおすすめします。
それでは本日はありがとうございました。
今日も頑張ります。