国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件工程課程系統(tǒng)的研究初探

2018-01-04 11:06王曉霞
電腦知識(shí)與技術(shù) 2018年30期
關(guān)鍵詞:軟件設(shè)計(jì)軟件測(cè)試

王曉霞

摘要:1968年,在北大西洋公約組織舉行的一次學(xué)術(shù)會(huì)議上,該組織的科學(xué)委員們?cè)陂_會(huì)討論軟件的可靠性與軟件危機(jī)的問題時(shí),首次提出了“軟件工程”的概念,并將其定義為“為了經(jīng)濟(jì)的獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立和使用的健全的工程規(guī)則”。軟件工程是指導(dǎo)軟件開發(fā)和維護(hù)的工程類學(xué)科。以計(jì)算機(jī)理論及其他相關(guān)科學(xué)理論做指導(dǎo),進(jìn)行軟件的開發(fā)和維護(hù),并把相關(guān)的管理措施和技術(shù)方法相結(jié)合,以少的代價(jià)獲得高質(zhì)量的軟件。本文主要介紹軟件工程學(xué)科的概念、原理、方法、軟件工具及支持環(huán)境,也將涉及軟件的計(jì)劃、分析、設(shè)計(jì)、編程、測(cè)試和維護(hù)整個(gè)生存周期。

關(guān)鍵詞:軟件工程概論;可行性研究及需求分析;軟件設(shè)計(jì);編碼及實(shí)現(xiàn);軟件測(cè)試;軟件維護(hù)

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)30-0273-03

Abstract: In 1968, in the north Atlantic treaty organization held an academic meeting, members of the organization's science in a meeting to discuss the software reliability and software crisis, first proposed the concept of "software engineering", and defines it as "in order to obtain reliable economic and software that can run efficiently on real machines and set up and use of sound engineering rules".Software engineering is an engineering discipline that guides software development and maintenance. With the guidance of computer theory and other related scientific theories, software development and maintenance are carried out, and related management measures and technical methods are combined to obtain high-quality software at a low cost.This paper mainly introduces the basic concept, principle and method of software engineering, software tools and supporting environment, will also be involved in the software planning, analysis, design, programming, testing and maintenance of the entire life cycle.

Key words: An introduction to the software engineering;Feasibility study and demand analysis;The software design;Coding and implementation;Software testing;Software maintenance

1 軟件工程概論

1.1 軟件

1) 概念:軟件是計(jì)算機(jī)系統(tǒng)的“思維中樞”,在計(jì)算機(jī)系統(tǒng)中起著舉足輕重的作用。它與計(jì)算機(jī)硬件相互作用,互相配合,從而實(shí)現(xiàn)了特定的系統(tǒng)功能。用軟件工程的觀點(diǎn)看,軟件是完成某類問題求解的程序和數(shù)據(jù)以及為維護(hù)程序必須提供的一系列文檔組成的集合。用簡(jiǎn)潔公式:軟件=程序+數(shù)據(jù)+系列文檔

2) 特點(diǎn):軟件不同于硬件,它只有邏輯形式不具備物理形式,也就是說軟件是“開發(fā)”出來的,不是“制造”出來的。另一個(gè)是軟件被用戶使用時(shí),只存在維護(hù)的問題,不存在用壞的問題,也就是說它可能會(huì)被“廢棄”,而不會(huì)被“用壞”。軟件不會(huì)受到引起硬件磨損的環(huán)境因素的影響,但是軟件存在著缺陷維護(hù)和技術(shù)更新的問題。軟件對(duì)運(yùn)行環(huán)境的這種依賴是一般產(chǎn)品所沒有的。

1.2 軟件危機(jī)

軟件危機(jī)是計(jì)算機(jī)系統(tǒng)發(fā)展的產(chǎn)物。換句直白的話說是“軟件供不應(yīng)求”。是一系列嚴(yán)重問題在軟件的開發(fā)還有維護(hù)的過程中的集中體現(xiàn)。

軟件危機(jī)出現(xiàn)的本質(zhì)原因,我理解為人們對(duì)軟件產(chǎn)品認(rèn)識(shí)的不足以及軟件開發(fā)的內(nèi)在規(guī)律的理解偏差。

1.3 軟件工程

軟件工程具有三方面的技術(shù)要素,即軟件工程方法、軟件工具和軟件工程過程。

⑴ 軟件工程方法是在軟件開發(fā)與維護(hù)的過程中為了保證產(chǎn)品的高質(zhì)量、低成本和高效率而采用的技術(shù)方法。

⑵ 軟件工具是為了軟件工程方法的應(yīng)用而提供的軟件支撐環(huán)境。

⑶ 軟件工程過程是指按照一定的軟件工程方法在軟件開發(fā)過程中所進(jìn)行的一系列軟件工程活動(dòng)。

1.4 軟件生命周期

如同任何事物一樣,軟件也有孕育、誕生、成長、成熟、衰亡的生存過程,也就是所謂的軟件生命周期。

軟件產(chǎn)品的生命周期一般可以劃分為6個(gè)階段:⑴可行性研究 ⑵需求分析 ⑶軟件設(shè)計(jì) ⑷編碼 ⑸軟件測(cè)試 ⑹軟件維護(hù)。

1.5 軟件開發(fā)方法

經(jīng)過30多年的軟件工程實(shí)踐,人們已經(jīng)掌握了多種軟件開發(fā)方法。其實(shí)就是利用已經(jīng)定義好的技術(shù)還有一些符號(hào)來組織軟件生產(chǎn)過程的方法。軟件開發(fā)方法其實(shí)就是對(duì)軟件開發(fā)的步驟,文檔的格式還有評(píng)價(jià)標(biāo)準(zhǔn)有了一個(gè)規(guī)范的要求,讓軟件的生產(chǎn)進(jìn)入一個(gè)有章可循、規(guī)范化、標(biāo)準(zhǔn)化的階段邁進(jìn)。

2 可行性研究及需求分析

2.1 可行性研究

可行性研究是項(xiàng)目開發(fā)之前的重要階段??尚行匝芯康哪康牟辉谟谔岢鼋鉀Q問題的方案,而在于研究解決問題的必要性和可能性。可行性研究主要從技術(shù)、經(jīng)濟(jì)和社會(huì)三個(gè)方面對(duì)軟件項(xiàng)目的可行性進(jìn)行分析。

可行性分析實(shí)際上是簡(jiǎn)化了高層次上的系統(tǒng)分析和設(shè)計(jì)過程。它的分析基本包含兩個(gè)步驟:一個(gè)是在高層次上來分析現(xiàn)有的系統(tǒng),還有就是在高層次上來設(shè)計(jì)新系統(tǒng)若干個(gè)可能的方案。

2.2 需求分析

需求分析是軟件生命周期中重要的一步。只有通過需求分析才能把軟件功能和性能的總體概念秒速為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。需求大體能分行為類型和非行為類型的。但有時(shí)候也不一定能完全分開。關(guān)鍵是能夠理解和確定所給出的需求。

需求分析的過程大體可分為:商業(yè)建模、問題的獲取、問題的分析、問題的規(guī)格說明以及問題的驗(yàn)證等五個(gè)階段。

需求分析是軟件工程的一項(xiàng)重要任務(wù),是系統(tǒng)層軟件配置與軟件設(shè)計(jì)之間的橋梁。是任何軟件開發(fā)工作成功的前提和基礎(chǔ)。它是確定系統(tǒng)必須完成哪些工作。需求分析工作階段存在某些困難,分析人員要掌握一定的分析技術(shù),同時(shí)也要采取一定的方法,盡可能準(zhǔn)確全面的掌握用戶的真正需求。比如訪談、問卷調(diào)查、實(shí)地操作、建立模型和研究資料等。

這是一項(xiàng)要求充分溝通的活動(dòng),缺少溝通,信息獲取就會(huì)困難,采用不適當(dāng)?shù)募夹g(shù)或工具,也會(huì)導(dǎo)致不準(zhǔn)確不充分,還有可能會(huì)使方案選擇錯(cuò)誤。這就需要采用有效的溝通技術(shù)。采用適當(dāng)?shù)姆治鲈?,檢查信息域更全面完整的了解,利用模型進(jìn)行信息的交流,將問題分割降低問題的復(fù)雜性等。

3 軟件設(shè)計(jì)

軟件設(shè)計(jì)是一個(gè)把軟件需求變成軟件表示的過程,在軟件開發(fā)中處于核心地位。一般軟件設(shè)計(jì)會(huì)確定能實(shí)現(xiàn)的功能以及性能要求所集合在一起的最合理的軟件系統(tǒng)結(jié)構(gòu),以及相關(guān)的算法和數(shù)據(jù)結(jié)構(gòu)。一般分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。

軟件設(shè)計(jì)的原則有模塊化、抽象化、逐步求精、信息隱藏。這些準(zhǔn)則則是以后軟件結(jié)構(gòu)設(shè)計(jì)、求精和復(fù)查的依據(jù)。

結(jié)構(gòu)化軟件設(shè)計(jì)方法和面向?qū)ο筌浖O(shè)計(jì)方法是兩種主流的軟件設(shè)計(jì)方法。面向數(shù)據(jù)流的方法和面向數(shù)據(jù)結(jié)構(gòu)的方法是兩種常用的結(jié)構(gòu)化軟件設(shè)計(jì)方法。

常用的結(jié)構(gòu)化軟件設(shè)計(jì)工具具有流程圖、N-S圖和PAD圖等。

4 編碼及實(shí)現(xiàn)

編碼就是把軟件設(shè)計(jì)的結(jié)果翻譯成用某種編程語言書寫的程序。編寫代碼不是一項(xiàng)簡(jiǎn)單的工作,而是一個(gè)復(fù)雜的迭代過程,包括對(duì)設(shè)計(jì)成果的理解、編寫代碼、代碼檢查、代碼調(diào)試、軟件集成及代碼優(yōu)化等。

編程語言是人與計(jì)算機(jī)進(jìn)行交互的基本工具,它定義了一組計(jì)算機(jī)的語法規(guī)則,通過這些語法規(guī)則可以把人的意圖、思想等轉(zhuǎn)化為計(jì)算機(jī)可以理解的指令,進(jìn)而讓計(jì)算機(jī)幫助人類完成某些任務(wù)。編程語言的發(fā)展經(jīng)歷了機(jī)器語言、匯編語言、高級(jí)語言和超高級(jí)語音4個(gè)階段。

選擇編程語言時(shí)要綜合考慮各方面的因素,并做出合理的平衡。通常需要考慮的因素有待開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域、用戶的要求、軟件開發(fā)人員的喜好和能力、系統(tǒng)的可移植性要求、算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜化等。

編程風(fēng)格是指源程序的書寫習(xí)慣。規(guī)范的編程風(fēng)格會(huì)對(duì)后期的軟件維護(hù)帶來很大便利。規(guī)范編程風(fēng)格可以從源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出和效率幾個(gè)方面做起來。

5 軟件測(cè)試

軟件測(cè)試試圖以最少的代價(jià)來發(fā)現(xiàn)軟件在分析、設(shè)計(jì)、編碼中存在的各種不同類型的錯(cuò)誤,從而提高軟件的質(zhì)量、降低軟件的成本。

測(cè)試人員必須貫徹測(cè)試的原則:首先測(cè)試應(yīng)該盡早地不斷進(jìn)行,而且測(cè)試還要盡早地制定計(jì)劃,嚴(yán)格的執(zhí)行計(jì)劃,使測(cè)試工作貫穿于整個(gè)軟件開發(fā)的過程中。再次在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)包括輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩個(gè)部分,并且,輸入數(shù)據(jù)不僅應(yīng)該包括合法的情況,還應(yīng)該包括非法的輸入情況,再者規(guī)模要從小到大,最后要保證測(cè)試的完整性和有效性。

軟件測(cè)試工具:是一種測(cè)試軟件,借助它就可以有效地提高測(cè)試工作的效率。一般的分為靜態(tài)的和動(dòng)態(tài)的測(cè)試工具。

測(cè)試軟件的方法:軟件測(cè)試有多種方法。從用例設(shè)計(jì)的角度可以把軟件測(cè)試分為黑盒測(cè)試和白盒測(cè)試。

測(cè)試無論怎樣進(jìn)行也不能保證測(cè)試后的軟件不再有錯(cuò)誤。這就需要軟件的證明,通過這種活動(dòng)來保證軟件正確性,由于軟件本身的復(fù)雜性,程序的正確性證明還沒有達(dá)到實(shí)用化的程度。

6 軟件維護(hù)

維護(hù)軟件一般是軟件交付使用以后,為了改正之前的錯(cuò)誤或者為了滿足用戶的新的需求等等,來修改軟件達(dá)到延長軟件壽命的目的。她其實(shí)是軟件生存的最后一個(gè)周期,也是非常重要的階段。另外軟件維護(hù)的費(fèi)用占總成本的比例還是比較大的,有人把維護(hù)也比作“冰山”,來說明對(duì)軟件開發(fā)所造成的障礙。

軟件維護(hù)和硬件不同,它不是因?yàn)檐浖p、老化造成的,它是由于軟件的設(shè)計(jì)不完整、不正確或者是使用環(huán)境的變化造成的。所以它的一般的活動(dòng)類型大概是:改正性的維護(hù)、適應(yīng)性的維護(hù)、完善性的維護(hù)還有預(yù)防性的維護(hù)或再工程,還有一些其他類型的維護(hù)。比如支援性的維護(hù)等。

軟件維護(hù)的成本也就是軟件維護(hù)的工作量還是蠻大的,受到很多因素的影響,比如系統(tǒng)的大小、程序的設(shè)計(jì)語言、系統(tǒng)的年齡、數(shù)據(jù)庫的應(yīng)用、新技術(shù)的應(yīng)用等等,除此之外,還有一些無形的成本。比如一些修復(fù)和修改不能及時(shí)滿足客戶的需求,維護(hù)過程引出的錯(cuò)誤等。

軟件維護(hù)的這種可行是對(duì)軟件產(chǎn)品進(jìn)行維護(hù)的難易程度的標(biāo)準(zhǔn),它與軟件的可理解性、可修改性、可測(cè)試性密切相關(guān)。軟件維護(hù)具有副作用,所以在進(jìn)行軟件維護(hù)時(shí)要慎之又慎。

軟件質(zhì)量是軟件產(chǎn)品的生命線,也是軟件企業(yè)的生命線。另外,我們不嫩忽視軟件文檔在軟件工程中的重要地位。合格的軟件工程的文檔應(yīng)該具備及時(shí)性、完整性、實(shí)用性、規(guī)范性、結(jié)構(gòu)化和簡(jiǎn)潔性等特點(diǎn)。

7 總結(jié)

軟件已經(jīng)是計(jì)算機(jī)系統(tǒng)和產(chǎn)品的中的一個(gè)關(guān)鍵的元素了,在過去幾十年里,軟件已經(jīng)由一個(gè)專門問題的程序或者信息分析的工具發(fā)展成了一個(gè)產(chǎn)業(yè)。但由于很多問題的出現(xiàn)限制了軟件的發(fā)展,這就出現(xiàn)了軟件工程。它就是要提供一個(gè)構(gòu)造高質(zhì)量軟件的框架,來解決這些問題。

軟件工程是計(jì)算機(jī)軟件開發(fā)的工程性學(xué)科。它有很多的工程模型,每一種都有它的優(yōu)點(diǎn)和缺點(diǎn)。所以我們?cè)趹?yīng)用時(shí)也要引起重視。

并行工程是軟件工程近來發(fā)展的方向。它克服了直線式開發(fā)模型的確點(diǎn),讓軟件具有了無縫性,可逆性的特點(diǎn),比較適應(yīng)實(shí)際的需要。它的意義和地位已經(jīng)越來越得到信息業(yè)界和其他相關(guān)專業(yè)的高度重視。

參考文獻(xiàn):

[1] 呂云翔,王昕鵬.軟件工程[M]北京:人民郵電出版社,2009.9.

[2] 趙一丁.軟件工程基礎(chǔ)[M]北京:北京郵電大學(xué)出版社,2006.

[3] 周楓.軟件工程[M]重慶:重慶大學(xué)出版社,2001.7.

[4] 張海藩.軟件工程導(dǎo)論[M]北京:清華大學(xué)出版社,2008.2.

【通聯(lián)編輯:梁書】

猜你喜歡
軟件設(shè)計(jì)軟件測(cè)試
基于OBE的軟件測(cè)試課程教學(xué)改革探索
EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
基于單片機(jī)SPCE061A的字幕機(jī)點(diǎn)陣式字母電子顯示屏的設(shè)計(jì)制作
智能電能表軟件測(cè)試技術(shù)概述
《軟件測(cè)試》課程教學(xué)策略研究
措美县| 泾川县| 昌黎县| 平谷区| 越西县| 罗田县| 五大连池市| 沈丘县| 河津市| 微山县| 云龙县| 镇江市| 晋宁县| 高邮市| 贺兰县| 寻甸| 建湖县| 庆云县| 潮州市| 腾冲县| 基隆市| 万州区| 信宜市| 宣恩县| 青田县| 无极县| 延庆县| 聂拉木县| 万山特区| 宁乡县| 安庆市| 夏河县| 九江县| 石柱| 宁都县| 个旧市| 公主岭市| 名山县| 合水县| 天气| 温泉县|