2024秋軟體工程結對作業(第一次之需求分析和原型設計)

DriOgon發表於2024-09-27
軟體工程課程 班級連結
作業要求 作業連結
作業目標 需求分析和原型設計
學號 102201312
隊友 102201311張碩

使用墨刀構建原型,原型連結:請點選我

客戶現實困擾

​ 在大學裡,一些有想法的學生希望透過發起或參與跨專業的專案(創業、學術)來提升自己的綜合能力,拓寬知識面和積累人脈。然而,在校園裡要實現跨專業合作往往取決於自己積累的人脈,或者去請不同專業的老師幫忙介紹,這就導致合作的機會非常有限。
​ 例如,對於一些需要多學科支援的專案(需要設計、程式設計和市場營銷能力的創業專案),在偌大的校園中,學生們往往找不到志同道合的合作伙伴。
​ 另外,不同專業之間的學生由於學校課程安排以及個人想法,可能在合作時間安排上、專案目標和溝通方式上可能存在差異,這進一步加大了合作的難度。同時,缺乏平臺或資源來支援跨專業專案的持續發展。

一、《構建之法》閱讀心得

第三章:軟體工程師的成長

  1. 工程師的重要特質

    • 穩定交付成果:軟體工程師應具備穩定交付高質量成果的能力,這是職業發展的基礎。
    • 解決問題的深度:要不滿足於僅解決表面問題,而要關注問題背後的根本原因和更廣泛的影響。這種思維能推動創新和長遠發展。
  2. 避免常見誤區

    • 不分主次的問題:工程師應避免在小問題上過於糾結,需先理清主要目標,按流程推進。
    • 過早最佳化與複雜化
      • 過早最佳化:專注全域性,避免在專案早期對細節的過度追求,以保持靈活性。
      • 過早擴大化:不要過於樂觀地估計自己的能力和專案規模,防止“畫扇面”式的擴張。
  3. 專精與泛化的平衡

    • 單人樂隊與全棧工程師的比喻:強調應當培養明確的專長,而不是追求全面的技能。精專於一兩個領域能提升團隊價值。
    • 團隊領導者的成長路徑:逐步從技術能力提升到管理能力,培養領導力和團隊合作能力。
  4. 自我評估與技能提升

    • 定期自我評估,明確自身的技能水平,找到提升方向。真正的技能掌握需依賴實踐與反思,而非單純的理論學習。
  5. 啟發思考

    • 透過生活中的多樣例子激發思考,幫助工程師從不同角度看待問題,擴充套件思維方式。

第八章:需求分析

  1. 專案分析與需求來源

    • 以利益相關者為中心:軟體設計需明確使用者、客戶或利益相關者的需求,確保軟體真正解決他們的問題。
    • 使用者調研的重要性:透過焦點小組等方式進行使用者調研,但需避免“喧賓奪主”,確保收集到的意見具代表性。
  2. 功能定位和優先順序

    • 明確產品目的:開發功能產品的核心是為了解決使用者的實際需求,並確保投入能獲得較大的回報。
    • 資源有限原則:在資源有限的情況下,重點關注差異化競爭能力,確保核心功能的有效實現:
      • 核心功能:如專案建立、加入等基礎功能應優先開發。
      • 殺手技能:例如自動生成共同空餘時間功能,能有效提升使用者的合作效率。
      • 外圍功能與輔助需求:如頁面設計和人脈擴充功能,為使用者提供附加價值。
  3. 使用者體驗與功能亮點

    • 軟體設計要有一些亮點功能,提升使用者體驗,避免平淡無奇的介面。
    • 介面設計:確保介面簡潔美觀,使用者友好,增強易用性。
  4. NABCD模型在需求分析中的應用

    • N(Need):明確使用者的真實需求。
    • A(Approach):確定解決方案的方法。
    • B(Benefit):評估解決方案帶來的好處。
    • C(Competition):分析競爭環境,找出自身的差異化優勢。
    • D(Delivery):規劃產品交付和後續迭代。
  5. 任務難度與能力預估

    • 對自身能力和任務難度進行清晰預估,確保團隊能夠有效完成各項功能的開發任務,參考前人的經驗。
  6. 執行與團隊合作

    • 用實際行動而非口頭承諾展現團隊的決心。透過分而治之的策略,明確專案目的,從結果倒推構建過程。
  7. 與競品比較

    • 在功能設計和定位時,與競爭產品進行比較,突出自身專案的優勢,明確市場中的獨特價值。

總結

​ 以上兩章的梳理清晰展示了軟體工程師成長的路徑和需求分析的重要性。從個人成長的角度看,強調了技術能力、團隊合作與管理能力的提升;從專案開發的角度看,突出了以使用者為中心的需求分析和功能設計的重要性。透過合理的功能定位和優先順序管理,能夠在資源有限的情況下,實現高效的專案交付和市場競爭優勢。

二、專案分析

    針對大學生跨專業專案合作的困境,我們可以設計一個專門的平臺,幫助學生打破學科壁壘,找到志同道合的合作伙伴並推動專案發展。基於《構建之法》的NABCD模型,我們系統分析設計了一個手機端APP《福大Team》

(1)N(Need):需求分析

  • 學生:需要一個平臺來發起、尋找並參與跨學科跨專業的專案,獲得與同學或導師的合作機會。
  • 導師:對自己的實驗室進行管理、招新。
  • 管理員:希望提供更好的資源支援,提升學校的創新氛圍

(2)A(Approach):解決方案

  • 使用墨刀設計原型《福大Team》
  • 功能如下:
    • 釋出專案
    • 尋找專案
    • 聊天交流

(3)B(Benefit):解決方案的優勢

  • 為學生提供跨專業合作的平臺:使學生能夠便捷地找到合適的合作伙伴。
  • 提升專案合作效率:透過專案管理和溝通工具,提高專案合作的組織和管理效率。
  • 積累人脈和資源:參與平臺活動的學生能夠拓寬人脈,積累更多的資源和經驗。

(4)C(Competition):同類產品的差異化競爭優勢分析

​ 當前市場上存在類似功能的APP,例如一些社交媒體和校園內的微信公眾號等,但這些工具通常更加註重社交,而非專注於跨專業專案合作。而“校園合作”APP則專注於解決這一具體需求,透過專業認證、完善的專案管理工具等特點,形成差異化競爭優勢。

(5)D(Delivery):交付方案

  • 透過B站、微博、微信公眾號等社交媒體進行推廣
  • 透過廣告投放,提高網站的知名度
  • 透過學校官方渠道或者學生組織來進行宣傳

三、核心特性分析

1. 使用頻率

  • 為確保使用者的依賴性,我們設定了定期推送功能。
  • 提醒使用者關注新專案動態與訊息更新,透過推送的內容可以提升使用者的活躍度和應用的使用頻率。
  • 同時,我們還透過分析使用者的歷史使用資料,個性化推薦適合的內容和功能,以提高使用者的使用粘性,確保他們能夠在必要時刻方便地獲取到所需的資訊和服務。

2. 使用便利度

  • 為確保應用的便利性,我們設定了底部導航欄,包括首頁專案訊息我的等功能模組,讓使用者能夠便捷地切換使用。
  • 此外,我們還加入了搜尋功能,使用者可以快速找到自己關注的專案或資訊,同時提供了快捷的操作指引和提示,最佳化使用者體驗,使得新使用者熟悉操作流程變得更加流暢,並減少了使用中的困惑和挫折感。

3. 使用有效性

  • 為確保專案資訊的有效性,我們設定了專職管理員,對所有發起的專案進行綜合稽核,確保專案內容的有效性與真實性。
  • 透過完善的資訊稽核機制,我們不僅提高了專案的質量,也幫助使用者在選擇時避免誤入不實或虛假的專案,從而增強使用者對平臺的信任度。同時,使用者也可匿名舉報可疑專案,形成良好的監督機制。

4. 安全性與隱私性

  • 考慮到學校中的學號和姓名容易被他人獲取,我們採用微信註冊的方式,並在我的功能模組中設定了身份認證流程。
  • 此舉不僅能有效保護使用者的個人資訊,還能透過身份認證確保使用者的真實身份,從而減少潛在的安全隱患。使用者在平臺上的操作和交流均在安全的環境中進行,保障他們的隱私和資訊保安,進一步提升使用者對應用的信賴度。

四、思維導圖展示

繪製工具:Mindmeister

f3606c83c70780e3f418e391ac4d6819

五、主要介面和功能展示

1.實機演示

2024秋軟體工程結對作業(第一次之需求分析和原型設計)

2.開屏頁面

2024秋軟體工程結對作業(第一次之需求分析和原型設計)

3.認證與登入

​ 使用微信一鍵註冊和登入,並進行角色選擇。
2024秋軟體工程結對作業(第一次之需求分析和原型設計)2024秋軟體工程結對作業(第一次之需求分析和原型設計)

4.首頁大廳模組

“首頁大廳”是作為“樞紐”頁面存在的


2024秋軟體工程結對作業(第一次之需求分析和原型設計)

專案發起功能

使用者作為專案的發起人


2024秋軟體工程結對作業(第一次之需求分析和原型設計)

我的專案功能

處理申請加入專案的成員資訊


2024秋軟體工程結對作業(第一次之需求分析和原型設計)2024秋軟體工程結對作業(第一次之需求分析和原型設計)

課表匹配功能

功能:一鍵輸入課表,查詢專案成員公共課餘時間

2024秋軟體工程結對作業(第一次之需求分析和原型設計)

5.專案搜尋大廳模組


2024秋軟體工程結對作業(第一次之需求分析和原型設計)2024秋軟體工程結對作業(第一次之需求分析和原型設計)2024秋軟體工程結對作業(第一次之需求分析和原型設計)

6.訊息系統模組

系統訊息和私信

2024秋軟體工程結對作業(第一次之需求分析和原型設計)

7.我的模組


2024秋軟體工程結對作業(第一次之需求分析和原型設計)

六、隊友間的合作過程

因為我們兩個是舍友,因此溝通起來很方便,也很高效(搞笑)。

  • 首先是理論積累,我們兩個都各自閱讀了《構建之法》,對需求分析和原型設計有了一定的認識。
  • 接下來是分析整個專案的需求。
  • 明確了需求後,我們就開始了分工討論:
    • 張碩:繪製思維導圖、使用墨刀設計原型、編寫功能展示
    • 陳言瀧:繪製流程圖、協助設計原型、編寫md文件
    • 共同除錯修改原型、覆盤與總結
  • 分工完畢後,我們就進入了完成各自任務的階段。
    • 設計原型階段
    • 繪製階段
  • 除錯階段:我們兩個自己內測並修改。
  • 好友反饋階段:“當局者迷,旁觀者清”,讓其他同學內測後給出建議並修改。
  • 交付階段:交作業給老師和助教們以驗收原型設計是否滿足需求然後不斷迭代與最佳化。

附上流程圖,繪製工具:processonimage-20240926225926343

附上討論圖片:
2024秋軟體工程結對作業(第一次之需求分析和原型設計)

七、PSP表格

PSP 預估耗時(單位:小時) 實際耗時
閱讀《構建之法》 1 2
需求分析 2 5
分工 1 0.5
繪製思維導圖 1 1
繪製流程圖 1 2
構建原型模型 5 10
除錯和修改 1 0.5
測試 1 0.5
覆盤與總結 0.5 1
編寫md文件 1 2
總計 14.5 24.5

八、總結

102201311張碩

1.閱讀《構建之法》三,八兩章,給我帶來了許多啟發。📖

a.無論何種職業,穩定的工作效率是最重要的基石。
b.好高騖遠往往不切實際,找準自己的水平
c.換位思考,使用者出發思考問題
d.怎樣的調查方式,才能使得調查資料真實有效?
f.以終為始得倒退過程。

2.“墨刀”軟體介面擬實現🐱🐱

和平常使用的軟體相比,墨刀的使用邏輯有點怪,上手比較費時間.
平心而論,墨刀確實功能強大,但是對對於白嫖黨和菜鳥來說不太友好。感覺剛摸清門道,想要大幹一場。一堆付費門檻限制就鋪面而來,限制頁面,和素材數量給工作量翻了幾倍。
最後因為素材所限,無法實現出所有原先預期的功能

3.流程圖和思維導圖梳理思路

在前期一頭霧水的時候,思維導圖幫助我理順了專案的具體實現思路。在邏輯線上前進,事半功倍。

4.結伴作業體驗

這次的作業主要負責前期專案思維導圖的梳理和墨刀前期模型的設計。結對作業的實踐實現,使我感受到了不同人對專案的不同需求視角,以及專案實現的思路也不盡相同。在不同的想法交流中,感覺到了新奇,活力。遇到具體問題,解決時也更有創造力了。

5.最後:鳴謝二樓的拍檔的辛苦付出

102201312陳言瀧

​ 透過這次作業,我深刻認識到滿足客戶需求並非易事。

​ 學習了NABCD模型後,我理解了需求實踐的具體化流程。在解決資訊互動問題時,我意識到需要滿足一系列子需求,包括如何收集客戶資訊、如何實現不同客戶之間的資訊交換,以及如何促進客戶相互交流。我將這些需求視為一個工程,逐步進行實踐。雖然過程中遇到了很多問題,如子需求的實現、工具的選擇和個人技能的不足,但只要開始動工,就能一步步完成。遇到不懂的地方就上網查詢,現學現做。思維停滯時,會與隊友討論,透過思維碰撞來提高工程的完成效率。

​ 如何實現1+1>2非常關鍵,這需要團隊成員之間頻繁交流、互相提出修改意見,以共同推進專案的完成。接下來,我們還需不斷努力,完成下一次的結對程式設計作業。

相關文章