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

来源:https://www.cnblogs.com/DriOgon/p/18434771
-Advertisement-
Play Games

軟體工程課程 班級鏈接 作業要求 作業鏈接 作業目標 需求分析和原型設計 學號 102201312 隊友 102201311張碩 使用墨刀構建原型,原型鏈接:請點擊我 客戶現實困擾 ​ 在大學里,一些有想法的學生希望通過發起或參與跨專業的項目(創業、學術)來提升自己的綜合能力,拓寬知識面和積累人脈。 ...


軟體工程課程 班級鏈接
作業要求 作業鏈接
作業目標 需求分析和原型設計
學號 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.實機演示

2.開屏頁面

3.認證與登錄

​ 使用微信一鍵註冊和登錄,併進行角色選擇。

4.首頁大廳模塊

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


項目發起功能

用戶作為項目的發起人


我的項目功能

處理申請加入項目的成員信息


課表匹配功能

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

5.項目搜索大廳模塊


6.消息系統模塊

系統消息和私信

7.我的模塊


六、隊友間的合作過程

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

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

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

附上討論圖片:

七、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.閱讀《構建之法》三,八兩章,給我帶來了許多啟發。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • title: 深入理解 Nuxt.js 中的 app:error 鉤子 date: 2024/9/27 updated: 2024/9/27 author: cmdragon excerpt: 摘要:本文深入講解了Nuxt.js框架中的app:error鉤子,介紹其在處理web應用中致命錯誤的重要作 ...
  • title: 深入理解 Nuxt 中的 app created 鉤子 date: 2024/9/26 updated: 2024/9/26 author: cmdragon excerpt: 摘要:本文深入介紹了 Nuxt.js 中的 app:created 鉤子,包括其觸發時機、用途及使用方法。通 ...
  • 一、流水管線 實現邏輯: 1)先自定義幾個點,通過CatmullRomCurve3生成一條平滑曲線 2)根據生成的曲線在XY面擴展一個面,其中需要註意頂點索引、UV坐標添加的順序,否則可能會導致繪製的圖片混亂,不是完整的圖片 3)添加紋理同時設置偏移量實現流動效果 4)為了保證顯示的箭頭圖標不失真, ...
  • title: Nuxt Kit 實用工具的使用示例 date: 2024/9/25 updated: 2024/9/25 author: cmdragon excerpt: 摘要:本文介紹了Nuxt Kit工具在開發集成工具或插件時,如何訪問和修改Nuxt應用中使用的Vite或webpack配置,以 ...
  • 混淆指定js文件 fomartJs.bat @echo off REM 定義一個包含文件名的數組 set jsFiles=("polyfills.b4665eab.js" "manifest.b09f6bad.js" "index.f8bec5fb.js") REM 遍曆數組中的每個文件 for % ...
  • title: 使用 Nuxt Kit 的構建器 API 來擴展配置 date: 2024/9/24 updated: 2024/9/24 author: cmdragon excerpt: 摘要:本文詳細介紹瞭如何使用 Nuxt Kit 的構建器 API 來擴展和定製 Nuxt 3 項目的 webp ...
  • 前言 React在很早之前的版本中加了useId,用於生成唯一ID。在Vue3.5版本中,終於也有了期待已久的useId。這篇文章來帶你搞清楚useId有哪些應用場景,以及他是如何實現的。 關註公眾號:【前端歐陽】,給自己一個進階vue的機會 useId的作用 他的作用也是生成唯一ID,同一個Vue ...
  • 1. 基本信息 構建可擴展分散式系統:方法與實踐 [美]伊恩·戈頓(Ian Gorton)著 機械工業出版社,2024年5月出版 1.1. 讀薄率 書籍總字數188千字,筆記總字數49688字。 讀薄率49688÷188000≈26.4% 1.2. 讀厚方向 設計模式:可復用面向對象軟體的基礎 程式 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...