• 締切済み

MDAを使ったシステム開発の自動化について

yukinori_111の回答

回答No.1

MDAとはプログラムをプログラミング言語を用いて作成するのではなく、モデリング手法を用いてモデルとして作成することです。 プログラムを動作させる際には、ツールを用いてモデルをプログラミング言語へ変換し、実行します。 MDAの利点は、特定のプログラミング言語に依存しない形でプログラムを定義できることです。 プログラミング言語に依存しないということは、時代の流れなどにより実装技術が進化して、新しいプログラミング言語が誕生しても、モデルを変換するツールさえ整えば容易に対応ができるということです。 また、モデルはUML図(クラス図やシーケンス図など)を用いて定義するため、プログラミング言語を知らない人でもある程度理解しやすい形となるのが利点です。 しかし、現実はUMLでプログラムを完全に記述しようとすると大変大きな図になってしまい、結果的にプログラミング言語を読むよりも難しい図になってしまうことも多く、MDAは理想論としてはすばらしいものの、実開発ではほとんど使われていません。 さらに、プログラムを実行するためにはツールにより変換しなければならないことによって、開発効率の悪さも問題となります。 MDAに似た方法として実開発で使われているものとしては、Excelで記述した仕様書から実装コードの一部をマクロによって自動的に生成する方法などがあり、こちらの方が現実的だと言えます。

関連するQ&A

  • システム開発手法について

    資格取得を目指して経営情報システムを勉強しているのですが、 問題の答案を見ても理解できないところがあったので、質問させて下さい。 (1)『スパイラル型システム開発手法』と『アジャイル開発手法』は同じ意味ですか?   また、RADやXPといった開発手法は、アジャイル開発手法の一種という理解でよろしいですか? (2)問題解説に   『ウォーターフォール・モデルでは計画から実施までの時間がかかりすぎる、という点を   解決するために生まれた手法がスパイラル型システム開発手法』   とあります。   ”スパイラル”なんかにしたら余計時間がかかりそうな気がするのですが、   なぜスパイラル型開発手法は時間がかからないのですか? (3)問題解説に   『プロトタイピング手法では、エンドユーザー自らが試作品として作成したプログラムなどから   出発して情報システムを進化させていく』   とあるのですが、”エンドユーザー自ら”が試作品を作成するのですか?   エンドユーザーは試作品のチェックをするだけであり、   試作品を作成するのは委託されたプログラマーだと思うのですが…。 (4)解説に   『ライフサイクルアプローチ→システム設計・開発の一生を、予備調査から開発後の導入や                    維持・管理までとらえること』   とあるのですが、ライフサイクルアプローチとは実際に使用されている言葉ですか?   googleであまりヒットしなかったのですが…。 たくさん質問があって申し訳ありません。 初心者ですが、よろしくお願いいたします。

  • オープン系システム開発とは?

    いきなりで申し訳有りませんが、「オープン系システム開発」とは、具体的にいったいどういう事なのでしょうか?色々と、検索してみたのですが、いまいち理解できません。企業のホームページを見てみても、いったいどういう事なのか解りません。 プログラミングなど、コンピューターについて初心者なので、教えていただけませんか? よろしくお願いします。

  • システム開発をするにあたっての、仕事の進め方

    システム開発をする時、プログラムが知っているか等よりも、チームワーク、仕事の進め方の方が重要と聞きます。 複数人で仕事をするので、チームワークは理解できるのですが、仕事の進め方が良く理解できません。 僕は異業種からの転職活動中なのですが(前職はCAD設計)、面接官から 「前職での、仕事の進め方などをお聞かせください」と聞かれました。 仕事の進め方?と思いました。 答えに困りました。 どういう意味なのか?どういったことを聞き出したいのだろうか? またその答えで、どういう返事をすると、この人はシステム開発に向いてる人と思われるのでしょうか? もちろん、正しい答えを皆さんから聞きだして面接で嘘をつこうとは考えておりません。 ただ、このような質問を聞いたことも、転職の本などにも見たこともなく、想定もしていなく、この業界独特の質問なのかなと思い、皆さんに聞いてみたくなりました。 システム開発にあたって仕事の進め方とは具体的にどういったことなのでしょうか? 宜しくお願いします。

  • ハイドローションシステムについて

      ハイドローションシステムを使ってみようかと思っています。しかし、知り合いのなかで、使用している人がおらず、利点や欠点が理解できていません。利点として行動中に水分補給が出来るということぐらいしかわかりません。特にこのシステムの欠点などありましたらお教えください。  またハイドローションを使う場合は、水筒はもっていかないものでしょうか。併せてアドバイスください。

  • システム開発について

    この業界に入ってまだ、半年足らずの初心者です。 半年の間、画面遷移のテストくらいしか経験したことがないのですが、この度、急にシステム開発の設計のメンバーに入りました。 開発の手法等、全く分からず、UMLなど独学しているのですが、方法論が分からなくて戸惑っています。 どのようなもので学習すれば、効率良く習得できるのでしょうか? 近道はないのだろうと思いながら、経験以外でいち早くスキルを身につけたいと考えています。 返答お願いします。

  • ソフトウェア開発に詳しい方に聞きたい!!

    開発環境を用いた開発と、コマンド形式の環境による開発の、それぞれの利点と欠点を考察しなさい。 という演習があって分かりません わかりやすく解説お願いします

  • システム開発会社を大きくするためには何をしたら良い

    システム開発会社を大きくするためには何をしたら良いですか? 一人株式会社で、開発案件を受託しています。 ここから、会社を大きくしていきたいのですが、具体的にどのようなことをしたらスケールするのかイメージが沸かないので教えていただきたいです。

  • システム開発における

    システム開発における 問題点の分析について、アドバイス頂きたい事があり 投稿させていただきました。 <経緯> 現在使用している販売管理業務システムを 現行の業務と乖離してきている為内容を修正することとなった。 販売管理システムは、X業務システム、Y業務システム、Z業務システム 3つのサブシステムで構成されていて それぞれの業務に精通したメンバーを割り当てる必要があった。 ところが、かつて現有システムの開発に携わった経験を持ち、 各業務に精通しているメンバはわずか3名であり、 一方Z業務管理システムの構築に必要な特別なスキルを 身につけているのも、この3名だけであった。 結果として、A課長はこの3名をZ業務管理システムの開発に配置し、 X業務管理システム、Y業務管理システムともに、業務には精通しているが 開発スキルは不十分なメンバと開発スキルは十分だが業務の理解は 不十分なメンバの混成チームを編成し、各チームにリーダを配置し、本プロジェクトを開始した。 結合テストが終盤に差しかかる頃、 バグが多発しテストの進捗に影響を与えている状況が露呈した。 結合テスト工程でのバグ原因分析 サブシステム名 設計バグ件数 製造バグ件数 総バグ発生件数 X業務     51     89     140 Y業務     25     137    162 Z業務     2      21     23 全体      75     250    325 結合テスト工程でのバグ原因分析の結果によると、 X業務システム、Y業務システムについて それぞれ問題点を認めることができますが X業務システム、Y業務システムのリーダの立場として、 (1)表3の分析から、不具合を是正するためにどのようなことを行うか。 (2)プロジェクトの初期の段階でどのようなことをすれば根本的に  ここで生じている問題を回避することができたと考えられるか。 上記2点に関して、アドバイスを頂けないでしょうか。 以上。 宜しくお願い申し上げます。

  • 【システム開発】バグ改修時の設計書への落とし込み

    お世話になっております。1点教えて頂きたいことがございます。 システム開発を行っているのですが、バグが発覚した際、その内容が設計書に落とし込みができておらず、2次バグを誘発することになっております。 皆様は2次バグを防止するためにどのような手法を用いて防止しておるでしょうか。 現状はredmineへの登録のみで、それを見直すフローもございません。

  • FX自動売買システム、大丈夫ですか?

    周りの人が、FX取引で損失を被ったと言っているんですが、FX取引をする際に自動売買システムを使用しても、本当に大丈夫なのでしょうか?現在、週6日勤務をするようになって、取引はしたいのですが、なかなか時間がなくて、自動売買システムを利用してみようか思っています。自動売買システムの利点について教えていただきたいと思っており、お勧めの自動売買システムがあれば、教えていただきたいです!