(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)

Similar documents
(Microsoft PowerPoint - Java\221\3461\225\224\211\357\224\255\225\\\227p\216\221\227\ ppt)

intra-mart im-JavaEE Framework

intra-mart WebPlatform/AppFramework

V8.1新規機能紹介記事

Seasar.NET入門

intra-mart WebPlatform/AppFramework

S2Pradoの紹介

Microsoft Word 基_シラバス.doc

ゆみる は こうげきりょく が 2 あがった!

rcp-add-01:アーキテクチャ設計書

think9i Oracle Internet File System i を使用した ソフトウェア開発手法 日本オラクル株式会社製品本部システム製品マーケティング部 Copyright 2001 Oracle Corporation Japan. All Rights Reserved.

PowerPoint プレゼンテーション

今さら人には聞けないAOP入門

デザインパターン第一章「生成《

5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

XMLとXSLT

Oracle SQL Developer Data Modeler

アナリシスパターン勉強会 責任関係事例紹介 株式会社オーエスケイ小井土亨 (CBOP COM 分科会主査 ) 2000/07/19 1

PowerPoint プレゼンテーション

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved.

bebras_slide.pptx

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

.NET テクノロジー概説 /WindowsAzure 入門 コード P-2 0:00~7:00 ( 休憩 時間含む ) 前提条件 Windows の操作経験 ( エクスプローラの操作 ファイルの操作 ) があること 最低開講人数 0 名.NET テクノロジー概説 /WindowsAzure 入門

スライド 1

S2BaseとZend Framework

Microsoft PowerPoint - IAF フォーラム2015講演資料_PLCopenJapan_A02.pptx

5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関す

VVB6システムからSeasar2を用いたWebシステムへの移植

XML基礎

Java言語 第1回

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

S2Dao入門

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

(Microsoft PowerPoint - \203A\203W\203\203\203C\203\213\212J\224\255_ ppt)

T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介

4-4- 応スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語のうち 特に Ruby について学習し 応用的なアプリケーション開発の手法を習得する Ⅰ. 概要フレームワークによる Web アプリケーション開発やデータベース操作について学習する Ⅱ. 対象専門分野職種共通 Ⅲ.

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構

スライド 1

プレポスト【問題】

Microsoft PowerPoint - JavaFesta.ppt

ETOS 画面の Web 化 / 帳票印刷のオープン化体験お試し変換サービスのご紹介 ACOS-4 システムの業務改善提案

Jupyter Notebook を活用したプログラムライブラリ構築の検討 吹谷芳博 1, 藤澤正樹 1 ( 1 あすか製薬株式会社 ) Examination of the program library construction using Jupyter Notebook ASKA Pharm

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

Enterprise Architect 12.0 機能ガイド

研究レビューミーティング プレゼン資料 テンプレート

いまさら人には聞けない DI×AOP入門

S2DaoでもN:Nできます

PowerPoint Presentation

D5-2_S _003.pptx

Source Insight

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

Prog2_12th

PowerPoint プレゼンテーション

<基礎領域>

スライド 1

Microsoft PowerPoint pptx

FW APIServer 設定ガイド Version 年 2 月 3 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

スライド 1

データベース 【1:データベースシステムとは】

5-3- 基統合開発環境に関する知識 1 独立行政法人情報処理推進機構

Jude を DSL エディタとして使う -Jude API 活用法 年 11 月 14 日稚内北星学園大学東京サテライト校浅海智晴 本日のテーマ Why Jude API What Jude API How Jude API 1

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Microsoft PowerPoint - 配布用資料.ppt

JACi400のご紹介~RPGとHTMLで簡単Web化~

モデリング操作ガイド (データベースモデリング編)

Enterprise Architect 12.1 機能ガイド

PowerPoint プレゼンテーション

オープンソースESB Mule と Seasar2 の連携プロダクト - S2Mule(仮称)

開発ツールのコラボレーション機能を検証する

JBoss Application Server 入門

全部まとめてHOT deploy

SystemDirector Developer's Studio(V3.2) 適用ガイド

WebOTXマニュアル


1. 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は JCA 仕様準拠のコンテナとして多くの J2EE 準拠アプリケーションサーバーについて動作

DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナ

スライド 1

受講を行うための前提知識 PC の基本操作ができること 座学 コーディング実習 受講講座の名称 9 日間 67:30 システムエンジニア向け IT 基礎 4/8/( 月 ) IT 技術者に共通する基本的な知識の習得を目標とします コンピュータ基礎では コンピュータの仕組みやコンピュータで扱う数値や単

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

ホンダにおける RT ミドルウェア開発と標準化活動 株式会社本田技術研究所基礎技術研究センター関谷眞

アスペクトの相互作用を解消するアスペクトの提案

JavaプログラミングⅠ

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

intra-mart Accel Platform

ER/Studio Data Architect 2016 の新機能

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

NSW キャリア採用募集職種一覧 2018/8/16 現在 求人番号 職種対象業務必要とするスキル 経験 資格等勤務地 1 営業スペシャリスト金融 ( 損保 生保 クレジット ) 業でのソリューション営業 IT 業界での営業経験 金融業界 IT 業界での人脈がある方尚可 渋谷 2 プロジェクトマネー

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

Microsoft PowerPoint _札幌_講演資料_ver1.3.ppt

Mindjet MindManager Version 9 for Windows サービスパック 2 リリースノート : 2011 年 4 月 20 日

<4D F736F F D208DCC91F088C48C8F955D89BF8F915F8DA196E5504A>

第2回講義

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

4-1- 基 Java に関する知識 1 独立行政法人情報処理推進機構

GUIプレゼンテーションフレームワークS2JFace

Transcription:

システム開発における 生産性の検証 平成 19 年度 OISA 技術研究会 JAVA 第 2 部会 1 2008.02.19

目次 1. 部員紹介 2. 生産性向上に向けて 3.Seasar2 4. テストプログラムによる検証 5. 考察 6. まとめ 2

1. 部員紹介 3

部員紹介 葛城啓之 ( 株式会社オーイーシー ) 工藤寿彦 ( 九州東芝エンシ ニアリンク 株式会社 ) 白石和稔 ( 大銀コンヒ ュータサーヒ ス株式会社 ) 川野芳樹 ( 株式会社オーイーシー ) 椎原健次 ( 大分大学大学院 ) 大谷謙二 (KCS 大分情報専門学校 ) 阿部誠司 ( 株式会社シーエイシー ) 4

2. 生産性向上に向けて 5

生産性とは 生産性 = 産出量 / 投入量 産出量 生産量 生産額 売上高 付加価値 GDP 投入量 労働 資本 土地 原料 機械設備 6

システム開発における生産性 労働生産性 労働者 1 人 1 時間あたりの生産性 技術的観点から生産性の向上を図る 7

生産性低下要因 依存性の高いプログラム設計 開発者レベル (Know How) の違い 企業の体制 情報検索時間の増加 8

解決策 インタフェースの活用 人材育成の強化 企業内の環境整備 9

生産性向上のための開発手法 DI コンテナ AOP( アスペクト指向プログラミング ) O/R マッピング 10

DI コンテナ インターフェースと実装を分離し オブジェクトを 外部から生成し設定する仕組み 依存関係を注入 コンポーネント間の依存関係をソースコードか ら取り除く事が可能 11

AOP プログラム本来の目的とは異なる処理を内部に埋め込まず 外から織り込むように作る 可読性のあるプログラム 把握 管理 変更が容易になる 12

DI コンテナと AOPを包括包括したフレームワーク Seasar2 を用いて開発手法 生産性生産性の検証検証を行う 13

3.Seasar2 14

Seasar2 DIとAOPをサポートした軽量コンテナ 設定ファイルの記述が少ない 日本語ドキュメントの充実 http://www.seasar.org/ Eclipse 等での導入が容易 15

Seasar2 のメリット DIとAOPのそれぞれの利点を生かせる コンポーネントがシンプル トランザクション制御の外部切り分け テスト容易性 拡張性 再利用性 向上が可能 16

定義ファイル DI コンテナ作成には dicon ファイル を使用 dicon ファイルとは コンポーネント生成情報を XML 形式で記述 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <component name="..." class="...">... </component> <component name="..." class="...">... </component> </components> dicon ファイルの定義 省略不可 17

コンポーネントの自動登録 <component class="org.seasar.framework.container.autoregister.filesystemcomponentautoregister"> <property name="autonaming"> <component class="org.seasar.framework.container.autoregister.defaultautonaming"/> </property> <initmethod name="addclasspattern"> <arg>"addressbook.logic"</arg> パッケージ名 <arg>".*logicimpl"</arg> </initmethod> </component> クラス名 クラス名には正規表現を使用可能 例 ) AddressLogic.java( インタフェース ) AddressBookLogicImpl.java( 実装 ) の 2 つを指定パッケージに置けば自動登録される 18

ルート定義ファイル app.dicon 慣例でこの名前にしている <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components21.dtd"> <components> <include path="s2struts.dicon"/> <include path= addressbook/dicon/addressbook.dicon"/> <include path="j2ee.dicon"/> </components> 例 )app.dicon include で指定した path の dicon ファイルを実行 19

j2ee.dicon データベース設定を行う dicon <component name= xadatasource class="org.seasar.extension.dbcp.impl.xadatasourceimpl"> mysqlのト ライハ <property name="driverclassname"> "com.mysql.jdbc.driver" </property> "oracle.jdbc.driver.oracledriver" <property name="url"> "jdbc:mysql://localhost/seasar" </property> jdbc:oracle:thin://localhost/seasar" <property name="user">"seasaruser"</property> <property name="password">"seasarpassword"</property> </component> DB 切替 切替が容易 例 )j2ee.dicon ユーサ 名 ハ スワート の指定 コネクションプール設定 トランザクション設定 dicon に記述可能 20

4. テストプログラムによる検証 21

概要 一般的な Servlet で作成したものと Seasar2 を使用し作成した物との比較を 行う 住所録 一覧表示機能 新規登録機能 22

開発環境 開発言語 Java バージョン 1.5.0 アプリケーションサーバ Tomcat バージョン 5.5.23 データベース MySQL バージョン 5.0.27 23

テストプログラム デモ 24

相違点 DB 接続 Servlet Seasar2 使用するたびに記述 2 箇所 設定ファイルに記述 1 箇所 25

相違点 インスタンス生成 Servlet Seasar2 使用するたびに記述 2 箇所 設定ファイルに記述 1 箇所 26

相違点 作成ファイル Servlet 合計 5 ファイル Seasar2 JAVAファイル 10ファイル設定ファイル 4ファイル 合計 22 ファイル 27

検証結果 メリット 誰が書いても同じ 設定ファイルなどを再利用できる 大規模プロジェクト向き デメリット 命名規則に注意 設定ファイルの作成が大変 小規模プロジェクトには不向き 28

5. 考察 29

確認できなかったこと 直接的な生産性の向上 確認できたこと 設定ファイルの重要性 大規模開発向き 生産性 品質 技術者レベル UP 30

生産性 品質 技術者レベル UP Java 未経験者の導入が容易 排他制御などの実現が容易 画一的なコーディング方式 短期間での技術者育成 31

導入の際の留意点 規約はしっかり Seasar2 のルールを押さえる 32

6. まとめ 33

自社の現状を把握する 各個人のスキル 保有するシステムのノウハウ 34

技術進歩は 秒進分歩 自社だけでは対応できない 場合がある 35

複数の企業で協調する必要がある 社外研修への参加 他企業との交流 36

大分県の技術水準向上 大分県での受注増加 魅力的な職場 優秀な人材があつまる 37