亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

軟件工程概要介紹

csdn   發(fā)布時(shí)間:2021-08-24 16:44:18   作者:mini_qiu   我要評(píng)論
這篇文章主要介紹了軟件工程概要介紹,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

什么是軟件工程

大概總結(jié)一下:就是一個(gè)研究如何讓軟件開發(fā)的過程變得更加規(guī)范,可控,流程化,工廠化的研究體系。

    學(xué)了這么長時(shí)間的軟件工程,相信有很多人對(duì)這門學(xué)科會(huì)產(chǎn)生很多的疑問,我在這里談?wù)勎覀€(gè)人對(duì)軟件工程的理解和感受,希望對(duì)各位有所幫助和借鑒。如果大家有更好的想法也希望能夠提出來一起交流。

    首先談?wù)勈裁词擒浖こ?。相信大家肯定都聽說過橋梁工程、道路工程等等這些名詞,我們得理解工程這個(gè)詞的定義,工程說簡單點(diǎn)就是各個(gè)行業(yè)的工程師或者應(yīng)用人員通過總結(jié)規(guī)律或者方法,以最短的時(shí)間和人力、物力來做出高效可靠的東西。因此,我們也就能理解橋梁工程,其實(shí)就是人們通過經(jīng)驗(yàn)的總結(jié)和各種研究得出來的、用來修建橋梁時(shí)所采用的高效的方法,當(dāng)然這種方法是可套用的。那么我們將這個(gè)思想應(yīng)用到軟件上,于是就產(chǎn)生了一門新的學(xué)科—軟件工程。

以往,人們做軟件基本上是沒有章法可循,不知道該怎么去設(shè)計(jì)一個(gè)軟件,很多時(shí)候只能憑一些在軟件行業(yè)摸爬滾打了很多年的資深人士做出經(jīng)驗(yàn)上的判斷,這樣得出來的軟件不僅耗費(fèi)人力物力,而且質(zhì)量還得不到保證,同時(shí)維護(hù)起來也是困難重重。于是為了能夠?qū)崿F(xiàn)軟件的流水線式生產(chǎn),在設(shè)計(jì)和構(gòu)建軟件時(shí)能夠有一種規(guī)范和工程化的方法,人們便提出了軟件工程這個(gè)概念。

    需要強(qiáng)調(diào)的是,目前有關(guān)軟件工程方法真實(shí)本質(zhì)的爭論一直都在持續(xù)進(jìn)行著,要真正將軟件工程變成一個(gè)全成熟的學(xué)科,還有大量的工作要做。

軟件工程的內(nèi)容

    目前,一個(gè)通用的軟件工程過程框架通常包括5個(gè)活動(dòng):溝通-策劃-建模-構(gòu)建-部署。根據(jù)不同的過程模型(后文再介紹)這5個(gè)框架活動(dòng)的順序是不一定的。下面我們來一一介紹這5個(gè)框架活動(dòng)的內(nèi)容。

    溝通:一個(gè)軟件在設(shè)計(jì)之前一定要充分了解客戶的需求,不然得到的結(jié)果很有可能會(huì)南轅北轍,有很多軟件系統(tǒng)都是在已經(jīng)實(shí)現(xiàn)之后卻發(fā)現(xiàn)跟客戶的需求有很大差異,或者沒有達(dá)到客戶的期望,最后弄得雙方都十分尷尬。這種案例就是前期的溝通沒有做好,一方面客戶的需求可能非常理想化,他們對(duì)軟件的實(shí)現(xiàn)完全不了解,他們想達(dá)到的功能很有可能是目前技術(shù)還無法實(shí)現(xiàn)的,我們在溝通時(shí)一定要在他心中建立一個(gè)正確的觀念。另一方面,客戶可能自己都不知道要做一個(gè)具有哪些功能的軟件,他們只是有一個(gè)初步的想法,這個(gè)時(shí)候就需要開發(fā)人員去引導(dǎo),最好的方式就是提出各種版本方案讓客戶選擇,最后再擇優(yōu)處理。很多人肯定都覺得軟件開發(fā)大部分時(shí)間都花在編碼,其實(shí)恰恰相反,一個(gè)軟件的開發(fā)周期,其中一大半都是花在需求分析,也就是我們的溝通階段。有一個(gè)例子就使我印象特別深刻。

        我的大學(xué)數(shù)據(jù)庫老師曾經(jīng)接了一個(gè)醫(yī)院數(shù)據(jù)庫開發(fā)項(xiàng)目,然后他們團(tuán)隊(duì)負(fù)責(zé)需求分析的幾個(gè)人就集體搬到了醫(yī)院一個(gè)小房間住下來,然后天天"纏在"各個(gè)部門的負(fù)責(zé)人身邊,問東問西,做各種數(shù)據(jù)的分析,例如醫(yī)院的職位分配是怎么樣的制度,每個(gè)部門有多少分職,藥庫是怎樣管理的…等等等等。然而,就算是天天住在那里,都面臨著各種阻礙。首先是對(duì)方不愿意也沒有時(shí)間來做各種需求的統(tǒng)計(jì)(像醫(yī)院這種地方,每個(gè)人都很忙),其次他們自己也不太清楚自己的需求。甚至到了最后居然出現(xiàn)了某個(gè)部門的負(fù)責(zé)人常常不來辦公室(躲著他們)的情況。可想而知,項(xiàng)目最后的結(jié)果也不太理想。所以,很多時(shí)候我們做軟件開發(fā)的應(yīng)該多多學(xué)習(xí)怎么樣跟利益相關(guān)者打交道,引導(dǎo)他們做出準(zhǔn)確的需求分析。說了這么多,足以見得前期的溝通有多么重要。

    策劃:策劃階段就是要做出我們整個(gè)軟件系統(tǒng)的“設(shè)計(jì)地圖”,有了地圖我們才能將旅程變得簡單而且易于掌握。這個(gè)地圖就是我們的軟件項(xiàng)目計(jì)劃,它包括需要執(zhí)行的技術(shù)任務(wù)、可能存在的風(fēng)險(xiǎn)、需要用到的資源、整個(gè)項(xiàng)目的工作進(jìn)度等等。

    建模:顧名思義,建模就是建立我們軟件設(shè)計(jì)的模型,最初的草圖包括整個(gè)項(xiàng)目的體系結(jié)構(gòu)、不同的組件模塊之間怎么連接,以及其他的一些特性。最后經(jīng)過不斷的討論與設(shè)計(jì),對(duì)草圖進(jìn)行精化,得到每一個(gè)功能模塊的具體類與接口,這樣即使團(tuán)隊(duì)中有人離職,不得已讓新人進(jìn)來取代的時(shí)候,也能根據(jù)設(shè)計(jì)模型以及各種UML圖游刃有余的進(jìn)行編碼,這也就是為什么要有一個(gè)圖紙的原因之一。
    構(gòu)建:建模完了以后,我們就可以進(jìn)行編碼了,有了設(shè)計(jì)圖紙,編碼當(dāng)然也就不再困難。但是要注意的是編碼的時(shí)候要不斷的進(jìn)行冒煙測試(頻率非常高的一種測試模式),如果離項(xiàng)目的驗(yàn)收期限非常近了,還可以進(jìn)行敏捷開發(fā)(一種團(tuán)隊(duì)集中在一起進(jìn)行高強(qiáng)度、高效率的開發(fā)方式)。
    部署:軟件開發(fā)完成后,就可以交付給用戶了,將我們的軟件部署在用戶端系統(tǒng)上,用戶對(duì)它進(jìn)行評(píng)測并給出反饋意見。

        到此為止,我們軟件工程的五大過程框架就簡單的給大家介紹了一遍,其實(shí)研究的最多的也就是這幾大活動(dòng),但是這幾個(gè)過程的執(zhí)行順序在現(xiàn)實(shí)應(yīng)用中都不會(huì)是線性的一步接一步,往往在編碼的時(shí)候還有可能在做需求分析,也有可能會(huì)先開發(fā)出系統(tǒng)的主要功能,然后再慢慢往上加其他的拓展功能。這就不得不提軟件工程的過程模型。

過程模型

    最早提出過程模型就是為了改變軟件開發(fā)的混亂狀況,使軟件開發(fā)更加有序。這里我就介紹幾種常見的過程模型。

    瀑布模型:這是一種經(jīng)典的模型,顧名思義,瀑布就是順流而下的,瀑布模型也是一種線性的、順序的軟件開發(fā)方法,從最開始的溝通,到最后的部署,一步緊接一步線性執(zhí)行到最后。因此我們也能想象,實(shí)際的項(xiàng)目是很少遵守瀑布模型提出的順序的。因?yàn)槠俨寄P鸵罂蛻艟哂惺置鞔_的需求,這在現(xiàn)實(shí)中是基本不存在的。

    增量過程模型:即前面所提到的先開發(fā)出系統(tǒng)的核心功能,然后再依據(jù)重要性評(píng)估交付新添的增量,直到最終產(chǎn)品的產(chǎn)生。

    螺旋模型:螺旋模型在瀑布模型的基礎(chǔ)上加了風(fēng)險(xiǎn)分析,同時(shí)迭代式的開發(fā)一系列的演進(jìn)版本。螺旋最中間的就是項(xiàng)目的起點(diǎn),螺旋式的進(jìn)行著五個(gè)框架活動(dòng),一直進(jìn)行到螺旋最外圈。螺旋模型是開發(fā)大型系統(tǒng)和軟件的很實(shí)際的方法,像大型的軍工軟件系統(tǒng)都是使用的螺旋模型進(jìn)行開發(fā)的,而且像這種系統(tǒng)的螺旋終點(diǎn)是沒有的,因?yàn)檐姽ぎa(chǎn)品需要不停地進(jìn)行更新迭代,不然很快就會(huì)被時(shí)代淘汰。


螺旋模型

相信大家看到現(xiàn)在應(yīng)該對(duì)軟件工程已經(jīng)有了一個(gè)大體的了解。

到此這篇關(guān)于軟件工程概要介紹的文章就介紹到這了,更多相關(guān)軟件工程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論