軟件開發(fā)的論文
摘 要:談計算機軟件開發(fā)影響軟件質量的因素摘要:計算機軟件已經深入到人類生產、生活都各個方面,計算機軟件的質量,與人們生活質量、工作效率、生產生活活動的高效與否直接相關。討論了計算機軟件開發(fā)中影響軟件質量的因素,分析了這些因素出現(xiàn)的原因,并提出了相關的改進措施,從而提升軟件整體開發(fā)水平,保證軟件質量。
關鍵詞:軟件開發(fā)的論文
計算機已經進入了人類生產生活的所有領域,計算機軟件作為連接人與硬件的橋梁,也隨著計算機軟件進入了人類生產生活的所有領域。計算機軟件的發(fā)展歷程,就是信息產業(yè)的發(fā)展歷程。計算機軟件的不斷發(fā)展,提升了人們的生活品質,提高了企業(yè)的生產力,增強了現(xiàn)代商業(yè)社會的競爭。不斷改善軟件質量,可以減少不必要的損失,提高生產生活效率。
1影響計算機軟件開發(fā)中軟件質量的因素
1.1需求產品設計
一款軟件的開發(fā),最主要的為了滿足用戶的需求,軟件就是因為用戶有使用需求,才有存在的意義。可以毫不夸張地說,程序員的奇思妙想并不是一款優(yōu)秀軟件誕生的最關鍵因素,用戶的需求才是一款優(yōu)秀軟件產生的最主要因素。用戶的需求,從根本上決定了軟件開發(fā)的質量,也決定了整個軟件開發(fā)的進程與軟件開發(fā)過程的順暢程度。與用戶交流軟件需求,是整個軟件開發(fā)初期,甚至是一直延續(xù)到軟件基本定型之前的一項重要工作。而且這些工作不是一時半會就能做完的,需要客戶經理與客戶保持良好有效的溝通,根據行業(yè)特征形成能夠被開發(fā)人員理解的用戶需求統(tǒng)計,并且在整個開發(fā)過程中,還要針對用戶對軟件的功能進行講解演示,如果有不符合用戶的地方再進行修改,經過很多次的這些修改過程,就會做出最終高度鍥合用戶需求的軟件。如果在軟件開發(fā)之前就可以清晰明確地知道客戶需求,那么就可以減少修改軟件的次數,減少開發(fā)時間,減少成本,增加利潤。
1.2軟件開發(fā)交互式體驗
軟件開發(fā)過程中的開發(fā)交互式體驗,也是影響計算機軟件開發(fā)中軟件質量的因素。交互式體驗,就是用戶發(fā)出某種指令,而系統(tǒng)發(fā)出反饋。軟件開發(fā)時的交互體驗,簡要來說,就是用戶對軟件開發(fā)過程中的試用、提出意見的過程。在軟件開發(fā)之前,用戶已經告知了開發(fā)組織自己的需求,但是軟件開發(fā)過程中,有可能因為之前交流不暢,或者用戶的需求沒有很好的表達,這就要求在整個軟件開發(fā)過程中需要不斷對軟件進行修改。軟件開發(fā)是需要開發(fā)不同的模塊,然后把模塊組合起來,就變成了一整個軟件。在每一個軟件模塊開發(fā)完畢時,就要邀請用戶進行測試,輸入相關指令,看模塊的反饋是否如自己的預期,不如自己的預期就要要求開發(fā)者進行修改。這一過程也對計算機軟件開發(fā)的規(guī)范性有很高的要求。因為開發(fā)過程中的標準很難固定很難量化,所以一旦模塊開發(fā)出現(xiàn)問題時,很難對開發(fā)者的責任進行界定。因而軟件開發(fā)過程中開發(fā)人員和研究人員也就不會對規(guī)范性的開發(fā)予以足夠多的重視,而是過度關注軟件開發(fā)速度和降低成本,忽視質量。
1.3軟件開發(fā)的技術人員配置
技術人員是軟件開發(fā)最最主要的力量,沒有技術人員的參與,軟件開發(fā)就是一句空談。因此與軟件開發(fā)質量最相關的就是開發(fā)技術人員。相比于其他人員,由于行業(yè)發(fā)展快速導致人才需求量大、薪酬、平臺、機遇等問題,導致現(xiàn)在軟件開發(fā)人員流動性較強,而且人員專業(yè)性也是參差不齊。高離職率導致了軟件開發(fā)周期、開發(fā)成本出現(xiàn)了很多不可控因素。如果軟件開發(fā)人員在軟件開發(fā)過程中離開項目,那么就需要后續(xù)人員補上空缺,而后續(xù)人員對這個項目的理解掌握程度肯定無法跟已經離開的人員相提并論,如此熟悉項目、項目組、客戶需要的時間成本就是難以避免的了。另外,后續(xù)人員的專業(yè)性水平也是制約項目質量的重要因素。雖然軟件行業(yè)發(fā)展迅速,人員缺口巨大,但是具有強大業(yè)務能力的優(yōu)質人才一直是行業(yè)緊缺的資源。從軟件需求分析到軟件交付,高素質人才對項目一直都是具有舉定性意義。
1.4軟件開發(fā)基礎架構設計
軟件架構是軟件系統(tǒng)的框架,更是地基一樣的存在,它是軟件系統(tǒng)的最基礎的決定因素,決定了一個軟件的框架結構、宏觀特性和最根本的功能及屬性。軟件基礎架構設計,在一個軟件的開發(fā)周期中處于前期位置。基礎架構設計的過程,就是把分析出來的客戶需求、挖掘出的非功能性需求、將用戶領域的知識轉化為軟件系統(tǒng)架構有機結合統(tǒng)籌規(guī)劃的過程。本質上,軟件基礎架構是對軟件需求的一種抽象化的處理方案,用于指導軟件尤其是大型軟件的整個開發(fā)過程。正如蓋房需要先畫圖紙,然后需要打好地基,軟件基礎架構設計就是整個軟件工程的圖紙和地基。但是現(xiàn)實情況下,軟件架構還沒有形成一個統(tǒng)一的行為規(guī)范與行業(yè)標準,更多的還是開發(fā)公司內部自己協(xié)調的結果。因而軟件開發(fā)基礎架構設計也是能夠體現(xiàn)軟件開發(fā)公司的專業(yè)性,影響軟件開發(fā)質量的根本性因素。
1.5可拓展性、后期維護性
現(xiàn)代社會,很少會有客戶要求開發(fā)完全封閉性的軟件,一般軟件都會留有接口,方便后期專業(yè)人員進行維護。軟件運行過程中,需要對很多參數進行修改,需要根據具體運行情況修改進程,確定某些模塊的優(yōu)先級。甚至程序可以改變自己的某些運行邏輯。但是這些改變并不一定都是積極的,甚至有的改變會使整個程序的運行更加低效。此時就需要維護人員進行專門的修改。軟件是發(fā)展的,有的時候,只是需要增加某些具體的功能,重新開發(fā)軟件費時費力得不償失,因而要對原有軟件進行拓展,簡單的例子就是蘋果的iOS系統(tǒng)的后期增加版本。軟件的可拓展性、后期維護性,都是考驗軟件開發(fā)工程中的軟件適用性和兼容性的重要方法。而軟件的適用性和兼容性,就是衡量軟件質量的重要因素。軟件的適用性和兼容性,考驗著軟件開發(fā)人員的專業(yè)能力,適用性和兼容性高的軟件,一定是架構合理、軟件開放性高、配置合理、性能高效、端口豐富的好軟件。這不僅要求軟件架構的優(yōu)秀,也要求著整個軟件開發(fā)過程中的協(xié)調控制能力高超,能夠合理安排人員,合理安排資源,并且具有充分的前瞻性,可以考慮到以后用戶的需求留下升級改造的空間。這些預見能力、開發(fā)創(chuàng)造能力、創(chuàng)新能力,無一不是專業(yè)高素質的軟件開發(fā)人員的能力
2原因分析
2.1需求分析
好的開端就是成功的一半。一個良好的開端,即明確用戶需求,能夠為后續(xù)的軟件開發(fā)工作奠定良好的基礎。如果需求分析比較模糊,就會導致軟件開發(fā)在后期出現(xiàn)重大問題。如果不能在軟件開發(fā)前期對用戶需求進行有效、明確、徹底的了解,就無法在軟件開發(fā)過程中完美契合用戶需求,對用戶需求一知半解進行開發(fā),會造成后續(xù)開發(fā)人員的無所適從,或者軟件開發(fā)過程中用戶測試時,會經常得到修改意見,甚至最后開發(fā)出來的軟件不會被用戶所接受。這些后果都會導致軟件開發(fā)過程中的時間、成本、人員等等出現(xiàn)各種不可控因素,進而有可能導致產品更多的缺陷。如果這種情況發(fā)生很多的話,那么就會影響企業(yè)的聲譽,甚至會影響企業(yè)未來的發(fā)展。
2.2軟件設計
在明確了用戶需求之后,就需要開展后期的工作。后期的工作主要是包含兩個步驟,首先要進行基礎設計,然后要進行具體的開發(fā)工作。基礎設計就是上文說過的軟件基礎架構設計,通俗地講,就是畫圖紙、打地基。軟件架構就是軟件系統(tǒng)的骨架與基礎,是對軟件整體結構的描繪,包括全局組織與控制結構、模塊結構通聯(lián)、同步和數據訪問協(xié)議、設計界面的功能、物理分布、設計元素等的集成。因此,開發(fā)好軟件基礎架構,就是畫好圖紙打好地基,對以后的開發(fā)工作具有最重要的指導性作用。具體開發(fā)工作,就是要一句一句地進行各個模塊、主題、通聯(lián)結構之間的開發(fā)。這是整個開發(fā)過程中耗時最長、工作最重、工作最繁瑣的一個環(huán)節(jié),要耗費最大量的資源、人力。這兩個環(huán)節(jié)出現(xiàn)問題,會導致軟件質量出現(xiàn)重大問題。軟件基礎架構出現(xiàn)問題,會導致整個軟件先天不良,出現(xiàn)各種結構性問題,比如后期的軟件運行效率低下,容易出現(xiàn)運行卡頓出錯,還會導致后期維護困難,擴展性變差。軟件開發(fā)過程出現(xiàn)問題,會導致工期延長,資源不合理浪費。軟件開發(fā)過程中出現(xiàn)問題,可能會直接導致整個軟件無法正常運行,用戶驗收不通過。因為軟件開發(fā)的復雜性,以及某些軟件的巨大化,所以后期想要在進行故障清理,有的時候甚至不亞于直接重新將軟件再寫一遍的難度。如果一個軟件開發(fā)過程中不認真出現(xiàn)很多了bug,被用戶知道了,會導致用戶的不滿,這種情況出現(xiàn)多次,就會極大地影響企業(yè)的口碑。
2.3質量把控
現(xiàn)在規(guī)范化的軟件公司,在用戶需求確定階段、軟件工程開發(fā)階段、軟件開發(fā)完成的測試階段,都會存在層層的審核機制與質量把控行為。這些審核機制與質量把控行為,是對整個軟件開發(fā)成果的文檔資料、代碼正確高效、軟件開發(fā)工序進行評判,就是要盡最大可能保障整個軟件開發(fā)結果快速、高效、高質量。但是這個審核過程也是很容易出現(xiàn)問題的。(1)對于很多的軟件開發(fā)工作越來越往大型化、復雜化、多模塊化發(fā)展,這些軟件開發(fā)工作量十分浩大,涉及的人員、部門繁多,要相對這些進行詳盡的審核與質量控制,可想而知是一件工作量極大,耗時極長,同時也需要大量人力、資源的一種工作,出問題是很容易的。(2)軟件審查人員的專業(yè)性問題也會導致審核不力的出現(xiàn)。如果審核人員的專業(yè)性不足,會導致很多問題無法檢測出來,甚至很多程序員自己寫的軟件,自己都無法審查出來到底哪里出了問題。因此,審核人員的專業(yè)素養(yǎng)必須要高,才能找出一般工作人員在軟件開發(fā)工作時犯下的錯誤。
3避免出現(xiàn)軟件質量問題的建議
3.1加強軟件設計管理
在軟件開發(fā)工作開始之前,明確并且仔細分析用戶需求,是極其重要的。必須要仔細多方面地與用戶展開交流,通過與客戶全方位的交流可以刻畫出用戶的具體的需求,從設計初期就緊緊抓住用戶的需求,控制好軟件開發(fā)的質量。在軟件開發(fā)過程中,如果發(fā)現(xiàn)由于前期溝通不力或者后期用戶自己發(fā)生改變,則需要通過止損機制和缺陷管理對軟件開發(fā)的過程、工序、內容進行更改。此外,對用戶需求進行分析,根據需求的不同,將需求分類、分成塊,一塊一塊滿足,也方便一塊一塊修改程序。要切實有效地分析客戶需求,并針對客戶需求制定合理的計劃,而且要具備根據客戶需求的改變實時改變計劃的能力,這才是一個合格的軟件開發(fā)團隊應該做到的。
3.2提升技術人員的專業(yè)和綜合素質
互聯(lián)網產業(yè)最重要的資源是人才,不止是優(yōu)秀的開發(fā)人才,也包括優(yōu)秀的組織管理人才。優(yōu)秀的開發(fā)團隊可以保證開發(fā)出優(yōu)秀的產品,并同時做到保證企業(yè)的效益和企業(yè)、團隊的聲譽。因此,技術開發(fā)人員必須要嚴格要求自己,通過學習行業(yè)領先知識,學習行業(yè)領先經驗,甚至可以與很多行業(yè)大牛接觸學習借鑒,創(chuàng)新使用自己已經獲得的各種知識、工具,同時保持自己的上進心、主動性,用追求完美的態(tài)度積極工作,才能一直保持行業(yè)領先,獲得更大的收益。企業(yè)也要保證開發(fā)團隊人員的薪金待遇,保障他們的各項需求得到合理的滿足,并要不斷對企業(yè)人才展開持續(xù)的培訓培養(yǎng),這樣才能留住人才,發(fā)展人才,才能獲得公司的壯大與發(fā)展。企業(yè)和員工要相互信任共同成長,恪守職業(yè)道德,恪守以員工為本的原則,共同建立高效、有序、和諧的企業(yè)內部氛圍。
3.3加強代碼的檢查
軟件質量問題絕大部分出現(xiàn)在代碼上,代碼是軟件的主體,因此要保證軟件質量,必須要加強對整個軟件代碼的檢查力度。但是,由于代碼的繁多以及邏輯關系復雜,導致在檢查中發(fā)現(xiàn)問題是一件很不容易做到的事,同時也是一件對檢查人員專業(yè)性要求很高的工作。開發(fā)人員在編寫完代碼之后,必須對軟件實施切實有效的檢查,可以通過各種方式,比如代碼走查、代碼互查、機械檢查等等方式進行。只檢查某一個模塊中的代碼是不夠的,必須要對模塊之間的聯(lián)結是否順暢高效進行相應的檢查,這也就是說,要檢查構架建設是否合理,邏輯關系是否順暢合理,也要引入專門的檢察人員進行代碼的檢查,并且要求全部人員,形成縝密的邏輯思維,與細心的工作態(tài)度,加深對技術準確性、安全性的理解,提高技術水準,減少可能出現(xiàn)的代碼質量問題。代碼準確度越高,出錯率越低,成本就越低,如此可以付給開發(fā)人員的薪酬也就越高,形成雙贏態(tài)勢。
4結語
在實際的軟件開發(fā)工作中,影響軟件質量的因素非常多,管理這些因素,控制并提高軟件的質量,需要開發(fā)人員和管理人員共同進步。開發(fā)人員要通過不斷學習,借鑒行業(yè)高手的先進經驗,努力提高一次編譯成功率以及減少bug數量,同時要鍛煉自己架構建設、代碼檢查的能力。管理人員要加強自己的科學管理能力,積極統(tǒng)籌各個部門協(xié)力合作,減少時間成本,增加效益,同時要更加注重組織建設,保證開發(fā)人員的培訓成長,幫助企業(yè)進步。
【軟件開發(fā)的論文】相關文章:
軟件開發(fā)風險管理研究論文05-01
軟件開發(fā)項目進度管理初探論文05-02
軟件開發(fā)風險評估方式研究論文05-02
軟件開發(fā)項目進度管理研究論文05-02
軟件工程在軟件開發(fā)中的運用論文04-27
軟件工程在軟件開發(fā)中的應用論文04-27
軟件開發(fā)中現(xiàn)代軟件工程的應用的論文04-27
軟件開發(fā)成本核算與有效控制論文05-02