iT邦幫忙

0

Day 30:三十天自主學習回顧——總結開發成果與未來改進方向

  • 分享至 

  • xImage
  •  

一、前言

經過三十天的自主學習,「打造個人健康習慣追蹤系統」終於來到最後一天。

從一開始決定專案主題、分析使用者需求,到學習 Python、資料處理、CSV 儲存方式,再到使用 Streamlit 建立互動式網頁,一步步將原本的構想轉換成實際可以操作的系統。

這三十天不只是學習程式語言與開發工具的過程,也是一次從問題發想到實際實作的練習。

最後一天的重點,是回顧整個學習過程,整理目前完成的系統功能、開發中遇到的困難,以及未來仍然可以改善的方向,作為本次自主學習的完整紀錄。

二、三十天學習歷程回顧

本次自主學習共分成五個階段,每個階段都有不同的學習目標,逐步建立系統所需要的基礎。

第一階段:專案規劃與需求分析(Day 1~Day 6)

第一階段主要從生活中的健康習慣出發,思考為什麼需要建立一套健康習慣追蹤系統,以及系統應該具備哪些功能。

這個階段完成了:

確定專案主題與開發目標。

分析健康習慣追蹤的使用需求。

規劃健康紀錄需要的資料欄位。

整理系統核心功能。

設計使用者操作流程。

建立初步專案規格與開發計畫。

透過需求分析,我了解到在開始撰寫程式之前,必須先釐清系統要解決的問題,以及使用者實際需要什麼功能,才能讓後續開發更有方向。

第二階段:資料設計與程式基礎(Day 7~Day 12)

第二階段開始接觸 Python 與資料處理的基本概念,學習如何將生活中的健康紀錄轉換成程式可以讀取與管理的資料。

這個階段學習了:

Python 基本資料型態。

List 與 Dictionary 的使用方式。

使用 Pandas 整理多筆健康資料。

透過 CSV 與 SQLite 認識資料儲存方式。

資料型態轉換與基本資料驗證。

處理空白欄位及不合理的輸入。

這個階段讓我理解,資料不只是單純的文字或數字,而是需要透過適當的結構進行整理,才能進一步應用在統計與分析上。

第三階段:建立系統基本功能(Day 13~Day 18)

第三階段開始將程式應用在網頁介面上,使用 Streamlit 建立可以與使用者互動的系統。

主要完成與學習的內容包括:

認識 Streamlit 的基本操作。

建立健康紀錄輸入表單。

學習新增與保存健康資料。

讀取並查詢歷史紀錄。

認識資料修改與刪除的處理方式。

建立個人健康儀表板。

這個階段最大的轉變,是從原本只在程式碼中處理資料,逐漸發展成使用者可以透過網頁介面輸入與查看資料的系統。

第四階段:資料分析與系統測試(Day 19~Day 24)

第四階段將重點放在健康資料的統計、視覺化與系統測試。

主要學習內容包括:

計算平均飲水量與睡眠時數。

統計每週運動時間與次數。

使用圖表呈現健康資料趨勢。

計算健康習慣目標完成率。

測試輸入資料是否正確。

改善資料保存與查詢方式。

透過這個階段,我開始理解資料分析的價值不只是計算數字,而是將原本分散的紀錄整理成有意義的資訊,讓使用者更容易觀察自己的生活習慣。

第五階段:功能整合與成果展示(Day 25~Day 30)

最後一個階段將前面學習的知識逐步整合,並透過測試資料模擬實際使用情境。

主要完成與整理的內容包括:

整合健康紀錄新增、查詢與儀表板功能。

建立測試資料,確認統計結果。

改善網頁介面的排版與可讀性。

分析測試資料中的健康習慣變化。

整理系統功能、操作流程與畫面。

回顧整個自主學習歷程,整理專案成果。

透過最後階段的整理,我更清楚地了解一個系統從規劃、開發、測試到成果展示所需要經過的步驟。

三、最終專案成果

本次自主學習的成果為「個人健康習慣追蹤系統」初版。

系統主要使用 Python 作為程式語言,搭配 Pandas 進行資料整理,並透過 Streamlit 建立網頁操作介面,使用 CSV 保存健康紀錄。

目前系統初版具備以下核心功能:

  1. 健康紀錄新增

使用者可以輸入每日飲水量、睡眠時數、運動時間、蔬菜水果攝取情況與備註,建立個人健康紀錄。

  1. 歷史紀錄查詢

系統可以讀取已保存的資料,並以表格方式呈現,讓使用者查看過去不同日期的健康狀況。

  1. 健康數據統計

透過 Pandas 計算平均飲水量、平均睡眠時數與運動時間,將日常紀錄轉換成統計資訊。

  1. 健康資料視覺化

使用 Streamlit 圖表功能呈現飲水量、睡眠時數與運動時間的變化,幫助使用者觀察不同時間的紀錄趨勢。

  1. 習慣完成率與目標追蹤

學習設定飲水量與每週運動目標,並透過完成率計算與進度條呈現目標達成情況。

四、開發過程中遇到的困難與解決方式

在這三十天的學習過程中,除了認識新的程式語法,也遇到不少需要反覆理解與測試的問題。

  1. 不熟悉資料結構與程式語法

一開始對 Python 的資料型態、List、Dictionary 與 Pandas 並不熟悉,因此需要先理解不同資料結構的用途,再嘗試將健康紀錄轉換成程式可以處理的格式。

透過逐步練習與實際建立資料範例,慢慢理解資料如何儲存與讀取。

  1. 資料保存與讀取問題

在建立系統時,除了讓使用者輸入資料,也必須確保資料能夠保存,並在下次開啟系統時重新讀取。

因此透過 CSV 檔案進行資料儲存,並搭配 Pandas 讀取及整理資料,同時加入基本的錯誤處理與輸入驗證。

  1. 網頁介面與功能整合

當系統功能逐漸增加時,需要思考如何安排不同頁面,以及如何讓使用者更容易找到需要的功能。

透過 Streamlit 的側邊欄、表單、欄位配置與資料表等功能,逐步改善操作介面,讓系統更容易使用。

  1. 統計結果與資料分析

在計算平均值、運動時間與完成率時,需要先確認資料型態是否正確,也必須考慮空白資料或無效數值可能造成的問題。

透過資料清理、型態轉換與測試資料驗證,讓統計結果更加可靠。

五、目前系統的限制

雖然已經完成基本的系統初版,但目前仍有一些功能尚未完整實作。

例如:

完整的資料修改與刪除操作介面。

使用 SQLite 進行資料庫管理。

不同使用者的帳號與個人資料管理。

更完整的月度與長期健康趨勢分析。

更完善的資料備份與安全管理機制。

因此,目前的系統比較適合作為個人健康習慣紀錄與基礎分析的初步工具,未來仍需要透過更多測試與功能擴充,才能提升完整性與實用性。

六、未來改進方向

如果未來有更多時間繼續開發,我希望能從以下幾個方向改善系統:

增加資料修改與刪除功能:讓使用者能夠管理已經建立的健康紀錄。

導入 SQLite 資料庫:提升資料保存與查詢的彈性。

建立個人化目標:讓使用者依照自己的生活習慣設定每日與每週目標。

增加長期分析功能:加入月度統計、習慣變化比較與長期趨勢分析。

改善使用者體驗:持續優化介面排版、操作流程與資料呈現方式。

強化資料安全性:未來若支援多人使用,應加入帳號管理、權限控管與適當的資料保護機制。

我希望未來這套系統不只是紀錄每日健康資料,也能成為幫助使用者觀察生活習慣、了解自身變化的工具。

七、三十天自主學習心得

回顧這三十天,最大的收穫並不只是學會使用 Python、Pandas 或 Streamlit,而是開始理解一個完整專案需要經過哪些過程。

從一開始只有一個簡單的想法,到後來逐步分析需求、設計資料欄位、建立程式功能,再將不同功能整合成可以操作的網頁系統,讓我實際體會到程式設計並不是單純記住語法,而是需要透過不斷思考、嘗試與修正,才能逐步解決問題。

在這個過程中,我也發現自己對資料處理與系統開發有了更多認識。原本只是想建立一個可以記錄飲水量、睡眠與運動時間的工具,後來才逐漸了解到,這些日常紀錄其實可以透過資料整理與統計,轉換成更容易理解的資訊。

雖然目前完成的系統還有許多可以改善的地方,但這次自主學習讓我有機會將課堂中接觸到的資訊相關知識實際應用在專案中,也讓我更有方向地思考未來可以繼續學習的技術。

八、最終成果整理與發布

最後,我將三十天的學習內容、專案開發過程、系統功能介紹、實際操作畫面與個人心得整理成完整文章,作為本次自主學習的成果紀錄。

文章將依照五個學習階段呈現,並搭配系統操作截圖,讓讀者能夠了解整個專案從發想到實作的過程。

透過這次整理,不僅能夠保存自己的學習歷程,也能重新檢視專案目前的成果與不足,讓這三十天的學習不只是完成一項任務,而是成為未來繼續精進程式設計與系統開發能力的基礎。

九、結語

三十天的自主學習正式告一段落。

從最初的構想到最後完成系統初版,這段過程讓我從不熟悉開發工具,逐漸學會如何規劃專案、處理資料、建立網頁介面,以及整合不同功能。

雖然目前的成果還不是一套完整成熟的健康管理系統,但它已經具備基本的紀錄、查詢與分析能力,也讓我實際經歷了一次完整的專案開發流程。

這次學習最重要的收穫,是學會如何將一個想法拆解成可以執行的小目標,再透過持續練習與修正,逐步將它實現。

未來,我也希望能將這次累積的經驗運用在更多資訊應用與專題開發中,持續提升自己的程式設計、資料分析與問題解決能力。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言