ポイントここでは、
必要な開発環境の構成、及び、その関連性が理解できること。
が学習ポイントです。 実際の購入・使用方法を覚える必要はありません。 講義担当
概要効率的な開発を行うためには、どのような準備が必要なのか? 将来も見据えたプロ仕様の環境を整える方法を講義します。準備に必要なツール購入費用は、総額1.5万円弱です。 但し、直に準備する必要はありません。 数回先の講義で必要に応じて自身で購入頂くことになります。
図解No0002 開発環境に関して - Picture0001
上記各図には該当するリンクが設定されています。 クリックすることで、該当のページにジャンプできますので、詳細をご確認頂けます。
実際に開発を行うための必要な構成を下記に示します。 これだけ揃えば、大規模システムの開発でも十分利用することさえ出来ます。
- 全てを記録しておくためのツールが必要(メモ)。
- 開発に関するスケジュール・リソースを管理するツールが必要(スケジュール管理)。
- 作成するプログラムの詳細な内容を定義するツールが必要(ワード・プロセッサー)。
- 作成したコンテンツを配置する場所が必要(WEBサーバー)。
- コンテンツを作成するためには、コードを記述するツールが必要(エディター)。
- 作成したプログラムが正しく動作しているのか?確認するための方法が必要(デバッガー)。
- プログラムを作成するには、予め準備されている関数を使用する必要がありますが、全てを記憶しておくことは無理がありますので、これらを簡単に確認するためのツールが必要(リファレンス・マニュアル)。
- 機能アップ・不具合修正を行う場合に、それらのバージョンを管理方法が必要(バージョン管理)。
(...)内がツールの種類に相当します。
ご覧のように、 様々なツールが、様々な目的で使用されることが分かるでしょう。 ここで紹介する意外のツールも使用されることはありますが、 可能な限り、独立したものでもなく、モバイルでも使用でき、それぞれのツールが連携し合う、実際の現場で使われているツールを厳選しています。 勿論筆者もこれで開発を実際に行っております。
本講義には直接関係はありませんが、どのツールをどのような目的で使用するのか理解して頂くために、 開発に於ける基本的な手順を示しておきます。 次回から、それぞれのツールの詳細な導入方法・使用方法等を順に講義致しますので、本講義のポイントだけに集中してください。 - 要件定義 ( Evernote + Pages )
どのようなアプリを作成するのか? 検討を行い、その大まかな内容を定義します。 ここでは、機能・GUI(見栄え)等、考えている内容を箇条書きしたものでも構いません。
Evernote で備忘録のように、思いつくまま記録をとります。(必須) Pagesで他者に提供できる形に整形しなおします。(複数人で開発する場合には必須)
- プロジェクト・リソース管理 ( xPlan )
作成するプログラムに必要なスケジュールを割り出します。 また、 プログラムを作成するには、どの程度費用が発生するのか? といった、リソース管理(後述するコラムを参照)も行います。 個人的なプログラム開発を行う場合でも、コスト意識を持つ癖を付けてください。 スケジュールなしに開発を行うと、いつまでも完成しないことになりかねません。 スケジュールの割り出しから、下記全てをスケジュールすることになります。 この項目は、本講座で講義致しますが、余分な費用がかかるため、理解するだけでも構いません。 が、 この管理は、全て(技術・予算・リソース等)を理解していないと決してできるものではありません。 理解していない方が行うと、無駄・無理・無意味なスケジュールを引くことになります。 残念なことなのですが、日本で行われている開発の多くが、これに該当してしまっております。
xPlanで全の管理を行います。(必須)
- 設計 ( Pages + Evernote + SourceTree )
要件定義で定義された内容を掘り下げ、詳細な機能を全て定義します。 基本的に、この定義が的確であれば、誰が作成しても同じものが出来上がりますし、 そうでなければなりません。 修正が加わるようなことがあれば、その目的・内容等を必ず追記する必要があります。 設計は、プログラムを作成するよりも多くの時間・知識が必要となります。
Evernoteで備忘録のように、思いつくまま記録をとります。(必須) Pagesで設計書として誰が見ても同じものが作成できるように整形し直します。(必須) SourceTreeは、切りの良いタイミングでプログラム・設計書のバージョンを管理します。(必須)
- 調査・検討 ( Evernote )
実現するために必要となる技術・環境の調査を行います。 もし、実現不可能だと判断すれば、設計から見直す必要が出てきます。 最悪の場合、スケジュールから見直す必要が出てくるかもしれません。 設計後に調査を行うのは、少しおかしく感じられるかも知れません。 基本的には設計とセットで行うべきものなのですが、説明上分けているだけです。
- WEBアプリ開発 ( MAMP + Coda2 + SourceTree + Evernote )
設計に基づき、実際のコードを記述します。 切りの良いタイミングでバージョン管理 ( SourceTree ) を行ってください。 また、 開発に入る前には、Evernoteでその内容を記録します。(ボイスメモでも十分) ここでは講座の内容に従い、WEBアプリの開発に必要なアプリを記載しておりますが、「SourceTree + Evernote」は、どのような開発時にも使用しますので、特に注意を払ってください。
Evernote で備忘録のように、思いつくまま記録をとります。(必須) MAMPは、使用しているマシンを WEBサーバーとして機能させるために使用します。(必須) Coda2は、実際のプログラムを書いて、デバッグ (テスト) し、必要に応じてマニュアルを参照します。(必須) SourceTreeは、切りの良いタイミングでプログラム・設計書のバージョンを管理します。(必須)
- テスト ( MAMP + Coda2 + Evernote )
作成されたアプリを実際に動かして、問題点がないか?検証します。 問題点があれば、原因を追求し、2及び3に戻ります。
Evernote で備忘録のように、思いつくまま記録をとります。(必須) MAMPは、使用しているマシンを WEBサーバーとして機能させるために使用します。(必須) Coda2は、実際のプログラムを書いて、デバッグ(テスト)し、必要に応じてマニュアルを参照します。(必須)
- 公開
必要に応じて、完成したアプリを公開します。 これは必須ではありません。
上記手順は、ほぼ全ての開発に於いて、プロの現場でも同様の手順を踏んでいます。 これに慣れることで、プロの開発者として、即働くこともできます。 プロにも色々あり、 その多くは開発・テストしか行わないプログラマーです。 要件定義・設計を行う仕事は「SE(システム・エンジニア)」と呼ばれています。 しかし、 大した作業ではありませんので、全てを行ってください。 上記で説明している開発手順を疎かにしないでください。 疎かにすると、必ず、将来後悔することになります。
「時間も費用もないから...」と、手順を飛ばしたり、いい加減に済ませないことが重要です。 それだけで、既にスケジュール管理できていないことの証なのです。
総括ツールやアプリは、どんどん良いものが出てきます。 本講義で取り上げたアプリは、今考えられる最高の組み合わせのものではありますが、将来もっと役立つツールが出てくるでしょう。 そのような場合でも、 本講義で取り扱っているツール・アプリの「目的」が理解できていれば、簡単に使えるはずですが、良いものの場合には、本講座内容を修正し、新しいものへの対応も行う予定です。
使い方は、慣れれば誰でも使えます。 しかし、 重要なことは、そのツール・アプリを「使用する目的」であり、そのツール・アプリが「提供している機能は何か?」を理解することです。
スケジュール管理で「リソース」という表現が出てきますが、 これは下記を示しています。 - 開発を行う該当者の開発コスト・能力。
人件費、及び、該当者の能力のことです。 該当者の能力とは、該当者が一定期間に行うことのできる処理能力のことであり、個人差が当然あります。 通常、この個人差は該当者の人件費と比例していなければなりません。 - 開発に必要な各種経費。
購入書籍代金・ツール購入費・サービス利用料金等の経費にあたるもののことです。
実際の現場では、これらの管理の殆どは、適当です。 そのようなことにならないように、しっかり管理する癖をつけてください。
前回WEBサーバーの準備を行いたくなることと思いますが、 次回は最も重要なアプリでもある「No0003 Evernoteの導入・活用方法の実際」を講義致します。 実際にEvernoteをインストールして頂き、以後すぐに活用していって頂きます。 次回からはビデオによる説明も追加する予定です。 コメント
2012/10/20 | 表の記載方法を修正。 実際の開発手順に沿った記載方法を採用。 コラムを追加。
| 2012/10/19 | 新規作成。
|
|
Selection | File type icon | File name | Description | Size | Revision | Time | User |
|