こんにちは、小磯と申します。
プロジェクトの中にいくつかの工程があります。
その中にある基本設計について纏めようと思います。
初めて業務を行うPM(PMO)の方へ参考になればと思います。
システム開発の上流工程プロセス
要件定義と詳細設計の間に位置するソフトウェア開発の工程の一つです。
前工程の要件定義において抽出した要件を機能単位に分割し、それぞれの機能が何を実現するのかを決める工程です。
1.基本設計
開発担当者がクライアント担当者にヒアリングした内容をもとにソフトウェアに必要な機能等を盛り込んだ資料です。
要件定義にもとづいて、外側から見てどのような動きをするのかを確認します。
2.設計内容
基本設計では以下のような項目を設計します。
プロジェクトによって項目の増減があります。
①業務フロー
→業務の流れを理解し機能を洗い出す
②機能一覧表
→開発範囲となる機能の一覧
③ネットワーク構成図
→ネットワークの構成
④テーブル定義
→データベースのテーブルの定義
⑤ER図(データベース設計における代表的な設計図)
→データベースのER図の作成
⑥画面レイアウト
→画面イメージ
⑦帳票レイアウト
→帳票イメージ
3.設計によくある課題
設計には色々と課題があります。
課題として以下になります。
①設計の本質を理解していない
→顧客へのヒアリング内容をもとに作成した要件定義をベースにして、顧客が持つビジネス上の課題を解決するようなソフトウェアの図面を作るというものです。
それだけでは設計の本質を捉えきれていません。
顧客の意図をくみ取り必要な機能を導入でき、システムを実現するための手順を明確にし、かつ品質を保証することです。
②設計に関する基準が無い
→システムを構築するためのプログラミングでは世界標準の言語を使用するので、ある程度の属人化は防げる傾向にあります。
個人的に開発したプログラミング言語を使用することはまずないので、言語さえ習得していれば理解は難しくありません。
一方で設計には世界標準が存在せず、最悪の場合社内の開発チームによって設計方法が異なります。
これが設計の属人化が発生する大きな理由です。
③標準化のための仕組みを持たない
→設計から属人化を排除するためには組織が定めるルールを作成する必要があります。
これを標準化というのですが、単にルールを作成するだけでは属人化は排除できません。
徹底した属人化の排除には標準化の仕組みが大切です。
プロジェクトごとに必要なものが異なるのは当然のことであり、テンプレートで必要なものが足りなかったとならないようにしなければいけません。
- まとめ
基本設計はそれぞれの機能が実現させるために重要な工程です。
クライアントや開発担当との認識が合わないと設計書の作成が出来ません。
クライアントと開発担当とのコミュニケーションを密に取り認識を合わせていくとよいと思います。
他にもプロジェクトに関する記事を投稿しておりますのでお役に立てればと思います。
プロジェクト ウォーターフォールとアジャイルの違い
初めてプロジェクトに参画する方へプロジェクトとタスクの意味について
以上、小磯でした。