編集部からのお知らせ
「ZDNet Japan Summit」参加登録受付中! 
新着記事集:「負荷分散」
新しいクラウドの潮流

ソフトウェアジェネレータによる未来のシステム開発--新しいクラウドの潮流(3)

野口 央(デーコム)

2016-07-11 08:00

開発支援ツールにおける進化の過程

 現在の標準的なソフトウェア開発は、大まかには、要求仕様を定義するまでの上流工程とその仕様に基づくプログラム開発以降の下流工程に分類される。この下流工程は、綿密に計画されたスケジュールに基づき、「プログラム開発」、「単体テスト」、「結合テスト」を消化して、「運用テスト」の後、本稼動となる。


 これらの工程は一般的にウォータフォール型の開発によって進められるが、近年導入事例が増加しているアジャイル型でも、実際に必要とされる工程に大きな違いはなく、システム開発全体では多くの工数が割かれている。

 そのような状況に対し、最近の開発支援ツールの進化は、フレームワーク活用によるコーディング量の抑制、ビルド管理やテスト工程等の生産性向上を目指して進んでいる。しかし、いずれにしても、これらの手法では抜本的に改善されるには至っていない。

ノンプログラミング手法=ソフトウエアジェネレータ

 そこで「ノンプログラミングツール」なるものがある。設計仕様を入力することにより、実行形式のプログラムやソースコード(もしくは実行形式ファイル)が自動生成されるもので、プログラマ不要論とまで言われ始めており、上記のシステム開発工程を抜本的に改革するものとして、最近急激に注目されている。

 例として、近年では、ジェナのseapやMicrosoftのPowerAppsなど、利用者側が直感的に利用できるツールが登場している。これらは、「プログラム開発」だけではなく、「テスト」や「バージョンアップ」「仕様改訂」についても極めて大きな工程短縮効果があり、一部の用途に急速に広がっており、「ソフトウエアジェネレータ」と呼ばれている。

 このソフトウェアジェネレータには、以下の2つの工程がある。

要件定義から設計情報の生成

 機能要件と非機能要件に関わらず、ソフトウェアが実現すべき要件の情報(自然言語や簡易なコード)からプログラム設計情報を生成し、矛盾仕様の排除と仕様の欠損事項を補い、言語仕様に依存しない設計情報を生成する。

必要とされる言語仕様と実行環境に合わせたコードの生成

 上記の設計情報から実行環境に最適化されたプログラムを自動生成する。

 これらにおいて多くの経験が積み重ねられることで、最近ソフトウェア開発の自動化が具現化されてきている。もちろんこの「ソフトウエアジェネレータ」にも課題がある。まだ広い分野に汎用的に適用できるものではなく対象領域が狭いことだ。

 また、複雑な業務システムの機能の全てを実装しようとすると、その工程短縮効果は高くない。さらには、「不具合が発生した場合の原因追求に多くの時間がかかる」、「レスポンス改善の為のチューニング対応の範囲が限定される」など想定される効果が得られない場合もある。しかし、限定的な用途には、圧倒的な効果を生むため、注目が集まっているのである。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    Google Cloudセキュリティ基盤ガイド、設計から運用までのポイントを網羅

  2. セキュリティ

    仮想化・自動化を活用して次世代データセンターを構築したJR東日本情報システム

  3. ビジネスアプリケーション

    スモールスタート思考で業務を改善! 「社内DX」推進のためのキホンを知る

  4. セキュリティ

    Emotetへの感染を導く攻撃メールが多数報告!侵入を前提に対応するEDRの導入が有力な解決策に

  5. セキュリティ

    偽装ウイルスを見抜けず水際対策の重要性を痛感!竹中工務店が実施した2万台のPCを守る方法とは

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]