這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
這個作業要求在哪裡 | <https://edu.cnblogs.com/campus/fzu/SE2024/homework/13261 |
這個作業的目標 | 使人進步 |
學號 | 102201538 102201531 |
原型連結
<https://9cvwml.axshare.com>
構建之法閱讀
第三章:軟體構建的本質
第三章主要探討了軟體構建的本質。在這一章中,作者強調了軟體構建不僅僅是程式碼編寫的過程,它包含了更多的工程學思維。編寫軟體的目標是解決實際問題,而不是單純地輸出程式碼。構建軟體時,開發者需要充分考慮使用者需求、軟體架構、開發方法等多個維度。
核心概念:
-
軟體構建的複雜性:軟體不僅要滿足功能性需求,還要兼顧效能、可擴充套件性、維護性等非功能性需求。不同於一般的構建產品,軟體具備虛擬性,因此它更容易發生變化,但也更容易陷入複雜性帶來的陷阱。
-
軟體工程的價值:透過系統化的工程學方法,可以有效控制軟體開發的複雜性。採用合適的工程工具與方法,能夠顯著提高開發效率與質量。
感悟:
作為開發者,我們應該始終保持對問題本質的敏感性,軟體開發並不是程式碼的簡單堆砌,而是一個複雜的系統工程。第三章強調了架構設計、需求分析的重要性,這對我在未來專案中的工作方式提供了很大的啟示,尤其是在軟體設計階段要充分考慮系統的複雜性和變更帶來的影響。
第八章:單元測試與測試驅動開發
第八章集中討論了單元測試和測試驅動開發(TDD)的重要性。作者指出,在軟體開發中,測試驅動開發是一種有效的質量保障方法。透過先寫測試,再根據測試來編寫程式碼,可以更好地確保程式碼的正確性。
核心概念:
-
單元測試的意義:單元測試作為一種保障程式碼質量的方式,可以快速發現並修正錯誤,避免問題積累到最後難以解決。尤其是在軟體開發的早期,及時的測試能夠有效降低後期修改的成本。
-
測試驅動開發(TDD):TDD強調在開發前先編寫測試用例,之後編寫能夠透過測試的程式碼。這種方法迫使開發者在開發的最早階段思考如何驗證程式碼的正確性,從而提高程式碼的健壯性。
感悟:
在閱讀第八章的過程中,我深刻認識到測試對於軟體質量的重要性。尤其是TDD,它不僅僅是一種開發方式,更是一種思維方式的轉變。過去我常常在功能完成後再去編寫測試,然而這種方式可能導致許多問題的遺漏。TDD的“先測後寫”讓我明白,測試可以幫助我們在程式碼編寫之前就明確程式碼的預期行為,極大地減少返工的成本。
總結
透過對第三章與第八章的學習,我對軟體構建的理解進一步深化,尤其是在架構設計和測試驅動開發方面收穫頗多。軟體開發不僅僅是編寫程式碼的過程,而是一個需要持續思考、驗證、最佳化的工程系統。測試驅動開發讓我認識到“質量是開發出來的,而不是測試出來的”這句話的真正含義。在未來的專案中,我將更加註重測試的編寫,並且嘗試將TDD的理念應用到實際工作中。
文字化方案描述
結合NABCD模型的跨專業協作平臺方案
NABCD 模型用於分析和最佳化產品或服務,包括Needs(需求)、Approach(方法)、Benefits(好處)、Competitors(競爭)、Differentiation(差異化)。以下是基於NABCD模型設計的跨專業協作平臺方案。
1. N(Needs,需求)
在大學裡,許多學生希望透過參與跨專業專案來提升自己的綜合能力,但由於以下問題,合作難度較大:
- 缺乏合作網路:學生在跨專業合作時,通常依賴已有的社交圈或者請教師介紹,合作機會有限。
- 時間和目標的協調困難:由於各學科課程和個人規劃不同,學生之間的時間安排、目標和執行方式常常無法一致。
- 缺乏資源支援:在跨專業專案中,學生常常缺乏合適的導師、技術資源和學習資源來支撐專案的持續發展。
平臺目標:搭建一個跨專業協作平臺,解決學生跨學科專案合作中的匹配、時間協調、資源支援等問題。
2. A(Approach,方法)
解決方案:
- 智慧匹配系統:透過演算法,根據學生的專業背景、興趣愛好、專案需求和時間安排,智慧推薦潛在的合作伙伴。學生可以透過釋出自己的專案或瀏覽平臺上的專案找到適合的團隊成員。
- 時間和目標調配機制:平臺允許學生設定專案的目標、週期、以及個人時間安排,系統根據這些引數篩選合適的候選合作伙伴。
- 導師與資源推薦系統:平臺整合不同專業的導師資源,向學生專案團隊推薦導師。同時提供豐富的學習資源、工具和技術支援,幫助學生順利開展專案。
- 線上溝通和管理工具:平臺提供內建的線上溝通工具和專案管理功能,幫助學生實時協作,跟蹤專案進度,分配任務,確保專案的順利推進。
3. B(Benefits,好處)
平臺帶來的主要好處:
- 高效的跨專業合作機會:透過智慧匹配演算法,學生無需依賴現有人脈即可找到合適的合作伙伴,跨專業合作不再受限。
- 提升綜合能力:參與不同領域的專案有助於學生擴充視野、積累經驗,提升創新和協作能力。
- 時間和目標的最佳化:透過智慧時間排程,學生能更容易找到目標一致且時間匹配的團隊成員,減少合作障礙。
- 持續的資源支援:平臺透過導師指導、技術支援和學習資源,確保專案能夠長期持續發展。
- 社交與人脈積累:平臺將幫助學生拓寬跨專業的人脈圈,未來在創業、就業或科研領域都有更好的機會。
4. C(Competitors,競爭)
雖然市面上有一些面向大學生的專案合作平臺,但這些平臺大多存在侷限性:
- 傳統校園論壇:通常僅限於校內溝通,且缺乏智慧匹配和專案管理功能,使用者體驗不佳。
- 普通社交平臺:例如微信群、QQ群,雖然方便交流,但缺乏對跨專業合作的專門支援,難以提供有效的專案管理和資源支援。
- 少數創業平臺:部分創業類平臺專注於尋找投資和資源,但對於學生間的早期合作支援不足,跨專業的技術和導師資源也不全面。
5. D(Differentiation,差異化)
跨專業協作平臺的獨特優勢:
- 智慧匹配功能:透過專門設計的演算法,精準匹配跨學科合作伙伴,最大化減少溝通和時間排程問題。
- 專業資源整合:平臺不僅提供合作機會,還整合了各學科導師資源,提供跨專業的專案指導和支援,確保專案的質量與可持續性。
- 定製化專案管理:平臺內建了專案管理工具,能夠幫助團隊分配任務、跟蹤進度,提升協作效率,減少溝通障礙。
- 跨校區、跨專業的廣泛合作機會:平臺打破了校園和專業的界限,支援跨學校、跨學院、跨專業的合作,極大擴充了合作可能性。
流程圖
總結
結合NABCD模型,該跨專業協作平臺透過精準匹配和強大的資源支援,解決了學生在校園內跨專業合作面臨的人脈侷限、時間協調、資源短缺等問題,為學生提供了高效的合作渠道和豐富的支援系統,有效幫助學生在創新和專案實踐中提升能力與競爭力。
原型設計
主頁
個人主頁
登入介面
註冊介面
加入專案介面
小隊合作
PSP表單
PSP階段 | 內容描述 | 預估耗時(小時) | 實際耗時(小時) |
---|---|---|---|
Planning | 計劃與任務分析 | 2 | 2.5 |
Development | |||
- 需求分析 | 根據作業要求分析任務需求,理解作業目標 | 1.5 | 1.5 |
- 設計原型 | 使用墨刀或其他工具設計原型,確保符合作業要求 | 3 | 3.5 |
- 設計部落格 | 確定部落格排版結構,使用Markdown進行部落格排版 | 1.5 | 1.5 |
- 編寫部落格內容 | 部落格內容編寫,確保1000字左右,文字準確,圖文並茂 | 3 | 3.5 |
- 調整和校對 | 調整部落格內容、格式和插圖,確保部落格的邏輯清晰,易懂易用 | 1.5 | 2 |
Pair Work | |||
- 結對討論 | 與結對同學討論作業內容、設計原型和部落格思路,達成一致 | 1.5 | 2 |
- 協同工具學習 | 學習並應用GitHub協作流程、分享原型線上連結 | 1.5 | 2 |
Testing | |||
- 使用者反饋 | 請老師或助教對原型進行反饋,確保使用者易懂易用 | 2 | 2.5 |
Postmortem & Summary | |||
- 總結和最佳化 | 總結本次作業,整理協作過程中的問題,最佳化原型和部落格內容 | 1 | 1.5 |
總計 | 19 | 22 |
個人總結
個人總結
在這次作業中,我透過完成跨專業合作的專案原型設計和部落格撰寫,深刻體會到了團隊協作和使用工具的重要性。在整個作業的過程中,我不僅提升了個人的技術能力,也增強了與同伴合作的效率。
首先,原型設計部分對我來說是一次挑戰,因為需要使用之前不熟悉的原型設計工具,如墨刀。這不僅要求我快速上手,還要確保設計的邏輯清晰,符合使用者的使用習慣。在設計過程中,我充分考慮瞭如何讓介面易懂易用,同時在功能上做了合理的分佈和排版,以確保使用者能方便地理解和操作。
其次,在部落格撰寫過程中,我學習瞭如何透過Markdown排版清晰呈現作業要求,確保圖文並茂,內容結構合理,且文字準確。這讓我更加體會到細節的重要性,特別是在寫作和展示時,確保內容易讀、邏輯流暢對於作業的呈現至關重要。
在協作部分,我與同伴透過討論專案的需求和任務分配,提高了團隊的整體效率。我們一起制定了詳細的計劃,使用了 GitHub 進行版本控制和專案協作,極大提升了專案的透明度和協作效果。這次體驗讓我熟悉了 GitHub 的協作流程,也加深了我對如何透過技術工具進行高效團隊合作的理解。
最後,我認識到使用者反饋的重要性。透過向老師和助教展示我們的原型,收集他們的反饋,我瞭解到在專案開發中如何調整產品以滿足使用者需求。這不僅是一次作業實踐,更是一次跨學科思維與實踐能力的鍛鍊,讓我能夠從不同角度思考問題並解決問題。
總之,這次作業對我來說收穫頗豐,我不僅提高了原型設計能力,還學會了在專案管理、團隊協作和使用者反饋中的綜合運用,未來我將繼續提升這些技能,並應用到更多的實踐專案中。