系統分析與設計課程專案總結

2021-07-03 08:40:29 字數 1956 閱讀 1256

通過本次專案,初步了解了系統分析與設計的方法,深化了軟體開發過程的理解。

分析與設計實際上是對專案的乙個解決方案,而編碼是對其的具體實現,在這次的專案中,我們針對客戶的需求,採用迭代、循序漸進的方法進行軟體開發。這樣的敏捷開發,使得整個專案的難度不會太過繁雜,而且針對性強,易於開發和除錯,而且也易於適應後期專案的變化。我們把整個專案分成幾個小的部分,逐個開發測試,最終整合到了一起。在分析與設計的時候把工作主要分為了前端介面設計、後台伺服器搭建、建立資料庫、以及優化等幾個方面。 

當初決定選教師評價這個方面,主要是考慮到學校的教師評價只能到學期末才進行,失去了實時性。開始時的需求分析主要是為了解決教師評價的實時性問題,提供乙個同學們關於課程和老師的互動平台。分析時也結合了我們的技術水平,覺得這個專案是我們力所能及的。分析完需求和目標人群後,我們開始設計整個專案。由於涉及了多個物件(學生,老師,課程,學校等),所以設計時的主要目標是圍繞著這些物件之間的關係。通過領域模型,系統順序圖等圖示,理清了物件間的關係,資料庫的設計也進而出來了。在分析與設計的過程中,關注的是方法與概念,目的是將現實的問題抽象成為軟體需求的案例,資料則抽象成為乙個結構,從而簡化分析過程。分析與設計,更加接近現實,在情景案例的分析中,找出需求與重要的情景,從而為設計提供參考,而在設計過程中,必須考慮可行性,有效性以及成本,時間等因素。

編碼階段可以說是最繁瑣的乙個階段了。編碼注重現實情況,更加注重資料以及邏輯的正確性。程式設計的問題,是在分析與設計的基礎之上,對軟體需求,按照設計的方式,逐步用程式實現,即將現實問題轉化成為計算機能夠理解的邏輯語言。雖然說在設計階段就理清了物件間的關係,再套上mvc模型,本應該很容易進行**的編寫的。實際上卻剛好相反。由於我們使用的php來進行編碼,這是一門我們都不熟悉的語言,裡面有很多語法我們都不熟悉,所以使得整個編碼過程略為艱難,幾乎是邊看php文件邊編碼的。

由此可見,分析主要是分析了需求,而設計則是在概念上設計出整個專案的總體結構。即使有了上面兩樣,編碼的過程依然非常艱難,因為你可能會面到很多技術難題,而這些都是在分析和設計階段都沒有預見到的。

在正式編碼前,我們對整個專案進行了詳細的規劃。但是,由於我們採用的thinkphp這個框架,大家對這個框架都不熟悉,所以實際上並沒有完全按照計畫進行。同時,在分工的時候,明確地將前台和後台分給了不同的人員來進行開發,卻沒有定義好前後台間互動的api,導致前台的頁面和後台的控制邏輯並不能很好地契合起來,只能通過不斷修改**來磨合。

由於開始時我們對領域模型等圖沒有充分的重視,導致到了後面發現當初設計的模型和資料庫已經不能滿足開發需求了,只能不斷修改資料庫和新增物件。由此可見,開發早期領域模型的設計是非常重要的。有了乙個正確的領域模型,我們就可以完全照著它來進行開發,而不用邊開發邊改需求和資料庫,這會極大加快開發進度。同時,合理的分工也是非常重要的。對於某一部分內容,最好由多個人負責;這樣當其中某乙個人出現什麼狀況而停止開發時,對整個專案的開發進度也不會產生很大的影響。 

在專案計畫中,本小組進行了非常詳細的安排,並且畫出了甘特圖,從而為計畫的實現提供了參考。但在執行的過程中,發現計畫仍然出現一些沒有預料到的問題。比如計畫只是單線的流水作業,沒有注重軟體開發的並行性,因此拖長了軟體開發的時間。在計畫中,仍然只是注重個人的專案負責情況,沒有注意到這需要團隊的努力,結果專案交接的時候出現了溝通的問題,專案部分介面存在誤解情況。再而,在專案計畫中,留給軟體測試的時間還是略短,儘管全隊人員都採取了測試驅動開發的模式,降低了測試壓力,但是還是出現了一些bug,最後才得以修正。因此,專案計畫必須注重並行性,團隊性,效率以及各階段時間劃分的合理性。

採取了rup4+1以及mvc模式後,軟體耦合性不僅大大降低,也為全隊分配任務提供了依據。各個組員都能夠按照設計模式不同層級的要求,實現全隊分配的任務。在進行快取優化的時候,設計模式給予了很大的幫助,通過設計模式,我們很快地找到了原來軟體的介面,進而將快取優化嵌入到原來的軟體開發之中。因此,系統分析與設計,為軟體擴充套件提供了很好的依據,設計模式,確實能夠加快軟體開發過程。

總之,通過這次專案,我理解到了軟體開發不能夠乙個人進行工作,必須依託團隊了力量,才能夠開發出質量高,穩定性好的軟體,這也體現了軟體分析與設計在軟體開發過程中上層的位置。

系統分析與設計課程作業三

摘要 本部落格為潘老師系統分析與設計課程作業交流部落格,主要內容為課堂內容的簡介與課後練習作答反饋。簡述統一過程三大特點,與物件導向的方法有什麼關係?簡述統一過程四個階段的劃分準則是什麼?每個階段關鍵的里程碑是什麼?軟體企業為什麼能按固定節奏生產 固定週期發布軟體產品?它給企業專案管理帶來哪些好處?...

系統分析與設計專案報告

16340302 趙公尺 final report 在此次的合作專案中,我們六個人都很盡職盡職,大家日常分配的工作 畫圖 寫文件 提建議 週末小會 以及階段成品測試等。當然最重要的就是自己負責的那一部分內容。而我當初選擇的是後端,在後端框架搭建好之後,我們進行任務的分配,我得到了屬於自己的任務,然後...

系統分析與設計結對專案

審查的基礎功能模組,其中遇到的問題是在getcharsnum 方法中,如果統計的檔案中有中文字元,在結對夥伴的電腦中會將乙個中文字元統計為兩個,在我的電腦中是將乙個中文字元當乙個字元,同乙個方法在不同裝置中統計結果不同,分析並通過網路查詢得知是由於eclipse編碼方式不一樣,他的是utf 8,而我...