Presentation is loading. Please wait.

Presentation is loading. Please wait.

「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト.

Similar presentations


Presentation on theme: "「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト."— Presentation transcript:

1 「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト

2 クラナビ クラナビユーザインターフェース概要 初期画面 What’s new ? ログイン名 パスワード
くらなび by enTrance project クラナビ ログイン名 パスワード ログイン リセット What’s new ?

3 クラナビユーザインターフェース概要 履修計画画面 クラナビエディタ クラナビエクスプローラ 個人情報変更画面が別 ウィンドウで表示され各
種個人情報を編集する ことができる 履修計画画面 くならび by enTrance project 個人情報変更 ログアウト 授業カードの授業名 をクリックすると授業 内容画面が表示される ※クラナビエクスプロ ーラに表示される授業 名をクリックしても同じ 品質の高いソフトウェアを 総合的にプロデュースする ことのできる人材になる メニュー 自分の履修計画を編集 他人の履修計画を閲覧 Javaによるプログラミングの 基礎を学ぶ(プログラミング の基礎体力をつける) 履修計画を新規作成する 履修計画を開く 最終案 プロトタイプ なんとなく 履修計画を保存する 履修計画に授業を追加する 外国語科目 汎用科目 専門科目 クラスター科目 情報処理科目 データサイエンス科目 作成 品質の高いソフトウェアを 分析・設計する方法につい て学ぶ 美しいプログラムを書くため のオブジェクト指向という考 え方を身につける プログラミング入門 坂田 洋幸 オブジェクト指向モデリング 児玉 公信 オブジェクトプログラミング 大岩 元 保存 (Ctrl-s) オブジェクトプログラミングの 応用編として、近年はやりの WEBアプリケーションを開発 する技術を学ぶ クラナビエディタ 検索 WEBアプリケーションの開発 大岩 元 クラナビエクスプローラ 図の編集モード 図解を操作するため のモードを選択する 目標カード コメントカード 矢印 コメント関連 ズーム パン 授業をクリックすると授業カードが図 に追加される。 履修計画をクリックした場合はその 履修計画がエディタにロードされる。 左クリックを使った処理のメニュー (各種作成メニュー) マウスの右ボタンでドラッグした ときの振る舞い指定メニュー

4 クラナビユーザインターフェース概要 授業情報画面 個人情報変更画面 オブジェクト指向モデリング 科目コード:004 担当:児玉公信
クラスター科目 単位:2 時限:火曜5限 内容: オブジェクト指向によるドメイン分析手法につ いて学びます。 個人情報を変更します 名前 ログイン名 パスワード 学年 学籍番号 メールアドレス 所属クラスター 希望する職種 興味を持っていること 自分の中でHotなキーワード 送信 リセット

5 クラナビシステム構成 クライアント (Webブラウザ) enTranceサーバ ウェブ サーバ アプリケーション サーバ データベース
ユーザ操作 クラナビエディタ リクエスト リクエスト転送 クエリ発行 レスポンス 操作の転送 クラナビエクスプローラ リクエスト レスポンス依頼 データ取得 ユーザ操作 レスポンス

6 クラナビコンポーネント構成 コンポーネントとは クラナビエクスプローラ クラナビエディタビュー コンポーネント IF クラナビエディタモデル
 「差し替え可能なソフトウェアパーツ」というのが一般的な定義ですが、ここでは「ソフトウェアパーツの意味のまとまり」という認識で良いです。各コンポーネントは公開インターフェースを持ち、他のモジュールはそのインターフェースを介してのみそのコンポーネントを利用することができます。  クラナビでは、これらのコンポーネントが互いに協調することによりサービスを実現します。以下にクラナビを構成するコンポーネントについてその目的を列挙します。 ・クラナビエディタビューコンポーネント   クラナビエディタの外観およびモデルのデータを表示するための機能を提供します ・クラナビエディタモデルコンポーネント   クラナビエディタの保存データの保持およびそれに対する編集機能を提供します ・クラナビコントロールコンポーネント   サーバに常駐し、クラナビに関わるクライアントのデータ要求等のリクエストに対応します ・クラナビデータマネージャコンポーネント   サーバに常駐し、クラナビのデータへのアクセスおよび保存データの永続化を仲介します  開発時には、これらのコンポーネントの公開インターフェースを明確に定義し、開発者間での合意をはかるようにしましょう。 ユーザ入力 ユーザ入力 クラナビエクスプローラ クラナビエディタビュー コンポーネント ユーザ入力の転送 IF モデル操作 インターフェース クラナビエディタモデル コンポーネント クライアント HTTP通信 HTTP通信(シリアライズ) IF クラナビエクスプローラ インターフェース IF クラナビエディタ インターフェース クラナビコントロールコンポーネント IF データベース操作IF クラナビデータマネージャ コンポーネント サーバ

7 クラナビ開発に際して利用するアーキテクチャ
対象 適用アーキテクチャ 説明 開発言語 サーバサイドモジュール およびアプレット JSDK 1.4.1 Assertionに関するバグが修正されたバージョンです。 アプレット以外の クライアントプレゼンテーション HTML / Java Script クライアントのWebページからAppletのメソッドを起動する 際に、JavaScriptを利用します。 開発 コンポーネント クラナビエディタビュー コンポーネント Jazz 1.2 カードツール作成に適した2DGraphics描画環境(ZUI)を提 供するAPIです。Swing、Appletと併用します。 クラナビコントロール コンポーネント Servlet 2.3 / JSP 1.2 HTTPの仕組みを利用してサービスを提供するためのサー バAPIです。コンテナにデプロイして使用します。 クラナビデータマネージャ コンポーネント Torque 3.0 RDBに対するJavaのマッパーモジュールを生成するエンジ ンです。DBアクセスのためにSQLが不要になります。 全般 log4j ログ機能を提供するAPIです。 JUnit 3.7 (あるいは Cuctus 1.3) 結合テスト(主に公開インターフェース)に利用します。 Ant 1.5 ビルドのプロセスを自動化します。(必要あれば利用) 各種サーバ ウェブサーバ Apache ? Tomcatに対してリクエストを転送、Tomcatからのレスポンス を仲介します。 アプリケーションサーバ Apache Tomcat 4.1 Servlet / JSPによるWebアプリケーションのサービスを提供 するためのコンテナです。 データベースサーバ PostgreSQL 7.? エディタで作成された図解および、授業・教員情報の保持 永続化を行います。

8 習得必須テクニック概要 デリゲーションモデル (Swingのイベントモデル) MVCモデル2 契約主導設計 (防衛的プログラミング)
イベントの発生源そのものではなく、イベント処理の役割を持ったオブジェクトにイベントの 処理を行わせるモデルです。 イベント 発生源 Fire! イベント イベント ディスパッチャ イベント ハンドラ 登録された全ての ハンドラに対して通知 イベントの発生 イベントの処理 ハンドラリストに登録 MVCモデル2 MVCモデルをWebアプリケーションに応用したモデルです。 MVCモデル MVCモデル2 入力 更新 入力 更新 コントロール Servlet モデル Java Bean 転送 ビュー JSP 出力 通知 出力 取得 契約主導設計 (防衛的プログラミング) オブジェクトの操作の振る舞いがどうあるべきかについての「制約」を規定します。 ■ 事前・事後条件(pre, post-condition)  オブジェクトの状態と、メソッドの振る舞いの結びつきについて記述します。  →操作の振る舞いは、そのときのオブジェクトの状況によって制約を受けます。  事前条件: ある操作が呼び出されるときに真でなければならない状況の記述  事後条件: ある操作が戻るときに真でなければならない状況の記述 ■ クラス不変表明(static-invariant)  クラスのオブジェクトが常に真でなけれなならない状況を記述します。  →そのクラスの全てのオブジェクトが共通の制約を受けます。 プログラムで「制約(事前・事後条件、クラス不変表明)」をチェックするために、 ■ 公開インターフェースについては例外(Exception)を発生します。 ■ 非公開インターフェースについては表明(assertion)を利用します。

9 クラナビ開発に際しての役割分担 小林 杉浦 秋山 基本作業 包含作業 クラナビエディタビュー コンポーネント開発 クラナビエディタ UI設計
(クラナビエディタ担当大臣) クラナビエディタビュー コンポーネント開発 クラナビエディタ UI設計 クラナビコントロール コンポーネント開発 <クラナビエディタIF> 杉浦 (クラナビモデル担当大臣) クラナビエディタモデル コンポーネント開発 クラナビコントロール コンポーネント開発 <クラナビエクスプローラIF> クラナビエクスプローラ UI設計 秋山 (クラナビデータ担当大臣) クラナビデータマネージャ コンポーネント開発 DB設計 (Torqueによるマッパー生成) 授業情報流し込み (CSVのパーサ作成利用) 担当者が責任を持って開発を完遂する必要のある作業 支援あるいは協調する必要のある作業

10 開発スケジュール(案) 1月28日現在 1月 2月 3月 1週 2週 3週 4週 5週 6週 7週 8週 9週 実装技術習得 ユースケース
開発スケジュール(案) 1月28日現在 1月 2月 3月 1週 2週 3週 4週 5週 6週 7週 8週 9週 実装技術習得 ユースケース インターフェース設計作業 コンポーネント別 分析・設計作業 コンポーネント別 公開インターフェース定義 稼動環境整備 規約調整 (ログ、テスト、ビルド等) 実装 テスト 評価


Download ppt "「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト."

Similar presentations


Ads by Google