インフォメーション

ユニケージ開発手法 教育講座レポート

はじめまして、今年の4月からユニバーサル・シェル・プログラミング研究所で、お仕事見習い中のHです。いまは業務系システム開発・運用について猛勉強中。やはり基礎が大事ですよね、ということで、ユニケージ開発手法教育講座を受講しています。

この講座を一通り受ければ、業務で使われるバッチ処理システムやウェブアプリを開発・運用するために必要なスキルが身につきます。各コースを受講された皆さんの声を交えつつ、本講座の全体像、自分にあったコースを選択するポイントをお伝えします。

ユニケージ開発手法体系的に学べる

ユニケージ開発手法 教育講座」(以下、教育講座)とは、ユニバーサル・シェル・プログラミング研究所が開催するエンジニア向けの講座のことです。ユニケージエンジニアとしての知識量、そして問題解決能力を高めることができます。

そもそも、ユニケージ開発手法とはどういうものでしょうか。下段にまとめました。

シェルスクリプトは、UNIXとともに誕生したスクリプト言語です。そのシェルスクリプトをベースにしたユニケージ開発手法で作られたシステムは、高額なハードウェアや高度な専門知識を要するDBMSといったミドルウェアを基本的に使いません。

また、現場の社員を主体としたシステムの開発・運用・保守が可能です。「システムを納品して終わり」ではなく、現場のユーザーがニーズに合わせて自らの手で拡張発展、メンテナンスしていくことを前提にしています。

これまで教育講座を受講されたのは、「業務を知っているけれども、現場の課題解決に資するシステム開発の手法を身につけたい」という業務部門のユーザーさんや情報システム部門の担当者さん、または従来とは視点の異なるユニケージ開発手法をもとに顧客のシステム開発・運用を支援したい、というSI企業のエンジニアさんなどです。

講座の内容と、どういった方が対象になっているかを表形式でまとめてみました。

教育講座では、コマンドの基礎やシェルスクリプトの書き方を学ぶほか、システム開発の起点となる実データの整理や配置の仕方を学びます。「WindowsやMacのOfficeツールしか使ったことがないのだけれど」という人でも、大丈夫です。S1、S2講座では、前提となるUNIXの基礎やエディタ(Vim)の操作方法も一から身につけられます。

ユニケージ開発手法においてシェルスクリプトの作成に使うコマンドはUNIX標準のものもありますが、ユニケージ標準コマンド(usp Tukubai)を利用することで、開発生産性および日々の業務効率が高まります。ユニケージ開発手法では伝票などの実データをもとにアプリケーションを開発していきますが、データを取り扱う際に各種コマンドが威力を発揮します。これらのコマンドは、K1で学ぶことができます。

ユニケージ開発手法の目的は、業務上の課題を解決するということ。たとえば、業務効率を上げる、コンピュータ画面に向かう時間は最小限にしてお客様と接する時間を増やす、新たな業務を立ち上げるなどがあります。そのために業務知識のある現場の方自らがシステム開発・運用・保守を行うことが可能になっています。

演習を中心とする濃密なカリキュラム

全講座は1日もしくは2日間のカリキュラムが組まれています。実際に、K1の講座を一例に、教室の様子をご紹介しましょう。PCや受講用のテキストは、すべて講師側で用意しているので、受講者は基本的に「手ぶら」でOKです。大事なのは、実際に手を動かして、操作に慣れること。シェルスクリプトの書き方に関する手順(お作法)はK2で学びます。

ユニケージ開発手法は、従来型の開発手法と異なり、業務の中でやりとりされる各種伝票に記載される実データを起点に、集計や分析、出力などの処理を行うアプリを作ります。K3では、K1、K2で学んだ知識を基にAjaxを使った本格的なWebアプリケーションの作成を学びます。K3は2日間に分かれ、初日は郵便番号から住所を検索するアプリを作成。

2日目は、架空のスーパーマーケットを想定し、販売情報参照アプリを実際に作ってみるという内容です。皆さん、業務で類似の帳票類やシステムを利用しているだけに熱心に受講されています。K3受講者の方からは、「CGIを本格的に使いつつ、ユニケージ開発手法で作ったシステムの処理結果をWeb上に表示するまで体験できた。わかりやすかった」という感想をよく耳にします。

実践1 講座テキストが配布される

講座の初めに、こんなテキストが配られます。目次から2日にわたる講座の内容がわかるのですが、ページ数は181。こんなにたくさん覚えられるのかなぁと最初不安でしたが、あとあと自習や、コマンドリファレンスとして使えるように考慮されているそうです。

実践2 何でもできるAWKの実力を知る

講師がテキストの例を実際に入力し、実行結果を画面で見せてくれました。AWK1つで実にさまざまな処理ができることを理解しました。でもforやif文が出てくると処理は一気に複雑化。講師曰く「最初にAWKで苦労しておくと、後でTukubaiコマンドの有難みがわかります」とのこと。

$ cat hoge | awk '$1<="20110303"{print $1,$2,$4}'
20110302 バナナ 4
20110302 リンゴ 5
20110303 バナナ 9
20110303 ナシ 3
$ 

実践3 列の合計値が簡単に出せるsmコマンドを学ぶ

2日目は最初にsm2sm4sm5を学習。表計算でよくある各列の合計を求めるコマンドでした。AWKでもできることは1日目の実習で想像できていましたが、smシリーズだと簡単にできてしまいます。UNIXにはこの手のコマンドがありませんけど、COBOLやRPGにあったsum upみたいなものですね。

$ cat URE.IMO
001 さつまいも 20110405 32 1600
001 さつまいも 20110406 24 1200
001 さつまいも 20110407 49 2450
002 じゃがいも 20110405 102 5100
002 じゃがいも 20110406 98 4900
002 じゃがいも 20110407 121 6050
      

$ cat URE.IMO | sm2 1 2 4 5
001 さつまいも 105 5250
002 じゃがいも 321 16050
      

実践4 mojihameコマンドで、<table>の中身などがとても簡単に作れることを知る

HTMLで<tr>~</tr>の部分について1行だけ書いておいたテンプレートを用意しておき、このmojihameコマンドを使ってデータを与えれば、データの行数分の<tr>~</tr>が、値の入った状態で複製されます。これはHTML画面作りへの応用でとても重宝する気がして、真っ先に覚えてしまいました。

リンゴ 40円  3個
キウイ 78円  5個
バナナ 98円  2房
トマト 50円  1個
レタス 220円 1玉
パセリ 100円 2袋
      
    :
<table border="1">
<!-- MOJIHAME -->
  <tr><td>%1</td><td>%2</td><td>%3</td></tr>
<!-- MOJIHAME -->
</table>
    :
      

業務で使う実データを起点にアジャイルなアプリ開発

ユニケージ開発手法で取り扱う実データは、日々業務でやりとりされる帳票データなどです。それをもとにマスタデータを作ります。ただし、原本となる生データをいきなり使うのではなく、テキストファイル上でコマンドによって処理しやすいように文字列を整形します。

このような下準備をして、コマンドでいつでも処理できる状態になったデータ群が、L4またはPOMPAデータといわれます(コマンドとオプション、ファイル名などを入力し、ポン、と実行キーを押すとパッと処理結果が出る、という意味)。

K4では、このようなユニケージ開発手法におけるデータ構造やデータモデリングを学ぶことが出来ます。さらに、K5では、ユニケージ開発手法に適したシステム環境(ハード、ソフト、ネットワークなど)を学習します。

K6では運用管理を行う上でのポイント、具体的にはログデータを活用したエラー分析や運用監視アプリケーションの作成方法などを勉強できます。今後開講予定のK7では、プロジェクトマネジメントにおける人材育成やプロジェクト推進のコツを学べます。

教育講座の開催場所は、主に、ユニバーサル・シェル・プログラミング研究所本社のある東京・西新橋にある会場です。過去には大阪と沖縄で、出張形式の教育講座も開催されました。大阪では、業務システム開発の内製化に取り組む大手百貨店の社員の方を中心に、講座が開催されました。

さて、私(筆者H)もこの数カ月間で、いろいろなコースを受講してきました。ただ、教育講座は皆さんのニーズや、お持ちのスキルによって、必要なコースだけをピンポイントに受講することもできます。

「でも、どの教育講座を選べばよいのか、わからない」というご質問があるのも確か。そこで皆さん一人ひとりにピッタリの講座がわかるフローチャートを作成しました。参考にしてみてくださいネ!

USP MAGAZINE summer 2013、「ユニケージ開発手法 教育講座レポート」より加筆修正後転載

last modified: 2014-01-13 16:01:13