a. 軟件的靈活性遠(yuǎn)遠(yuǎn)大于硬件,要讓軟件人員搞清楚某個(gè)軟件的內(nèi)部格式是非常困難的任務(wù),解決的辦法:詳細(xì)定義其他程序員需要了解的編程接口具體內(nèi)容,以及其他工程人員在實(shí)施開(kāi)發(fā)項(xiàng)目過(guò)程中需要使用的技術(shù)細(xì)節(jié)信息。
b. 軟件工程師只有在收到硬件說(shuō)明文檔后,才有可能知道如何對(duì)系統(tǒng)硬件進(jìn)行操作;而硬件人員一般不需要了解軟件程序的技術(shù)細(xì)節(jié)。
c. 由于軟件易于更改,因此程序內(nèi)容經(jīng)常會(huì)按銷售人員提供的要求發(fā)生變更,在某些情況下,軟件文檔的內(nèi)容無(wú)法及時(shí)反映程序的最新變化。
d. 軟件經(jīng)常是工程項(xiàng)目最后完成的部分,因此其文檔也經(jīng)常因時(shí)間不夠而欠缺完整。實(shí)際上,軟件文檔是否詳細(xì)、完整,在某種程度上是與公司或客戶的要求有關(guān)的。例如,軍事或國(guó)家工程一般要求開(kāi)發(fā)商就其所有軟件實(shí)現(xiàn)的功能提供全面詳細(xì)的文檔
e. 有個(gè)潛規(guī)則,對(duì)軟件的要求越復(fù)雜,則需求的正確可能性就越小,這個(gè)是經(jīng)驗(yàn)之談了,我們需要把準(zhǔn)需求這個(gè)準(zhǔn)繩來(lái)做文章,而不是陷入個(gè)人主義以及對(duì)軟件要求而憑空發(fā)揮自己不切實(shí)際的想象。
f. 我們可以先硬件設(shè)計(jì),接著圍繞該硬件編制軟件。雖然實(shí)際系統(tǒng)的實(shí)現(xiàn)過(guò)程可能是軟硬件并行開(kāi)發(fā),但軟件人員基本上也是圍繞著已經(jīng)實(shí)現(xiàn)的硬件來(lái)進(jìn)行程序設(shè)計(jì)的;對(duì)于更為復(fù)雜的系統(tǒng)來(lái)說(shuō),開(kāi)發(fā)過(guò)程可能會(huì)出現(xiàn)重復(fù)。