オブジェクト指向初学者に向けたステップ毎のメンバの可視化手法とその実現

Přispěvatelé: 山田, 俊行
Jazyk: japonština
Rok vydání: 2019
Popis: 現在,ソフトウェア開発ではオブジェクト指向プログラミングが用いられている.オブジェクト指向プログラミングでは,継承・カプセル化・ポリモフィズムの概念が重要である.これらの概念はオブジェクト指向プログラミングの学習でつまずきやすい点となっている.これは,プログラム実行中に生成されるオブジェクトがどんなメンバを持っているかがソースコードからではわかりにくいことや,着目しているオブジェクトから各オブジェクトの持つメンバへアクセス可能かどうかがステップごとに変化することが主な原因である.また,クラスの継承によって,サブクラスがスーパークラスの持つメンバを受け継いだり,スーパークラスのメソッドをオーバーライドしたりするため,サブクラスのオブジェクトがどのメンバを持っているかがソースコードだけでは分かりづらく,初学者のオブジェクト指向プログラミング学習を妨げている. プログラムの内容をソースコードではなく図から把握する方法として,UMLがある.UMLは,クラス図・オブジェクト図・シーケンス図といった複数の図でプログラムを表現する.これらの図を理解することで,ソースコードを見なくてもプログラムの内容を理解できる.しかし,UML の複数の図を全て正確に理解することは初学者には困難である.また,UMLの学習には時間・労力がかかるため初学者向きではない.そのため,プログラムの動作理解を支援する初学者向けの可視化ツールが多数開発されてきた. 既存の可視化ツールは,プログラムをステップ実行し,生成されたオブジェクトを図示する.ツールによってプログラムを1ステップずつ追うことで,プログラムの動作を初学者でも簡単に理解できる.しかし,既存のツールで継承・カプセル化・ポリモフィズムの3 つ全てをサポートしているものは少ない.3 つの概念全てをサポートしているツールでも,そのサポートが不十分である. 本研究では,継承・カプセル化・ポリモフィズムの3 つの概念の理解支援を目的としたオブジェクトの可視化手法を提案する.プログラム実行中に生成されたオブジェクトと参照型変数・オブジェクトと参照型変数間の参照関係・メソッドとフィールドの可視性・メソッドとフィールド間の依存関係の4 つをステップ毎に可視化する.プログラム実行中に生成されたオブジェクトを可視化することで,オブジェクトがどんなフィールド・メソッドを持っているかが視覚的にわかる.また,参照型変数とオブジェクト間の参照関係を可視化することで,メソッド呼び出し時にどのオブジェクトのメソッドを呼び出しているかがわかり,ポリモフィズムの仕組みが図から学習できる.ステップ毎にメソッドとフィールドの可視性を視覚化することで,可視性の変化が図からわかり,アクセス修飾子の働きの理解に繋がる.さらに,メソッドとフィールド間の依存関係を可視化することで,メソッドの中にデータを隠蔽するカプセル化の学習に繋がる. これら4 つの要素を可視化する提案手法を実装することで,オブジェクト指向プログラミング初学者の継承・カプセル化・ポリモフィズムの3 つの概念の理解支援を行うツールを実現する.
三重大学大学院 工学研究科 博士前期課程 情報工学専攻 コンピュータソフトウェア研究室
44p
Databáze: OpenAIRE