...

ソフトウェアプロセス Webアプリケーション

by user

on
Category: Documents
8

views

Report

Comments

Transcript

ソフトウェアプロセス Webアプリケーション
Webアプリケーションの設計法
ソフトウェアプロセス
ソフトウェアの開発過程のこと
編集,コンパイルといった小さな作業もプ
ロセス
大規模ソフトウェア開発法
第2版
設計,コーディングといった大きな作業も
プロセス
プロセスは階層的
プロセス自身は人が行う作業なので目
で見えない
ソフトウェアプロセスモデル
ソフトウェアプロセスを目で見えるよ
うに図や文字で表したもの
ウォーターフォール(Waterfall)モデル
スパイラルモデル
色々な企業のソフトウェア開発の手順
書
Webアプリケーション
ユーザ(ブラウザ)からの要求に応じ
てWebページを動的に生成し,ブラウ
ザに送り返して表示するアプリケー
ション
記述済みのページを表示するだけの静的な
Webサイトとは異なる
JavaではサーブレットやJSPで記述さ
れる
ウォーターフォールモデル
要求定義
設計
コーディング
いくつかのステップに
分けて段階的に開発する手法
テスト
ソフトウェア設計とパターン
ソフトウェアの設計で優れたものを再
利用する
再利用可能な設計をパターンと呼ぶ
オブジェクト指向プログラミングでは
使用する部品を再利用した
最近のソフトウェア開発方法論の流れ
新たに作ると不良が発生
良いものは再利用する
MVCモデル
GUI(グラフィカルユーザインタフェー
ス)を持つソフトウェアのための標準
的な設計パターン
モデル,ビュー,コントロールの3つ
の要素に分割してソフトウェアを設計
する
MVCの例:ログイン処理の場合
コントロール
ユーザからユーザ名とパスワードを受け取る
モデル
ユーザ名とパスワードが正しいかどうかを確
認する
ユーザ登録情報のデータベースはモデルの一部
ビュー
認証結果の画面を生成する
モデル
アプリケーション固有の処理を行う
アプリケーション固有のデータを保持
する
Webアプリケーションの場合はサーブ
レットやJSPではない通常のクラスと
して実装することが多い
MVCモデル
要求
コントロール
ユーザ
(ブラウザ)
モデル
ビュー
結果の画面
Webアプリケーション
コントロール
ユーザからの要求を受け取る
モデルやビューをどのように使って
ユーザの要求を処理するかを決定する
モデルやビューに作業の実行を依頼
Webアプリケーションの場合はサーブ
レットとして実装することが多い
ビュー
モデルの処理結果をもとにユーザへ送
る画面を生成する
Webアプリケーションの場合はJSPや
サーブレットとして実装することが多
い
UML
UMLのダイアグラムの例
Unified Modeling Language
ソフトウェアをオブジェクト指向設計
するための標準的な記法
様々なダイアグラム(図)を作成する
ことによりソフトウェアを設計する
OMG(Object Management
Group)が仕様を策定
アクティビティー図
業務の流れや処理の実行手順などを表
現する
アクティビティ
アクティビティ
コントロールフロー
コントロールフロー
アクティビティ
処理の順序を示す
オブジェクト
アクティビティ
オブジェクトフロー
データの流れを示す
オブジェクトフロー
オブジェクト
レジ係
釣を受け取る
代金を受け取る
釣
アクティビティ図
ステートマシン図
ユースケース図
シーケンス図
アクティビティ図の例
客
レジ係
調理係
注文する
注文を聞く
調理する
袋詰めされた弁当
弁当を袋に入れる
弁当
代金を支払う
代金
代金を受け取る
アクティビティー図の書き方
調理係
[預かり金>料金]
釣を支払う
ソフトウェアの振る舞いを表す図
アクティビティ
代金を支払う
代金
クラス図
オブジェクトフロー
コントロールフローの分岐の例
客
ソフトウェアの構造を表す図
[預かり金==料金]
ユーザからのひとつの要求が出され,
それが処理され結果を送り返すまでの
流れごとに1枚のアクティビティー図
を書く
役割は,ユーザ(ブラウザ),コント
ロール,モデル,ビューの4つで良い
ステートマシン図
システムを構成するオブジェクトの状
態の遷移と,それに応じた振る舞いを
表現する
状態
状態名
状態遷移
状態名1
トリガー名
[状態3への遷移条件]
状態名3
ステートマシン図の例
一時停止中
再生ボタン
再生中
電源OFF
ペーパプロトタイプの各画面をひとつ
の状態とする
画面の移り変わりを状態の遷移とする
巻戻し中
演習でのシステム設計の流れ
ステートマシン図の状態遷移と,それ
に対応するアクティビティー図は同じ
番号をふること!
2. 遷移B
1. アクティビティ図A
ステートマシン図
画面の遷移を
図で表す
クラス図
各処理を行う部品を
クラスとして明確化する
作図上の注意
早送ボタン放す
巻戻ボタン
巻戻ボタン放す
ペーパ
プロトタイプ設計
システム全体で1枚の図を作成
早送り中
停止ボタン
分岐の条件は排他的
ステートマシン図の書き方
1. 遷移A
早送ボタン
停止中
状態名2
トリガー名
[状態2への遷移条件]
再生ボタン
一時停止ボタン
電源ON
アクティビティー図
各遷移ごとに
サーバで行われる処理の概要を記述する
ステートマシン図の矢印1本ごとに図を1枚
シーケンス図
各処理のための
メソッド呼び出しを
明確にする
コーディング
Java言語で
シーケンス図の処理を
記述する
システム設計の例
ログイン画面
1.ユーザ認証成功
トップ画面
2.ユーザ認証失敗
エラー画面
2. アクティビティ図B
状態遷移が2つあるのでアクティビティ図を2
枚記述する
1. ユーザ認証成功
ユーザ
コントロール
ユーザ名と
パスワード
を入力
ユーザ認証
の依頼
トップ画面生成
を依頼
トップ画面を
見る
ビュー
ビュー
2. ユーザ認証失敗
モデル
ユーザ認証
正規ユーザ
ユーザ
コントロール
ユーザ名と
パスワード
を入力
ユーザ認証
の依頼
エラー画面生成
を依頼
トップ画面
生成
トップ画面
エラー画面を
見る
ビュー
ビュー
モデル
ユーザ認証
未登録ユーザ
エラー画面
生成
エラー画面
Fly UP