esec2011 ブース内セッション · ・android...

34
Copyright © NIHON SYSTEM KAIHATSU CO., LTD. Copyright© Mamezou Co., Ltd. All Rights Reserved. 豆蔵・日本システム開発の Android開発エンジニア育成ソリューション ESEC2011 ブース内セッション

Upload: others

Post on 07-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

Copyright © NIHON SYSTEM KAIHATSU CO., LTD.Copyright© Mamezou Co., Ltd. All Rights Reserved.

豆蔵・日本システム開発の Android開発エンジニア育成ソリューション

ESEC2011

ブース内セッション

Page 2: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p2p2株式会社豆蔵

1. Android エンジニア育成を目指す企業が 取るべき施策

2.豆蔵・日本システム開発の

Android 開発エンジニア育成ソリューション

目次

Page 3: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p3p3株式会社豆蔵

1.Android エンジニア育成を目指す企業が とるべき施策

Page 4: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p4p4株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

Androidエンジニア育成へのアプローチ

Androidという世界は全体像が大きい為、施策を立てずにエンジニア

育成を進めても効果が見込めない

段階的に、カバーする開発スコープや育成方法を検討する事で

効率的なエンジニア育成が見込まれる

施策を組み立てるための手順

STEP1 現状の理解と市場の把握

STEP2 カバーする開発スコープと割り当てる技術者比率の決定

STEP3 エンジニア育成方法の検討

Page 5: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p5p5株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

現状の理解と市場の把握 はじめに、組織の現状を理解し、Android開発の市場について把握して

おく必要がある。

自社のエンジニアの持つスキルセットを管理する

Android開発は、アプリケーション開発案件は多く、ポーティングやミドル

ウェアチューニングの案件は少ない

・案件の数(少)・対応可能な技術者数(少)

・案件の数(多)・対応可能な技術者数(多)

STEP 1

アプリケーション層

ネイティブ層

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

Page 6: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p6p6株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

自社としてカバーする領域を決定する 自社の強み・市場性・協業パートナーの3観点から、自社がカバー出来

る階層や、将来的にカバーしたい階層を定める必要がある。

例)アプリケーション開発が得意、ネイティブ層もカバーしたい場合

ミドルウェアに強い協業パートナーに任せる

自社ではアプリケーションエンジニアとは別に、ポーティングエンジニアを育成す

る方が短時間で体制を築ける

組込み系・ポーティングエンジニア

アプリケーション層

ネイティブ層

別途エンジニアを育成

STEP 2

エンタープライズ系・ウェブエンジニア

・アプリエンジニアなど

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

ミドルウェアをやっている協業

パートナー

Page 7: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p7p7株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

カバー領域に割り当てる技術者比率の検討 開発市場に合わせて、育成するエンジニアの比率を決定する。

下位層に進むに連れて、エンジニア比率を下げて行くほうが、

社内でエンジニアの飽和を抑えられる

・案件の数(多)・対応可能な技術者数(多)

STEP 2 アプリケーションエンジニア

ミドルウェアエンジニア

ポーティングエンジニア

> >

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング ・案件の数(少)・対応可能な技術者数(少)

Page 8: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p8p8株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

技術者構成を考える前に Androidは膨大な知識が必要とされる為、一人のエンジニアで全てをカ

バーする事は現実的ではない。

順番に階層を網羅していくような単純な育成計画ではNG

例)アプリケーションエンジニアが、Androidのネイティブ層の対応を

しようとすると全く別の知識が必要になり、エンジニア育成に膨大な

時間が掛かってしまう

アプリケーション層

ネイティブ層STEP 2

アプリケーションエンジニア

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

AndroidポーティングミドルウェアやLinuxの知識が必要になる

今まで積み重ねた

知識+αで対応可能

Page 9: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p9p9株式会社豆蔵

検討した技術者比率を実現するために誰にどこの教育をするかを決めていく必要がある。

全員が同じスキル習得の流れを通る必要はない

例)単純に全員アプリ開発から実施するのではなく、

Aさんはアプリケーションから習得、Bさんはミドルから習得というように

個人単位で分担を決める

STEP 2

Android エンジニア育成を目指す企業が取るべき施策

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

アプリケーション

層から技術習得

アプリケーション

以外の層から

技術習得

Aさん

Bさん

Page 10: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p10p10株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

組織として得意なところからのスタート まずは組織やエンジニアの得意とする階層からスタートし、価格競争に

飲み込まれないために、対応可能な階層の拡大を目指す。

エンジニア属性や組織状況によって領域拡大の方法が異なる

エンタープライズ系

・・・

アプリ層からスタート

組込み系

・・・・・・・・・・・

ミドルウェア層からスタート

・・・・・・・・・・・

ポーティング層からスタート

下階層へ進む

同階層内の拡充

例)

STEP 2 ポーティングエンジニア

アプリケーションエンジニア

ミドルウェアエンジニア

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング同階層内の拡充

下階層へ進む

Page 11: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p11p11株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

エンジニア育成方法の検討 育成方法には、主にOFF-JTとOJTがある。

OFF-JTの例

インターネット情報サイト、書籍と開発環境を与え独学させる

トレーナー企業主催のオープンセミナーに参加させる

開発に取り組むための基礎となる知識の習得

自社主催のオンサイトセミナーに参加させる

実際のプロジェクトに必要な知識やノウハウに絞って習得も可能

OJTの例

契約社員や準委任契約などの方法で、スペシャリストをプロジェクトへ

投入し、一緒に仕事をさせる

既存チームで対応を開始し、技術的に難しい部分は外部サポートを受

け、ノウハウを吸収させる

STEP 3

Page 12: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p12p12株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

OFF-JTの検討

OFF-JTのメリット

チーム単位で基礎知識の底上げを図ることができる

体系的なスキルを身に付けることができる

OFF-JTのデメリット

初期コストとして育成予算の確保が必要である

職場を離れるため、仕事を中断させることになる

STEP 3

Page 13: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p13p13株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

OJTの検討

OJTのメリット

初期コストがかからない

案件をこなしながらエンジニア育成が可能

開発ノウハウを蓄積できれば、徐々にチームの開発効率が

上がっていく

OJTのデメリット

Androidの基礎知識を持たない組織ではOJT自体が機能しない

指導者の能力や経験に左右されやすい

担当以外のスキルが身につかず、体系的な理解が困難

STEP 3

Page 14: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p14p14株式会社豆蔵

Android エンジニア育成を目指す企業が取るべき施策

OFF-JT・OJTの組み合わせ検討 OFF-JT, OJTはそれぞれ単独では効果を発揮できないため、

開発チームやエンジニアの状況によって組み合わせを変えていく。

例1)Androidの開発経験がない場合

【OFF-JT】オープンセミナーで基礎知識を習得

【OJT】外部からスペシャリストを招いて開発ノウハウを吸収

例2)Androidの開発経験がある場合

【OFF-JT】オンサイトセミナーでプロジェクトに必要な知識の習得

【OJT】課題発生時に外部サポートでノウハウ吸収

STEP 3

Page 15: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p15p15株式会社豆蔵

2.豆蔵・日本システム開発の Android 開発エンジニア育成ソリューション

Page 16: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p16p16株式会社豆蔵

Android 開発エンジニア育成ソリューション

Android 開発エンジニア育成ソリューションの背景

豆蔵

Android開発における、事前に必要な知識の教育やコンサルティング

サービスの提供が可能

UML、オブジェクト指向、Javaなどの豊富な教育ノウハウ

上流工程を中心とした豊富なコンサルティング実績あり

NSK

豊富なAndroidの開発実績から、Androidにおける教育やテクニカル

サポートが可能

開発経験から作成したAndroid教育コンテンツを保有

複数のテクニカルサポート実績あり

Android開発エンジニア育成ソリューションの誕生

Page 17: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p17p17株式会社豆蔵

Android固有の知識を習得

Android 開発エンジニア育成ソリューション

Android エンジニア育成ソリューションの概要

OFF-JTとOJTの組み合わせによる、組織のスキルセットに 合わせた、幅広いソリューションの提供が可能

事前に必要とされる基礎知識の習得

・OFF-JT-実装-エンジニアリング-テスティング

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

・OFF-JT-Androidアプリケーション開発コース

(初級・応用・ポーティング)・OJT-テクニカルサポート

Page 18: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p18p18株式会社豆蔵

Android 開発エンジニア育成ソリューション

OFF-JT でカバー出来る範囲

事前に必要とされる知識

実 装

・基礎から学ぶUMLとJavaプログラミング・JavaとUMLによる実践プログラミング基礎1,2・Java総合演習・デザインパターン入門

・・・etc

エンジニアリング

テスティング

Androidの知識

・Android アプリケーション開発コース(初級編)・Android アプリケーション開発コース(応用編)・Android ポーティングコース(※)

・エンジニアリング基礎講座・要求基礎講座・ソフトウェア設計基礎講座・ソフトウェア品質保証入門講座

・・・etc

・ソフトウェアテスティング基礎講座・【公認】JSTQB認定テスト技術者

-Foundation Levelトレーニング

・・・etc

※Androidポーティングコースは株式会社エンベデッド・システムが企画し、

日本システム開発株式会社にて作成したコンテンツです

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

Page 19: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p19p19株式会社豆蔵

Android 開発エンジニア育成ソリューション

OFF-JT の特徴

コンテンツ作成から講師まで、現役のエンジニアやコンサル タントが担当

教科書的ではなく、開発現場の実態に即したコンテンツ

現場で直面する課題を題材にした演習中心のコンテンツ

お客様のご要望に合わせてコンテンツ内容をカスタマイズ が可能(オンサイトセミナーに限る)

Page 20: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p20p20株式会社豆蔵

Android 開発エンジニア育成ソリューション

Android アプリケーション開発講座の内容

電卓(アクティビティ)の作成 デジタル時計(ウィジェット)の作成

・OpenGLによる3D描画・NDKを使用したアプリ開発・カメラデバイスの制御・メモリ管理・テストフレームワーク

etc…

初級編

応用編

Page 21: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p21p21株式会社豆蔵

Android 開発エンジニア育成ソリューション

OJT によるエンジニア育成ソリューション

テクニカルサポートとは お客様が課題に直面された際に、その課題解決に絞って解決方法を提供す

るサービスです。

テクニカルサポートの特徴

実作業は社内エンジニアが行う為、技術力の向上ノウハウの蓄積が可能

不得意な領域に絞って開発支援を受けることが出来る為、対応可能な範

囲を広げる事が出来る

お客様開発チーム 豆蔵・NSK

お客様からヒアリング

調査結果、使用工数のご報告技術調査

依頼

ソースコードのご提出

レビュー結果、使用工数のご報告

コードレビュー

依頼

お客様の依頼内容に合わせて各スペシャリストが対応

Page 22: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p22p22株式会社豆蔵

Android テクニカルサポートの質問対応範囲Android アプリケーション設計・開発

例1) Low Memory で

Killされないアプリ/サービスを作成する方法

例2) Android 2.2でiPhone のようなオーバースクロールを実現する方法

例3) 複数

Activity が積まれた状態で一度にアプリを終了させる方法

Android プラットフォーム改造・開発

例1) HTML で複数の指定したフォントでブラウジングさせる方法

例2) Android を

24bitカラー化に対応させる方法

例3) 独自の共有

jar ライブラリを追加し、Android で使用する方法

Linux(予定)

Android 開発エンジニア育成ソリューション

※各事例の説明は後述【付録1】にて記載

Page 23: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p23p23株式会社豆蔵

Android 開発エンジニア育成ソリューション

Android開発エンジニアを育成するためには

Android開発エンジニア育成の戦略を立てる

エンジニアを育成する

OFF-JTで基本的な開発スキルを習得する

OFF-JTでAndroid開発固有の知識を習得する

テクニカルサポートを活用し、本やWebサイトには

書かれていない実践的な問題解決方法を効率良く獲得する

Android開発スペシャリストと共に開発チームを組み、OJTで仕事

のやり方を間近で学ぶ

Page 24: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p24p24株式会社豆蔵

まとめ

Androidエンジニア育成施策3STEP

STEP 3

STEP 2

STEP 1 現状の理解と市場の把握

カバーする開発スコープと割り当てる技術者比率の決定

エンジニア育成方法の検討

・案件の数(多)・対応可能な技術者数(多)

ミドルウェアチューニング

アプリケーション開発(JAVAオンリー)

アプリケーション開発(JAVA+NDK)

Linuxポーティング

Androidポーティング

・案件の数(少)・対応可能な技術者数(少)

アプリケーションエンジニア

ミドルウェアエンジニア

ポーティングエンジニア

Android固有の知識を習得

事前に必要とされる基礎知識の習得

・OFF-JT-実装-エンジニアリング-テスティング

・OFF-JT-Androidアプリケーション開発コース

(初級・応用・ポーティング)・OJT-テクニカルサポート

エンジニア育成

Page 25: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p25p25株式会社豆蔵

お問い合わせ

Androidに関するお問い合わせはこちらまで

豆蔵 豆蔵シンビオ

・組み込みソフトの開発力強化

・品質向上

・プロセス改善

・エンジニアリング教育

・オブジェクト指向導入

・Android

・オフショア開発

・ソフトウェア開発

・品質教育

・技術教育(Android・Linux)

日本システム

開発

〒163-0434東京都新宿区西新宿二丁目1番1号

新宿三井ビルディング34階

TEL:

03-5339-2114URL:

http://www.mamezou.com/e-mail:

[email protected]

〒163-0637東京都新宿区西新宿一丁目25番1号

新宿センタービル37階

TEL:

03-5324-0123URL:

http://www.nskint.co.jp/e-mail:

[email protected]

〒108-0075東京都港区港南二丁目16番1号

品川イーストワンタワー4階

TEL:03-6890-8323URL:http://mamezou-symbio.com/e-mail:

[email protected]

Page 26: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p26p26株式会社豆蔵

Low Memory で Killされないアプリ/サービスを作成する方法

[概要]

バックグランド上で動作している

Android アプリ/サービスは Low Memory 状態では

Kill される場合がある。

[質問]

・Kill されるアプリ/サービスの条件は何か?

・Kill されないアプリ/サービスを作成するにはどのようにすればよいか?

Androidアプリ技術

質問事例

1/3

【付録1】Android 開発エンジニア育成ソリューション

Page 27: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p27p27株式会社豆蔵

Low Memory で Killされないアプリ/サービスを作成する方法

[回答例]・Kill されるアプリ/サービスの条件は何か?

Android はアプリケーションの状態に合わせて、プロセスを停止させる優先度をもっている。

そして、アプリケーションの処理状態が変化するたびに優先度が再設定される。↑

高優先度(停止する可能性が最も低い)1:フォアグランド(最前面)にいるアクティビティ、処理中のサービス2:可視状態のアクティビティ3:処理待ちのサービス4:バックグランドにいるアクティビティ

低優先度(メモリ不足で停止される可能性が高い)

・Kill されないアプリ/サービスを作成するにはどのようにすればよいか?Android には、アクティビティ/サービスの状態に関係なく優先度を固定するAPIが存在する。

アクティビティの場合:Activity#setPersistent()Activity の優先度をフォアグランドに近い優先度に上げる。※ただし、非推奨APIで、2.3 で廃止された

サービスの場合:Service#startForeground()Serviceの優先度をフォアグランドに近い優先度に上げる。

【付録1】Android 開発エンジニア育成ソリューション

Page 28: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p28p28株式会社豆蔵

[概要]

Android 2.2 で

iPhone のような横方向のオーバースクロールを行いたい

[質問]

・Android 2.2 でオーバースクロールの実装方法は?

Androidアプリ技術

質問事例

2/3

【付録1】Android 開発エンジニア育成ソリューション

Android 2.2 で iPhone のような横方向のオーバースクロール実現する方法

Page 29: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p29p29株式会社豆蔵

[概要]

複数 Activity (画面構成レイヤ) を積んだ状態で、例外が発生してもフォアグランドに

存在する Activity のみ終了する

[質問]

・一度に全

Activity を終了させるにはどのようにすればよいか?

(System.exit() 以外の方法)

Activity1

Activity2

Activity3最上位画面 異常発生

Activity1

Activity2

Activity3

何もしないと最上画面のみ終了

Activity1

Activity2

Activity3

異常時に全画面終了さ

せたい!

Androidアプリ技術

質問事例

3/3

【付録1】Android 開発エンジニア育成ソリューション

複数 Activity が積まれた状態で一度にアプリを終了させる方法

Page 30: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p30p30株式会社豆蔵

[概要]

Androidのプラットフォームが管理する日本語フォントは1つのみ存在する。

かつ、フォント・ファイル名は固定である。

[質問]

・HTML/CSS 文で指定した複数フォントを使用するためには?

例)HTML文の場合 <font face=“XXX”> でフォントを指定できる

・フォント・ファイル名はライセンス上変更できない

それでも上記を満たす(HTMLで指定してフォントを使用する)方法は?

Androidプラットフォーム技術

質問事例

1/3

HTML で複数の指定したフォントでブラウジングさせる方法

【付録1】Android 開発エンジニア育成ソリューション

Page 31: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p31p31株式会社豆蔵

[概要]

Android のプラットフォームは

16bitカラーで動作することを前提としている。

また、24bitカラー化することで、描画速度が

1/10 に低下した。

[質問]

・Android プラットフォームを

24bitカラーで描画させるには?

・24bitカラー化した

Android で描画速度を改善させるためには?

Android を

24bitカラー化に対応させる方法

Androidプラットフォーム技術

質問事例

2/3

【付録1】Android 開発エンジニア育成ソリューション

Page 32: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p32p32株式会社豆蔵

[概要]

独自の共有 jar ライブラリを追加し、Android で使用させる。

Android は独自の共有 jar ライブラリの追加にも権限を持たせている。

また、Eclipse から共有 jar ライブラリを使用してコンパイルさせる必要がある。

[質問]

・共有

jar ライブラリを

Android で参照させる方法は?

・共有

jar ライブラリを含めた独自

SDK の作成方法は?

独自の共有 jar ライブラリを追加し、Android で使用する方法

Androidプラットフォーム技術

質問事例

3/3

【付録1】Android 開発エンジニア育成ソリューション

Page 33: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p33p33株式会社豆蔵

【付録2】Android 開発エンジニア育成ソリューション

OFF-JTで提供可能なコンテンツの概要

(一例)講座名 内容 所要日数

基礎から学ぶUMLとJava プログラミング

オブジェクト指向プログラミングを理解するために必要となるオブジェクト指向

の概念やUML・Javaの基礎技術を身につける事により、Javaプログラマ(入門

レベル)の育成を目的としています。

2日

JavaとUMLによる実践プログラ

ミング基礎1

オブジェクト指向プログラミングの基礎(インスタンスの生成と利用、パッケージ

とアクセス制御、継承、例外処理など)をJavaで実現する方法を学び、そのメ

リットを理解します。さらに実践で活かすスキルを身につけるために、UMLで設

計されたモデルからJavaプログラムを実装する演習を行います。

2日

JavaとUMLによる実践プログラ

ミング基礎2

抽象化プログラミングの基本的な考え方とUML(クラス図)における表記法、お

よびJava言語による実装方法を学習します。また、Javaの標準APIの利用を

通して、抽象化プログラミングの効果を理解することができます。

2日

デザインパターン入門 【概要編】デザインパターンの概要を説明し、主に開発で用いられるデザインパ

ターンの解説・利用法を学ぶ事が出来ます。

【適用編】題材をベースに、課題、課題と解決するデザインパターン、適用時の

ポイントを学ぶ事ができます。

各1日

エンジニアリング基礎講座 オブジェクト指向や構造化設計といった道具を更に上のレベルで使いこなし、

エンジニアリング力をアップさせるために必要な基礎を習得します。例えば、3 ~5年間オブジェクト指向を使っているが、更にステップアップを目指したいと思

っている人、CMMを使って本当にエンジニアリング力をアップさせたいと考えて

いる人には最適なコースです。

1日

Page 34: ESEC2011 ブース内セッション · ・Android アプリケーション開発コース(初級編) ・Android アプリケーション開発コース(応用編) ・Android

p34p34株式会社豆蔵

【付録2】Android 開発エンジニア育成ソリューション

OFF-JTで提供可能なコンテンツの概要

(一例)講座名 内容 所要日数

要求基礎講座 「要求」とそれに関係する概念を体系的に整理し、要求とは何か、要件とは何

か、また、ソフトウエア開発におけるそれらの役割について解説していきます。

また、要求や要件を他者に伝えたり、他者と共有する際のポイントや内容を確

認するためのポイントといった開発の現場で役立つノウハウや、ユースケース

や形式手法といった要求と関連の深い技術についても紹介していきます。

1日

ソフトウェア設計基礎講座 ソフトウエア設計とは何か、良いソフトウエア設計とはどういったことなのかを理

解するための講座です。本講座を受講することで、ソフトウエア設計の基本を

体系的に、かつ、設計手法に依存しない形で習得できます。

1日

Android アプリケーション開発

コース(初級編)

Androidのアプリケーション・フレームワークに対する理解の中でも特に抑えて

頂きたい「Activity」、「Service」、「AppWidgets」、「Intent」などアプリケー

ション実装の基盤となる要素を中心に学び、スマートフォン向けのAndroidア

プリケーション開発に必要とされるスキルの習得します。

2日

Android アプリケーション開発

コース(応用編)

アプリケーション・フレームワークに対する理解を深め、高度なアプリケーション

開発スキルの習得を目標としています。更にOpenGL、NDK、テスティング・フ

レームワークの利用方法、プラットフォーム開発に求められるシステム制御アプ

リケーションの作成方法なども習得することで、更に幅広い要求に応えられる

Androidアプリケーション開発エンジニアを目指します。

2日

Android ポーティングコース 実際のポーティング事例をもとに、ポーティングの際にAndroidに手を加えな

ければならないポイントを、手順にそって解説を行います。それにより、最小の

工数で効率よくAndroidをポーティングできるスキルの習得を目指します。

3日