軟件開發(fā)概念及特點(diǎn)之軟件基本概念一
7.1 知識(shí)子域:軟件安全開發(fā)生命周期
7.1.1 軟件開發(fā)概念及特點(diǎn)
1.軟件基本概念
軟件是與計(jì)算機(jī)系統(tǒng)操作相關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能產(chǎn)生的文件、文檔及數(shù)據(jù)。一般來說軟件具有以下特點(diǎn):
1)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,它具有抽象性
軟件是一種邏輯實(shí)體,與硬件這種物理實(shí)體不同,軟件具有抽象性,必須經(jīng)過測(cè)試、 分析、思考、判斷來了解它的功能、性能及其它特性。‘
2)軟件是開發(fā)出來的,而不是制造出來的
軟件是通過人們的智力活動(dòng),把知識(shí)和技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)的過程中被創(chuàng)造出來的。一旦某一軟件項(xiàng)目研制成功,之后就可大量地復(fù)制同一內(nèi)容的副本,即其研發(fā)成本遠(yuǎn)遠(yuǎn)大于其生產(chǎn)成本。軟件拷貝不會(huì)改變軟件本身,這也使得軟件具有唯一性,而任何兩個(gè)硬件不可能完全相同。
3)在軟件的運(yùn)行和使用期間,不會(huì)出現(xiàn)硬件那樣的機(jī)械磨損、老化問題
硬件產(chǎn)生故障的原因有四個(gè)方面:設(shè)計(jì)問題、生產(chǎn)過程中的問題、超載及損耗。硬件故障主要是由于耗損(物理退化)所致,而軟件不存在物理退化現(xiàn)象,這就決定了軟件正確性與軟件的可靠性密切相關(guān),一個(gè)正確的軟件任何時(shí)刻均可靠;然而一個(gè)正確的硬件元器件或系統(tǒng)則可能在某個(gè)時(shí)刻故障。
軟件沒有耗損問題不等于沒有可靠性問題,因在開發(fā)過程中常有一些隨機(jī)因素,不可避免地會(huì)給軟件留下缺陷,因此軟件也可能有可靠性問題。所以硬件的故障機(jī)理是耗損,而軟件的故障機(jī)理則是殘留缺陷在一定環(huán)境下造成的軟件錯(cuò)誤。
在軟件的運(yùn)行和使用期間,軟件沒有硬件那樣的機(jī)械磨損、老化問題,但是軟件也會(huì)出現(xiàn)故障,軟件維護(hù)比硬件維護(hù)要復(fù)雜的多,與硬件的維修也有著本質(zhì)的差別。