1 / 12

「クラナビ」 アーキテクチャ定義書

「クラナビ」 アーキテクチャ定義書. enTrance プロジェクト. クラナビユーザインターフェース概要. 初期画面. くらなび by enTrance project. クラナビ. ログイン名. パスワード. ログイン. リセット. What ’ s new ?. クラナビユーザインターフェース概要. 個人情報変更画面が別 ウィンドウで表示され各 種個人情報を編集する ことができる. 履修計画画面. 個人情報変更. ログアウト. くならび by enTrance project. 授業カードの授業名 をクリックすると授業

euclid
Download Presentation

「クラナビ」 アーキテクチャ定義書

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. メニュー 自分の履修計画  ・新規作成する/開く  ・保存する ・授業を追加する 他の学生の履修計画 メニュー 自分の履修計画  ・新規作成する/開く  ・保存する ・授業を追加する 他の学生の履修計画 クラナビエクスプローラ:自分の履修計画を編集する メニュー 自分の履修計画  ・新規作成する/開く  ・保存する ・授業を追加する 他の学生の履修計画 メニュー 自分の履修計画  ・新規作成する/開く  ・保存する ・授業を追加する 他の学生の履修計画 授業を追加する 授業内容から 授業名五十音から あかさたなはまらやわ 担当者名五十音から あかさたなはまらやわ カテゴリーから 外国語科目、汎用科目(導入) 、汎用科目、専門科目、クラス ター科目、情報処理科目、デ ータサイエンス科目、ウェルネ ス科目、自由科目 系統から 環境情報系、総合政策系、共 通基盤系、複合系 授業を追加する オブジェクト指向モデリ オブジェクトプログラミン プログラミング入門(坂 WEBアプリ研究会(大岩 オブジェクト指向モデリ オブジェクトプログラミン プログラミング入門(坂 WEBアプリ研究会(大岩 新規作成する/開く 新規作成 開く 試作1(2003/3/10) 試作2(2003/3/10) 試作3(2003/3/10) 最終版(2003/3/10) 新規作成する/開く 上書き保存 名前をつけて保存 「オブジェクト指向」 の検索結果 オブジェクト指向 検索 作成 保存 追加 追加 追加 保存 追加 開く 追加 開く 追加 開く 追加 開く 追加 絞込み検索 あと4つまで保存できます 検索

  6. 2002年度 2001年度 全年度 2000年度 メニュー 自分の履修計画 他の学生の履修計画  ・閲覧する メニュー 自分の履修計画 他の学生の履修計画  ・閲覧する クラナビエクスプローラ:他人の履修計画を見る メニュー 自分の履修計画 他の学生の履修計画  ・閲覧する 閲覧する 年度指定(※必須) 目的カードの内容から 授業名五十音から あかさたなはまらやわ 学生の名前五十音から あいうえおかきくけこさしすせ そたちつてとなにぬねのはひ ふへほまみむめもやゆよらり るれろわを 閲覧する 杉浦まなぶ(2) 杉浦学(3) 杉浦マナブ(4) 杉浦麻奈部(2) 杉浦愛部(3) 杉浦まな武(2) 杉浦間名部(6) 杉浦魔菜武(4) 杉浦ま名部(6) 杉浦学ぶ(2) 杉浦マ菜武(1) 過ぎうラマ菜ぶ(0) 杉浦まな部(3) スギウラマナブ(2) 杉浦間名部(6) 杉浦魔菜武(4) 杉浦ま名部(6) 杉浦学ぶ(2) 杉浦マ菜武(1) 閲覧する 杉浦まなぶ(2002/2/29) 杉浦学(2002/2/29) 杉浦マナブ(2002/2/29) 杉浦麻奈部(2002/2/29) 杉浦愛部(2002/2/29) 杉浦まな武(2002/2/29) 杉浦間名部(2002/2/29) 杉浦魔菜武(2002/2/29) スギウラ学(2002/2/29) 学生名五十音 す (2002年度) 「オブジェクト指向」 の検索結果(2002年度) 閲覧 閲覧 閲覧 閲覧 オブジェクト指向 検索 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 閲覧 絞込み検索 検索

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

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

  9. クラナビ開発に際して利用するアーキテクチャクラナビ開発に際して利用するアーキテクチャ 対象 適用アーキテクチャ 説明 開発言語 サーバサイドモジュール およびアプレット 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.? エディタで作成された図解および、授業・教員情報の保持 永続化を行います。

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

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

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

More Related