Upload
hatu
View
224
Download
1
Embed Size (px)
Citation preview
© Hitachi Solutions, Ltd. 2013. All rights reserved.
株式会社 日立ソリューションズ サービスビジネス事業部
正村 勉
RubyとRailsを使った簡単クラウドシステム開発
公開版
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved. 2
0-1. 会社の概要
株式会社日立ソリューションズ (英文社名: Hitachi Solutions, Ltd.)
本 社 〒140-0002 東京都品川区東品川四丁目12番7号
本社別館 〒108-8250 東京都港区港南二丁目18番1号
03‐5780-2111(大代表)
取締役社長 佐久間 嘉一郎
1970年(昭和45年)9月21日
38,758百万円
15,452名(2013年3月31日現在、連結)
(2013年4月1日現在)
会社名
本社所在地
電話番号
代表者
設立年月日
資本金
従業員数
売上高 334,474百万円(2013年3月期、連結)
© Hitachi Solutions, Ltd. 2013. All rights reserved. 3
0-2. 主な国内グループ会社
宮城県仙台市青葉区 株式会社日立ソリューションズ東日本
株式会社日立ソリューションズ西日本
株式会社日立ソリューションズ・ビジネス
株式会社日立ソリューションズ・ネクサス
広島県広島市中区 福岡県福岡市早良区
神奈川県横浜市西区
東京都品川区
会社名 本社所在地
株式会社日立ソリューションズ・サービス 東京都品川区
(2013年3月4日現在)
© Hitachi Solutions, Ltd. 2013. All rights reserved.
浙江日立解決方案 軟件服務有限公司(浙江)
Hitachi Solutions Europe S.A.S.(フランス パリ)
Hitachi Solutions Europe Ltd.(イギリス ロンドン)
5
0-4. 海外グループ会社
Hitachi Solutions Europe AG(ドイツ ベルリン)
Cambridge Hitachisoft
Educational Solutions Plc.(イギリス ケンブリッジ)
EUROPE
USA CHINA
Hitachi Solutions
America, Ltd.
(サンフランシスコ、 アーバイン、 サンディエゴ、 ニューヨーク)
日立解決方案(中国)
有限公司
(北京本社、上海支社、
広州支社)
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0-5.自己紹介
6
正村 勉 (しょうむら つとむ)
株式会社日立ソリューションズ サービスビジネス事業部 事業部長
昨年までは、Rubyセンタのセンタ長
一般財団法人 Rubyアソシエーション 評議委員
ソフトウェア科学/工学の研究に従事
ソフトウェア開発の生産性向上に関する研究
ソフトウェア開発のプロセスに関する研究
ソフトウェアの分散開発に関する研究
Rubyの普及推進(JIS化、ISO化に参画)
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0-6.Ruby推進団体への参画
7
一般財団法人Rubyアソシエーション ・評議員(全12団体)に就任 (2011/7)
福岡Rubyビジネス推進会議 (F-Ruby) 顧問企業に就任 (2010/6)
独立行政法人 情報処理推進機構 オープンソフトウェア・センター ・Ruby標準化ワーキンググループ委員 【JIS化、ISO化推進】
日本OSS推進フォーラム アプリケーション部会 ・Rubyタスクフォースに参加 (2010/4)
Ruby認定システムインテグレータ
Gold
Ruby認定サポート事業者
Gold
Ruby認定技術者
Gold : 5名
Silver :41名
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-1.今はインターネットの時代
ほとんどの家庭がインターネットに接続
携帯電話 or スマートホンで何処からでもアクセス可能
楽天、アマゾン、ネット通販
ソーシャルシステム:ツイッター Mixi(ミクシー)、Facebook(フェイスブック)
なんでも調べることができる: Google、yahoo、Wiki、・・・
TVもインターネットで
・・・なくてはならない存在に
11
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-2.~1995年 Web登場前夜
12
住民基本台 帳カード
住民基本台帳カード
企業システムのみ 個人PCはオフライン ネットは研究者/マニアのみのもの
企業A 企業B
独自の ネットワーク
専用線
専用端末 独自の
プロトコル
相互には 接続しない
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-3.1995年頃のネットワーク環境
13
世界中の情報が 手元に!
一般家庭は ダイアルアップ
64Kbps
ネットワークが 相互につながる!
インターネット
ISDN
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-4.1995年頃は静的なファイルシステム
14
http://www.serverA.com/a/b.html
配置された ファイル 見えるもの =
ロジックは 存在しない
HTTPによる 通信
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
静的な ページ
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-5.1995年頃のインターネットとは
15
インターネットとは?
一部の特殊な人の ツール
1995 2000 2005 2010
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-6.1995年頃の使い方
16
ホームページ 予約センター電話番号 XXX-XXX-XXXX
ホームページ 予約センター電話番号 XXX-XXX-XXXX
電話帳で 電話番号を調べる
電話予約
ホテル
レンタカー 飛行機
電話予約
電話予約
前提:旅行会社に任せない
旅行に行くには?(情報提供)
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-7.1995年頃のまとめ
17
インターネット
世界中の情報が手に入る時代の始まり
情報「提供」されるもの
ネットサーフィンという言葉が生まれる
電子メール、掲示板など、新しいコミュニケーションの片鱗が見える
一部の研究者やIT関係者など、専門家のツール
企業システムには、まだ浸透していない
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-8.2000年頃のネットワーク環境
18
ADSL始まる
1Mbps
常時接続
サーバサイドJava J2EEの台頭
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-9.2000年頃はアプリケーションの時代
19
HTTPリクエスト
HTTPレスポンス
動的に ページを生成
データは DBに蓄積
Webアプリケーション
ひとつのサイト内で完結したサービス
ロジックは サーバサイド
H IT A C H I N e t Sh o p p in g
DB
DB
DB
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-10.2000年頃のインターネットとは
20
インターネットとは?
多くの人に 認知され始めた
1995 2000 2005 2010
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-11.2000年頃の使い方
21
Eメール予約
ホテル
オンライン予約
ホームページ 予約担当E-mail
オンライン予約
前提:旅行会社に任せない
旅行に行くには?(情報サービス)
ホームページ 予約ページ
レンタカー
ホームページ 予約ページ
飛行機
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-12.2000年頃のまとめ
22
ネットワーク社会が、実社会に近づいた
ネットワークは、手を伸ばせば手に入る
専門家以外もネットワーク社会に参加できる
サービスは
提供者が用意できるもの
個別に情報サービスが乱立
企業システムは
専用ネットワークからイントラネットやインターネットに
クライアントは専用端末から汎用のPCに
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-13.2005年頃のインターネット
23
インターネットが 市場になる! ロング
テール
チープ 革命
購買 パターン の変化
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-14.消費活動の変革:ロングテール
24
20% 80%
上位20%の製品で 80%の収益を上げる
パレートの法則 従来の マーケティング手法
ニッチ製品の多品種+少量販売で 大きな売り上げ、利益を上げる
ロングテール
Webによって可能になった マーケティング手法
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-15.チープ革命
25
高価な H/W
高価な S/W
高価な ネットワーク
安価な H/W
OSS = 無料
安価かつ高速な ネットワーク
Webサイトを立ち上げるコスト
参入障壁が 一気に低くなった!
競争が激化
優れた価値の提供
従来 現在
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-16.プロとアマ(マニア)の格差が無くなる
26
YouTube Web上の動画投稿サイト
従来 映像を放映するのは
プロの仕事
現在 誰でも自分の 作った映像を 「放映」できる
ビデオ カメラ
安価な道具
編集 ソフト
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-17.オープンソースのスピード感
27
10人で 10ヶ月の
プロジェクト
企業
10人で10ヶ月 1ヶ月は 20日 1日 10時間
OSS
1,000人参加すると
毎日参加なら 1日1時間で1カ月
10か月かけるなら 1日6分!
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-18.2005年頃の企業システム
28
サービス Web上で 提供される サービスを
組み合わせる
サービスを活用し、 新しい価値を生み出す
SaaS (Software as a Service)
各企業が持つ データを
サービスとして 提供
サービス
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-19.企業システムにとってのロングテール
29
従来
サービス
個々の企業が システムを作り上げる
インターネット上で 提供されたサービスを利用
一部の大企業 のみが可能 スモール
スタートが 可能
今までシステムを 利用できなかった
ユーザも利用できる
多額の 投資
DB DB
DB
インターネット
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-20.2005年頃のネットワーク環境
30
ブロード バンド
複数の サイトが
連携
適材適所の 開発言語
ネットワークは 誰もが使えるものに!
ネットワークの 社会インフラ化
データが あらゆる 場所に
あふれる 情報量
次世代ネットワーク(NGN) (Next Generation Network)
DB DB
DB
DB DB
DB
データを活用 したサービス
ロジックは あらゆる場所に
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-21.2005年頃のインターネットとは
31
インターネットとは? 上手に活用する 当たり前の環境
1995 2000 2005 2010
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-22.2005年頃の使い方
32
ホテル
他の旅行者の Blogを参考に
情報社会 •企業:ビジネスが変わる •社会:生活が変わる
旅行に行くには? (情報社会)
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
食事
観光
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-23.2005年頃のまとめ
33
個人で情報を発信できる環境が整った
情報が増え、比較して確かな情報を得ることが可能となった
情報は
企業が用意する → 利用者が評価する
検索エンジンの発展で誰もが取得可能
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-24.ブラウザベースのアプリケーション
34
アプリケーション
すぐに 利用可能
Web上で アプリケーションを
提供
ブラウザ上で アプリケーションが動作
HTTP、HTML、JavaScript、XML 標準的な技術で実現
アプリケーションは Webから降ってくる
PC以外でも OK
H IT A C H I N e t Sh o p p in g
インストール 不要
© Hitachi Solutions, Ltd. 2013. All rights reserved.
クラウド
1-25.クラウドがデスクトップに
35
App App
App
App
データは クラウド上に
存在
あらゆる場所から さまざまなデバイスでアクセス
クラウド上に サービスや
アプリケーションが存在
ネットの向こう側
ネットのこちら側
DB DB
DB
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-26.ネットワークがOSに
36
PC
App
App
App
App
~2000年 2005年 2010年
インストール
アプリケーションが 空から降ってくる
クライアントの変化
HTML+JavaScript
HTML+JavaScript+XML
PC A
pp
App
App
App
携帯
ブラウザ
PC
App
App
App
App
携帯
ブラウザ スマホ・ タブレット
インストール
クラウド
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-27.2010年以降 インターネットは
37
インターネットとは? 無くてはならないもの
1995 2000 2005 2010
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-28.2010年以降の使い方
38
旅行先から自由に 携帯端末で情報にアクセス (モバイル)
旅行の楽しさを ネットで共有
食事
観光
遊ぶ
HITACHI BLOG
日 月 火 水 木 金 土
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
海・旅・ 美味い物
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
2006年9 月
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-29.2010年以降のまとめ
39
何時でも、何処でも、必要な情報が手に入る
利用するデバイスでの制限が緩和 (携帯、スマホ、タブレット用のサイトが充実)
高速データ通信(LTEなど)の普及でストレス無くアクセス
ネットワークを通して自己の情報を発信
リアルタイムで情報を発信 (「・・・なう。」「・・・ちゅう。」「・・・にチェックイン」、など)
端末の性能(カメラ)向上でプロ並みのデータを共有 (静止画、動画、位置(GPS)、など)
© Hitachi Solutions, Ltd. 2013. All rights reserved.
1-30.次の時代へ
40
1995 2000 2005 2010 2015
幕開けの10年 成長の10年 発展の10年
次の時代へ
クラウド
インターネット TV
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved.
2-1.Rubyとは
42
言語の特徴
日本発の開発言語
プログラム実行時にソースコードを逐次解釈して実行
オブジェクト指向技術をサポート
利用時の特徴 生産性が高い (Javaに比べてステップ数は1/3~1/5)
とりあえず作って、以降機能を追加・改良する開発方法 (アジャイル開発)と相性が高い
フレームワーク「Ruby on Rails」でさらに便利になった
© Hitachi Solutions, Ltd. 2013. All rights reserved.
2-2.Rubyの標準化状況
43
国内規格化(JIS)
2011/3 JIS X3017
国際規格化(ISO)
2012/4 ISO/IEC 30170
Rubyの国内知名度( ’ 10年度末予想) (JISA調べ)
Rubyを知っている技術者 ………50%
開発したことがある技術者 ………10%
Rubyの評価 (IPAによる調査報告)
性能や開発技術の面においては十分に実力を 持ったものであって、業務システムへの適用に ついても、おおむね問題は無い
© Hitachi Solutions, Ltd. 2013. All rights reserved.
2-3.言語人気ランキング(ワールドワイド2013/6)
44
世界のプログラマが利用している。
出典:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-1.Ruby on Rails(RoR)とは
46
Webアプリケーション用フレームワーク
David Heinemeier Hansson氏(デンマーク)が開発
プロジェクト管理ツールを作るために開発
Webアプリケーションを少ないソースコードで開発
– 規約に従えば、ソースコード記述を省略
– ソースコード自動生成機能
簡単にWebアプリケーションが開発できる インターネット上で15分で開発できるビデオを投稿
世界がRubyに注目
◆ 2005/12
1.0 ◆
2004/7
公開 3.0 ◆
2010/8
3.2 ◆
2012/1
◆ 2007/12
2.0
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-2.Ruby&RoRの国内適用状況
47
楽天: 一部のシステムに適用 RomaとFairyを研究開発
クックパッド: システム全体
カカクコム 食べログ
東洋情報システム(TIS): ソーシャルネットワークシステム
(SNS)
東京ガス 地震防災システム
(SUPREME)
島根県 コンテンツ管理システム(CMS) しまね海洋館アクアス
(検索システム)
徳島県 コンテンツ管理システム(CMS)
三鷹市 図書館システム 長野県塩尻市が同システムを採
用
地方自治体が多数開発
ニュースリリースおよび公開情報から抜粋
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-3.Ruby&RoRの海外適用状況
48
Twitter(ツイッター) Ruby on Railsで開発 一部Scalaに書き換え Ruby on Railsで継続部分あり
その他多数 米国、ヨーロッパ、中国、フィリピン、ベトナム、など
で多数のシステムが開発・運用されている。
最近の米国のキーワード リーンスタートアップ、ARC:アーク A:Agile(アジャイル) R:Ruby on Rails(ルビー) C:Cloud(クラウド)
出典:http://www.technologyreview.com/blog/editors/23282/?nlid=1908
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-4.Rubyの生産性 (当社調べ)
49
受注システムの一部をRubyで開発し、Javaと比較
仕様書やテスト項目は同じものを使用
ステップ数は1/4に
バグ数はほぼ同じ
609[時間]
189[時間]
Ruby Java
言語 Java Ruby
ステップ数[step] 3,916 1,043
開発工数[時間] 575 177
バグ数[件] 26 25
バグ修正工数[時間] 34 12
開発工数、修正工数ともに およそ30%に大幅削減
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-5.RoRアプリケーションの開発環境
50
開発に必要なもの
Ruby、RubyGems*
*Rubyのライブラリ管理システム
Ruby on Rails
データベース
IDE(統合開発環境) NetBeans、Eclipse
3つの実行モード
development:開発用
test:テスト用
production:本番用
Ruby RubyGems
Ruby on Rails
IDE
Webブラウザ
開発用 データベース
テスト用 データベース
Ruby on Railsプロジェクト 組み込み
Web
サーバ
OS
ローカル
あるいはリモート
開発、テスト
動作確認
ドライバ
リポジトリ
ソースコード管理システム(任意)
ライブラリ
© Hitachi Solutions, Ltd. 2013. All rights reserved.
3-6.処理の流れ
51
http://.../books
コントローラ
class BooksController < ApplicationController def index @books = Book.find(:all) end end
controllers¥books_controller.rb
モデル
class Book < ActiveRecord::Base end
models¥book.rb データベース
books
id title body
ビュー
<html> <% @books.each do |book| %> </html>
views¥books¥index.html.erb
①要求 ②データの入出力
③データの入出力
④呼び出し
・モデルとテーブルは1:1 ・クラスの複数形がテーブル名
・アクション名と 同名の テンプレートファイル名 ・インスタンス変数を参照可
⑤レスポンス
・CRUD操作メソッド ・アクセサは列名と同名 ・/コントローラ/アクションで要求
Web
ブラウザ
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
省略
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved.
5-1.Rubyによる開発の利点
54
まずは作って、随時機能を追加・改良する開発スタイル
『動く仕様書』で使い勝手やイメージを確認
お客様の真のニーズを引き出す
お客様の生の声に応える機能追加で満足度向上
システムを利用しながら改良する開発状況の見える化
お客様の生の声に対応
© Hitachi Solutions, Ltd. 2013. All rights reserved.
アジャイル 開発の評価
5-2.Rubyでのアジャイル開発事例
55
システム利用
1ヵ月のスプリントを4回実施
実装
要件を整理 機能の実装
優先度を決定 テストケース
を準備
要件整理 評価
日立 ソリューションズ
開発チーム
エンドユーザ
アジャイル開発支援
リリース リリース リリース
課題抽出とフィードバック
チーム構成は、日立ソリューションズ・開発チーム・エンドユーザ
少ない開発量で機能を実現できるRubyの特徴を活かし、短期間
の実装を繰り返し実施
実装と並行してシステムを使用してもらい、真の要求をフィードバック
リリース
© Hitachi Solutions, Ltd. 2013. All rights reserved.
5-3.開発の流れ
56
プロダクトバックログ ・システムを実現するために 必要なすべての機能、 成果物の一覧 ・プロダクトオーナーによって 実施有無と優先順位付け
ビジネス要件と要望
プロダクトオーナー ・エンドユーザ代表 ・仕様を決める
スプリントバックログ ・スプリントで行う ストーリーのリスト ・タスクに分解 ・各タスクを作業時間 で見積もる
・ スプリント の目標を決定 ・ スプリントで実現 するストーリーを チームで選択
スプリント計画
ふりかえり ・ 続けること ・ 問題 ・ 次回チャレンジ
レビュー ・ デモの実施 ・ フィードバック
実行可能な システム
日次スクラムミーティング ・ 昨日やったこと ・ 今日やること ・ 問題
バーンダウンチャート ・進捗の見える化
スクラムマスター ・ アジャイル開発が うまくいくように チームを守る
開発チーム
スプリント
© Hitachi Solutions, Ltd. 2013. All rights reserved. 57
5-4.分散開発環境の適用
57
仮想開発環境
・実行環境
<仮想クライアント>
<仮想サーバ>
パートナー会社(東京支社)
日立ソリューションズ(東京)
パートナー会社(島根)
エンドユーザ(島根)
・構成管理 ・懸案管理 ・Web会議 ・掲示板システム
システム使用
地理的に離れた各拠点をセキュアなネットワークで結んで開発 ► 仮想的な作業場所を構築し、各活動拠点にいながら一体となって作業 ► エンドユーザも実行環境を使用し、動作の確認が可能 ► Web会議などのコミュニケーションツールを利用して日次スクラムミーティングを
実現
システム開発
要件の提示
プロジェクト管理
アジャイル開発 支援
プロジェクト監視
高校
© Hitachi Solutions, Ltd. 2013. All rights reserved. 58
5-5.ツールの活用
58
ツールを活用
プロジェクト管理、懸案管理 trac + agilo (Scrum用プラグイン)
構成管理、ソースコード共有 Subversion
日次ビルド、テスト自動化 Hudson CI (現Jenkins CI) + RubyMetrics (Ruby用プラグイン)
コーディングルール Ruby用コードインスペクションツール
自動回帰テストツール anyWarp Capture/Replay(自社製品)
デスクトップTV会議 TV会議システム
© Hitachi Solutions, Ltd. 2013. All rights reserved.
5-6.バーンダウンチャートの傾向
59
スプリント1
タスクの粒度にバラつき
タスク状態の逐次更新が 不徹底
ツール障害により、正確な 進捗管理ができなかった
スプリント3 チームの習熟度が上がり
開発がスムースに進行
適切なタスク分割により 進捗管理が可能になった
© Hitachi Solutions, Ltd. 2013. All rights reserved.
5-7.アジャイル開発でサービスを早期に開始
60
サービス開始時期と資金回収の変化
開発費
サービス開始
保守改修費
開発費
サービス開始
保守改修費
従来のウォーターフォールによる開発 Railsによるアジャイル開発
◎早い段階からサービスを開始することができる ⇒ 早期収入開始・早期通算黒字化が可能 ◎ユーザに見せながらシステムを追加開発できる ⇒ 高い顧客満足度を追求・維持可能 ◎万一ユーザのニーズに合わず方針変更があっても、 早期対応・柔軟対応が可能
収入
支出
サービス収入 サービス収入
© Hitachi Solutions, Ltd. 2013. All rights reserved.
0.日立ソリューションズについて
1.インターネット社会とシステムの変遷
2.Ruby
3.Ruby on Rails
4.システム事例
5.アジャイル開発
6.クラウド時代
Contents
© Hitachi Solutions, Ltd. 2013. All rights reserved.
6-2.次の10年を考えてみよう!
63
10年前と比べて
PDA
電話
PC
スマートホン/タブレット
© Hitachi Solutions, Ltd. 2013. All rights reserved.
6-3.次の10年を考えてみよう!
64
10年後どうなっている?
雑誌
書籍
新聞 スマートホン/タブレット
TV
映画
チケット 音楽/カラオケ
カーナビ
© Hitachi Solutions, Ltd. 2013. All rights reserved. 65
ニンテンドーDS・ニンテドー3DS ・ディーエス/DSは任天堂の登録商標または商標です。
iPadは米国Apple Inc.の米国およびその他の国における登録商標または商標です。
Windows、InternetExplorerは、Microsoft Corporationの米国およびその他の国における登録商標または商標です。
Apacheは、Apache Software Foundationの登録商標または商標です。
PostgreSQLは、PostgreSQLの米国およびその他の国における商標です。
AQUASは島根県の登録商標です。
SUPREMEは東京瓦斯株式会社の登録商標です。
twitterはTwitter Inc.の登録商標です。
食べログは株式会社カカクコムの登録商標です。
COOKPADはクックパッド株式会社の登録商標です。
iKnowはセレゴ・ジャパン株式会社の登録商標です。
その他、記載されている会社名、商品名は、各社の登録商標または商標です。
ご清聴ありがとうございました
© Hitachi Solutions, Ltd. 2013. All rights reserved.
株式会社 日立ソリューションズ サービスビジネス事業部
RubyとRailsを使った簡単クラウドシステム開発
正村 勉
END