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