1. ホーム >
  2. ブログ ~人材育成最前線~ >
  3. コラム【いま、求められる人材】記事一覧

コラム【いま、求められる人材】記事一覧

みなさん、こんにちは。
富士通ラーニングメディア・第二ラーニングサービス部の七條です。Webアプリケーション開発技術の研修を担当しています。
春この時期は、プログラミング関連で多くの新入社員研修を担当しています。
今回は、スマホネイティブ世代といわれる新入社員にプログラミングを習得させるには!?
というテーマのお話です。

 

講師画像

七條 怜子(しちじょう れいこ)

Webアプリケーション開発技術の研修を担当しています。
これまで、新入社員向け研修を多く担当し、多くの新入社員の方々と接してきました。
4歳の娘がおり、休日は、すべり台と砂遊び三昧です。

 

とある会社の新入社員(S)と入社10年目の先輩社員(A)の会話です。イメージ図

先輩社員A:
Sさん、プログラミングの学習は順調?

 

 

イメージ図新入社員S:
研修で講義を聞けばなんとなく分かるんですけど、いざプログラミングしようとすると、なかなか手が動かないんです。プログラミングは初めてですし...

 

 

先輩社員A:イメージ図
自宅のパソコンに開発環境を構築して、
復習してみたらどう?

 

 

イメージ図

新入社員S:
え?私、パソコンなんて持ってないですよ。

 

先輩社員A:イメージ図
え!?パソコン持ってないの??

 

 

 

イメージ図

新入社員S:
はい。だってスマホがあれば十分じゃないですか。
必要ないですよ。パソコン持ってる友達のほうが少ないですよ。

 

先輩社員A:イメージ図
困ったな...

 

 

 

 

こんなやり取りを耳にしたことはありませんか?
スマートフォンの普及により、若い世代では、自宅にパソコンを持っていないという人が増えてきました。
そんな方々に、おすすめする習得法?のひとつに"ドリル"があります。
そうです!小学生のころ勉強したあの"ドリル"です。
先輩社員Aさんのように、プログラミングを学んだあと、自宅のパソコンに開発環境を構築して、復習するという方もいらっしゃるでしょう。
実はプログラミングを紙に書くことは、一度習得した言語の知識を復習したり、定着させるのに向いているのです。

パソコンを持っていないという方も、紙の"ドリル"であれば、問題ないですね。

プログラミング習得に「プログラマー早期育成ドリル」シリーズをおすすめします。ラインナップはJava、VB.NET、C♯、C言語の4言語です。
※C言語は、2017年4月中にリリース予定です。

詳細は、こちらをご覧ください!

「プログラマー早期育成ドリル」シリーズ

「自宅にPCがないから自主学習できないんです」はもうおしまいです!!

 

 

今回のコラムのような皆様のスキルアップに役立つ情報や、お得なキャンペーン、無料セミナーなどのご案内情報を、メールマガジン(毎週木曜)で配信しています。
この機会にぜひご登録ください。

メールマガジン登録へ

 

みなさん、こんにちは。富士通ラーニングメディアの橋本です。

本シリーズのコラムも今回で最終回です。
最終回は、松井に代わって橋本が「イマドキの業務システムはフロントエンドも重要です!」についてご紹介します。

ちなみに、タイトルにもある「フロントエンド」とは、どういう意味でしょうか。
フロントエンドとは「Webシステムを構成する要素の中で、ユーザーと直接データのやり取りを行うユーザーインターフェイス(UI)部分」を指します。


ではなぜイマドキの業務システムはフロントエンドが必要なのでしょうか。その前に、本シリーズの第1回目、第2回目のコラムでの宿題の答えから紐解いていきましょう。

~本コラムでご紹介する内容~
・クライアントサイドでユーザーインターフェイスを構築するには?
・魅力的なフロントエンドを作成するには?

第二ラーニングサービス部 橋本 亜希(はしもと あき)

講師画像コーポレート部門、研修プロマネ部門での業務経験を経て、現在はJava,PHP,C#,VB.NET等と、HTML,CSS,JavaScript等を組み合わせたWebアプリケーション開発コースを担当。
休日はオシャレなカフェや雑貨屋さんを新規開拓し、キラキラしたものやネコ系動物に癒されている。けれど、一番心ときめくものはドラゴン○ール。


実はコラムを執筆するのは2度目。ご興味のある方は、以下コラムも覗いてみてください。

【今求められる人材】知らないとソンする!?
 ~Webアプリ担当講師が語る"jQueryのメリット"とは~

本シリーズの第1回、第2回のコラムをとおして、イマドキの業務システムは、REST APIベースで開発することにより、「サーバサイドからは『画面(HTML)』ではなく『データ(JSONなど)』が返却される」という特徴、および「シンプルな設計で分散アプリケーションを実現できる」、「クライアントサイドとサーバサイドの分離をすることにより、メンテナンス性向上や各サイドの分業化や並行開発がしやすくする」などのメリットがあることをご説明しました。

<時代はAPIファースト!? イマドキの業務システム開発ことはじめ>
 第1回 なぜ流行っている?「REST API」 ~アプリもインフラ作業の自動化もAPIで!~
 第2回 REST APIベースの業務システム開発(Java編)
 第3回 イマドキの業務システムはフロントエンドも重要です!


では、サーバサイドから渡されたJSONデータを使用して、クライアントサイドでユーザーインターフェイスを構築するにはどうすれば良いでしょうか。

<クライアントサイドでユーザーインターフェイスを構築するには?>

ズバリ!クライアントサイドをMVCアーキテクチャーに従って実装します。

※MVCアーキテクチャーとは:
モデル(Model)、ビュー(View)、コントローラー(Controller)を分離するための設計モデル。モデルでは、アプリケーションにおけるデータ構造とデータが持つビジネスルールを定義する。ビューでは、業務データを表示し、利用者とのユーザーインターフェイスとなる。コントローラーでは、アプリケーションの処理を実行する。モデルが持つ業務処理を起動し、結果をビューとして返す。MVCの目的は、開発する部品の役割を明確にすることにより、保守性を高め、再利用を促進することである

従来の業務システムは、サーバサイドレンダリングとよばれ、サーバサイドでHTMLを生成し、生成されたHTMLをクライアントに返却していました。

サーバサイドレンダリング

しかしREST APIベースの業務システムでは、クライアントサイドレンダリングとよばれ、サーバサイドではHTMLを生成せず、サーバから返却されたJSONなどのデータをJavaScriptが受け取ります。
JavaScriptからHTMLを操作することにより、Webページを部分更新し、サーバから受け取ったJSONなどのデータをWebページに表示します。


クライアントサイドレンダリングを実現する際、1つのソースコードにイベント処理、サーバ通信、HTMLの操作を実装するとソースコードの見通しが悪くなります。そのため、クライアントサイド(JavaScript)をMVCアーキテクチャーに従って実装することにより、見通しの良いソースコードを作成します。

クライアントサイドレンダリング

クライアントサイドMVCを実現する代表的なフレームワークとして、AngularJS、Reactなどがあります。

AngularJS、React

どうでしょうか。REST APIベースで業務システムを開発する場合、クライアントサイドはどのように実装すべきか、イメージできましたでしょうか。

さて、ここで1つ注意すべきことがあります。
たしかにREST APIベースで業務システムを開発することによって、冒頭でご説明したとおり「シンプルな設計で分散アプリケーションを実現できる」、「クライアントサイドとサーバサイドの分離をすることにより、メンテナンス性向上や各サイドの分業化や並行開発がしやすくする」などのメリットを業務システムの提供者は得ることができます。

では、業務システムを使用するユーザーはどうでしょうか。
最終的に表示されたフロントエンドがユーザーにとって使いにくい見栄えだった場合、ユーザーは業務システムの使用を敬遠し、必要最低限しか業務システムを使用しません
業務システムは、業務効率化など、システム導入本来の目的を達成して初めて提供した意味を成します。
そのためには、今後の業務システムは「使いにくい」は論外、「使いやすい」は当たり前、「使いたい」とユーザーに思って貰えるフロントエンドで提供する必要があります。

フロントエンド

では、ユーザーに「使いたい」と思って貰えるようなフロントエンドはどうやって作成すれば良いでしょうか。

<魅力的なフロントエンドを作成するには?>

ターゲットとなるユーザーのスペック(職業、性別、年齢層など)ではなく、そこから一歩踏み込んだユーザーのパーソナリティ(行動パターン、好きなこと、嫌いなこと、休日の過ごし方など)に着目してフロントエンドを考える必要があります。
たとえば、機能重視のユーザーとデザイン重視のユーザーでは、システムに求めるフロントエンドは異なります。


そのために、まず、業務システムの発注者からターゲットとなるユーザーのスペックを入手して終わるのではなく、実際にユーザーのところに足を運び、現状の業務システムに対する思いなどをインタビューしましょう。
そこから、メインターゲットとなるユーザーのペルソナ(ユーザーのイメージを共通認識するデザインツール。ターゲットとすべきユーザーの具体的パーソナリティを設定する)を作成しましょう。

1ペルソナの作成ペルソナの作成

次に、設定したペルソナであれば、どのような場合、どういう流れで業務システムを使用するのか、カスタマージャーニーマップ(ユーザーの行動文脈を旅のプロセスに見立てて可視化し、把握する手法および、そのために作成した図)を作成します。

2.カスタマージャーニーマップの作成
カスタマージャーニーマップの作成
次に、作成したカスタマージャーニーマップから、今回の業務システムで必要となる機能を構造化シナリオ(ユーザーの価値とビジネスの価値、ユーザーが行う作業、ユーザーが行う操作を記述した図)として洗い出し、ユーザーインターフェイスに落とし込みます。

3.構造化シナリオの作成構造化シナリオの作成

構造化シナリオを基に作成したユーザーインターフェイスがユーザーの望むものと一致するか、再度ユーザーのもとへ足を運び、レビューを行います。
レビューとユーザーインターフェイスの修正を繰り返すことにより、ユーザーにとって「使いたい」フロントエンドを作成できます。

いかがでしたでしょうか。
サーバサイドと比較し、今まで軽視されがちだったフロントエンドですが、業務システム導入の目的を達成するために、いかにフロントエンドが大切か、ご理解いただけましたでしょうか。

本シリーズのコラムは以上で終了です。
もしフロントエンドにご興味を持たれた場合は、HTMLやJavaScriptなどの基本文法はご存じな方を対象に
フロントエンドエンジニアのためのWebアプリケーション開発実践 (UJS53L)」というコースをご提供しております。
是非、コース概要をご確認ください。

<時代はAPIファースト!? イマドキの業務システム開発ことはじめ>
 第1回 なぜ流行っている?「REST API」 ~アプリもインフラ作業の自動化もAPIで!~
 第2回 REST APIベースの業務システム開発(Java編)
 第3回 イマドキの業務システムはフロントエンドも重要です!

 

今回のコラムのような皆様のスキルアップに役立つ情報や、お得なキャンペーン、無料セミナーなどのご案内情報を、メールマガジン(毎週木曜)で配信しています。
この機会にぜひご登録ください。

メールマガジン登録へ

 

みなさん、こんにちは。富士通ラーニングメディアでMicrosoftテクノロジーの講師をしている今井です。

今回は、データベースを取り巻く現状と最新のSQL Serverについてご紹介します。

2017年3月現在、SQL Server は2016 SP1が最新バージョンとして提供されています。
SQL Serverは、おおむね2年に一度新しいバージョンが提供されてきていますが、SQL Server 2008 やSQL Server 2008 R2のサポートが、『2019年7月9日』で終了する予定となっています。

そのため、そろそろ新しいバージョンへの移行などを検討される方も増えているのではないでしょうか。ただし、新しいSQL Serverへの移行といっても、ただデータを乗せ換えるだけではもったいないのです。

第二ラーニングサービス部 今井 敏裕(いまい としひろ)講師画像

Microsoft認定トレーナーとして多くのトレーニングを担当。
Windows Server(Active Directory 、Hyper-V、クラスタなど)、Windowsクライアント、SQL Server(~2016)、Microsoft Azure、Lync Serverなどのトレーニングを開発、実施してきた。
わかりやすく、受講後すぐにアクションにつながるトレーニングを心がけ、講師評価及びコース評価などで社内表彰を4年連続獲得。
2児の父として家庭との両立を図りながらも、たまに青いサイリウムを手に、某ライブに参戦している。

<[分析]という作業とSQL Server>

昨今のデータベースは、これまで以上の役割を担うようになってきていますね。
例えば、[分析]。アナリティクスやビジネスインテリジェンスと言ったりすることもあります。
これは、データをためるだけでなく、それを分析し、様々な戦略に役立てることを目的としています。
移行にあたってはこういった役割が求められることもあるかもしれませんね。

ただし、大まかに以下の様な条件を考えておく必要があります。データベースでの分析作業に求められること

ネコなんだか大変そう・・・。



そう、「大変」なんです。[分析]と聞くだけでも大変そうなのに、そもそものデータベース側の準備も大変です。

今までの業務の処理もやりつつ、「分析も」となると、「別のサーバーを作ります」とか「負荷的に無理です」とか「夜間に分析させて翌朝レポート出します」といったことになりやすいわけです。

こう言った条件に対して、MicrosoftがSQL Serverを通じて出した答えは・・・

インメモリOLTPの採用、計算に強いインデックス採用、SSDアプライアンスの提供、Operational Analytics

といった部分を段階的に強化しました。
これらは、高価なハードウェアに頼らなくても、より効率的に速く分析処理ができるようソフトウェアレベルで強力に支援してくれます。
また、チューニング済みのハードウェア[SQL Server SSD Appliance]では、SSDを採用することでハードウェアとソフトウェアの両面から高速化を強力に支援。小規模から大規模まで多様なラインナップが用意されています。

ネコ実は某有名Webサイトも、裏ではSQL Server SSD Appliance支えているみたいよ!


これら4つはあくまで代表的な強化点ですが、各バージョンで段階的に採用されてきました。
SQL Server 2016では、それらが最適化され、実用に耐えるものに進化してきています。

また、何より大事なのが、

ネコ既存のデータに追加で構成できるものも多い!

ということです。
従来のデータベースやテーブルの構成に追加することで、単純に高速化できる処理も多かったりします。
例えば、単純な集計や計算処理もカラムストアインデックスを使うことで大幅に高速化できる場合もあります。

<「速い速い」はどれだけ速い?>

カラムストアインデックスやインメモリOLTP(最適化)などは、データへの各種処理の高速化・高効率化に貢献する機能の1つですが、一言で「速い」といってもどのくらい速いのでしょうか。その結果の一端をお見せしましょう。

・カラムストアインデックスの動作確認
 約1000万件のデータが入っているテーブルに対してGROUP BYで集計をかけた場合です。

カラムストアインデックスの動作確認

明確な数字はライセンス規約上掲載できませんが、クラスタ化インデックスだけの場合に比べ、性能が大幅に改善しているだけでなく、サイズもコンパクトになっていることがわかります。

・インメモリOLTPの動作確認
 100万件のデータ追加時の実行時間を簡易的に測定した場合です。
 (ネイティブコンパイルストアドプロシージャ未使用)

インメモリOLTPの動作確認

データ追加において大幅に高速化していることがわかります。

これらの動作確認は、同じハードウェア、OS、SQL Serverなどすべて同一条件にて実施しています。
もちろん、前提条件、適材適所などしっかり確認は必要ですが、新しい技術を使えば一定レベルの性能向上が見込めるわけです。

ネコ新しい選択肢として考えることもできるね!



実は、上記の動作結果は弊社で提供している実習の一部を抜粋したものです。
実習では実際の実行時間をワークシートに記録しそれを持ち帰ることができるため、SQL Server 2016導入時のサンプルとして活用いただけます。

 SQL Server 2016 新機能と差分 (UCD31L) ※1日コース

また、以下のSwayコンテンツでは本研修の紹介も行っています。

SQL Server 2016 新機能と差分 コース紹介 -Microsoft Sway-


皆様のご受講を心よりお待ちしております。

【トピック】 「MCP教科書 Windows 10」を執筆しました!書籍表紙

Microsoft認定トレーナーとしてお客様から高い評価をいただいている今井が、このたび「MCP教科書 Windows 10(試験番号:70-697)スピードマスター問題集(翔泳社出版)」を執筆し、3月2日に出版されました。
さらに、4月8日(土)に開催される「丸かじりセミナー(無料、主催:株式会社翔泳社、日本マイクロソフト株式会社)」で講師を担当します。

みなさん、こんにちは。富士通ラーニングメディアの松井です。

現在、Javaによる業務システムは大きな変革期にあります。
1つ目の潮流は、REST APIの利活用や提供のニーズが高まっていることです。モバイルアプリケーションのバックエンドやシステム間連携を容易にするため、REST APIを提供し、レスポンスをJSONなどのデータで返すアーキテクチャに注目が集まっています。
2つ目の潮流は、これまで使用されてきたオープンソースのフレームワーク(StrutsやSeaser2)がEOL(End of Life:サポート終了)となったことです。このため、Java EEの標準技術に移行する需要が高まっています

「REST API」をキーワードに、「イマドキの業務システム開発」を読み解いていく本シリーズの第2回では、「どうやってREST APIベースの業務システムを開発するの?」という疑問について、Java EE 7という最新の標準フレームワークを使用した開発方法をご紹介していきます。
REST APIベースの業務システムの詳細については、前回のコラムをご覧ください。

<時代はAPIファースト!? イマドキの業務システム開発ことはじめ>
 第1回 なぜ流行っている?「REST API」 ~アプリもインフラ作業の自動化もAPIで!~
 第2回 REST APIベースの業務システム開発(Java編)
 第3回 イマドキの業務システムはフロントエンドも重要です!

第二ラーニングサービス部 松井 正徳(まつい まさのり)講師画像

主にJavaやHTML/CSS/JavaScriptなどのWebアプリケーション開発コースを担当。
最近はRuby、Pythonなどのスクリプト言語やLinux、クラウドなどインフラ技術も勉強中。
アプリケーション開発のオールマイティSEとなるべき、精進の毎日。

プライベートでは、セーリングと日本酒を愛する自由人。
日本酒の今年の目標は、新潟越後の93酒蔵の利き酒を全制覇すること。

<JavaEEとはなにか?>

Java EE(Java Platform, Enterprise Edition)とは、サーバサイド向けアプリケーションに必要な機能の仕様の集合(API群)です。

2000年代のJavaのアプリケーション開発においては、Java EEの前身であるJ2EEの開発生産性の低さもあり、オープンソースのフレームワークが台頭していました。ただし、オープンソースのフレームワークは、必ずしも長期的にサポートされるとはかぎらない点に注意が必要です。現に、代表的なオープンソースフレームワークであったStruts1.xとSeasar2は、EOL(End of Life)となっています。
オープンソースフレームワークの諸技術を取り込み、Java EEの最新バージョンでは標準技術のみで高い生産性で堅牢な業務システムを開発可能です。また、後方互換性も十分に考慮されており、長期的な安定性を見込むことができます。

Java EEは仕様の集合であり、アプリケーションの各機能を実現する仕様が定義されています。以下に、REST APIベースの業務システムを開発するにあたり、必要となる仕様を示します。

・JAX-RS(Java API for RESTful Web Services)
REST API を開発するための Java EE標準仕様。
・JPA(Java Persistence API)
データの永続化やO/Rマッピングの標準を規定した Java EE標準仕様。
・JTA(Java Transaction API)
トランザクション管理に関する Java EE標準仕様。
・CDI(Contexts and Dependency Injection)
DI(Dependency Injection : 依存性の注入)やAOP(Aspect Oriented Programming : アスペクト指向プログラミング)を実現するための Java EE標準仕様。
・Bean Validation
JavaBeansに対してバリデーション(入力された値に対する妥当性の検証)を行うためのJava EE標準仕様。

REST API呼び出し

上図は、Java EEでREST APIベースの業務システムを開発する場合に使用する各要素技術をマッピングしたものです。
クライアントからリクエストがあると、Bean Validation による入力値検証後、JAX-RSで実装したREST APIで定義されたリクエストに応じた処理を実行し、データベースへの問い合わせについてはJPA/JTAを通じて行われます。また、一般的に業務システムは役割ごとのレイヤーに分割して構成しますが、メンテナンス性を向上させるため、CDIによってレイヤー間を疎結合に保ちます。

<JAX-RSによるREST APIの実装例>

JavaによるREST API開発の中核となるのはJAX-RSです。

Java EE 7の最注目の仕様の一つで、JAX-RSのバージョンが2.0に上がり、RESTクライアント(REST APIを呼び出すクライアント側のプログラムを実装する仕組み)やフィルタ(毎回のリクエスト/レスポンス時に共通的に実行する処理を定義する仕組み)など様々な機能が追加されました。

REST APIベースの業務システムとして、あるショッピングサイトを例に考えてみましょう。
Webサイトからの注文だけでなく、将来はモバイルアプリケーションからの注文も、同じシステムで受け付けられるようにREST APIを定義したとします。では、以下のような注文情報の取得に関するREST APIがあった場合のJAX-RSでの実装例をみてみましょう。

REST API呼び出し

JAX-RSでは、REST APIで提供する処理を定義するクラス(リソースクラス)を、アノテーション(注)を付与することで作成します。
リソースクラスには、リクエスト(HTTPメソッドおよびURLパターン)に対応したリソースメソッドを定義します。

①リソースクラスにアクセスするリソースURL(/flmmarket/api/orders/1)を@Pathアノテーションで指定
②注文情報はJSONで返却するので、@Producesアノテーションでレスポンスのデータ形式をJSONに指定
③リクエストのHTTPメソッドはGETなので、対応するメソッドに@GETアノテーションを指定
④リクエストのURLパターン(/flmmarket/api/orders/1)に対応し、検索条件の注文番号を指定する orderid のパスパラメータを取得できるように、@Pathアノテーションを設定
⑤検索条件の注文番号を指定する orderid のパスパラメータを取得できるように、@PathParamアノテーションを設定
⑥クライアントへのレスポンスは、各種設定をしたResponseクラスのオブジェクトを戻り値として指定

→ok()メソッドを呼び出すことで、HTTPステータスコード:200(成功)を設定
→ok()メソッドの引数に検索結果を表すorderを指定。レスポンス時に、JavaオブジェクトはJSONへと変換

(注)クラスやメソッドなどに対してメタデータとして付加情報を設定する機能

普段からプログラムに慣れ親しんでいる方なら、JAX-RSのソースコードを初見でも直感的に理解していただきやすいのではないでしょうか。
HTTPメソッドのGETの例をご紹介しましたが、POSTやPUT、DELETEなども同様に定義可能です。

<Java EEを効率的に習得するには>

ここまでJAX-RSを簡単にご紹介してきましたが、実際の業務システムでは、データベース連携やレイヤー間を疎結合に保つ仕組みが必要です。また、Java EEによるREST APIベースの業務システムの全体像や各要素技術の連携方法を理解することも重要です。

Java EEを習得するには、サンプルアプリケーションを動かし、実際にプログラミングすることが一番です。
ただ、独学だと1つ1つの要素技術は理解できても、要素技術の連携や技術の適用場面について体系的に理解するのは難しいかもしれません。

・REST APIを作ったけど、入力値の検証やエラーのときはどうレスポンスを返せばいいの?
・REST APIのアクセスログをとりたいけど、どうしよう?
・データベースのテーブルと返却するJSONの構造って、同じでいいのかな?

そんなときは、体系的な知識を短期集中で学習できる講習会がオススメです。

JavaEEによるRESTfulアプリケーション開発(UFN57L):
     2017年3月27-29日開催!

この講習会では、Java EEの全体像や各要素技術を学習したあと、総合演習を行います。総合演習では、API仕様書をインプットとして、サーバサイドで各要素技術が連携したシステムを開発します。3日間をとおして、実践的にJava EEによるREST APIベースの業務システムの開発スキルを習得できます。API仕様書例

今回はサーバサイドのREST API構築方法を中心にみてきました。
では、サーバサイドから渡されたJSONデータを使用して、クライアントサイドでUIを構築するにはどうすればいいのでしょうか。また、魅力なUIはどのような流れでつくればいいのでしょうか。
第3回目は、「イマドキの業務システムはフロントエンドも重要です!」についてご紹介します。次回もお楽しみに!

今回のコラムでREST APIに興味を持った方は、是非「REST API」のコースマップもご覧ください。

 

今回のコラムのような皆様のスキルアップに役立つ情報や、お得なキャンペーン、無料セミナーなどのご案内情報を、メールマガジン(毎週木曜)で配信しています。
この機会にぜひご登録ください。

メールマガジン登録へ

 

みなさん、こんにちは。富士通ラーニングメディアの松井です。

早速ですが、イマドキの業務システムには、なにが求められ、どのように対応していかなければならないのでしょうか。 
私なりに3つの課題に整理してみました。

  • 課題1: PCだけでなく、モバイルでも業務システムを利用できるようにする必要がある。
  • 課題2: ビジネス環境の変化に対して、俊敏に対応する必要がある。
  • 課題3: 自社内のシステムだけでなく、他社のシステムやさまざまなWebサービスと連携できる必要がある。

どうでしょう、いずれも心当たりのある方や、今まさに取り組まれている方などもいるのではないでしょうか。
これら3つの課題を達成するにあたり、近年REST APIが着目されてきています。
今回から3回にわたって、「REST API」をキーワードに、「イマドキの業務システム開発」を読み解いていきます。

<時代はAPIファースト!? イマドキの業務システム開発ことはじめ>
 第1回 なぜ流行っている?「REST API」 ~アプリもインフラ作業の自動化もAPIで!~
 第2回 REST APIベースの業務システム開発(Java編)
 第3回 イマドキの業務システムはフロントエンドも重要です!

初回は、「REST APIってそもそもなに?」「REST APIを使うとなにが嬉しいの?」という疑問を解消していきます。

第二ラーニングサービス部 松井 正徳(まつい まさのり)講師画像

主にJavaやHTML/CSS/JavaScriptなどのWebアプリケーション開発コースを担当。
最近はRuby、Pythonなどのスクリプト言語やLinux、クラウドなどインフラ技術も勉強中。
アプリケーション開発のオールマイティSEとなるべき、精進の毎日。

プライベートでは、セーリングと日本酒を愛する自由人。
日本酒の今年の目標は、新潟越後の93酒蔵の利き酒を全制覇すること。

<REST APIとはなにか?>

「REST API」とは、APIを呼び出すことでWebを通じてさまざまなサービスを利用できる仕組みのことです。

ここで出てくるREST(Representational State Transfer)とは、2000 年頃に Roy Fielding 氏が提唱した、分散アプリケーション構築においてコンポーネント間連携に適したサービスを構築する際の設計原則の集合のことです。
主に以下の4つ特徴があります。

・すべてのリソースは汎用的な構文で一意に識別される
・セッションなどの状態管理を行わない
・情報を操作する命令はあらかじめ定義および共有されている
・情報の内部に、別の情報や状態へのリンクを含めることができる

ポイントはRESTの設計原則がWeb技術と親和性が高いということです。

REST API以前にもXMLなどを使用したシステム間連携の仕組みはありましたが、厳密な仕様に基づいた実装が必要で、独自の通信プロトコルを使用する必要があるなど、開発には多くの労力がいりました。

それに対し、REST APIはシンプルな設計で分散アプリケーションを実現できることや、すでに普及していたWebのHTTP通信でやりとりをできる手軽さ から人気となりました。
このとき、REST APIでのクライアント/サーバ間のデータの受け渡しには、軽量なデータ形式であるJSONが使用されることが一般的です。
JSONはJavaやC#など主要言語で標準的にサポートされているため、使用言語が違うシステム間の連携も容易に行えます。

REST API呼び出し

<REST APIを使うメリットとは? ~システム開発者編~>

REST APIベースの業務システムにすると、モバイルアプリケーションへの対応や、外部システムとの連携が従来よりも容易になります。
外部システムとの連携におけるREST APIの優位性は、前項の「REST APIとはなにか?」で述べていますので、ここではモバイルアプリケーションへの対応を中心にみていきます。

まずは、従来のWeb業務システムとREST APIベースの業務システムを比較してみましょう。
2つの大きな違いは「返却するリソース」です。返却するリソースの違いの図

従来のWeb業務システムは、ユーザーのリクエストに対して、「画面(HTML)」を返却します。ユーザーは各デバイスからブラウザを使用し、画面を通してデータの参照や機能の利用を行います。
しかし、モバイルのように低速かつ不安定な通信環境で操作する場合、データ量が多い画面だとユーザーの待機時間が増加したり、操作性が低くなったりしてしまいます。
一方、REST APIベースの業務システムは、「データのみ(JSONなど)」を返却します。データのみであれば軽量かつ加工しやすく、クライアント側はブラウザに限らず外部システムやモバイルアプリケーションでも扱うことができます。

さらに、JSONなどのデータのみを返却するアーキテクチャは、「画面制御を行うクライアントサイド」と「業務データの保存・更新や業務処理を行うサーバサイド」との分離を促進します。クライアントサイドとサーバサイドの分離は、メンテナンス性向上や各サイドの分業化、並行開発のしやすさを促します。

例えば、一般的に改修要望が多い画面部分の修正について、従来のWeb業務システムでは画面の生成と業務処理とが密接に関連しやすく、改修負荷が大きくなりがちでした。
一方、REST APIベースの業務システムの場合、クライアントサイドの修正がサーバサイドに影響しなくなります。

<REST APIを使うメリットとは? ~インフラエンジニア編~>

近年の業務システム構築のスピードアップを語る上で、はずすことができないのはクラウドサービスです。

インフラを「自前でもつ」形態から、クラウドサービスで「必要な分を必要なだけ必要なときリソースを利用する」形態が主流になりつつあります。
クラウドサービスには、クラウド上のインフラ環境の構築・運用管理を制御する各種REST APIが提供されています。
そのため、REST APIを利用するスクリプトを用意することで、従来の手動での構築作業に比べ、大幅な工数削減や作業ミスによる障害発生の防止を実現できます。

<REST APIの今後>

Webを通じて広く公開されたREST API同士を組み合わせることで、新たなサービスを迅速に提供することができるエコシステムは「APIエコノミー」と呼ばれ、注目を集めています。
近年、FinTech(注)に代表されるITによる革新的なサービス登場の裏側には、各社が自社のビジネス機能の一部をREST APIでアクセスできるWebサービスとして提供していることがあげられます。
今後もREST APIの利活用や提供によるビジネス拡大の動きは加速するものとみられています。

(注)FinTech: 「Finance(金融)× Technology(技術)」による造語で、主にIT技術を駆使した革新的な金融商品・サービスの潮流のこと

<業務システムの課題と対応策>

いかがだったでしょうか。REST APIが流行っている理由、おわかりいただけましたか?
最後に、冒頭でご紹介した業務システムの3つの課題に対する対応策を整理してみます。

  • 課題1: PCだけでなく、モバイルでも業務システムを利用できるようにする必要がある。
    → レスポンスにJSONなどのデータを返却するREST APIベースの業務システムを開発する。
  • 課題2: ビジネス環境の変化に対して、俊敏に対応する必要がある。
    → REST APIでクライアントとサーバサイドを分離することで、メンテナンス性向上や各サイドの分業化、並行開発のしやすさを促す。
    クラウドによるインフラ構築にあたり、REST APIを利用したインフラ作業の自動化を行う。
  • 課題3: 自社内のシステムだけでなく、他社のシステムやさまざまなWebサービスと連携できる必要がある。
    → リソースを操作するインタフェースをREST APIで定義し、インタフェースの統一と標準化を図る。

REST API活用イメージ図次回は、REST APIベースの業務システムをJavaで開発する方法についてご紹介します。具体的には、Java EE7という最新の標準フレームワークをとりあげますので、お楽しみに!

今回のコラムでREST APIに興味を持った方は、是非「REST API」のコースマップもご覧ください。

 

今回のコラムのような皆様のスキルアップに役立つ情報や、お得なキャンペーン、無料セミナーなどのご案内情報を、メールマガジン(毎週木曜)で配信しています。
この機会にぜひご登録ください。

メールマガジン登録へ

 

みなさん、こんにちは。
富士通ラーニングメディアの大仏(俗称)です。 ITサービスマネジメント関連の教材開発や講師を担当しています。

今回のブログでは、システム運用現場における変更管理とリリース管理の活動にスポットを当てて、その重要性をご紹介したいと思います。

【登場人物紹介】

大仏(俗称)daibutsu.jpg
富士通グループの関係会社に入社し、以降、業務開発/運用保守に始まり、インフラ設計/構築、構成管理などの様々なシステム開発/運用現場を20数年ほど経験しました。
その後、講師に転身し、現在はITサービスマネジメント関連のコースに登壇しています。

見た目はどこぞのお寺の住職ですが、美味しいものやお酒が大好きなど、まだまだ俗念を振り払うことができず修行の毎日です・・・。最近、メガネ属性に開眼したようです。

 

タエtae.jpg
最近、開発部門から運用部門に異動となった、入社10年目の社員です。開発部門ではお客様の要望に従って仕様検討してシステム開発に勤しんでいました。運用部門はそんなシステムの運用管理だから少し楽になると考えていましたが、想像とは違う多忙な状況に驚き、どうにかしたいともがいているところ・・・

一方私生活では、家に帰ると怪獣(幼児)が待っているワーキングマザー。

 昼食後、自席でハーブティーを飲んでくつろいでいる大仏の前を、いつものように屋台弁当を食べ終えたタエが通りかかった。あまり元気な感じではない。 

大仏:
タエさん、顔色が良くないですね、何かありましたか?

タエ:
大仏さん、ちょっと、聞いてくださいよ~ 先月、去年から開発していた某システムがやっとサービス運用を開始したんですけど毎週トラブルが発生したり、いきなり運用手順が変わったりで、もうクタクタですよ~ 何で、こんなことになっちゃったんでしょうか?

大仏:ふーん、例えばどのようなことが発生しているのですか?

タエ:例えば・・・
jirei.JPG

タエ:
開発の最後の時期に、スケジュール遅延が発生したとかで、テスト要員としてお手伝いをして忙しかったのに、運用開始後もちっとも楽にならないです~

大仏:
なるほど、なるほど。これは、変更管理やリリース管理の進め方に問題があるようですね。 開発部署から運用部署に対して、業務アプリケーションやシステム環境などの開発成果物を引き渡してサービス運用を開始する、この引き継ぎの部分は昔から様々な問題が発生しているのです。
henkou.JPG

タエ:
何で、そのようなことになっちゃうんですか?

大仏:
そもそも、開発と運用とでは、作業や役割などの立ち位置が違うので、考えることや思うことが異なります。 開発側のプロジェクトマネジメントに対して、運用側のサービスマネジメントがあるように、管理の捉え方も違いますよね。
まず、開発担当は、「与えられた条件下で、品質の良いものを作る」ことを考えますが、運用担当は、「サービスを安定提供する」ことを第一に考えます。
例えば、安定稼働しているシステムであれば、修正や追加などの変更を行わなければ、安定継続してサービス提供が可能となるため、用担当は基本的に変更作業を嫌うわけです。
実際、変更作業が起因となって発生したトラブルの発生件数の割合は高く、危険を伴う作業であることは間違いありません。

当然のことながら、このような立場の違いを踏まえ、お互いに理解したうえで、一丸となって協力しなければ、良いサービスは提供できません。タエさん、DevOps(デブオプス)という言葉を聞いたことがありませんか?

タエ:
あの、ウォーターフォールではなくて、アジャイル開発とかいう手法を活用して開発するものですよね。

大仏:そう、このDevOpsは、開発部署(Development)と運用部署(Operations)の連携と協力をうまく進めるための、ひとつの工夫なのです。

まずは、どのような手法で開発するとしても、開発部署と運用部署といったように担当範囲で縦割りにするのではなく、ひとつの流れと捉えて、コミュニケーションや協力体制を組むことが非常に重要であることを覚えておいて下さいね。


communication.png

タエ:
なるほど、色々と難しい問題があるんですね、勉強になりました。じゃあ、今後は一体どうすれば良いのでしょうか?改善提案みたいなものをして、部門内で打開策を検討してみたいんですが?

大仏:
まず、ITサービスマネジメントのフレームワークであるITIL®(Information Technology Infrastructure Library)を参考にして、ルールや作業フローの見直しを行う流れがお勧めですね。 ITILのサービスライフサイクルは、以下のようになっていますが、今回問題となるのは、移行(トランジション)の段階となります。

lifec.JPG

大仏:
ITIL®では、RCV(Release, Control and Validation )という表現で、移行段階における「リリース、コントロールおよび妥当性確認」の重要性を説明しています。今回は、「変更管理」と「リリース管理および展開管理」のふたつのプロセスを中心に取り入れて、現場の改善を進めることになると思います。

大仏:現場にルールや活動を定着させるにあたって、重要なポイントがいくつかあります。これらは、さきほど伺った「現場で発生している問題」への対策にも通じますよ。
point.JPG

タエ:
やっぱり、まずは、システム運用の勉強をしないとだめですかね。最近、ITIL®の勉強をしようと思っているんですが、いきなりfoundation認定試験とかはやっぱり厳しいので、なかなか重い腰が上がらないんです。

大仏:
それならば、いきなりfoundation認定を目指すのではなく、まずは、ITILとはなんぞや?を初心者向けに分かりやすく教えてくれるeラーニングコースあたりから受講してみたらどうですか? ITIL®の概要を理解するのに最適ですよ。

タエ:
それって、私でも大丈夫ですか?  知恵熱とかでませんか?

大仏:
まぁ、大丈夫でしょう。 集合研修と違って、疲れたら休憩を取ったり、自分のペースで進められるのがeラーニングの良いところですから。

タエ:
分かりました! では、さっそく申し込んでみます。いろいろと、ありがとうございました。

大仏:
いえいえ、では日々精進してください。

 

【参考リンク情報】

2017年1月30日開催 ITIL変更管理、リリース管理の実装 ~あるべきサービスの安定化を目指して~(UAX04L)
ITサービスの提供において、開発担当と運用担当との責任分界点であり、「本番運用に入る前の水際」という位置づけである、移行段階の実践的なポイントを、ワークショップ形式で学習します! 演習では、ケースを元に変更管理とリリース管理の課題をグループで検討し、ITIL®でのプラクティスをもとにして、解決策を検討します。
安定運用を実現するために、移行段階ではどんな準備が必要なのかを把握するために、本コースをご活用ください。

2017年1月30日より開講 【e講義動画】なるほど ITIL概説 ~ ITILの本質を理解する~(UHD17D)
認定試験向けではなく、考え方や適用メリットを紹介するコースです。例えば、「ITIL®の適用を考えたいけど具体的に何がメリットなのか知りたい」「詳細は必要ないがITIL®のおおまかなことだけ知っておきたい」など、試験対策以外の様々なニーズにお応えしています。
経営者から実務担当者まで、立場ごとに必要な情報だけ選択して学習いただけます。ITIL®とはなんぞやの概要レベルを把握するために、本コースを是非ご活用ください。

 

【登録商標】
ITIL® は AXELOS Limited の登録商標です。

みなさん、こんにちは。
富士通ラーニングメディアの信澤です。ドキュメントサービス事業部で、システムや業務のマニュアル作成や翻訳のプロジェクト管理を主に行っています。

第1回は、一文を改善するポイント、第2回は文章全体のフォーマット、レイアウト、表現を統一するポイントについてお伝えしました。
本ブログの読者の方は、日々の業務の中で、後輩や部下の書いた文書をレビューすることもあるかと思います。私自身の経験を振り返っても、ライティングの勉強もしましたが、上司に何度もレビューで指摘され、修正することにより、文章力が身についていったなと思います。

今回も、当社の非公式マスコットキャラクターのトラちゃんとコテツくんとの会話形式で、
レビューとその修正を繰り返すという学びのサイクルの中で、文章力を鍛えていく重要性についてお伝えします。

    

富士通ラーニングメディアの非公式マスコットキャラクターを紹介します。

トラ画像

 

トラ(とら)

わかりやすい文章の書き方を勉強中。日本語も英語も難しい・・・と思う今日この頃。

 

コテツ画像

コテツ(こてつ)

トラちゃんの後輩。常に前のめりで思い込みが激しい。本人(猫)はいたってマジメ。

 

  

背景
コテツくんは、お客様を管理するためのCRMの導入を検討するよう課長に指示され、NekoCRMの新商品説明会に行きました。説明会の内容を報告書にまとめ、課長に提出したのですが、わかりにくいと言われてトラちゃんに相談に来ました。
トラちゃんのアドバイスに従って文書を修正したので、さっそく見せに来たようです。

 

コテツ:イメージ図
トラ先輩、ご指摘の箇所を修正し、表現も全体的に見直しました。
いかがでしょうか?

 

 

 

イメージ図

 

 

イメージ図トラ:
うん。ビジネス文書のフォーマットも守っているし、レイアウトも見やすくなって、とてもよくなったと思うよ。

 

 

コテツ:イメージ図
ありがとうございます。
これでアメショー課長に出せます。

 

 

イメージ図

トラ:
ちょっと待って。内容についてなんだけど、「6. 所感」はちょっと問題あるね。
今のままだと自分の感想だけになっているよね。
アメショー課長からコテツくんへの依頼はなんだったのかな。

 

コテツ:イメージ図
お客様を管理するためのCRM導入を検討するため、NekoCRMの新商品を調査しろということでした。

 

 

イメージ図

トラ:
そうだよね。コテツくんは、NekoCRMの新商品発表会に行って、この商品を導入すべきと思ったの?
それとも、導入すべきではないと思ったの?

 

イメージ図

コテツ:
そうですね。
小さい規模で始められる安いプランもありますし、標準で必要な機能がついているので、うちの会社の要件に合っていると思いました。

 

イメージ図

トラ:
だったらそれを書けばいいんだよ。
ビジネス文書では、その文書の目的に合わせた所感を書く必要があるんだ。今回は、課長がCRM導入の判断をするための報告書だから、その判断材料になる所感を書くと良いよ。

 

コテツ:イメージ図
なるほど、勉強になります!
いつもレビューをありがとうございます。

 

 

イメージ図

トラ:
気にしないでいいよ。
僕もいつもミケさんに文書をレビューしてもらっていたし、何度も失敗して覚えてきたんだ。

ミケさんはいつも親切に教えてくれたな~(思い出にひたるトラちゃん)。

イメージ図

 コテツ:イメージ図
そうでしたか。
トラ先輩にも失敗があったんですね。少し安心しました。

 

イメージ図

トラ:
文書を作成したら、自己チェックして、他者レビューを受けること。
そして、その指摘内容を次回の文書作成に生かしていくことが重要だよね。

 

コテツ:コテツ画像
わかりました!
今回の指摘内容を生かして、CatCRM、DoraCRM、KonekoCRMの報告書も書くので、また明日レビューしてください。

 

イメージ図

トラ:
(えー、そんなにあるの‥‥‥。)

 

 

 

いかがでしたか?文章力は一日にしてならず。自己チェック結果や他者レビュー結果を次の文書作成で実践するという学びのサイクルを回すことにより、文章力を鍛えていく必要があります。
しかしながら、最近は職場が忙しくなり、上司やトレーナーの方が若手社員の文章を添削する時間が取れない、自分で修正した方が早いので修正してしまって、若手社員の文章力向上につながっていない、そもそも指導できる人がいないなどのお悩みもお聞きします。

 

<コース紹介>

「文章力を鍛える!  ビジネス文書作成トレーニング【文書添削】」(UAF01B)では、

ビジネスシーンを想定した演習課題に取り組み、報告書や議事録を作成して添削を受けるという擬似的な体験をする中で文章力を鍛えることができます。


 

 

みなさん、こんにちは。
富士通ラーニングメディアの信澤です。ドキュメントサービス事業部で、システムや業務のマニュアル作成や翻訳のプロジェクト管理を主に行っています。

前回は、一文を改善するポイントを文書作成の原則としてお伝えしましたが、今回はわかりやすいビジネス文書を作成するため、ビジネス文書のフォーマットを守る、読みやすくレイアウトする、表現を統一するというポイントについてご説明します。

今回も、当社の非公式マスコットキャラクターのトラちゃんとコテツくんとの会話形式で、
よくある悪い文章とそれを改善するポイントをご紹介します。

    

富士通ラーニングメディアの非公式マスコットキャラクターを紹介します。

トラ画像

 

トラ(とら)

わかりやすい文章の書き方を勉強中。日本語も英語も難しい・・・と思う今日この頃。

 

コテツ画像

コテツ(こてつ)

トラちゃんの後輩。常に前のめりで思い込みが激しい。本人(猫)はいたってマジメ。

 

  

背景
コテツくんは、お客様を管理するためのCRMの導入を検討するよう課長に指示され、NekoCRMの新商品説明会に行きました。説明会の内容を報告書にまとめ、課長に提出したのですが、わかりにくいと言われてトラちゃんに相談に来ました。
トラちゃんのアドバイスで文章は改善したのですが、まだビジネス文書として直すところがあるようです。

 

コテツ:イメージ図
トラ先輩、文章は直したのですが、他にも直すところがあるんですよね。さっそく、直しましょう!

 

 

 

イメージ図

 

 

イメージ図トラ:
まずは、ビジネス文書の基本的なフォーマットについて説明するね。
発信者名の一般的書き方なんだけど、社内文書は「所属部署名/(肩書き)/氏名+様」、社外文書は「会社名/所属部署名/(肩書き)/氏名+様」の順なんだ。

 

コテツ:イメージ図
なるほど。
それでは、「素敵商品事業部課長 アメショー様」とするのが正しいんですね。

 

 

イメージ図

トラ:
そう!正式にはそうなるね。部内なので、正式ではなく、「素敵商品事業部 アメショー課長」としてもいいけど、その場合、「課長」は敬称扱いだから「様」はいらないよ。

 

コテツ:イメージ図
なるほど、勉強になります。
ビジネス文書にはルールがあるんですね。

 

イメージ図

トラ:
基本的なフォーマットについてもう少し説明するね。
報告者名は、発信者名の下に右寄せで書くのが一般的なんだ。
そして、結語は、続きがないことを示すため「以上」で締めくくろう。
これはルールだから覚えておいた方がいいよ。イメージ図

 コテツ:
わかりました!
発信者名と結語を追加します。それで完成ですか?

 

イメージ図

トラ:
まだまだ完成じゃないんだ。
次はレイアウトについて説明するね。
小見出しと説明文に注目してみて。文の開始位置が一緒になっているよね。何か問題だと思わないかい?

 

コテツ:イメージ図
うーん。
小見出しが目立たないということでしょうか。

 

 

イメージ図トラ:
そう。説明文はインデントをつけて、小見出しの下の階層であることがわかるようにした方がいいよ。
それから、箇条書きは「ぶら下げ」と言って、2行目以降を字下げした方が読みやすいよね。たとえば、以下のようになるよ。

・多くの標準機能を搭載しているが、関数とAPIにて容易に短期間で
   カスタマイズできるようになっている。

 

コテツ:イメージ図
なるほど。
改行してスペースを入れればいいですね。

 

イメージ図

トラ:
えっと。Microsoft Officeでは「段落」の機能でインデントやぶら下げの設定ができるから、研究してみてね。スペースで調整すると、文章を書き替えたときに修正が大変だよ。

 

コテツ:コテツ画像
わかりました!
他にも何かありますか?

 

イメージ図

トラ:
レイアウトとしては、改行の有無も統一した方が、小見出しがわかりやすくなるよね。

 

 

コテツ:コテツ画像
本当ですね。改行のあるなしが混在していました。
小見出しごとに改行を入れるといいですね。

 

イメージ図

トラ:
そう!
あとは文章の統一なんだけど、「ですます調」と「である調」は混在させないでね。混在すると読みづらくなるんだ。

 

 コテツ:コテツ画像
それは意識していませんでした。
全体的に見直すことにします。

 

イメージ図

トラ:
そうだね。
文章を書いたら、自分でもチェックすることが重要だよ。誤字、脱字がある文書だと、それだけでも信頼を失うんだ。
自分でチェックシートを作って、自己チェックすることも有効だね。

 

コテツ:コテツ画像

ありがとうございます。さっそく書き直してきます。

あ、そういえばアメショー課長が、トラ先輩を探していました。議事録に間違いがあるから『すぐに呼んでこい!』とのことです。

 

イメージ図

トラ:
えー。それ先に言ってよ。自分も自己チェックできてなかったかも~。

 

 

 

第3回 【文章力を鍛える!】添削担当者が語る文章改善のポイント3~レビュー・修正の学びのサイクルで文章力を鍛える~に続く)

 

いかがでしたか?ビジネス文書を完成させるには、一文一文を改善するだけではなく、ビジネス文書のルールに従って書く、読みやすくレイアウトする、表現を統一することも重要になってきますよね。また、当たり前のことですが、文書を作成したら自己チェックする必要があります。
若手社員の文章指導をしていて、対象の文書が自己チェックされていないなと思われる方も多いのではないでしょうか。早い内からしっかり自己チェックする習慣をつけていく必要がありますね。


<コース紹介>

「文章力を鍛える!  ビジネス文書作成トレーニング【文書添削】」(UAF01B)では、

自己チェックシートがついていますので、自然と自己チェックする習慣が身につきます。


 

 

みなさん、こんにちは。
富士通ラーニングメディアの信澤です。ドキュメントサービス事業部で、システムや業務のマニュアル作成や翻訳のプロジェクト管理を主に行っていますが、ここ数年、お客様の新入社員や若手社員のビジネス文書の添削を担当させていただくことが多くなってきました。

「日本人なので、日本語の文章は書ける。」と思われるかもしれません。しかし、学生時代に作成していた作文やレポートなどとは異なり、ビジネス文書では、情報を端的に正確に伝え、相手を動かす必要があります。添削を通じ、ビジネス文書を作成する文章力をつけるには、練習が必要だとしみじみ実感しています。

今回は、当社の非公式マスコットキャラクターのトラちゃんとコテツくんとの会話形式で、
よくある悪い文章とそれを改善するポイントをご紹介します。

    

富士通ラーニングメディアの非公式マスコットキャラクターを紹介します。

トラ画像

 

トラ(とら)

マニュアル制作初心者で、わかりやすい文章の書き方を勉強中。日本語って難しいなあ・・・と頭を抱える毎日。

 

コテツ画像

 

コテツ(こてつ)

トラちゃんの後輩。常に前のめりで思い込みが激しい。本人(猫)はいたってマジメ。

 

  

コテツくんは、お客様を管理するためのCRMの導入を検討するよう課長に指示され、NekoCRMの新商品説明会に行きました。説明会の内容を報告書にまとめ、課長に提出したのですが、わかりにくいと言われてトラちゃんに相談に来ました。

 

コテツ:イメージ図
トラ先輩、この報告書、課長にわかりにくいので書き直せと言われてしまったのですが、何が悪いのか良く分からないんです。

 

 

 

イメージ図

 

 

イメージ図トラ:
えっと、いろいろ問題はあるんだけど、たとえば、以下の文章、どこかおかしいと思わない?
「NekoCRMは、今までの「単純な顧客リストとしてのCRM」から「攻めるCRMに」ということが特色の一つである。」
主語と述語はどれかな。

 

コテツ:イメージ図
そうですね。
「NekoCRMは」が主語で「特色の一つである。」が述語でしょうか。

 

 

イメージ図

トラ:
そうそう。その主語と述語をつなげてみて。

 

コテツ:イメージ図
「NekoCRMは特色の一つである。」
あれ、何か変ですね。

 

 

イメージ図

トラ:
そうだよね!主語と述語があっていないよね。
このような文章を主語と述語の「ねじれ」があると言うんだよ。「ねじれ」がない文章を考えてみて。

 

 

コテツ:イメージ図
うーん。
「NekoCRMの特色の一つは、今までの「単純な顧客リストとしてのCRM」から「攻めるCRMに」ということである。」でしょうか。

 

 

イメージ図

トラ:
うん。わかりやすくなったと思うよ。
原則 主語と述語の「ねじれ」を起こさないと覚えておいてね。
それじゃあ、以下の文章はどこがおかしいのかな?:
「サービス開始は、今年の9月開始予定である。」

 

コテツ:イメージ図
あれ?「開始」が2回でてきますね。

 

 

イメージ図

トラ:
そう!
「サービス開始は、今年の9月予定である。」または「サービスは今年の9月開始予定である。」とすべきだよね。
意識せずに書いていると、このような誤りに気づきにくいので、以下の原則を頭に入れて、自分の文章を見直してみてね。
原則 同じ語句を繰り返さない

 

コテツ:イメージ図
なるほど。
「複数のプランを規模や用途に合わせて選択することができるので、適切なプランを選択することでコストを大幅に削減することも可能である。」も「選択」が2回でてきますね。
それでしたら、以下のように直してはいかがでしょうか。
「規模や用途に合わせて複数のプランを用意しているので、適切なプランを選択することでコストを大幅に削減できる。」

 

イメージ図

トラ:
うん、合格。

 

 

コテツ:コテツ画像
なるほど、勉強になります。
これでアメショー課長に提出します!

 

 

イメージ図

トラ:
待って、まだビジネス文書として直すところがあるんだよ!

 

 

 

 

 (第2回【文章力を鍛える!】添削担当者が語る文章改善のポイント2 ~文書全体のフォーマット、レイアウト、表現に気を配る~に続く)

 

いかがでしたか?自分もトラちゃんのように若手社員の文章が気になっているという方もいらっしゃるのではないでしょうか?
当社では以下のeラーニングコースを提供しています。若手社員の文章指導にお悩みの方、ぜひご検討ください。


<コース紹介>

「文章力を鍛える!  ビジネス文書作成トレーニング【文書添削】」(UAF01B)では、

文書作成の30原則を元に、文書作成のポイントを簡潔に短時間で学べます。また、6回の添削で文章力を鍛えることができます。


 

 

Javaの基本文法を一通り学習した若手社員Nさん。『Java Bronze』の資格も取得し、
「よし、これで一通りの事ができるようになった~!!」
と、はりきっています。 でも、ちょっと待ってください。
本当に、実用的なプログラミングスキルが身についているのでしょうか?

S先輩との、やりとりを見てみましょう。

今回は、Javaの基本文法を一通り学習した若手社員Nさんと職場のS先輩との、やりとりから実用的なJavaプログラミングスキルを身につける方法をご紹介します。

 

講師画像

Nさん:

Javaのプログラミングスキルを一通り習得した若手社員 さらなるスキル向上に向け奮闘中。

   

講師画像

S先輩:

○年目の中堅社員 時々辛口だが、積極的に後輩のNさんを引っ張っている。

 

  

 あなたのJavaプログラミングスキル、クラウドラボでグングン向上します!
 そもそもJavaプログラマーに必要なスキルって何?

 

S先輩:イメージ図
Nさん、Bronzeの資格取得おめでとう!!

 

 

 

イメージ図 Nさん:
ありがとうございます。S先輩のおかげです。かなり自信がつきました。
先週から、デザインパターンの勉強も始めました!!...

 

 

 

S先輩:イメージ図
頑張ってるね!ではCompositeパターン(*1)って説明できるかな?

 

 

 

イメージ図 Nさん:
 はい!!勉強しました。確かこんな感じでしたよね(クラス図を書いてみせる)。

 

 

 

イメージ図

 

S先輩:イメージ図
いいね!じゃあ、どういう時に、このパターンが有効なのか言えるかな??

 

 

 

イメージ図 Nさん:
 え・・・???

 

 

 

S先輩:イメージ図
ははは・・・まだまだ理解不足だな。じゃあ、この要件を満たすプログラムを
Compositeパターンを利用して、実装することならできるかな??
(Nさんに要件を渡す)

 

 

イメージ図 Nさん:
 え、えーっと、クラス図がこうなるから・・・。
 カタカタ・・・(実装中)

 

 

 

S先輩:イメージ図
せっかくEclipseを使っているんだから、一から打たなくても、もっと楽に入力できるよ・・・・。

 

 

 

イメージ図 Nさん:
 え・・・???

 

 

 

 

S先輩:イメージ図
例えばコンストラクタは、こうやってこうやれば、ほら・・・一瞬で作成できるよね!

 

 

 

 イメージ図

 

イメージ図 Nさん:
 えーーー!!こんな機能知りませんでした。

 

 

 

S先輩:イメージ図
よく使う便利な機能は、早い段階で使い慣れておいた方がいいよ。長い目で見たときに大きな工数削減になるからね。そうすれば、短縮した工数を、他のことに使えるよね。

 

 

イメージ図 Nさん:
 はい・・ありがとうございます。

 

 

 

・・・・・・・・・しばらくして・・・・・・・・・

  

イメージ図 Nさん:
 できました!!

 

 

 

S先輩:イメージ図
お疲れさま!どれどれ・・・うん、なるほど。これで正しく動くね。
Compositeパターンのメリットは分かったかな!!

 

 

イメージ図 Nさん:
 はい!よく分かりました。それは・・・(Compositeパターンについて説明)。

 

 

 

 

S先輩:イメージ図
そうだね。ただこのプログラム、正しく動いてはいるけれど、ちょっと可読性と処理効率が悪いかな。

 

 

 

イメージ図 Nさん:
 カドクセイと処理コウリツ????

 

 

 

 

S先輩:イメージ図
まず、プログラムは皆が読むものだから、「読みやすさ」を常に考える必要があるということだね。そして、ロジックの正確性だけではなく、メモリの挙動を考えたとき、無駄なことをしてパフォーマンスを落とさないように、なんてことも考える必要があるんだよ。

 

 

イメージ図 Nさん:
 そうなんですね。今まで、ほとんど何も考えていませんでした。

 

 

 

S先輩:イメージ図
あと、この書き方、バグを生む書き方になってしまっているよ!

 

 

 

イメージ図 Nさん:
 バグヲウムカキカタ??

 

 

 

 

S先輩:イメージ図
そう、あと、ついでに言うと、ここは・・・・・

・・・・・・・・

 

イメージ図 Nさん:
 ・・・・・私、もっともっと勉強して、もっともっといろんなプログラム書いてみます。参考書も2冊ほど買ってきたし。

 

 

 

 

S先輩:イメージ図
参考書って買っただけで満足して、読み始めて数ページで挫折することってない?

 

 

 

イメージ図 Nさん:
 あります!あります!正直「分からないー!!もういいやー!!」という気分になることがあります。

 

 

 

S先輩:イメージ図
プログラミングスキルを向上させるには、とにかく、繰り返しプログラミングするのが一番だからね!!
でも、一人の力で「勘所」を満遍なく身につけようと思うと非常に大変だ。いい方法があるよ。

 

 

イメージ図 Nさん:
 なんですか?教えてください!!

 

 

 

S先輩:イメージ図
それは・・・

 

 

 

学習することがまだまだ沢山あると気づいたNさん。
そのNさんにSさんが勧めたのが・・

 

◆-----------------------------------------------------

Javaプログラマーに必要なエッセンスがギュッ!と詰まったプログラミングや操作の
問題が圧巻の100問以上!これさえやればJavaプログラマーとしてのベースができる!

 実機演習をとおしてJavaプログラミングスキルを向上、定着させたい方、
【クラウドラボ】Javaアプリケーション編
をお勧めします!!

【クラウドラボ】Javaアプリケーション編の特徴

  • いつでもどこでも、繰り返し実機演習が可能なクラウド環境
  • 当社講習会で培ったノウハウがつまった、バラエティに富んだ問題が100問以上
  • 初級者から、中・上級者まで、幅広いスキルレベルに対応しているため、
    ご自身のスキルレベル、および必要スキルに応じて問題をピックアップし、スキルアップが可能

 
*クラウドラボの詳細、学習イメージについては、以下サイトをご参照ください。

クラウドラボのご案内

学習イメージ(動画)

動画

【クラウドラボ】実習環境接続の流れ

動画

【クラウドラボ】Javaアプリケーション編のご紹介

-----------------------------------------------------◆
 

 

イメージ図 Nさん:
 早速申込みます!!R課長に相談してみますね。

 

 

 

*1 Compositeパターン・・・階層構造を構成するオブジェクトの中で、各オブジェクトが末端かそれ以外かを意識せずに扱いたい場合に有効なデザインパターン。

 

月別アーカイブ