ソフトウェア工学がつなげるもの
高品質で安価なソフトウェアを設計
コンピュータは身の回りの多くのものに使われています。スマホはコンピュータそのものですし、自動改札、自動車、家電などさまざまなものに入っています。それらのコンピュータが正しく動くために必要なものがソフトウェアであり、ソフトウェアのプログラムを設計するのがソフトウェア工学です。ソフトウェアには品質の高さと同時に適正価格であることも求められるため、何をするのかを明確にしておくことが重要です。そこで、まずどのような要求に応えるためのソフトウェアなのか、ターゲットを絞るための「分析」を行ってから、構造を視覚化する流れ図を用いて設計していきます。
自然言語をプログラミング言語に変換
ソフトウェアの分析や設計は、日本語や英語など普段私たちが使っている「自然言語」で行われます。それをコンピュータに伝えるためには、プログラミング言語に変換しなければなりません。ところが、自然言語とプログラミング言語は言語としての性格が大きく異なります。例えば人間同士の会話や通信では、あいまいさがあってもなんとかなりますが、コンピュータに使われる言語は最終的には0と1の2進数で、少しでも間違いがあれば動かなくなります。そのため、人間が自然言語を使って表す意味や意図を、いかに過不足なくプログラミング言語につないでいくかが、ソフトウェアを作成するうえでの最大の課題であるといえます。
人とAIとの橋渡しへ
このように、自然言語を変換して人間の活動とコンピュータをつなげるのがソフトウェア工学ですが、ここ最近の生成AIの急速な進歩により、プログラムも自動生成の可能性が出てきました。それに伴い、ソフトウェア工学のあり方も変わっていくはずです。今後、人工知能がさまざまな場面で使われるようになると予想されますが、人工知能の意味のとらえ方や「考え方」は人のそれとはまったく異なるものです。そこで、AIと人をつなげるものとしてのソフトウェア工学が期待されています。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。