2020年11月28日ソフトウェア設計書に書くソフトウェア設計にお悩みですか?私は6年間C・C++言語でのLinuxアプリケーション開発に携わってきました。その中で特に使用頻度が高かったおすすめのソフトウェア設計7選を紹介します。要求仕様に基づいて作成する外部設計としては、下記の2点が重要です。一つのイベントに対するシステム全体の処理内容がわかりやすく表現されます。「イベントを処理する時間がかかりすぎる」という不具合が発生した際、どのプロセス・モジュールの処理に時間がかかっているかを調査しやすくなったり、障害調査報告書としてまとめやすいです。仕様に対する実装漏れを防ぐ仕様の矛盾点が洗い出せるシステム全体の動きが直感的にわかる状態遷移図は、要求仕様に対する実装漏れを防ぐために有効です。状態の数が多くなればなるほど、システムの動きが複雑になり、頭の中だけでは整理しきれなくなります。)の各プロセス・モジュールの処理内容を図示化することで、システム全体の状態遷移処理の概要が把握できます。「細かい仕様は決めないから、ソフトウェアが作りやすいように動作してくれたらいいよ」みたいな要求仕様もあります。その場合は「ソフトウェア仕様」としてソフトウェア動作を決め、要求仕様とソフトウェア仕様の整合性を保った状態にする必要があります。状態遷移図では、要求仕様とソフトウェア仕様の両方の定義に基づくソフトウェア動作を一つの図にまとめることができるので、お客様や他メンバーと情報共有がしやすくなるメリットがあります。外部設計に基づいて作成する内部(詳細)設計としては、下記の5点が重要です。前述のシーケンス図と設計する目的は似ていますが、アクティビティ図の方が粒度が細かくなります。アクティビティ図では、処理内容をフローチャート図のように記載できるため、ソースコードに落とし込めるレベルまで処理内容を細かく記載できます。要求仕様に対する実装漏れを防ぐために有効です。前述の状態遷移図と設計する目的は同じですが、状態遷移表の方が粒度が細かくなります。具体的にソースコードに落としこまるレベルまで状態ごとの処理内容を定義できることがベストです。各クラスでデータのカプセル化をし、保守性を高めるために用います。静的クラスなどを除き、基本的にはクラスごとで処理(メンバ関数)とデータ(メンバ変数)をセットにしておくべきです。外部のクラスから自身のクラスのメンバ変数を操作できないようにすることでコピペコードを減らすことができ、保守性が向上するためです。6デザインパターン流用性を高めるために用います。Templateパターンでインターフェースクラスをライブラリ化することにより、様々な案件のシステムで使い回すことが可能となります。その他、Observerパターン、Singletonパターン、Stateパターンなどが流用性の担保に有用です。それ以外のパターンは、使用頻度はあまり高くありません。7DFD(データフローダイアグラム)各プロセス・モジュール間のデータの流れ、およびデータの実体を整理できます。基本的には、データの流れはシンプルであればあるほど良いです。一つのプロセス・モジュールが管理するデータを多くのプロセス・モジュールに関連させないようにするためにDFDを使います。メーカーのエンジニアと家電製品やインフラに関するソフトウェア開発(C/C++)をしていました。その時は、保守性と流用性が担保されるソフトウェア設計をしていました。上記の設計手法を駆使して設計資料を作成すれば、設計レビューも円滑に進みました。他にも、MVVM・MVC・コンポーネント図・コミュニケーション図・タイミング図などが使われることがありますが、出現頻度はそれほど高くありません。それよりも、今回紹介した設計手法は、開発言語に関わらずエンジニアの共通言語となっているので、マスターしておくことが必須です。どのソフトウェア設計を特に重視すべきかまずは自分が理解しやすいソフトウェア設計で設計していくべきです。自分がソフトウェア設計を明瞭に理解できないと、相手に伝えることは不可能だからです。その後、いろいろな設計手法でソフトウェア設計をしてみて、自分なりの設計スタイルを確立していくのがベストです。まとめ今回はおすすめのソフトウェア設計について紹介しました。ソフトウェア設計をしても、プログラミングをする段階で設計の見直しが入ることがかなり多いです。したソフトウェア設計(シーケンス図、状態遷移図)からマスターするのが良いでしょう。初心者が人工知能(AI)の仕組みを知るために始めるべきこと今回は、全くの初心者が人工知能(AI)の仕組みを学びたい場合、どのように勉強していけばよいかを記載します。今回は、職場で質問ができない場合の対処方法を解説します。米国株投資における個別株の銘柄一覧を紹介します。ティッカーシンボルでも検索できます。通貨コード:USDで決算書が提出された企業の業績ランキング(2020年度)を紹介します。パソコン作業が辛くなってきたので、自宅の作業環境を一新しました。米国株投資を始めてから3ヶ月で含み益が600万円以上になり、資産が約500万円増えました。プロフィール詳細はこちら。