2023 ソフトウェア設計及び演習用の班Wiki

23::gr02::佐々木智紀

第1回

  • 班決めをして、作るアプリの内容について話し合った。
  • アプリのコンセプトは、時計機能を使用して勉強時間を管理するものと決まった。
  • 方向性が定まらなかったことと、開発が頓挫するリスクがあることから、ゲームではなくアプリを作ることを主目的とすることが決まった。
  • 開発するアプリには、時計機能に連動したゲーム的な要素を加えていくことにした。(お金が溜まってスキン的な物が買えるとか)

第2回

  • HTMLについて学んだ。サイトの大まかな構造とタグについて理解した。
  • GitHubについて説明を受け、Github上でログインしてグループに参加した。
  • 簡易企画書について意見を出し、タイトルを決めた。概要についてアイデアを出した。

第3回

  • JavaScriptの基礎について学んだ。変数の型や配列、関数についての仕様が特殊なので、使いながら覚えていきたい。
  • ものと操作の洗い出しを行った。アプリのダッシュボード機能の担当になった。
  • メンバーと協力してメニュー欄のデザインを考えた。Figmaでデザイン案を共有した。

第4回

  • JavaScriptの応用編について学んだ。関数もオブジェクトの一つとして扱うため、メソッド、プロパティ、インターフェースを追加できることを理解した。メソッドの挙動について大まかに理解した。JavaScriptに搭載されているメソッドなどについてもこれから理解していきたい。
  • アプリのサイドメニューのデザインについて意見を出し、デザインを仮決めした。
  • サイドメニューの実装について検討した。cssの仕様を理解しながら実装を進めていきたい。

第5回

  • HTMLの応用編について学んだ。cssによってデザインをまとめて管理できると知った。cssによって効率的にデザインを決められるように、調べながらコードを書いていきたい。
  • 自分の担当となった記録管理(ダッシュボード)機能のプロトタイプを、メンバー一人と協力して作成した。作成したプロトタイプは、学習時間と日付をそれぞれ配列的に格納し、そのデータから学習記録を表すグラフを作成するようになっている。グラフは1ヶ月版と1週間版の2つを出力するようになっている。作成においてレイアウトや出力内容について案を出した。今後はラベルやタイトルの位置と向きなど、デザイン面の修正を協力して行っていきたい。

第6回

  • enchant.jsについて学んだ。ゲームに関する機能が充実しているため、開発しているアプリの追加要素で活用できたら良いと思った。
  • 前回に続けて、記録管理機能のプロトタイプ作成を行った。勉強の目標時間をグラフ上に表示することを提案した。一ヶ月の中で勉強した時間が多い日を、ランキング形式で表示することを提案した。メンバーと協力してこれらの機能を実装した。機能が充実してきたため、次回からは本格的にサイト上で動作するようにしていく。

第7回

  • デバッグの方法について学んだ。consoleを用いる方法とブレークポイントを設定する方法があると知り、これからサイト上に実装していく際に活用していきたいと考えた。
  • アプリのタイトルを決めた。
  • データベースについて基本的なことを学び、班のメンバーのパソコン上でデータベースの構築とデータの入力を簡易的に行った。次回からは発表準備を主に進めていく。

第8回

  • 中間発表会に向けて、発表用のスライド作成と班wikiの記入を行った。
  • 中間発表の提出物の内容に沿って、班で作っているアプリの内容と動作などについて説明するスライドを作成した。
  • 班wikiに、中間発表時点での進捗状況と、アプリの完成形のイメージについてを記述した。

第9回

  • 中間発表会だった。
  • 中間発表で用いるプロトタイプの説明について、班wikiに追記した。
  • 他の班の発表を見て、画面のデザインが華やかだとアプリとして本格的になると感じたので、デザインの改善を行っていきたい。
  • 今後は追加機能の開発と、現在実装されている機能の細かい部分の修正を行っていく。

第10回

  • 記録管理機能について、matplotlibを用いてグラフを表示していたが、javascriptでの実装が望ましいということで、Google Chartsでグラフの表示を行うようにjavascriptのコードをTAの方と班のメンバーと協力して作成した。
  • データベースから取り出すデータを変更し、データの数を送ることでGoogle Chartsの仕様に対応できるような配列を作成するようにした。
  • 今回の活動で記録管理機能の内容を変更し、javascriptとGoogle Chartsを用いたグラフ表示を実装できた。今後は色や表示範囲などのグラフのデザインの変更と別機能の開発を協力して行う。

第11回

  • 前回実装したGoogle Chartsを用いて出力するグラフについて、色とラベルの表示を変更した。縦軸のラベルは0(分)から始まるようにして、縦軸と横軸に項目名を追加した。
  • 学習時間の平均値をグラフに直線として追加しようと試みたが、グラフの仕様を複合グラフに変更することが必要であり、平均値の算出がデータベースを利用する部分の仕様上難しいことがわかったため、次回以降で可能であれば実装する。
  • htmlでのタブ切り替えを利用して学習時間のグラフの表示範囲を変更する機能の一部を実装した。次回はデータの取得範囲や適用範囲を変更することによってグラフを変化させるように調整する。

第12回

  • 学習時間の記録を示すグラフの表示に関して、データの取得部分とデータの編集部分とグラフへの変換部分をそれぞれ分割することで、複数のグラフを作成できるようにした。
  • データベースから取得したデータの一部を新たな配列に代入することで、グラフに用いるデータの期間を変更できるようにした。
  • データベースを担当しているメンバーにその仕様を変更してもらい、管理者用画面からデータベースにデータを追加できるようにした。
  • 以上によって、記録管理の画面に、1ヶ月、一週間の学習時間の記録を表形式で表示できるようにした。これらの表示切り替えはhtmlのタブ切り替えを利用して実装した。画面のボタンを押すことで表示する期間を切り替えられるようになっている。次回は表の見た目の変更と統合テストを行う。

第13回

  • 担当のメンバーにデータベース側の処理を編集してもらい、学習時間の記録がない日のデータに0を代入するようにした。
  • 表のオプションでウィンドウサイズを取得するようにした上で、タブ切り替えの際に表の描画処理を再実行することで、タブ切り替えとウィンドウサイズ変更が行われてもグラフのサイズとラベルの数値が正しく表示されるようにした。
  • 以上の変更によって、データに対応して全期間、1ヶ月、1週間のそれぞれの期間の学習時間を表に示すことができた。

第14回

  • 最終発表会だった。
  • 他の班の発表を見て、実用性に富んだものが多く差別化するためにデザイン面を工夫している班が多いと感じた。ゲームを作っている班の発表を見て、内容の説明をゲーム内に入れることでユーザーが理解しやすいようにすることが必要であると感じた。
  • 自分はpythonなどの応用的な知識が他の人よりも足りなかったが、プログラムの基本的な知識を活用して、担当した記録管理画面の作成を行うことができたと思う。今後はさらに知識を蓄え、できることを増やしていきたいと感じた。


最終更新日:2023/07/28 15:06:01