2025年10月30日版:岸  知⼆(調査研究担当理事)

  • シェアする
  • ポスト
  • noteで書く
  • LINEで送る
  • 2025年10月30日版

    ソフトウェアを作る

    岸  知⼆調査研究担当理事)

     2024年より調査研究担当理事を務めております。今回は私の専門のソフトウェア工学にかかわる話をさせていただきます。あらゆるシステムや機器はソフトウェアに支えられており、それがなければ私たちの日常生活は立ち行かなくなります。そのソフトウェアの開発について考えてみたいと思います。
     
     そもそもソフトウェアを開発する目的は、現実世界の問題を解決することです。より効率的に仕事をしたい、より安全・安心な生活したい、より楽しく過ごしたい、といった目的のためにソフトウェアを作るわけです。したがって、ソフトウェアを作る際には、いったい現実世界のどのような問題を解決したいのか、その解決手段としてどのようなソフトウェアを作る必要があるのかを明確にしなければなりません。そして明確化された要求仕様に基づき、設計を行い、実際にソフトウェアを実装します。こうして作られたソフトウェアは、それが正しいかどうかを確認する必要があります。ここでは要求仕様に沿った設計がなされているか、設計に沿った実装がなされているか、つまり「正しく作っているか」の確認と、結果として作られたソフトウェアがそもそもの問題の解決に役立つのか、つまり「正しいものを作っているか」の確認が必要です。このようにソフトウェア開発では「現実」と「技術」を正しく結びつけることが不可欠となり、そこに多くの難しさが存在します。
     
     ソフトウェア工学の誕生以来、問題解決に資するソフトウェアを作るためには、どのような手順で開発を進めるべきか、どのような手法や技法を用いてソフトウェアを作ればよいのか、という開発方法論やそれを支える開発環境の研究や実用化が数多くなされてきました。そのベースにあるのが、要求仕様、設計、あるいはテスト仕様を記述するための文書化の技術です。その一環として要求仕様や設計を正確に記述するためのソフトウェアモデルの提案や標準化なども進められてきました。これらの技術はソフトウェア開発に大きな貢献をしましたが、一方膨大な文書化という作業を持ち込みました。
     
     そうした中、情報化社会の進展とともにビジネス環境や技術環境が目まぐるしく変わるようになり、その動きが加速してきました。そこで広まったのがアジャイル開発です。アジャイル開発では変化に迅速に対応するために短いサイクルで開発と運用を繰り返します。不確かな先々までを見越して開発をするのではなく、それなりに有用なソフトウェアを短期間で作ることを目指します。そのために過度な文書化を避け、現実の問題を抱える利用者とソフトウェア開発者のコミュニケーションのために,ユーザ参画での開発を行います。
     
     そこに生成AIが登場しました。他の分野同様にソフトウェア開発においても急速にその活用が広まっています。こうしたAIを使って現実世界の問題解決に資するソフトウェアを作るにはどうすればよいのでしょうか。アジャイル開発ではユーザ参画というコミュニケーション形態がとられましたが、そこにAIはどのように参画するのでしょうか。AIとのコミュニケーションにおいて文書化・言語化がどこまで必要なのでしょうか。AIの持つ知識に基づいて作られるソフトウェアが私たちの求めるソフトウェアなのでしょうか。今わたしたちは、まさにこうした課題を考える局面に遭遇しています。それはある意味「わくわくする」課題ですが、人間の知性あるいは主体性とは何かという「重たい」課題でもあります。学会でも研究会やシンポジウムなどでこの課題について産学交えて活発な議論が行われています。ぜひAIをソフトウェア開発に正しく使い、私たちの豊かな生活の実現へ結びつけていきたいものです。
  • シェアする
  • ポスト
  • noteで書く
  • LINEで送る