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

Slides:



Advertisements
Similar presentations
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
Advertisements

Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
フォトブックサイト企画提案書 『モバフォトBook』
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
情報基礎A 情報科学研究科 徳山 豪.
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
WEBから確認できる 駐車場管理システムについて
エンタープライズアプリケーション II 第10回 / 2006年7月23日
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション開発 ~図書館管理システム~
Webアプリケーション.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
Web App Semi 2008 #1 Web App Semi 2008 #1.
Enterprise CALS Systemの開発
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
バイナリ形式コンポーネントの 収集・解析・検索システムの開発
Web上で管理・利用できる 面接予約データベースシステムの構築
ユースケース図2-4~ FM11012 中島拓也.
Day3 Day4 Day3 Day4.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
ネットワークプログラミング論 平成28年12月12日 森田 彦.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
管理画面操作マニュアル <ユーティリティ> 第8版 改訂 株式会社アクア 1.
オブジェクト指向モデリング [3] 2003年10月14日.
Microsoft Office 2010 クイックガイド ~応用編~
プログラミング演習3 第2回 GUIの復習.
続・WebApplication研究 2001年度秋学期大岩研究会2 第一回 ~紹介~.
Titanium Studioを使った アプリ開発 Vol.1
QuestionnairToolの開発 中村太一.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
InternetExplorerを起動・・・
管理画面操作マニュアル <サイト管理(1)> 基本設定 第9版 改訂 株式会社アクア 1.
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
Javaによる Webアプリケーション入門 第6回
プログラミング演習3 第2回 GUIの復習.
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
すぐできるBOOK -基本設定編-.
Javaによる Webアプリケーション入門 第2回
湘南工科大学 2013年10月8日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
JAVAについて 高橋 雅哉.
アプリケーション依存の先読みが可能なO/Rマッピングツール
JSFによるWebアプリケーション開発 第3回
人を幸せにするアプリケーションの開発 2004年度春学期 大岩研究プロジェクト2 2004年4月8日(木) 発表:武田林太郎.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
「クラナビ」 カード操作規約 enTranceプロジェクト.
Javaによる Webアプリケーション入門 第8回
JSPの基本 データベース論 第2回.
Microsoft Office 2010 クイックガイド ~応用編~
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
「クラナビ」 アーキテクチャ定義書 enTrance プロジェクト.
JSPの基本 J2EE I (データベース論) 第8回 /
2019年度版 Ver2 追加  5/9:シート9を追加「印刷の前に、各項目にチェックを」 日本バドミントン協会登録の方法 沖縄県中学校用.
プログラム分散化のための アスペクト指向言語
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
MVCモデル2による Webアプリケーション
Presentation transcript:

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

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

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

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

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

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

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

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

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

開発スケジュール(案) 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週 実装技術習得 ユースケース インターフェース設計作業 コンポーネント別 分析・設計作業 コンポーネント別 公開インターフェース定義 稼動環境整備 規約調整 (ログ、テスト、ビルド等) 実装 テスト 評価