“
是我們創(chuàng)造了工具,并且使用它們,而不是相反”
任何的軟件項目都有它存在的目的,都是為了解決一些現(xiàn)實中的問題。可以把這個成為這個項目的目的,可以把需要解決的問題的需求稱作這個項目的需求。任何的軟件項目的開發(fā)都必然離不開了解需求、根據(jù)需求進行設(shè)計、根據(jù)設(shè)計進行實現(xiàn)這些過程。不管是多大的項目,也不管是采用何種開發(fā)方式。
?但是,設(shè)計的方式卻有多種,沒有誰會規(guī)定,只有采用UML圖進行建模才叫設(shè)計。也沒有誰規(guī)定,只有“設(shè)計”好了的項目才能開始代碼實現(xiàn)。
對于軟件項目開發(fā)而言,大型的項目和小型的項目所面臨的項目開發(fā)的問題是不同的。
一個人幾天就可以完成的項目和幾個小組好幾個月才能完成的項目相比,它們面臨的實際中的開發(fā)問題,和開發(fā)結(jié)束后面臨的維護問題都是不可同日而語的。
而且,技術(shù)的角度上看,適合大的項目的開發(fā)方式也未必一定適合小的項目。
好了,說了這么多,我只是想說:
綜上所述,軟件開發(fā)過程是一個非常復(fù)雜的問題,對于做技術(shù)的人來說(尤其是做計算機軟件技術(shù)的人),解決問題的方式只有一種,分析問題、根據(jù)問題設(shè)計解決方案、然后實現(xiàn)解決方案來解決問題(解決方案未必一定是軟件)。
分析問題的第一步,就是把現(xiàn)實中的東西轉(zhuǎn)換成為概念模型,這樣我們才有一個討論和研究的平臺。如果沒有一個明確的統(tǒng)一的概念模型,那么,無論做什么研究都會顯得毫無意義(古代的智者和詭辯論者經(jīng)常這么干)。
既然我們面臨的問題是軟件項目開發(fā),那么我們第一個要做的就是把它建模,并且對它進行一下研究。
我會在接下來幾篇文章中對它進行詳細的闡述,并且針對我在項目開發(fā)中的一些經(jīng)驗、總結(jié)和思考提出我對這個問題設(shè)計的解決方案。
目的只有一個,希望針對這個問題作出一些探討。希望能夠拋磚引玉。