周立君
摘要:現(xiàn)今社會(huì),軟件工程作為信息產(chǎn)業(yè)的一個(gè)支柱,已逐漸為人們所熟悉和廣泛使用。數(shù)據(jù)流圖作為軟件工程不可缺少的輔助工具,有著不可替代的作用。通過(guò)數(shù)據(jù)流圖,軟件設(shè)計(jì)者可以更有效地對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),更好地捕獲用戶(hù)需求。用戶(hù)也可以更好地了解該系統(tǒng)。
關(guān)鍵詞:軟件工程;數(shù)據(jù)流圖;結(jié)構(gòu)化分析方法
引言
軟件工程作為信息產(chǎn)業(yè)的一個(gè)支柱,已逐漸為人們所熟悉和廣泛使用。數(shù)據(jù)流圖作為軟件工程不可缺少的輔助工具,有著不可替代的作用。通過(guò)數(shù)據(jù)流圖,軟件設(shè)計(jì)者可以更有效地對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),更好地捕獲用戶(hù)需求。用戶(hù)也可以更好地了解該系統(tǒng)。
1繪制流程圖應(yīng)遵循的原則
1.1合理進(jìn)行編號(hào)
常用數(shù)字對(duì)分層數(shù)據(jù)流程圖進(jìn)行編號(hào),提出的MPALA方法可以根據(jù)信道質(zhì)量靈活調(diào)整MCS和重復(fù)次數(shù)。當(dāng)信道質(zhì)量提高時(shí),本章提出的鏈路自適應(yīng)方法可以選擇更高的MCS,因此選擇更大的傳輸塊(TBS),能夠節(jié)省數(shù)據(jù)傳輸時(shí)間,進(jìn)而提高數(shù)據(jù)傳輸速率。當(dāng)信噪比繼續(xù)提高且大于一3dB,因此父圖擁有的子圖數(shù)少于或等于父圖中的加工個(gè)數(shù)。
1.2自頂向下分層展開(kāi)繪制
對(duì)一個(gè)龐大而又復(fù)雜的系統(tǒng),如果系統(tǒng)分析員一開(kāi)始就注意每一個(gè)具體的邏輯功能,很可能要畫(huà)出幾百個(gè)甚至上千個(gè)處理邏輯。它們之間的數(shù)據(jù)流像一團(tuán)亂麻似的分布在數(shù)據(jù)流程圖上,同樣先不管其內(nèi)部,而只分析它們之間的數(shù)據(jù)聯(lián)系,這樣反復(fù)下去,依此類(lèi)推,直至最終搞清了所有的問(wèn)題為止。
1.3由左至右地繪制
繪制數(shù)據(jù)流程圖,一般先從左側(cè)開(kāi)始,標(biāo)出外部項(xiàng)。左側(cè)的外部項(xiàng),通常是系統(tǒng)主要的數(shù)據(jù)輸入來(lái)源,然后畫(huà)出由該外部項(xiàng)產(chǎn)生的數(shù)據(jù)流和相應(yīng)的處理邏輯,如果需要將數(shù)據(jù)保存,則在數(shù)據(jù)流程圖上加上數(shù)據(jù)存儲(chǔ)。最后在數(shù)據(jù)流程圖的右側(cè)畫(huà)出接受系統(tǒng)輸出數(shù)據(jù)的外部項(xiàng),右側(cè)的外部項(xiàng)是系統(tǒng)數(shù)據(jù)的輸出去向。
2開(kāi)發(fā)大型軟件和編寫(xiě)小型程序之間的區(qū)別
開(kāi)發(fā)大型軟件和編寫(xiě)小型程序有著本質(zhì)的區(qū)別。總的來(lái)說(shuō):軟件工程由編程演變而來(lái),編程一般考慮小型程序的編寫(xiě),而軟件工程則需考慮大型軟件系統(tǒng)的研制。
2.1從所需的人力看
小型程序從確定要求、編制、使用等直到修改往往是由同一個(gè)人完成的,因此只要編程者本人心理明白程序的構(gòu)思就夠了,而大型系統(tǒng)則必須由許多人(包括用戶(hù)'幣目負(fù)責(zé)人,分析員,程序員,資料員操作員)等組成一支開(kāi)發(fā)隊(duì)來(lái)協(xié)同完成,所以人與人之間必須準(zhǔn)確地進(jìn)行協(xié)商討論。
2.2從產(chǎn)品使用情況看
小型產(chǎn)品往往是一次性的,即如果需要作較大的修改,人們通常寧可丟棄舊的程序而重新編寫(xiě),但大型系統(tǒng)的開(kāi)發(fā)耗費(fèi)了大量的人力與物力,所以人們一般不會(huì)輕易將其丟棄,而總是在舊程序的基礎(chǔ)上一改再改,希望延長(zhǎng)它的使用期。
3軟件工程的現(xiàn)狀
3.1軟件工程的發(fā)展特點(diǎn)
通過(guò)知網(wǎng)的全文檢索功能,檢索關(guān)鍵詞“軟件工程、發(fā)展、現(xiàn)狀、前景”,從中選取了100篇相關(guān)文獻(xiàn)進(jìn)行了計(jì)量可視化分析,結(jié)果有關(guān)軟件工程的現(xiàn)狀以及發(fā)展前景問(wèn)題的研究大體上呈現(xiàn)出逐年上升的趨勢(shì),這說(shuō)明中國(guó)的軟件工程產(chǎn)業(yè)的發(fā)展越來(lái)越引起人們的重視。
結(jié)合調(diào)查結(jié)果能夠了解到,近些年軟件工程行業(yè)表現(xiàn)出快速發(fā)展的態(tài)勢(shì),成為在中國(guó)最熱門(mén)的產(chǎn)業(yè)之一,給國(guó)家以及個(gè)人的發(fā)展貢獻(xiàn)了不小的力量。軟件工程必然會(huì)成為推動(dòng)將來(lái)經(jīng)濟(jì)發(fā)展的主要?jiǎng)恿χ弧J紫龋浖こ痰木蜆I(yè)前景良好,軟件發(fā)展產(chǎn)業(yè)鏈提供了大量高收入有前途的就業(yè)崗位,但是目前國(guó)內(nèi)高精尖應(yīng)用型軟件技術(shù)人才還很稀缺。其次,就業(yè)的工資待遇高,發(fā)展前景好。軟件工程師一個(gè)月的收入通常超過(guò)10000元,所以說(shuō)圍繞著軟件工程專(zhuān)業(yè)的一些職業(yè)是非常好的就業(yè)選擇。第三,就業(yè)者的選擇多,職業(yè)種類(lèi)多。在計(jì)算機(jī)軟件的編程、開(kāi)發(fā)、測(cè)試、設(shè)計(jì)等領(lǐng)域會(huì)產(chǎn)生多個(gè)分支,軟件工程不僅僅局限于編程,它還會(huì)帶來(lái)多樣化的就業(yè)崗位,因此,軟件工程的就業(yè)選擇會(huì)向著更加多元化的方向發(fā)展。
3.2計(jì)算機(jī)軟件工程的知識(shí)體系-
對(duì)于知識(shí)教育系統(tǒng)而言,計(jì)算機(jī)軟件工程技術(shù)所涉及的內(nèi)容非常之多且復(fù)雜程度較高,依據(jù)由易至難能夠劃分成下列3個(gè)層次,首先是知識(shí)點(diǎn)的掌握,這是最容易掌握和最重要的一層,是學(xué)習(xí)軟件工程學(xué)科的重中之重;二是知識(shí)領(lǐng)域劃分為知識(shí)單位,如掌握一些特殊化的技巧、符號(hào)等;第三層次是最高水平的知識(shí)領(lǐng)域,要求有更高水平的操控熟練程度以及知識(shí)掌握程度。
4數(shù)據(jù)流程圖的基本符號(hào)
數(shù)據(jù)流程圖由四種基本符號(hào)組成,重復(fù)次數(shù)設(shè)置最大保證通信質(zhì)量。當(dāng)信噪比高于12時(shí),由于直接方法的MCS=0,為了適應(yīng)不同的信道質(zhì)量、保證物聯(lián)網(wǎng)設(shè)備和基站能正確接收數(shù)據(jù)塊(即保證誤塊率小于10%),直接方法的誤塊率始終低于0.05,且比MPAIA方法的誤塊率低。但直接方法和本章提出的MPALA方法均能達(dá)到目標(biāo)誤塊率10%,這表明本章提出的鏈路自適應(yīng)方法能夠根據(jù)鏈路狀態(tài)動(dòng)態(tài)調(diào)整系統(tǒng)參數(shù),保證通信的可靠性。處理邏輯由一個(gè)長(zhǎng)方形表示,處理邏輯符號(hào)由三部分組成:標(biāo)識(shí)部分、功能描述部分和功能執(zhí)行部分。鏈路自適應(yīng)方法可以根據(jù)信道質(zhì)量動(dòng)態(tài)選擇重復(fù)次數(shù)和MCS,可以選擇更合適的重復(fù)次數(shù)和MCS的組合方案來(lái)適應(yīng)不同信道狀態(tài)。故無(wú)論信道質(zhì)量是好還是差,提出的MPALA方法都能靈活的選擇系統(tǒng)參數(shù),使得誤塊率達(dá)到目標(biāo),并提高數(shù)據(jù)傳輸速率。為評(píng)估本章提出的MPALA方法的性能,分別測(cè)試數(shù)據(jù)包大小為500比特、1000比特和1500比特時(shí)兩種方法的數(shù)據(jù)傳輸速率。
5發(fā)展前景
5.1模塊化思維將指導(dǎo)軟件產(chǎn)業(yè)的未來(lái)發(fā)展
在全球經(jīng)濟(jì)的一體化發(fā)展以及市場(chǎng)競(jìng)爭(zhēng)日趨激烈的背景下,計(jì)算機(jī)軟件企業(yè)必須要保證其自身的創(chuàng)新能力以及業(yè)務(wù)靈活性能夠滿(mǎn)足市場(chǎng)發(fā)展的要求;同時(shí),隨著Ⅱ環(huán)境變得更加復(fù)雜,以及歷史遺留下來(lái)的系統(tǒng)問(wèn)題越來(lái)越多,計(jì)算機(jī)軟件公司正面臨著新的挑戰(zhàn)。模塊化思維可以有效地解決這些問(wèn)題,打包各種軟件應(yīng)用程序和軟件組件,從而顯著地提高企業(yè)資產(chǎn)的利用率和自身的能力。
5.2軟件工程將朝著智能和自動(dòng)化方向發(fā)展
近年來(lái),信息化與自動(dòng)化越來(lái)越成為科技發(fā)展的重要趨勢(shì),而軟件產(chǎn)業(yè)作為最有發(fā)展前途的產(chǎn)業(yè)之一,受到全世界各國(guó)的高度重視。對(duì)于將來(lái)而言,高度智能化以及自動(dòng)化必然是軟件工程發(fā)展的目標(biāo)。軟件工程只有擺脫了低效率的開(kāi)發(fā)方式、低質(zhì)量的軟件產(chǎn)品和低水平的拓展性能,它才可以向著“智動(dòng)一體化”的方向不斷創(chuàng)新發(fā)展。
結(jié)語(yǔ)
總之,作為軟件開(kāi)發(fā)人員,要培養(yǎng)軟件工程的思維與方法。在項(xiàng)目初期的時(shí)候,有些開(kāi)發(fā)人員喜歡談?wù)搶?shí)現(xiàn)的細(xì)節(jié),并且樂(lè)此不疲,或者喜歡討論如何用靈活而簡(jiǎn)短的代碼來(lái)實(shí)現(xiàn)一個(gè)特定的功能,而忽略了對(duì)整個(gè)系統(tǒng)結(jié)構(gòu)的考慮。所以作為一個(gè)開(kāi)發(fā)人員,尤其是一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)人員,應(yīng)該把自己從代碼中解脫出來(lái),更多的時(shí)候在我們的腦子里甚至?xí)簳r(shí)要放棄去考慮如何實(shí)現(xiàn)的問(wèn)題,而從項(xiàng)目或產(chǎn)品的總體去考慮一個(gè)軟件產(chǎn)品。