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

24::gr09::吉田伊吹

作業記録

第1回(4/19)

  • 班決めを行い、メンバーは6人に決定した。また、班のグループラインを作成した。
  • 制作物について話し合いを行い、今の所は筋トレ用アプリを制作することに決定した。
[感想]
話し合いがスムーズに進み、班での活動が順調に進む予感がした。

第2回(4/26)

  • GitLabでグループのリポジトリを作成した。
  • 簡易企画書を作成し、タイトル画面、ホーム画面、キャラ画面の大体の完成案の見通しがついた。
[感想]
講義ではHTML,Javascriptの基礎を学んだ。ブラウザ上に自分の指定した文字列を表示させる方法やそのテキストを書き換える方法がわかり、興味深い内容だった。また、グループの話し合いでは全体で作ろうとしているアプリケーションの大体の完成系を共有できたと感じた。

第3回(5/1)

  • ものと操作の洗い出しを行った。
  • javascriptの基礎
[感想]
ものと操作の洗い出しを行い、前回よりも詳細にアプリの概要を決めることができたと思う。完成への道のりがより明確になった。講義ではjavascriptの文法の基礎、javascriptをHTMLに反映させる方法等を学んだ。

第4回(5/10)

  • javascriptの応用
  • ものと操作の洗い出しの続き。
[感想]
前回に引き続きものと操作の洗い出しを行った。前回まではアプリの概要を決めきることができていなかったが今回で基本的なボタンやページ繊維、そのほか詳しい機能を決めきることができたと思う。次回からモジュールわけに入るので今回にやった、ものと操作の洗い出しをもとにメンバーの役割を決めていきたい。

第5回(5/17)

  • CSSの使い方
  • Gitlabの使い方
  • モジュール分け
[感想]
モジュール分けを行い、それぞれ画面を構成するhtml,css,jsとその中身をある程度決めることが出来た。また、Google Slideを用いて画面の遷移図を作成した。ページの遷移を可視化することによりモジュール分けを分かりやすくすることができたと思う。コーディングに入る前の準備段階はほとんど終了した。本講義を通してweb開発を行うには準備段階でも様々な工程に分かれており、プログラムを書く以外にもやることが非常に多くあることを学んだ。

第6回(5/24)

  • 入力画面コーディング
  • 役割分担
[感想]
グループで役割分担を行った。それぞれの希望に沿ってモジュールの担当を分けることができたと思う。現段階ではどのモジュールが早く終わるか未知数なため、メンバー同士で進捗状況を確認し合いながら作業を進めて行きたい。また、自分はトレーニング入力画面と記録画面を担当することになった。データベースとjavascript,HTMLの連携が大切になってくるので比較的難しい部分ではあるが、問題なく実装できるように頑張りたい。

第7回(5/31)

  • プロトタイプ作成
[感想]
今回は前回に引き続き、トレーニング入力画面のコーディングを行った。Javascriptによってトレーニング入力欄の追加、削除を行えるように工夫した。また、初めて自分で作ったHTMLファイルをGitLabにコミットした。GitLabはチーム開発において重要であると思うので、この調子で使っていきたい。

第8回(6/7)

  • プロトタイプ作成
  • それぞれのメンバーが作ったモジュールをつなげる
[感想]
今回は自分の担当部分は余裕があったのでメンバーのコーディングを手伝ったり、それぞれが作ったモジュールをGitLabからpullしてきてばらばらになっていたページを繋げた。中間発表までのプロトタイプ作成は間に合いそうなので安心した。

第9回(6/14)

  • 中間発表
[感想]
今回は中間発表だった。他のグループの発表を聞き、自分達には無い発想や技術を使っている班が多く、興味を惹かれた発表が多かった。また、自分達の班の発表も基本的なアプリの説明と、実際のデモプレイを問題なくこなすことができており良かったと思う。最終発表に向け、まだ作っていないトレーニング記録の実装や細かいUIなどを整えてアプリの実装を目指していきたい。

第10回(6/21)

  • node.jsの環境構築
  • ルーティングの実装
  • ログイン機能の作り直し
[感想]
今回は、皆が作成したHTMLをバックエンドと連携できるようにするため、node.jsの環境構築とルーティングの実装を行なった。node.jsは初めて扱うため、色々と分からない所が多かったが無事ルーティングの実装まで行うことができて安心した。次回はクライアント側から入力されたトレーニング内容をデータベースに保存できるところまでを実装していきたい。

第11回(6/28)

  • トレーニング内容をデータベースに保存する機能の実装(未完了)
[感想]
今回は入力されたトレーニングの内容をデータベースに保存するところまで実装することが目標であったが、node.jsを使うことになりcss,javascript等がHTMLに反映されなくなるというエラーが発生していることに気づき、それの修正にかなりの時間を使ってしまったため中途半端に終わってしまった。班員は、データベースに保存されているトレーニング内容のデータを使ってプログラムを書いていくことになるため、早急に実装しなければならない。

第12回(7/5)

  • トレーニング内容をデータベースに保存する機能の実装(完了)
  • トレーニング記録画面のバックエンドのコーディング
[感想]
今回は前回未完了で終わった入力されたトレーニングの内容をデータベースに保存するところまで実装することができた。また、コードが長くなり煩雑になってきた。自分のみで開発しているわけではないので他のグループメンバーにもわかりやすいようなコードを書くことを心がけていきたい。具体的には細かくコメントで行ごとに説明をしたり、直感的にわかりやすい変数の名前を意識したり、インデントを整えたりなど。

第13回(7/12)

  • トレーニング記録画面のバックエンドのコーディング(入力した内容の重量と回数をデータベースから部位ごとに持ってくる)
  • 入力画面、ログイン画面、新規登録画面の例外処理
[感想]
今回は前回やったトレーニング記録画面のバックエンド部分の続きを書いた。firebaseのリアルタイムデータベースはリレーショナルデータベースではないので、直感的に扱いづらく苦労したが、特定のデータを取得するところまで実装できたので良かった。また、アプリもある程度完成したもののまだテストを行っていないため最終発表までに未発見のバグがないか確認し、あれば修正する作業を行いたい。

第14回(7/26)

  • 最終発表
[感想]
今日は発表補助者として、発表者の畠山君のサポートを行った。途中バグでカーソルが動かなくなった時は焦ったが、なんとか発表を乗りきることができて安心した。また、他の班の発表を聞いて、どのグループも中間発表とは比べ物にならないくらい完成度が高くなっていて感心した。

まとめ

[感想]
本講義を通じて、グループ開発の難しさと楽しさを学んだ。難しさとは主に、メンバー1人1人が作りたい理想像が少しずつ違ってくるとその考えをまとめることである。特に、全員のアイディアをまとめられるような人間がグループに居ないとより難しく、今回の開発にあたってそのような人間がグループに居なかったので、次回はそのあたりの役割分担を行いたいと思った。またその他にも、他の人が見ても変数の名前を分かりやすくする、コードにコメントを残すなどの細かい工夫を行う必要があると思った。しかし、そのような苦労があったからこそ全員の総意が詰まった一つの作品ができあがることで得られる達成感を知った。


最終更新日:2024/07/26 15:35:53