從需求分析看軟體開發的挑戰

2022-07-15 00:51:09 字數 1782 閱讀 8375

從第一節課帶著本科時對軟體工程的三腳貓功夫,選題:基於家庭工廠的訂單協作系統,隨緣的組隊,到現在課程過半,我們讓自己較為滿意的完成了需求分析。我們已經走過了軟體工程的前兩個步驟,領域分析和需求分析。在此將過程中的感悟和收穫梳理總結。

基於家庭工廠的訂單協作系統:典型的生活日用品製造業往往由一組家庭式工廠協同配合,共同生產和組裝,完成最終訂單。系統有幾個關鍵功能:下單(接單)、訂單分解、訂單分配、訂單進度追蹤、訂單完成風險評估、訂單完成效果分析等。要求實現基於網頁或手機端的系統。

最初我選擇這個題目的初心:選擇乙個相對簡單的專案,能夠利用課上所學,從分析到實現,能全過程走完,對真實開發場景下的全流程有基本認識就算成功。現在應該還沒有偏離路線。

當我們選定後題目後,先針對系統是什麼進行了討論。這裡主要借助老師提供的模版,讓我們有較為明確的思考和討論方向。

第一次討論時,我們大致對我們的系統是什麼有了基礎的認識,但沒有記錄並同一術語,這為後來的討論以及分工協作的合成埋下了隱患,增加了我們討論的成本,過程中的記錄是尤為關鍵的,對關鍵的討論結果要有記錄,回顧起來,在每次會議前,應該明確會議的議程,需要的關鍵產出和討論結果,並且輪流擔任記錄的方式,這樣可能會使合作更加高效。

最初對系統的理解,包括在頭幾次討論時,還侷限在我們作為乙個提供軟體解決方案的公司,根據客戶需求為他們定製這樣乙個系統,所有討論也完全是從需求和功能出發,而忽視了系統的核心價值。

這和真實場景可能類似,一家公司想做這個系統,找我們來做,已經有了一些構想和關鍵功能的要求,從服務商的角度出發,很容易陷入【完成使用者提出的需求即可,而不在乎是否幫使用者實現了價值】,這在一開始順著客戶的思路走可能較為簡單,易於開展工作,但實際我們發現,使用者提出的需求可能並不能很好的滿足其核心價值,因此這樣的需求易於變動,因此在領域分析時,應當充分思考對於這個領域,我所設計的系統的核心價值在**。

除此之外,在實際生產中,為了確保我自己的利益,我是否需要充分為客戶著想,還是滿足其要求即可,也是軟體開發的挑戰。這也涉及到我們對系統的定價,在上週的課程中,也進行了討論。

理想情況下,我們應當充分從客戶角度出發,分析出系統的核心價值,為客戶最大化利益,從而實現我系統的價值,賺取最大的利潤,但這未必能在真實生產中的複雜博弈下開展。

在認識到我們系統的價值後,核心的用例就是需求拆解和體現,我們首先通過用例圖明確了核心用例,對於關鍵用例,我們採用集體討論而非分工,從用例和核心業務流程出發,通過狀態圖梳理並用例規約梳理出業務主流程,此時術語的不規範,讓我們溝通多次出現問題,導致理解的偏差,使得有些部分反覆討論在最終明確。

在類圖的設計上,可謂絞盡腦汁,一方面是經驗不足,另一方面一些用例的具體細節在未討論清楚之前,類圖是不知道怎麼設計的。我們在這一部分投入了相當多的時間,大家齊心協力,才最終統一並得到了乙個符合直覺和邏輯的設計。

這裡我發現核心的困難在於隨著細節的進入,使所有人同步變得異常困難,這需要嚴格的術語規範,並且合理的會議管理,否則一旦走神,很可能會使後續工作出現偏差。

另外,相對於我們這個小專案尚且如此,對於龐大的系統,每個人需要從哪個粒度清晰理解系統也是關鍵,讓所有人對設計的全部內容充分理解並形成統一是不現實的,這一點我們還沒有找到合適的解決方法,直覺上,這對工作的劃分有很高的要求。

後面進入設計階段,我們有了一些經驗後,採用了前後端分離scram的開發模式,明確了分工,我負責一部分前端工作,統一了技術棧,然後開始設計介面。這個階段又是全新的挑戰。

確實很不容易,堅持聽課、聽懂再實踐需要很強的意志力。據我觀察,我們組可能是唯一乙個每次課都能全員到場並聽課的組吧。當然這也不是評判工作的很好標準,課下投入的時間還是最關鍵的因素。

非常幸運的遇到我的隊友們,很感動,我們互為動力,走到了這個階段,我也要繼續加油呀。

從需求分析看軟體開發的挑戰

近年來,軟體開發行業的發展勢頭非常強勁,但是不斷變化的市場需求給軟體行業的生存和發展帶來了巨大的衝擊和挑戰。在市場需求的指導下,中國軟體開發行業正在實施一系列改革措施,以確保已開發的軟體專案能夠更適合現代社會的發展需求。如果您想在第一時間掌握軟體專案的實際市場需求,就需要在開發過程中合理地進行需求分...

從需求分析看軟體開發的挑戰

至今位置,本組進行了多次高強度的線下小組討論,對這一題目的需求有了較為精準的理解。最初拿到 基於家庭工廠的訂單協作系統 這一題目時,我們五位組員對這一標題各有一些自己的簡單遐想,能夠達成的共識是系統的核心是訂單的分解分配,而無需關心消費者下單這一外部流程。從一開始能夠將系統的邊界劃分清楚,對於我們來...

從需求分析看軟體開發的挑戰

這次需求分析做的確實不如人意,在評審前本來有一次需求模型整理問答的機會,我們小組由於時間原因沒有能夠去做展示,這一定程度上導致我們的需求評審做的比較偏離重點,不過更主要的原因是我們本身沒有能夠把握好需求設計應該做些什麼。這是我們在需求方面沒有做好的地方,之後我對需求分析這部分的真正目的也進行了思考。...