はじめに
この、「実用-ソフトウェア開発」では、ソフトウェア開発の初学者や、基礎的な事をやり直したい経験者、ソフトウェアやC言語などの勉強の途中に心が折れてしまった方を主な読者対象として、実用的なソフトウェアを読者自身が作れるようになることを最終的な目的としています。
このコンテンツでは、実用的なソフトウェアを作るにあたって、単にプログラミング技術を学ぶだけではなく、実用的なソフトウェアを作成するために必要な学習を順を追って出来るように作成されています。
例えば、C言語でオンラインゲームの開発と公開を行いたいと思った場合、何から考えればいいのでしょうか。
以下は、その開発の流れを、ソフトウェアの代表的な開発モデルの1つであるウォーターフォールモデルに当てはめた例です。
上記は非常に簡単な例ですが、これを見ただけでも、C言語(プログラミング言語)の事だけを理解していても、ゲーム、実用的なソフトウェアは作れないだろうという事はお分かり頂けると思います。(もっとも、プログラミング言語の理解は、実用的なソフトウェアを作るために非常に重要であることは疑う余地はありません。)
実用的なソフトウェアとは何でしょうか、それは何かの機能があることです。何らかの目的のために、必要な機能が与えられたものが、実用的なソフトウェアといえます。
この世界に存在し、実際に用いられているソフトウェアはおそらく全て、何かの目的のために、設計・開発され、それぞれに応じた機能と役割を持っています。
このコンテンツでは、はじめにC言語の基礎やプログラミングを行う際の思考方法、基本的なツールなどについて学んでいきます。その後は、上記のウォーターフォールモデルなどの実際の開発モデルに当てはめながら、実際にある程度の機能を持った、つまり実用的なソフトウェアを作るためのノウハウや考え方、ツール・手法について徐々に段階を踏んで学んでいきます。
本コンテンツでは、主にC言語やその派生言語である、C++やJava言語を用いますが、他のプログラミング言語においても、プログラムを組むとき、またはソフトウェアを作る時の根本的な考え方には、共通するものがあると考えていますので、ここで学習した事はきっと、他言語を理解する場合でも役に立つと考えています。
このシリーズは、全7シリーズ+αで構成される予定です。
問い合わせや質問等などについて
本コンテンツについて、疑問点や不明点などがあれば、ご質問やご意見をお寄せください。
また、学習中に、理解できない箇所があるなどといった場合は、ご期待に沿えるかは分かりませんが、ソフトウェア開発に関連することであれば、本コンテンツの執筆者にご連絡を頂いても結構です。
可能な範囲で、理解をして頂けるようにサポートさせて頂きます。
このコンテンツはオンラインコンテンツです。皆さんのご指摘やご意見で、変更の必要があると判断した場合は資料の修正を行いますので、ご連絡を頂けると助かります。
実用-ソフトウェア開発-制作メンバー
主筆:IPA-ZONE,shin
校正:レアード、超ラッキー、NERO666、OGA-P、カラドリ餡