欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      軟件工程

      時(shí)間:2019-05-12 12:37:17下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件工程》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件工程》。

      第一篇:軟件工程

      2.2軟件開發(fā)的基本策略

      人們都有自己的世界觀和方法論,能自然而然地運(yùn)用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發(fā)展,已經(jīng)積累了相當(dāng)多的方法,但這些方法不是嚴(yán)密的理論。實(shí)踐人員不應(yīng)該教條地套用方法,更重要的是學(xué)會“選擇合適的方法”和“產(chǎn)生新方法”。有謀略才會有好的戰(zhàn)術(shù)。幾千年前,我們的祖先就在打鬧之際寫下了很多心得體會,被現(xiàn)代人很好地運(yùn)用于工業(yè)和商業(yè)。本節(jié)講述軟件開發(fā)中的三種基本策略:“復(fù)用”、“分而治之”、“優(yōu)化——折衷”。

      2.2.1復(fù)用

      復(fù)用就是指“利用現(xiàn)成的東西”,文人稱之為“拿來主義”。被復(fù)用的對象可以是有形的物體,也可以是無形的成果。復(fù)用不是人類懶惰的表現(xiàn)而是智慧的表現(xiàn)。因?yàn)槿祟惪偸窃诶^承了前人的成果,不斷加以利用、改進(jìn)或創(chuàng)新后才會進(jìn)步。所以當(dāng)我們歡度國慶時(shí),要搞清楚祖國遠(yuǎn)不止50歲,我們今天享用到的財(cái)富還有上下五千年人民的貢獻(xiàn)。進(jìn)步只是應(yīng)該的,不進(jìn)步則就可恥了。

      復(fù)用的內(nèi)涵包括了提高質(zhì)量與生產(chǎn)率兩者。由經(jīng)驗(yàn)可知,在一個(gè)新系統(tǒng)中,大部分的內(nèi)容是成熟的,只有小部分內(nèi)容是創(chuàng)新的。一般地可以相信成熟的東西總是比較可靠的(即具有高質(zhì)量),而大量成熟的工作可以通過復(fù)用來快速實(shí)現(xiàn)(即具有高生產(chǎn)率)。勤勞并且聰明的人們應(yīng)該把大部分的時(shí)間用在小比例的創(chuàng)新工作上,而把小部分的時(shí)間用在大比例的成熟工作中,這樣才能把工作做得又快又好。

      把復(fù)用的思想用于軟件開發(fā),稱為軟件復(fù)用。據(jù)統(tǒng)計(jì),世上已有1000億多行程序,無數(shù)功能被重寫了成千上萬次,真是浪費(fèi)哪。面向?qū)ο螅∣bject Oriented)學(xué)者的口頭禪就是“請不要再發(fā)明相同的車輪子了”。

      將具有一定集成度并可以重復(fù)使用的軟件組成單元稱為軟構(gòu)件(Software Component)。軟件復(fù)用可以表述為:構(gòu)造新的軟件系統(tǒng)可以不必每次從零做起,直接使用已有的軟構(gòu)件,即可組裝(或加以合理修改)成新的系統(tǒng)。復(fù)用方法合理化并簡化了軟件開發(fā)過程,減少了總的開發(fā)工作量與維護(hù)代價(jià),既降低了軟件的成本又提高了生產(chǎn)率。另一方面,由于軟構(gòu)件是經(jīng)過反復(fù)使用驗(yàn)證的,自身具有較高的質(zhì)量。因此由軟構(gòu)件組成的新系統(tǒng)也具有較高的質(zhì)量。利用軟構(gòu)件生產(chǎn)應(yīng)用軟件的過程如圖1.5所示。

      軟件復(fù)用不僅要使自己拿來方便,還要讓別人拿去方便,是“拿來拿去主義”。面向?qū)ο蠓椒?,Microsoft公司的COM規(guī)范 [Rogerson 1999],都能很好地用于實(shí)現(xiàn)大規(guī)模的軟件復(fù)用。

      2.2.2分而治之

      分而治之是指把一個(gè)復(fù)雜的問題分解成若干個(gè)簡單的問題,然后逐個(gè)解決。這種樸素的思想來源于人們生活與工作的經(jīng)驗(yàn),完全適合于技術(shù)領(lǐng)域。軟件人員在執(zhí)行分而治之的時(shí)候,應(yīng)該著重考慮:復(fù)雜問題分解后,每個(gè)問題能否用程序?qū)崿F(xiàn)?所有程序最終能否集成為一個(gè)軟件系統(tǒng)并有效解決原始的復(fù)雜問題?

      圖1.6表示了軟件領(lǐng)域的分而治之策略。諸如軟件的體系結(jié)構(gòu)設(shè)計(jì)、模塊化設(shè)計(jì)都是分而治之的具體表現(xiàn)。軟件的分而治之不可以“硬分硬治”。不像為了吃一個(gè)西瓜或是一只雞,揮刀斬成n塊,再把每塊塞進(jìn)嘴里粉碎攪拌,然后交由胃腸來消化吸收,象征復(fù)雜問題的西瓜或是雞也就此消失了。

      2.2.3優(yōu)化——折衷

      軟件的優(yōu)化是指優(yōu)化軟件的各個(gè)質(zhì)量因素,如提高運(yùn)行速度,提高對內(nèi)存資源的利用率,使用戶界面更加友好,使三維圖形的真實(shí)感更強(qiáng)等等。想做好優(yōu)化工作,首先要讓開發(fā)人員都有正確的認(rèn)識:優(yōu)化工作不是可有可無的事情,而是必須要做的事情。當(dāng)優(yōu)化工作成為一種責(zé)任時(shí),程序員才會不斷改進(jìn)軟件中的算法,數(shù)據(jù)結(jié)構(gòu)和程序組織,從而提高軟件質(zhì)量。

      著名的3D游戲軟件Quake,能夠在PC機(jī)上實(shí)時(shí)地繪制高度真實(shí)感的復(fù)雜場景。Quake的開發(fā)者能把很多成熟的圖形技術(shù)發(fā)揮到極致,例如把Bresenham畫線、多邊形裁剪、樹遍歷等算法的速度提高近一個(gè)數(shù)量級。我第一次看到Quake時(shí)不僅感到震動(dòng),而且深受打擊。這個(gè)PC游戲軟件的技術(shù)水平已經(jīng)遠(yuǎn)勝于我所見識到的國內(nèi)領(lǐng)先的圖形學(xué)相關(guān)科研成果。這對我們?nèi)找媸⑿械狞c(diǎn)到完止的研發(fā)工作真是莫大的諷刺。所以當(dāng)我們開發(fā)的軟件表現(xiàn)出很多不可救藥的病癥時(shí),不要怨機(jī)器差。真的是我們自己沒有把工作做好,寫不好字卻嫌筆鈍。

      就假設(shè)我們經(jīng)過思想教育后,精神抖擻,隨時(shí)準(zhǔn)備為優(yōu)化工作干上六天七夜。但愿意做并不意味著就能把事情做好。優(yōu)化工作的復(fù)雜之處是很多目標(biāo)存在千絲萬縷的關(guān)系,可謂數(shù)不清理還亂。當(dāng)不能夠使所有的目標(biāo)都得到優(yōu)化時(shí),就需要“折衷”策略。

      軟件中的折衷策略是指通過協(xié)調(diào)各個(gè)質(zhì)量因素,實(shí)現(xiàn)整體質(zhì)量的最優(yōu)。就象黨支部副書記扮演和事佬的角色:“…為了使整個(gè)組織具有最好的戰(zhàn)斗力,我們要重用幾個(gè)人,照顧一些人,在萬不得已的情況下委屈一批人”。

      軟件折衷的重要原則是不能使某一方損失關(guān)鍵的職能,更不可以象“舍魚而取熊掌”那樣拋棄一方。例如3D動(dòng)畫軟件的瓶頸通常是速度,但如果為了提高速度而在程序中取消光照明計(jì)算,那么場景就會喪失真實(shí)感,3D動(dòng)畫也就不再有意義了(如果人類全是色盲,計(jì)算機(jī)圖形學(xué)將變得異常簡單)。

      人都有惰性,如果允許濫用折衷的話,那么一當(dāng)碰到困難,人們就會用拆東墻補(bǔ)西墻的方式去折衷,不再下苦功去做有意義的優(yōu)化。所以我們有必要為折衷制定嚴(yán)正的立場:在保證其它因素不差的前提下,使某些因素變得更好。

      下面讓我們用“優(yōu)化——折衷”的策略解決“魚和熊掌不可得兼”的難題。

      問題提出:假設(shè)魚每千克10元,熊掌每千克一萬元。有個(gè)倔脾氣的人只有20元錢,非得要吃上一公斤美妙的“熊掌燒魚”,怎么辦?

      解決方案:化9元9角9分錢買999克魚肉,化10元錢買1克熊掌肉,可做一道“熊掌戲魚”菜。剩下的那一分錢還可建立獎(jiǎng)勵(lì)基金。

      2.3一些不正確的觀念

      本節(jié)例舉并分析一些不正確的軟件工程觀念,可幫助初學(xué)者少犯相似的錯(cuò)誤。

      觀念之一:我們擁有一套講述如何開發(fā)軟件的書籍,書中充滿了標(biāo)準(zhǔn)與示例,可以幫助我們解決軟件開發(fā)中遇到的任何問題。

      客觀情況:好的參考書無疑能指導(dǎo)我們的工作。充分利用書籍中的方法、技術(shù)和技巧,可以有效地解決軟件開發(fā)中大量常見的問題。但實(shí)踐者并不能因此依賴于書籍,這是因?yàn)椋海?)現(xiàn)實(shí)的工作中,由于條件千差萬別,即使是相當(dāng)成熟的軟件工程規(guī)范,常常也無法套用。(2)軟件技術(shù)日新月異,沒有哪一種軟件標(biāo)準(zhǔn)能長盛不衰。祖?zhèn)髅胤皆谀承╊I(lǐng)域很吃香,而在軟件領(lǐng)域則意味著落后。

      觀念之二:我們擁有最好的開發(fā)工具、最好的計(jì)算機(jī),一定能做出優(yōu)秀的軟件。

      客觀情況:良好的開發(fā)環(huán)境只是產(chǎn)出成果的必要條件,而不是充分條件。如果擁有好環(huán)境的是一群庸人,難保他們不干出南轅北轍的事情。

      觀念之三:如果我們落后于計(jì)劃,可以增加更多的程序員來解決。

      客觀情況:軟件開發(fā)不同于傳統(tǒng)的農(nóng)業(yè)生產(chǎn),人多不見得力量大。如果給落后于計(jì)劃的項(xiàng)目增添新手,可能會更加延誤項(xiàng)目。因?yàn)椋海?)新手會產(chǎn)生很多新的錯(cuò)誤,使項(xiàng)目混亂。(2)老手向新手解釋工作以及交流思想都要花費(fèi)時(shí)間,使實(shí)際開發(fā)時(shí)間更少。所以科學(xué)的項(xiàng)目計(jì)劃很重要,不在乎計(jì)劃能提前多少,重在恰如其分。如果用“大躍進(jìn)”的方式奔向共產(chǎn)主義,只會產(chǎn)生倒退的后果。

      觀念之四:既然需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時(shí)可以修改。

      客觀情況:對需求把握得越準(zhǔn)確,軟件的修修補(bǔ)補(bǔ)就越少。有些需求在一開始時(shí)很難確定,在開發(fā)過程中要不斷地加以改正。軟件修改越早代價(jià)越少,修改越晚代價(jià)越大,就跟治病一樣道理。

      2.4一些有爭議的觀念

      本節(jié)探討一些有爭議的觀念,目的不在于得出“正確”或“錯(cuò)誤”的評斷,而在于爭議會激發(fā)更多理性的思考。

      爭議之一:如果軟件運(yùn)行較慢,是換一臺更快的計(jì)算機(jī),還是設(shè)計(jì)一種更快的算法?

      作者觀點(diǎn):如果開發(fā)軟件的目的是為了學(xué)習(xí)或是研究,那么應(yīng)該設(shè)計(jì)一種更快的算法。如果該軟件已經(jīng)用于商業(yè),則需謹(jǐn)慎考慮:若換一臺更快的計(jì)算機(jī)能解決問題,則是最快的解決方案。改進(jìn)算法雖然可以從根本上提高軟件的運(yùn)行速度,但可能引入錯(cuò)誤以及延誤進(jìn)程。技術(shù)狂毫無疑問會選擇后者,因?yàn)樗麄冇X得放棄任何可以優(yōu)化的機(jī)會就等于犯罪。

      類似的爭議還有:是買現(xiàn)成的程序,還是徹底自己開發(fā)?技術(shù)人員和商業(yè)人士常常會有不同的選擇。

      爭議之二:有最好的軟件工程方法,最好的編程語言嗎?

      作者觀點(diǎn):在軟件領(lǐng)域永遠(yuǎn)沒有最好的,只有更好的。能解決問題的都是好方法或是好語言。程序員在最初學(xué)習(xí)Basic、Fortran、Pascal、C、C++等語言時(shí)會感覺一個(gè)比一個(gè)好,不免有喜新厭舊之舉。而如今 的Visual Basic、Delphi、Visual C++、Java等語言各有所長,真的難分優(yōu)劣。開發(fā)人員應(yīng)該根據(jù)客觀條件,選擇自己熟悉的方法和語言,才能保證合格的質(zhì)量與生產(chǎn)率。

      程序設(shè)計(jì)是自由與快樂的事情,不要發(fā)誓忠于某某主義而自尋煩惱。

      爭議之三:編程時(shí)是否應(yīng)該多使用技巧?

      作者觀點(diǎn):就軟件開發(fā)而言,技巧的優(yōu)點(diǎn)在于能另辟蹊徑地解決一些問題,缺點(diǎn)是技巧并不為人熟知。若在程序中用太多的技巧,可能會留下隱患,別人也難以理解程序。鑒于一個(gè)局部的優(yōu)點(diǎn)對整個(gè)系統(tǒng)而言是微不足道的,而一個(gè)錯(cuò)誤則可能是致命的。作者建議用自然的方式編程,少用技巧。

      《狼三則》的故事告訴我們“失敗的技巧通常是技倆”。當(dāng)我們在編程時(shí)無法判斷是用了技巧還是用了技倆,那就少用?!顿u油翁》的故事又告訴我們“熟能生巧”,表明技巧是自然而然產(chǎn)生的,而不是賣弄出來的。賣油翁的絕技是可到中央電視臺表演的,而他老人家卻謙虛地說:“沒啥沒啥,用熟了而已”。

      爭議之四:軟件中的錯(cuò)誤是否可按嚴(yán)重程度分等級?

      作者觀點(diǎn):在定量分析時(shí),可以將錯(cuò)誤分等級,以便于管理。微軟的一些開發(fā)小組將錯(cuò)誤分成四個(gè)等級 [Cusumano 1996],如表1.1所示。

      一級嚴(yán)重:錯(cuò)誤導(dǎo)致軟件崩潰。

      二級嚴(yán)重:錯(cuò)誤導(dǎo)致一個(gè)特性不能運(yùn)行并且沒有替代方案。

      三級嚴(yán)重:錯(cuò)誤導(dǎo)致一個(gè)特性不能運(yùn)行但有替代方案。

      四級嚴(yán)重:錯(cuò)誤是表面化的或是微小的。

      表1.1 錯(cuò)誤的四個(gè)等級

      上述分類是非常技術(shù)性的,并不是普適的。假設(shè)某個(gè)財(cái)務(wù)軟件有兩個(gè)錯(cuò)誤:錯(cuò)誤A使該軟件死掉,錯(cuò)誤B導(dǎo)致工資計(jì)算錯(cuò)誤。按表1.1分類,錯(cuò)誤A屬一級嚴(yán)重,錯(cuò)誤B屬二級嚴(yán)重。但事實(shí)上B要比A嚴(yán)重。工資算多了或者算少了,將會使老板或員工遭受經(jīng)濟(jì)損失。而錯(cuò)誤A只使操作員感到厭煩,并沒有造成經(jīng)濟(jì)損失。另一個(gè)示例是操作手冊寫錯(cuò),按表1.1分類則屬四級嚴(yán)重,但這種錯(cuò)誤可能導(dǎo)致機(jī)毀人亡。

      開發(fā)人員應(yīng)該意識到:所有的錯(cuò)誤都是嚴(yán)重的,不存在微不足道的錯(cuò)誤。這樣才能少犯錯(cuò)誤。

      2.5小 結(jié)

      軟件工程學(xué)科發(fā)展到今天,已經(jīng)有了很多方法和規(guī)范,學(xué)之不盡。本章只在宏觀上討論了軟件工程的一些

      思想,更具體的內(nèi)容將在后面的章節(jié)論述。無論是什么好方法,貴在理解與靈活運(yùn)用,而不可當(dāng)成靈丹妙藥,不象“吃了腦黃金或腦白金,就能使一億人先聰明起來”。

      3程序員與程序經(jīng)理

      工作在第一線的軟件開發(fā)人員是程序員和程序經(jīng)理,他們決定著軟件的命運(yùn)。良好的程序員隊(duì)伍和出色的管理是軟件項(xiàng)目成功的必要條件。管理不是管制,不是去卡住人家的脖子,因?yàn)槌绦騿T不是一群野鴨子。管理的目的是讓大家一起把工作做好,并且讓各人獲得各自的快樂和滿足。當(dāng)一個(gè)組織被出色地領(lǐng)導(dǎo)時(shí),雇員甚至不知道他們已被領(lǐng)導(dǎo)。在項(xiàng)目完成時(shí),他們會自豪地說:“看看我們通過努力取得的成績吧”。所以管理者不能老惦記著自己是一個(gè)官,而應(yīng)時(shí)刻意識到自己是責(zé)任的主要承擔(dān)者。

      我們經(jīng)常會聽到有經(jīng)理頭銜的人在高談闊論:“編程我不會,做個(gè)項(xiàng)目還不easy?派個(gè)人去搞系統(tǒng)分析,回頭再叫幾個(gè)程序員把需求譯成程序,不就OK了嗎?”

      不懂英語的人準(zhǔn)以為easy和OK是貶義詞。要讓軟件項(xiàng)目失敗很容易,只要符合下列條件之一即可:

      (1)項(xiàng)目經(jīng)理對軟件一無所知;

      (2)技術(shù)負(fù)責(zé)人對編程不感興趣;

      (3)真真編寫代碼的程序員是臨時(shí)雇用的。

      如果上述三個(gè)條件同時(shí)具備,就請放心失敗好了。

      讓我們少幻想自己是比爾·蓋茨,先當(dāng)好程序員和程序經(jīng)理再說。

      3.1了解程序員

      早期的程序員干活能從軟件直通硬件,個(gè)個(gè)生猛無比。又因他們的作息時(shí)間、言行舉止與常人不太一樣,久而久之就給人們留下了“神秘”、“孤僻”的印象。如今軟件行業(yè)被炒得熱火朝天,有能耐的程序員即便躲在大山岙的軍工廠里也能被挖出來。而更多原本不是程序員的人操起幾本“速成”、“二十一天通”等書籍也加入了這個(gè)行業(yè)?,F(xiàn)在國內(nèi)號稱有上百萬程序員,這支大軍魚龍混雜,已搞不清那些是正規(guī)軍,那些是民兵游擊隊(duì)了。

      第二篇:軟件工程

      1.軟件危機(jī)的概念 系統(tǒng)的數(shù)據(jù)要求,功能需求,性能需求,顯示出程序的輪廓。

      軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)、使用與可靠性需求,可用性需求,出錯(cuò)處理需求,混合方式

      維護(hù)過程中遇到的一系列嚴(yán)重問題和難接口需求,約束,逆向需求以及將來可能優(yōu)點(diǎn):綜合了以上兩種策略的長處 題。提出的需求。9.確認(rèn)測試

      補(bǔ)充: 5.常使用的圖形工具 確認(rèn)測試又稱有效性測試。有效性測試是

      1.軟件危機(jī)的表現(xiàn)有哪些? 實(shí)體-聯(lián)系圖,數(shù)據(jù)流圖,狀態(tài)轉(zhuǎn)換圖,在模擬的環(huán)境下,運(yùn)用黑盒測試的方法,答:1)對軟件開發(fā)成本和進(jìn)度的估計(jì)常層次方框圖,warnier圖,IPO圖。驗(yàn)證被測軟件是否滿足需求規(guī)格說明書常很不準(zhǔn)確。第五章 列出的需求。任務(wù)是驗(yàn)證軟件的功能和性

      2)用戶對已完成的軟件不滿意1.總體設(shè)計(jì)的任務(wù) 能及其他特性是否與用戶的要求一致。對的現(xiàn)象時(shí)有發(fā)生。劃分出組成系統(tǒng)的物理元素——程序、文軟件的功能和性能要求在軟件需求規(guī)格

      3)軟件產(chǎn)品的質(zhì)量往往是靠不件、數(shù)據(jù)庫、人工過程和文檔等等 說明書中已經(jīng)明確規(guī)定,它包含的信息就住的。設(shè)計(jì)軟件的結(jié)構(gòu)。也就是要確定系統(tǒng)中每是軟件確認(rèn)測試的基礎(chǔ)。

      4)軟件常常是不可維護(hù)的。個(gè)程序是由哪些模塊組成的,以及這些模10.什么是白盒測試,其測試技術(shù)有那些,5)軟件通常沒有適當(dāng)?shù)奈臋n資塊相互間的關(guān)系。覆蓋標(biāo)準(zhǔn)的強(qiáng)弱程度

      料。2.模塊化思想 白盒測試是一種測試用例設(shè)計(jì)方法,盒子

      6)軟件成本在計(jì)算機(jī)系統(tǒng)總成就是把程序劃分成獨(dú)立命名且可獨(dú)立訪指的是被測試的軟件,白盒指的是盒子是本中所占比例逐年上升。問的模塊,每個(gè)模塊完成一個(gè)子功能,把可視的,你清楚盒子內(nèi)部的東西以及里面

      7)軟件開發(fā)生產(chǎn)率提高的速度這些模塊集成起來構(gòu)成一個(gè)整體,可以完是如何運(yùn)作的?!鞍缀小狈ㄈ媪私獬绦騼?nèi)遠(yuǎn)跟不上日益增長的軟件需求。成指定的功能滿足用戶的需求。部邏輯結(jié)構(gòu)、對所有邏輯路徑進(jìn)行測試。

      2.產(chǎn)生軟件危機(jī)的原因主要有哪些? 3.衡量模塊獨(dú)立的標(biāo)準(zhǔn)(內(nèi)聚和耦合的白盒測試的測試方法有代碼檢查法、靜態(tài)答:1)用戶對軟件需求的描述不精確。含義,種類)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋

      2)軟件開發(fā)人員對用戶需求的內(nèi)聚:標(biāo)志著每一個(gè)模塊內(nèi)各個(gè)元素彼此法、基本路徑測試法、域測試、符號測試、理解有偏差。結(jié)合的緊密程度,是信息隱藏和局部化概路徑覆蓋和程序變異。

      3)缺乏處理大型軟件項(xiàng)目的經(jīng)念的自然拓展。偶然內(nèi)聚,邏輯內(nèi)聚,時(shí)種覆蓋標(biāo)準(zhǔn):語句覆蓋、判定覆蓋、條件驗(yàn)。間內(nèi)聚,功能內(nèi)聚,順序內(nèi)聚,通信內(nèi)聚,覆蓋、判定/條件覆蓋、條件組合覆蓋和

      4)開發(fā)大型軟件易產(chǎn)生疏漏和過程內(nèi)聚。路徑覆蓋發(fā)現(xiàn)錯(cuò)誤的能力呈由弱至強(qiáng)的錯(cuò)誤。耦合:是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間變化。

      5)缺乏有力的方法學(xué)的指導(dǎo)和互連程度的度量。數(shù)據(jù)耦合,控制耦合,11.什么時(shí)候黑盒測試,其測試技術(shù)有哪有效的開發(fā)工具的支持。特征耦合,公共環(huán)境耦合,內(nèi)容耦合。些,(等價(jià)劃分,邊介值分析法)

      6)面對日益增長的軟件需求,4.啟發(fā)式規(guī)則 黑盒測試也稱功能測試,它是通過測試來人們顯得力不從心。1.改進(jìn)軟件結(jié)構(gòu)提高模塊的獨(dú)立性檢測每個(gè)功能是否都能正常使用。

      2軟件的概念 2.模塊規(guī)模應(yīng)該適中等價(jià)類劃分的辦法是把程序的輸入域劃完成特點(diǎn)功能的程序以及數(shù)據(jù)結(jié)構(gòu)和文 3.深度、寬度、扇出和扇入都應(yīng)適當(dāng) 分成若干部分(子集),然后從每個(gè)部分檔 4.模塊的作用范圍應(yīng)在控制范圍之內(nèi)中選取少數(shù)代表性數(shù)據(jù)作為測試用例

      3.軟件工程的基本原理 5.力爭降低模塊接口的復(fù)雜程度 邊界值分析是通過選擇等價(jià)類邊界的測

      1.用分階段的生命周期計(jì)劃嚴(yán)格管理 6.設(shè)計(jì)單入口單出口的模塊試用例。邊界值分析法不僅重視輸入條件

      2.堅(jiān)持進(jìn)行階段評審 7.模塊功能應(yīng)該可以預(yù)測 邊界,而且也必須考慮輸出域邊界。它是

      3.實(shí)行嚴(yán)格的產(chǎn)品控制 5.面向數(shù)據(jù)流的設(shè)計(jì)方法把信息流映射對等價(jià)類劃分方法的補(bǔ)充。

      4.采用現(xiàn)代程序設(shè)計(jì)技術(shù) 成軟件結(jié)構(gòu) 12.軟件調(diào)試技術(shù)有哪些

      5.結(jié)果應(yīng)能清楚地審查 信息流:變換流,事物流 蠻干法,蠻干法可能是尋找軟件錯(cuò)誤原因

      6.開發(fā)小組的人員應(yīng)該少而精 映射:變換分析,事物分析 的最低效的方法,僅當(dāng)所有其他方法都

      7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性失敗的情況下才使用。

      4軟件生命周期分成哪幾個(gè)階段?各階第六章 回溯法,回溯法是一種相當(dāng)常用的調(diào)試方段的任務(wù)是什么? 1.詳細(xì)設(shè)計(jì)的基本任務(wù) 法,當(dāng)調(diào)試小程序時(shí)很有效。從發(fā)現(xiàn)癥

      1.問題定義: 1.為每個(gè)模塊確定采用的算法。2.確定狀的地方開始,人工沿程序的控制流往回

      2.可行性研究:研究問題的范圍,探索這每一模塊使用的數(shù)據(jù)結(jié)構(gòu)追蹤分析源程序代碼,知道找出錯(cuò)誤原因個(gè)問題是否值得去解決,是否有可行的解3.確定模塊接口的細(xì)節(jié),包括對系統(tǒng)外為止。

      決方法。部的接口和用戶界面,對系統(tǒng)內(nèi)部其 原因排除法,對分查找法、歸納法、演繹

      3.需求分析:主要是確定目標(biāo)系統(tǒng)必須具它模塊的接口,以及關(guān)于模塊輸入數(shù)據(jù)、法都屬于原因排除法。

      備哪些功能 輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。13.軟件可靠性(可靠性和可用性的含義)

      4.總體設(shè)計(jì): 4.為每一模塊設(shè)計(jì)出一組測試用例。

      5.詳細(xì)設(shè)計(jì):就是把解法具體化,設(shè)計(jì)出2.程序的三種基本結(jié)構(gòu)

      程序的詳細(xì)規(guī)格說明。順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

      6.編碼和單元測試:寫出正確的容易理解3.詳細(xì)設(shè)計(jì)的工具

      容易維護(hù)的程序模塊。1.圖形工具

      7.綜合測試:通過各種類型的測試使軟件2.表格工具

      達(dá)到預(yù)定的要求 3.語言工具

      8.軟件維護(hù):通過各種必要的維護(hù)活動(dòng)使4.jackson方法

      系統(tǒng)持久地滿足用戶的需要。(改正性維5.復(fù)雜性度量的方法

      護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維Halstead方法:它根據(jù)程序中運(yùn)算符和

      護(hù))操作數(shù)的總數(shù)來度量程序的復(fù)雜程度

      5.瀑布模型,快速原型模型,增量模型,McCabe方法 :McCabe方法根據(jù)程序控制

      螺旋模型的特點(diǎn) 流的復(fù)雜程度定量度量程序的復(fù)雜程度,瀑布模型階:段時(shí)間具有順序性和依賴第七章

      性。推遲現(xiàn)實(shí)的觀點(diǎn)。質(zhì)量保證的觀點(diǎn)。1.選擇程序設(shè)計(jì)語言應(yīng)考慮哪些因素

      快速原型模型:軟件產(chǎn)品的開發(fā)基本上是1.系統(tǒng)用戶的要求

      線性順序進(jìn)行的,本質(zhì)是“快速”加速軟2.可以使用的編譯程序

      件的開發(fā)過程,節(jié)約軟件開發(fā)成本。3.可以得到的軟件工具

      增量模型:能在較短時(shí)間內(nèi)向用戶提交可4.工程規(guī)模

      完成部分工作的產(chǎn)品。逐步增加產(chǎn)品功5.程序員的知識

      能,可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適6.軟件可移植性要求

      應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能7.軟件的應(yīng)用領(lǐng)域

      給客戶組織帶來的沖擊。2.良好的編程風(fēng)格包括哪些方面

      螺旋模型:對可選方案和約束條件的強(qiáng)調(diào)1.程序內(nèi)部的文檔2.數(shù)據(jù)說明 3.語句構(gòu)

      有利于已有軟件的重用,也有助于把軟件造4.輸入輸出 5.效率

      質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo)。減少3軟件測試的目標(biāo)

      了過多的測試或測試不足帶來的風(fēng)險(xiǎn)。更目的:(1)測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤

      重要的是在螺旋模型中維護(hù)只是模型的而執(zhí)行程序的過程;

      另一個(gè)周期,在維護(hù)和開發(fā)之間并沒有本(2)好的測試方案是極可能發(fā)現(xiàn)迄今為

      質(zhì)區(qū)別。風(fēng)險(xiǎn)驅(qū)動(dòng)的。止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案;

      (3)成功的測試是發(fā)現(xiàn)了至今為止尚未

      第二章 發(fā)現(xiàn)的錯(cuò)誤的測試。

      1.可行性研究的目的 定義:為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序

      就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)的過程。

      確定問題是否能夠解決。補(bǔ)充:

      補(bǔ)充: 軟件測試步驟 :

      可行性研究的步驟 :(1)模塊測試(2)子系統(tǒng)測試(3)系統(tǒng)

      1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)。測試(4)驗(yàn)收測試(5)平行運(yùn)行

      2.研究現(xiàn)有的系統(tǒng)。4.確定測試計(jì)劃是在哪個(gè)階段制定的3.導(dǎo)出新系統(tǒng)高層邏輯模型。5.黑盒測試和白盒測試的概念

      4.進(jìn)一步定義問題黑盒測試

      5.導(dǎo)出和評價(jià)供選擇的解法。1把程序看作一個(gè)黑盒子,完全不考慮程

      6.推薦行動(dòng)方針序的內(nèi)部結(jié)構(gòu)和處理過程

      7.草擬開發(fā)計(jì)劃2對程序接口進(jìn)行測試,檢查程序功能是

      8.書寫文檔提交審查 否能按規(guī)格說明書的規(guī)定正常使用;

      程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)并產(chǎn)生

      2.系統(tǒng)流程圖的作用 正確的輸出信息;

      系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,程序運(yùn)行過程中能否保持外部信息的完

      它用圖形符號來表示系統(tǒng)中的各個(gè)部件。整性

      它表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流白盒測試

      動(dòng)的情況。1把程序堪稱裝在一個(gè)透明的白盒子里,3.數(shù)據(jù)流圖的概念 測試者完全知道程序的結(jié)構(gòu)處理算法

      數(shù)據(jù)流圖是一種圖形化技術(shù),它描繪信息2按照程序內(nèi)部的邏輯測試程序,檢測程

      流和數(shù)據(jù)從移動(dòng)到輸出的過程中所經(jīng)受序中的主要執(zhí)行通路是否都能按的變換。預(yù)定要求正確工作

      4.數(shù)據(jù)流圖里面的符號,畫數(shù)據(jù)流圖。6.測試的步驟及每個(gè)步驟形成的文檔

      5.數(shù)據(jù)字典最基本的功能,以及與數(shù)據(jù)流單元測試:(模塊測試)發(fā)現(xiàn)的往往是編

      圖的關(guān)系。碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤

      最基本的功能:在軟件分析和設(shè)計(jì)的過程集成測試:著重測試模塊的接口 中給人提供關(guān)于數(shù)據(jù)的描述信息。

      關(guān)系:數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)系統(tǒng)測試:發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就誤,也可能發(fā)現(xiàn)需要說明中的錯(cuò)誤 不嚴(yán)格,然而沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也驗(yàn)收測試:(確認(rèn)測試)往往發(fā)現(xiàn)需求說難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流明書中的錯(cuò)誤 圖中每個(gè)元素的精確定義放在一起,才能7.漸增式和非漸增式的區(qū)別 共同構(gòu)成系統(tǒng)的規(guī)格說明?!胺菨u增式”,即先獨(dú)立地測試每一模塊,第三章 然后將所有這些模塊連接到一起運(yùn)行; 1.需求分析屬于哪一個(gè)階段,任務(wù)是什“漸增式”,即在已測試過的N個(gè)模塊的么。基礎(chǔ)上再增加一個(gè)模塊,再對N十1個(gè)模需求分析是軟件定義時(shí)期的最后一個(gè)階塊進(jìn)行測試。段.漸增式比非漸增式優(yōu)越,因?yàn)橛脻u增式,1.確定對系統(tǒng)的綜合要求(功能需求,性如果是“由頂向下”則可利用前面已測試能需求,可靠性和可用性需求,出錯(cuò)處理過的模塊,而不必另外準(zhǔn)備驅(qū)動(dòng)模塊,如需求,接口需求,約束,逆向需求,將來果是“由底向上”,也可利用已測試過的可能提出的要求)模塊,不必再準(zhǔn)備樁模塊。漸增式可以較2.分析系統(tǒng)的數(shù)據(jù)要求早地發(fā)現(xiàn)模塊界面之間的錯(cuò)誤,有利于排3.導(dǎo)出系統(tǒng)的邏輯模型 錯(cuò),檢查比較徹底 4.修正系統(tǒng)開發(fā)計(jì)劃2.需求分析的產(chǎn)品是什么 8.自頂向下,自下而上,以及混合策略的3.面向過程的分析方法主要是建立三類優(yōu)缺點(diǎn) 模型 自頂向下數(shù)據(jù)模型(按照用戶的觀點(diǎn)對數(shù)據(jù)建立的優(yōu)點(diǎn):能較早顯示整個(gè)程序的輪廓,向用模型,把用戶的數(shù)據(jù)要求清楚,準(zhǔn)確地描戶展示程序的概貌,取得用戶的理解與支述出來。描述了從用戶角度看到的數(shù)據(jù),持。缺點(diǎn):當(dāng)測試上層模塊時(shí)因使用樁它反應(yīng)了用戶的現(xiàn)實(shí)環(huán)境,屬性,聯(lián)系),模塊較多,很難模擬出真實(shí)模塊的全部功功能模型,行為模型(通過描繪系統(tǒng)的狀能,使部分測試內(nèi)容被迫推遲,只能等待態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件來表示系換上真實(shí)模塊后再補(bǔ)充測試。統(tǒng)的行為)由底向上4.軟件需求規(guī)格說明書的內(nèi)容 優(yōu)點(diǎn):測試從下層模塊開始,測試設(shè)計(jì)用通常用自然語言完整,準(zhǔn)確,具體地描述例比較容易。缺點(diǎn):在測試的早期不能

      第三篇:《軟件工程》

      《軟件工程》課程分析

      本課程是軟件技術(shù)專業(yè)學(xué)生必修的一門專業(yè)必修課。根據(jù)培養(yǎng)軟件開發(fā)人員的需要,本課程的任務(wù)是使學(xué)生通過本課程的學(xué)習(xí),了解軟件項(xiàng)目開發(fā)和維護(hù)的一般過程,掌握軟件開發(fā)的傳統(tǒng)方法和最新方法。能在軟件工程的理論指導(dǎo)下,開發(fā)一個(gè)小型管理系統(tǒng),為今后從事軟件工程實(shí)踐打下良好的基礎(chǔ)。

      一、課程分析

      (一)教學(xué)計(jì)劃的制定和教學(xué)內(nèi)容的選取

      根據(jù)培養(yǎng)應(yīng)用技能型人才的總目標(biāo),制訂本專業(yè)教學(xué)計(jì)劃,課程的教材配套,教學(xué)、實(shí)驗(yàn)、實(shí)訓(xùn)、課程設(shè)計(jì)大綱和指導(dǎo)書等教學(xué)文件齊全,近幾年來引入了現(xiàn)代教學(xué)技術(shù)手段,已初步建設(shè)、形成了具有特色的全套課堂教學(xué)和實(shí)驗(yàn)教學(xué)課件。

      根據(jù)該課程的基本教學(xué)要求和特點(diǎn),結(jié)合學(xué)時(shí)的安排,從教材的整體內(nèi)容出發(fā),有側(cè)重地進(jìn)行取舍,篩選出學(xué)生必須掌握的基本教學(xué)內(nèi)容,較好地解決了教學(xué)中質(zhì)量與數(shù)量的矛盾。

      (二)教學(xué)方法分析

      由于該課程是用于指導(dǎo)軟件開發(fā)的,和實(shí)踐聯(lián)系非常緊密。所以采用了理論聯(lián)系實(shí)際的方法進(jìn)行授課。一方面,讓學(xué)生模擬軟件公司的項(xiàng)目小組進(jìn)行軟件開發(fā);一方面,對學(xué)生進(jìn)行適時(shí)的理論指導(dǎo)。既調(diào)動(dòng)了學(xué)生的積極性,又讓學(xué)生了解了該課程的理論內(nèi)容,收到了一舉兩得的效果。具體教學(xué)過程如下:

      第一步:模擬軟件公司的開發(fā)項(xiàng)目小組,分組,分設(shè)角色(項(xiàng)目經(jīng)理、用戶、需求人員、設(shè)計(jì)人員、程序員、測試人員、軟件安裝培訓(xùn)維護(hù)人員),確定開發(fā)題。讓每個(gè)小組的學(xué)生聚在一起,在項(xiàng)目經(jīng)理的組織下通過調(diào)研、討論來制定自己小組的開發(fā)題目,大家感覺就象在軟件公司實(shí)習(xí)一樣,非常新鮮,感興趣。每個(gè)學(xué)生都積極主動(dòng)的去完成自己應(yīng)承擔(dān)的那部分工作。

      第二步:模擬軟件項(xiàng)目開發(fā)全過程的各個(gè)階段,進(jìn)行相關(guān)的理論授課和實(shí)際開發(fā)。即對軟件開發(fā)的每一階段,首先按照教材內(nèi)容進(jìn)行理論授課,然后讓學(xué)生參照授課內(nèi)容進(jìn)行實(shí)際的軟件開發(fā)實(shí)踐。

      在此階段結(jié)束后,每班召開一個(gè)模擬方案論證會,由各開發(fā)小組選出代表上臺講解本組的開發(fā)方案,其他同學(xué)模擬用戶對開發(fā)方案提出意見。由于大家對模擬方案論證會非常感興趣,發(fā)言積極踴躍,論證會結(jié)束后,每個(gè)小組的設(shè)計(jì)方案都得到了很好的補(bǔ)充和完善。

      第三步:學(xué)期末各小組提交各自完成的軟件系統(tǒng)及開發(fā)文檔,并進(jìn)行總結(jié)演示,由任課教師進(jìn)行講評。

      抽象理論課的教學(xué)應(yīng)理論聯(lián)系實(shí)際,讓學(xué)生在實(shí)際應(yīng)用中掌握抽象的理論,在興趣中學(xué)習(xí),達(dá)到我們高職的雙向型培養(yǎng)目標(biāo)。

      二、存在的問題與希望

      在上述的教學(xué)中,雖然實(shí)現(xiàn)了理論聯(lián)系實(shí)際,但也存在著一些問題,比如每個(gè)項(xiàng)目小組中總有個(gè)別同學(xué)存在依賴心理,不參與項(xiàng)目開發(fā),最后抄襲別的同學(xué)的項(xiàng)目成果,自己得不到實(shí)際的鍛煉,影響了大三的畢業(yè)設(shè)計(jì)和日后的軟件開發(fā)。另外,如果該課程只上課,沒有實(shí)訓(xùn)的話,實(shí)驗(yàn)課時(shí)太少,學(xué)生很難全面完成一個(gè)系統(tǒng)的開發(fā)。

      第四篇:軟件工程

      軟件工程

      1.談?wù)勀銓浖ぞ叩睦斫?,你用過什么軟件工具

      軟件工具是指為支持計(jì)算機(jī)軟件的開發(fā)、維護(hù)、模擬、移植或管理而研制的程序系統(tǒng)。它是為專門目的而開發(fā)的,在軟件工程范圍內(nèi)也就是為實(shí)現(xiàn)軟件生存期中的各種處理活動(dòng)(包括管理、開發(fā)和維護(hù))的自動(dòng)化和半自動(dòng)化面開發(fā)的程序系統(tǒng)。

      開發(fā)軟件工具的最終目的是為了提高軟件生產(chǎn)率和改善軟件的質(zhì)量。

      軟件工具分為六類:模擬工具、開發(fā)工具、測試和評估工具、運(yùn)行和維護(hù)工具、性能質(zhì)量工具和程序設(shè)計(jì)支持工具。

      應(yīng)該是看對象來選擇測試工具!比如:

      功能測試工具:WinRunner

      性能測試工具:LoadRunner

      內(nèi)存泄漏測試工具:Purify

      單元測試工具:Junit

      測試管理工具:TestDirector還有東軟的bugbaseIBM開發(fā)的 rational。

      2.什么是軟件的可維護(hù)性:

      軟件可維護(hù)性即維護(hù)人員對該軟件進(jìn)行維護(hù)的難易程度,具體包括理解、改正、改動(dòng)和改進(jìn)該軟件的難易程度。

      決定可維護(hù)性的因素:

      1.系統(tǒng)的大小

      2.系統(tǒng)的年齡

      3.結(jié)構(gòu)合理性

      可維護(hù)性的度量:

      可理解性

      可測試性

      可修改性

      可移植性

      3.軟件開發(fā)和寫程序有什么不同?軟件開發(fā)的內(nèi)容是:需求、設(shè)計(jì)、編程和 測試 維護(hù)!

      需求分析

      軟件需求分析就是回答做什么的問題。它是一個(gè)對用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并最終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測試計(jì)劃。

      設(shè)計(jì)

      軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過程、子程序、一段帶有程序說明的獨(dú)立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要任務(wù)就是設(shè)計(jì)模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計(jì)數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計(jì)方法。

      編碼

      軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。

      測試

      軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。不同的測試方法有不同的測試用例設(shè)計(jì)方法。兩種常用的測試方法是白盒法測試對象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯(cuò)誤、結(jié)構(gòu)錯(cuò)誤和數(shù)據(jù)錯(cuò)誤。結(jié)構(gòu)錯(cuò)誤包括邏輯、數(shù)據(jù)流、初始化等錯(cuò)誤。用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。其中接口錯(cuò)誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯(cuò)誤。黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。

      維護(hù)

      維護(hù)是旨在已完成對軟件的研制(分析、設(shè)計(jì)、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。

      4.什么是軟件設(shè)計(jì)的”高內(nèi)聚 低耦合”

      內(nèi)聚:一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度

      耦合:一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量

      對于低耦合,(模塊的獨(dú)立性)

      一個(gè)完整的系統(tǒng),模塊與模塊之間,盡可能的使其獨(dú)立存在。也就是說,讓每個(gè)模塊,盡可能的獨(dú)立完成某個(gè)特定的子功能。模塊與模塊之間的接口,盡量的少而簡單。如果某兩個(gè)模塊間的關(guān)系比較復(fù)雜的話,最好首先考慮進(jìn)一步的模塊劃分。這樣有利于修改和組合.對于高內(nèi)聚:

      在一個(gè)模塊內(nèi),讓每個(gè)元素之間都盡可能的緊密相連。也就是充分利用每一個(gè)元素的功能,各施所能,以最終實(shí)現(xiàn)某個(gè)功能。

      5.case在軟件工程中的作用

      CASE(Computer Aided(or Assisted)Software Engineering計(jì)算機(jī)輔助軟件工程。CASE的一個(gè)基本思想就是提供一組能夠自動(dòng)覆蓋軟件開發(fā)生命周期各個(gè)階段的集成的、減少勞動(dòng)力的工具。CASE已被證明可以加快開發(fā)速度,提高應(yīng)用軟件生產(chǎn)率并保證應(yīng)用軟件的可靠品質(zhì)。CASE工具由許多部分組成,一般我們按軟件開發(fā)的不同階段分為上層CASE和下層CASE產(chǎn)品。上層或前端CASE工具自動(dòng)進(jìn)行應(yīng)用的計(jì)劃、設(shè)計(jì)和分析,幫助用戶定義需求,產(chǎn)生需求說明,并可完成與應(yīng)用開發(fā)相關(guān)的所有計(jì)劃工作。下層或后端CASE工具自動(dòng)進(jìn)行應(yīng)用系統(tǒng)的編程、測試和維護(hù)工作。

      除非下層CASE和上層CASE工具的供應(yīng)商提供統(tǒng)一界面,否則用戶必須編寫或重新將所有信息從上層CASE工具轉(zhuǎn)換到下層CASE工具。獨(dú)立的CASE工具供應(yīng)商愈來愈希望將它們的工具連接在一起建立統(tǒng)一的界面以減少用戶不必要的開發(fā)工作。

      CASE工具帶來的好處

      計(jì)算機(jī)專業(yè)人員利用計(jì)算機(jī)使他們的企業(yè)提高了效率,企業(yè)的各個(gè)部門通過使用計(jì)算機(jī)

      提高了生產(chǎn)率和效率,增強(qiáng)了企業(yè)的競爭力并使之帶來了更多的利潤。

      6.為什么要進(jìn)行軟件測試?常用的軟件測試的方法有哪些?

      軟件測試的目的:盡可能發(fā)現(xiàn)并改正被測試軟件中的錯(cuò)誤,提高軟件的可靠性。

      軟件測試方法主要包括單元測試,集成測試,系統(tǒng)測試,用戶測試,回歸測試。

      還有就是自定而下,和自下而上的方法。

      7.談?wù)勀銓ΡWC軟件質(zhì)量的技術(shù)和方法的認(rèn)識? 1.作為一個(gè)軟件質(zhì)量保證人員需要良好的溝通能力,因?yàn)槿绻麤]有良好的溝通能力,很多問題都沒有辦法解決,原因很簡單,測試人員發(fā)現(xiàn)了bug,開發(fā)人員或項(xiàng)目經(jīng)理在怎么不理,但是他們都會想到,萬一測試人員發(fā)現(xiàn)了bug而自己忽視了,那么就有可能成為軟件里的一顆不定時(shí)地炸彈,那么作為一個(gè)開發(fā)人員或項(xiàng)目經(jīng)理對bug的重視程度肯定相對比較高,至少要看測試人員發(fā)現(xiàn)的bug,但是QA就不一定了,因?yàn)镼A保證的流程的正確的執(zhí)行,相關(guān)人員就是認(rèn)為流程不重要,只要我開發(fā)的產(chǎn)品沒有問題那就沒有問題,客戶肯定不會關(guān)注我的流程,在加上古人的名言“結(jié)果說明了一切”,所以沒有良好的溝通能力,一些問題將很難去解決,做起來就沒有成就感。

      2.個(gè)人感覺比溝通能力更重要的是,堅(jiān)持原則,在遇到困難的時(shí)候,是不是還能堅(jiān)持原則,在遇到項(xiàng)目組的種種不理不睬的時(shí)候,是不是還能堅(jiān)持原則,在項(xiàng)目組不按照計(jì)劃走的時(shí)候,是不是還能堅(jiān)持原則。

      3.個(gè)人心態(tài),我工作三年的經(jīng)歷告訴我,如果開發(fā)和測試相比,開發(fā)是天堂,測試是地獄的話,但如果測試和QA相比的話,那測試就是天堂,QA就是地獄,所以心態(tài)很重要,在三年里我就鍛煉成一個(gè)非常好的心態(tài),隨便怎么說CMMI沒用,隨便怎么說CMMI就是寫文檔,隨便怎么說QA真煩人,我笑容依然燦爛,從容面對,而且一個(gè)QA要有堅(jiān)定的信念,如果你都不相信過程能給項(xiàng)目開發(fā)帶來好處,那你還指望誰能相信。

      8.提高軟件生產(chǎn)率有哪些手段?

      1.挑選精干人員(管理 計(jì)劃不好 技術(shù)搭配不當(dāng))

      2.提高階段效率 3消除人工階段

      4.減少重復(fù)勞動(dòng) 5.建造簡單產(chǎn)品

      6.重用軟部件庫(已經(jīng)存在的軟件功能部件

      9.什么是軟件的可靠性和有用性

      可靠性就是指軟件運(yùn)行的穩(wěn)定性,可用性就是操作的便利性。比如一輛汽車,可靠性好應(yīng)該歸功于機(jī)械部分,可用性好則是內(nèi)飾和中控系統(tǒng)的功勞。

      10什么是軟件規(guī)格說明?作用是什么?將其形式化的意義是什么?

      11.什么是軟件重用?實(shí)現(xiàn)軟件重用的方法有哪些?

      軟件重用,是指在兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相似軟件元素的過程。軟件元素包括程序代碼、測試用例、設(shè)計(jì)文檔、設(shè)計(jì)過程、需要分析文檔甚至領(lǐng)域知識。通常,可重用的元素也稱作軟構(gòu)件,可重用的軟構(gòu)件越大,重用的粒度越大。

      根據(jù)軟件開發(fā)的不同階段實(shí)現(xiàn)軟件重用主要有四個(gè)途徑:

      抽象:對重用對象概括提煉,從而得到能全面描述側(cè)重算法和數(shù)據(jù)結(jié)構(gòu)的軟件構(gòu)件的各部分的描述。

      選擇:是對重用對象進(jìn)行存放,匹配和檢索的功能。

      實(shí)例化:對數(shù)據(jù)類型中對象進(jìn)行參數(shù)的提供 轉(zhuǎn)換。

      集成:

      12.什么是軟件移植?你認(rèn)為構(gòu)造一個(gè)工具實(shí)現(xiàn)windows到Unix的移植有意義嗎?難大不? 軟件可移植性是指代碼可以在不同平臺間移植,我們一般說的軟件的可移植性指的是軟件可移植性,簡單的說就是指源代碼移到不同的平臺下(不同的操作系統(tǒng),例如從Windows

      下移到Linux下)時(shí),需要修改的內(nèi)容越少,移植性越好。要保證軟件可移植性,就是少用或不用系統(tǒng)特有的東西,比如你用C語言編程,你可以使用C語言本身的庫,但不要用

      WindowsAPI函數(shù),因?yàn)閃indowsAPI函數(shù)在Linux下是沒有的,如果想移植到Linux平臺下,使用WindowsAPI函數(shù)的部分代碼就要做出修改了。

      第五篇:軟件工程

      軟件工程—心得體會

      摘要

      本文結(jié)合基層實(shí)踐教學(xué)的實(shí)際情況和現(xiàn)實(shí)需要,系統(tǒng)地總結(jié)了《軟件工程》實(shí)踐教學(xué)的特征,詳細(xì)分析了實(shí)踐教學(xué)過程存在的問題,并提出了該課程實(shí)踐教學(xué)改革的新格式。

      關(guān)鍵字:軟件工程,教學(xué)素質(zhì),軟件開發(fā),實(shí)踐,實(shí)驗(yàn)

      正文

      通過這學(xué)期的“軟件工程”這門課,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到較大的提高。我覺得在大四安排這門課的學(xué)習(xí),其主要目的,在于在課堂中學(xué)到的理論知識與實(shí)際的結(jié)合,尤其是觀察、分析、解決問題的實(shí)際工作能力。軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。在1968年第一次提出了軟件工程的概念,至今軟件工程已經(jīng)走過了30多年的歷程。在不斷發(fā)展的過程中,人類越來越加注重在軟件的開發(fā)中應(yīng)該按工程化的方法進(jìn)行開發(fā),并注重進(jìn)行軟件項(xiàng)目工程的管理。在現(xiàn)代社會中,軟件應(yīng)用于多個(gè)方面,典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等,這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會的發(fā)展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。

      中國的軟件行業(yè)規(guī)模不是很大,有些軟件公司在軟件制作上,也只是采用了一些軟件工程的思想,與大規(guī)模的工業(yè)化大生產(chǎn)比較還是有一定的差距,原因有管理體制的問題,市場問題,政策問題,也有軟件工程理論不全面和不完善的問題。所以軟件工程的研究和應(yīng)用,以及中國軟件行業(yè)的進(jìn)一步發(fā)展,都需要一定的既有軟件工程的理論基礎(chǔ)和研究能力,又有一定的實(shí)踐經(jīng)驗(yàn)的軟件工程技術(shù)人員來推動(dòng)。軟件工程的前途是光明的。軟件服務(wù)外包屬于智力人才密集型現(xiàn)代服務(wù)業(yè)。大量著名外包企業(yè)落戶寧波。主要就業(yè)去向包括軟件外包與服務(wù)企業(yè)、信息產(chǎn)品與服務(wù)企業(yè),擔(dān)任程序員、軟件測試員、項(xiàng)目經(jīng)理等工作崗位

      軟件工程是計(jì)算機(jī)領(lǐng)域發(fā)展最快的學(xué)科分支之一,國家非常重視軟件行業(yè)的發(fā)展,對軟件人才的培養(yǎng)給予了非常優(yōu)惠的政策。本專業(yè)培養(yǎng)掌握計(jì)算機(jī)軟件基本理論知識,熟悉軟件開發(fā)和管理技術(shù)、能夠在計(jì)算機(jī)軟件領(lǐng)域中從事軟件設(shè)計(jì)、開發(fā)和管理的高級人才。軟件工程的七條原理:用分階段的生命周期計(jì)劃嚴(yán)格管理、堅(jiān)持進(jìn)行階段評審、實(shí)行嚴(yán)格的產(chǎn)品控制、采納現(xiàn)代程序設(shè)計(jì)技術(shù)、結(jié)果應(yīng)能清楚地審查、開發(fā)小組的人員應(yīng)少而精、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。根據(jù)這幾條原理,不僅要積極采納新的軟件開發(fā)技術(shù),還要注意不斷總結(jié)經(jīng)驗(yàn),收集進(jìn)度和消耗等數(shù)據(jù),進(jìn)行出錯(cuò)類型和問題報(bào)告統(tǒng)計(jì)。這些數(shù)據(jù)既可以用來評估新的 軟件技術(shù)的效果,也可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進(jìn)行研究的工具和技術(shù)。

      下載軟件工程word格式文檔
      下載軟件工程.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        軟件工程

        一、名詞解釋 軟件: 指計(jì)算機(jī)系統(tǒng)中的程序及其文檔。 支持軟件:支持軟件的開發(fā)和維護(hù)的軟件。 系統(tǒng)軟件:屬于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,其它軟件一般都通過系統(tǒng)軟件發(fā)揮作......

        軟件工程

        填好發(fā)給我?。。?!一、填空題: 1.面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)進(jìn)行 __________________,對象就是客觀世界的; 2.軟件工程方法學(xué)包括:工程環(huán)境建立、方法、工具和過程; 3.思想概括......

        軟件工程

        1. 軟件工程:是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科 2. 軟件危機(jī):是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題 3. 軟件過程:是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需......

        軟件工程練習(xí)題

        練習(xí)題 一、判斷題 1. 螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)分析活動(dòng)。(錯(cuò)) 2. 軟件的模塊數(shù)越少,其軟件成本越低。(錯(cuò)) 3. JAVA語言編譯器是一個(gè)CASE工具。(對)。......

        軟件工程報(bào)告

        軟件工程實(shí)訓(xùn)(論文) 論文題目 學(xué) 院應(yīng)用數(shù)學(xué)學(xué)院 專業(yè)信息與計(jì)算科學(xué) 年級班別12級2班 學(xué) 號3212008007 學(xué)生姓名 洪春暉 指導(dǎo)老師 李小英 2015 年12月 對軟件工程的認(rèn)識......

        軟件工程課件

        題目一:“教務(wù)管理系統(tǒng)之子系統(tǒng)——學(xué)院課程安排” 1.系統(tǒng)簡介 每個(gè)學(xué)期的期中,學(xué)校教務(wù)處向各個(gè)學(xué)院發(fā)出下各學(xué)期的教學(xué)計(jì)劃,包括課程名稱、課程代碼、課時(shí)、班級類別(本科、專......

        軟件工程求職信(精選合集)

        軟件工程求職信范文五篇時(shí)間是箭,去來迅疾,我們找工作的日子已悄悄來臨,你的求職信寫好了嗎?為了讓您不再為寫求職信頭疼,以下是小編為大家整理的軟件工程求職信6篇,僅供參考,希望......

        軟件工程課程

        軟件工程專業(yè)本科生課程設(shè)置 時(shí)間:2009-03-22 08:47 來源: 作者: 點(diǎn)擊:1059 學(xué)院在課程體系制定、課程計(jì)劃安排上制定了嚴(yán)格的規(guī)定與規(guī)范的操作程序。課程體系、教學(xué)計(jì)劃由學(xué)院......