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

19::gr05::発表

プロジェクト名

widget XP

プロジェクト説明

プロジェクトの概要

○スマホやパソコンにあるウィジェットを参考に、「一つの画面でたくさんの機能を使うことができるもの」をテーマとして開発しました。
○開発していく中でニュースや天気の情報を取得するために「Webスクレイピング」という技術を使うことになりました。(←後で説明します)
○また、PythonとJavaScriptを連動させるためにDjangoというフレームワークを使ってモジュールの結合を進めました。(←後で説明します)

Webスクレイピング

○担当者:細川

※ライブラリなどの細かい話は省略します。(詳しくは班wikiを参照してください)

作業内容

Webスクレイピングは簡単に言うと、「Webサイトの情報を取得する技術」です。

ここでは、情報取得してからその情報をアプリケーションで表示するところまでしたいので、2つのソースファイルを作成しました。
しかし、その2つのモジュールを1つのソースファイルにまとめることができたので少しだけプログラムの量を減らすことができた。

また、取得した情報をデータベースに格納するために編集するソースコードも書いた。
この時、「正規表現」(*は0文字以上の連続など)を使って不必要な箇所を取り除く作業がとても大変だった。

反省

・目標としていた情報取得と画面への表示を達成することができてよかった。
・「正規表現」をうまく扱うことができなかったため、情報を細かく指定した表示ができなかった。

Django

担当者:岡本

HTML/CSS、JavaScript、Pythonのプログラムを1つにまとめたい
→Djangoで統合

Djangoとは 「Web 開発タスクを迅速かつ簡単化する」(Django公式ページより)
「Pythonで実装されたWebアプリケーションフレームワーク」「複雑なデータベース主体のWebサイトの構築を簡単にする」(Wikipediaより)
→Webアプリを制作するために必要な作業が簡単にまとめられている

フレームワークを利用することで簡単に動作するプログラムを作成できたが、慣れるまで大変だった。

モジュール分け

・アプリケーション管理

・メイン画面

+ー・機能:カレンダー(月間)

+ー・機能:時計
| |
| +ー・[デジタル時計]
| |
| +ー・[アナログ時計]

+ー・機能:天気
| |
| +ー・[Webスクレイピング]
|   |
|   +ー情報取得~CSVへ出力
|   |
|   +ーCSVから必要な情報だけを抜き出す
|   |
|   +ーデータベースへ出力

+ー・機能:ニュース
| |
| +ー・[Webスクレイピング]
|   |
|   +ー情報取得~CSVへ出力
|   |
|   +ーCSVから必要な情報だけを抜き出す
|   |
|   +ーデータベースへ出力

+ー・機能:検索ボックス

+ー・機能:マップ

+ー・機能:ペイント

+ー・機能:設定
| |
| +ー・[背景画像変更]
| |
| +ー・[アイコンの色変更]

ソフトウェアの動作

(メイン画面の様子)

Screenshot from 2019-08-02 12-56-01.png

個人の感想

細川 祐生

グループ開発を実際にやることは、将来的にエンジニアやプログラマーとして働いた時に役立つと思う。そして、ここまで開発を進めてきて想像通りにできなかった点や他の班員と情報共有が足りなかった点などがいくつか出てくることがあったので、修正点を細かく話し合ったり、Gitlabなどで進行状況を逐一知らせたりすることがとても重要だと感じた。
また、Pythonを勉強してみることでWebアプリ開発や機械学習(開発中には触れていない)などに興味を持つきっかけとなったので、今後に大きく活かすことができる良い経験となった。

猫塚 智也

HTMLやJavascriptのいい勉強になった。自分が学んだ部分はまだ浅いと思うので、夏休みにもっと深く勉強したり、Pythonなどの他の言語についても知りたいなと思った。

岡本 哲

初めてのグループ開発だったが、動作するソフトウェアができたことはとても良い経験になった。作るものを決めて、モジュール分けと役割分担を行い、Gitなどのツールを使うことでスムーズに開発できることがわかった。また、初めて使うプログラミング言語もいろいろな方法で調べながら少しずつ理解できたので、これから自分で勉強していく方法も学べてよかった。

佐々木 俊典

今回の授業では、グループで制作する難しさを知ることができました。さらに、今回の授業では、主にデザインについて携わっていたので、いままで触れてこなかったジャンルを勉強することができ、とても良かったです。


最終更新日:2019/08/02 12:59:56