概要設計


前回は
どのようなのWEBサービスを作るか。
を説明しましたが、
今回はどうWEBサービスを作るか。
を記述したいと思います。

このフェーズは概要設計、基本設計又は外部設計といいます。

システムを作る際、そのシステムに必要な技術要素や構成要素を選択して、それら要素の機能や性能を定義し、
システムがユーザーや外部システムに対してどのような機能を提供するかを設計すること。
ソフトウェア開発プロセスでは外部設計ともいう。
※@IT情報マネジメント
http://www.atmarkit.co.jp/aig/04biz/outlinedesign.html

本来はお客様と打ち合わせるわけですが、今回お客様は自分自身です。

それではシステム要件を纏めていきましょう。

【システム要件】
・AMAZONで検索条件にマッチした商品を選択し、
AMAZONアソシエイト用にブログに貼り付けるタグを作成したい。
その際、商品の画像サイズは任意に選択可能である。

下記の要件を機能別に纏めると以下の様になります。

【最小要求】
・AMAZON商品検索機能
・AMAZON商品一覧表示機能
・AMAZON商品詳細表示機能
・AMAZON商品画像サイズ変更機能

【拡張要求】
・AMAZON商品一覧表示ページめくり機能
・AMAZON人気商品一覧表示機能

【最小機能】があれば、【システム要件】は満たせますので、
一先ず実装機能は【最小要求】のみとします。

次に機能レイアウトを決めます。

ここで画像でも良い。

【機能レイアウト案】
・案1:検索+一覧+詳細(全画面別機能実装)
・案2:検索・一覧・詳細(全画面全機能実装)
・案3:検索・一覧+詳細(検索・一覧画面+詳細画面)

オーソドックスに案1を選択しました。
案2はページ遷移が少なく、スタイリッシュなデザインが可能になりますが、
Ajax等の技術を使わなければ野暮ったい画面になりそうなのです。
工数を考えるとやはり、案1か案3が現実的です。

次に実現方法を決めます。

実現方法とは【どの様な方法】でWEBサービスを構築するかです。

まずソフトウェア的な実行環境について検討しましょう。

一番大切なことはAMAZON APIの実行環境について制限があるか。です。

【AMAZON APIの実行環境について】
・AMAZON APIはSOAPというプロトコルを用いてデータの送受信を行っています。
SOAPとは、クライアントとサービスの間でメッセージをXML形式でやり取りするためのプロトコルです。
XMLベースのフレームワークであるため、特定のプログラミングモデル、実行環境、プログラミング言語にも依存しません。
※公式サイトより抜粋
http://www.amazon.co.jp/gp/feature.html?ie=UTF8&docId=451209

公式のリファレンスにもある通り、
AMAZON APIを使用する個に言語的な縛りはなくなりました。

次に検討が必要事項は

WEBサービスのハードウェア的な実行環境です。

いうまでもなく、WEBサービスを公開するためにサーバが必要です。

よってWEBサーバをレンタルするか自前で用意するか検討する必要があります。

【レンタルサーバの選択】
・案1:レンタルサーバを活用する
・案2:自前でサーバを用意する

これは問答無用で、案1です。
案2については前提として端末がもう1台必要であること。
また、3日でLinux系OSのインストールからWEBサービス機能の実装、
外部アクセスセキュリティの担保まで取れるとは思えませんでした。
絶対的な安心・安全の担保が取れるマニュアルがなければ、
素人には3日では絶対に無理です。

サーバをレンタルすることが決まったので、
レンタルサーバの仕様について検討する必要があります。

レンタルサーバは無料から有料まで様々な形態があり、
その会社によって提供されるサービスは変わってきます。

【レンタルサーバの運営形態】
・有料/無料
・月額利用料金(有料の場合)
・使用可能言語
・使用可能DB
・データ容量
・通信容量
・オプショナルサービス
・サポート体制

【レンタルサーバの運営形態】を踏まえて
アプリケーションを作成できる
サーバをレンタルする必要があります。

今回作るWEBサービスは
ディスク容量は500MBもあれば十分ですし、DBは使用しません。
また、サポートに問合せる時間もないため、不要です。
その他、通信容量、

なので、検討するべきことは、
使用可能言語と有料/無料
の2つだけです。

まず最初に使用可能言語から検討します。

レンタルサーバで使用可能な主な言語は下記の4つです。

【主な使用可能言語】
・PHP
・Ruby
・Python
・Perl

主にスクリプト言語と呼ばれるものが使用可能な場合が大半です。
JAVAでも開発は可能ですが、VPS環境が必要になります。

僕の場合はどのスクリプト言語もやったことがないので、
一番ポピュラーなPHPで開発することにしました。
選択した理由は特にありません。
強いて言えば、Google先生に聞きやすいことと後学のためです。

使用可能源をPHPに決めました。
次にサーバの有料/無料です。

これが大変ですね。
結論からいうと、PHPを使用可能な
無料サーバはないです。
Google先生に聞いて結構探した結論です。
諦めてください。。。
(※個人貸主はありますが、僕にはレンタルする勇気はありません。)

ですので、今回は有料レンタルサーバを選択します。
但し、有料といってもどこのレンタルサーバも
お試し無料期間が10~14日程ついています。
その間にさくっと運用開始して7~11日間限定で
公開してしまいましょう。笑

次はサーバをレンタルしましょう。

【今回のポイント】
・検索・一覧・詳細画面を作成する。
・PHPを使用可能サーバを有料レンタルする。
・お試し無料期間中に期間限定運用を行う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です