軟體設計時一系列創造活動,是借助程式語言以簡單和優雅的方式表達並解決現實需求的一門科學和藝術。
- 軟體設計是一門技術
資料結構,組成原理,作業系統,程式語言…
科學的特點是有規律可循,因此軟體設計者需要掌握相關的專業知識。而這些科學知識通常容易被量化和評估。
- 軟體設計是一門藝術
並不是技術知識的簡單堆砌,而是分析,抽象,取捨…
乙個好的設計必然給人帶來沒敢,也讓人值得欣賞。
如下圖所示,現代軟體設計包含了功能實現、部署、**擴充套件性、**維護性、**復用性、使用者互動。那麼為什麼需要考慮那麼多呢?
1.是不是開發前一定需要進行軟體設計?不能馬上編寫**嗎?當軟體結構複雜的時候,如果直接編寫**的話,會造成後期一系列的問題,而這個時候軟體產品的維護和擴充套件舉步維艱、難以測試和差錯,從而直接影響專案的開發效率和產品的最終指令,以及工程師的生活質量。
2.使用者需求,需要實現什麼功能?使用什麼使用者互動方式?軟體開發時根據使用者所需的功能進行設計開發的。我們需要以使用者為中心來思考設計功能的實現。
3.如何部署到使用者的裝置上去呢?我們需要考慮軟體的部署是因為我們開發使用的裝置與終端使用者使用的裝置可能不一樣。所以我們需要考慮軟體部署的問題。不能出現開發和測試過程時候軟體可以正常執行,到了使用者裝置時不能正常執行的現象。
4.為什麼要考慮擴充套件性、維護性、復用性?a)我們需要考慮**的擴充套件性是因為,到產品需要公升級或者功能增加的時候,我們是否可以很快的吧功能新增上去?
b)當開發人員離職時,後面接手工作的人員是否可以很快的熟悉這份**並且容易進行維護?
c)當有新專案需要開發時,我們是否可以重複使用這個專案的**呢?
這些都需要在軟體設計的時候考慮的要點。
什麼是軟體設計,其目的是什麼?(1)
以下是我通過這將近一年中的軟體開發中關於軟體分析設計的一些體會 1 軟體分析和設計都有靜態 動態分析 設計。不能只關注其一,否則是片面的。靜態表現在用例圖 類圖,物件圖 動態表現在時序圖,協作圖,狀態圖。2 分析 設計是以用例來貫穿的。即 對每個用例得到對應的類,狀態 關係等。3 關於分析設計的目的...
什麼是軟體設計
什麼是軟體設計 2010 01 03 16 47 12 標籤 軟體 原則設計 原始出處 作者資訊和本宣告。否則將追究法律責任。什麼是軟體設計?就筆者的觀點來看 軟體設計是採用程式設計或指令碼語言優雅地表達並解決現實需求的一門科學和藝術。優雅地表達 想傳遞的意思是,所設計出來的軟體應當能容易被人理解 ...
自動軟體設計
在1973年,美國人peter freeman在他的文章 自動軟體設計 automating software design 中有這樣的假設 如果有這樣一台機器 當我們告訴它我們需要什麼軟體的時候,它立刻就會滿足我們的要求,自動生成我們需要的程式。這台機器我稱之為萬能機。當我們提出需求的時候,需要關...