




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件是⑴能夠完成預定功能和性能的可執(zhí)行指令⑵使得程序能夠適當?shù)牟僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)⑶描述程序的操作和使用的文檔;軟件的特點:⑴是邏輯產(chǎn)品,非物理產(chǎn)品⑵由開發(fā)或工程化而形成,無明顯的制造過程⑶存在退化問題,必須維護軟件。軟件發(fā)展歷史:程序設計階段程序系統(tǒng)階段軟件工程階段強大的桌面系統(tǒng)和計算機網(wǎng)絡迅速發(fā)展的時期軟件工程是研究和應用如何以系統(tǒng)化,規(guī)范化,可度量的方法去開發(fā),運行和維護軟件,即把工程化應用到軟件中。衡量軟件質(zhì)量的主要特征有可維護性,可適用性,可使用性。軟件工程的三要素:工具方法過程還有一個質(zhì)量焦點軟件工程過程是進行一系列有組織的活動,從能夠合理和及時的開發(fā)出軟件。軟件危機:軟件在開發(fā)和維護過程中遇到的一系列嚴重問題。軟件危機包含兩層含義:如何開發(fā)軟件如何維護數(shù)量不斷膨脹的已有軟件。表現(xiàn):(1)軟件開發(fā)的進度難以控制,經(jīng)常出現(xiàn)經(jīng)費超預算、完成期限一再拖延的現(xiàn)象。(2)軟件需求在開發(fā)初期不明確,導致矛盾在后期集中暴露,從而對整個開發(fā)過程帶來災難性的后果。(3)由于缺乏完整規(guī)范的資料,加之軟件測試不充分,從而造成軟件質(zhì)量低下,運行中出現(xiàn)大量問題。(4)軟件的可維護性差(5)軟件文檔資料不完整、不合格(6)軟件價格昂貴,軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。原因:①用戶對軟件需求的描述不精確,可能有遺漏、有二義性、有錯誤,甚至在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求。②軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異,這種差異必然導致開發(fā)出來的軟件產(chǎn)品與用戶要求不一致。③大型軟件項目需要組織一定的人力共同完成,多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理方面的經(jīng)驗。各類人員的信息交流不及時、不準確、有時還會產(chǎn)生誤解。④軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分支,因此容易產(chǎn)生疏漏和錯誤。⑤缺乏有力的方法和工具方面的支持,過分地依靠程序人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化。⑥軟件產(chǎn)品的特殊性和人智力的局限性,導致人們無力處理“復雜問題”。所謂“復雜問題”的概念是相對的,一旦人們采用先進的組織形式、開發(fā)方法和工具提高了軟件的開發(fā)效率和能力,新的、更大的、更復雜的問題又擺在人們面前。軟件工程學原則:抽象,信息隱藏,模塊化,局部化,一致性,完整性和可驗證性。軟件生存周期階段:可行性研究,需求分析,概要設計,詳細設計,編碼,測試,維護。軟件開發(fā)模型:邊做邊改模型,瀑布模型,快速原型模型,增量模型,螺旋模型。瀑布模型:是將軟件生存各個活動規(guī)定為依線性順序聯(lián)接的若干階段的模型。它包括可行性分析、項目開發(fā)計劃、需求分析、概要設計、詳細設計、編碼、測試和維護。它規(guī)定了由前至后,相互銜接的固定次序,如同瀑布流水,逐級下落。本質(zhì):工序線性化。10軟件開發(fā)的基本策略:復用,分而治之,優(yōu)化與折中。11可行性研究的任務:經(jīng)濟,技術(shù),運行,法律和開發(fā)方案可行性。需求的概念:⑴用戶解決問題或達到目標所需的條件或能力⑵系統(tǒng)或系統(tǒng)部件要滿足合同,標準,規(guī)范或其他正式文檔規(guī)定的條件和能力⑶一種滿足⑴或⑵所描述的條件或能力的文檔說明。數(shù)據(jù)字典是對系統(tǒng)所用到的所有數(shù)據(jù)項和結(jié)構(gòu)的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。系統(tǒng)流程圖:是描述物理系統(tǒng)的傳統(tǒng)工具,它用圖形符號來表示系統(tǒng)中的各個元素,例如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設備等。它表達了系統(tǒng)中各個元素之間的信息流動的情況。需求工程的基本活動:需求的獲取,分析,傳遞,認可,進化。需求管理:包括變更控制、版本控制和需求跟蹤等活動需求層次:業(yè)務需求:描述了組織結(jié)構(gòu)或客戶對系統(tǒng)的高層次的目標要求。用戶需求:描述了用戶使用產(chǎn)品必須要完成的任務,使用實例模型描述。功能需求:定義了開發(fā)人員實現(xiàn)的軟件的功能。非功能需求:描述系統(tǒng)的約束和限制條件。需求錯誤的原因:缺乏足夠用戶的參與、用戶需求不斷增加、需求模棱兩可、添加不必要的特性、規(guī)格說明過于簡單、忽略了用戶分類結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止結(jié)構(gòu)化程序設計的主要思想:(1)自頂向下、逐步求精的程序設計方法(2)使用3種基本控制結(jié)構(gòu)、單入口、單出口來構(gòu)造程序。結(jié)構(gòu)化分析過程是創(chuàng)建數(shù)據(jù)模型E-R圖、功能模型DFD圖和行為模型STD圖的過程結(jié)構(gòu)化分析方法使用工具:ERDSTD數(shù)據(jù)流圖數(shù)據(jù)詞典判定表與判定樹、結(jié)構(gòu)化英語概要設計的任務:設計軟件結(jié)構(gòu);設計數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫;編寫概要設計文檔;評審;概要設計的說明書。軟件設計原則:抽象化自頂向下,逐步細化模塊化程序結(jié)構(gòu)結(jié)構(gòu)劃分軟件過程信息隱蔽程序結(jié)構(gòu)的深度:程序結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)的深度。結(jié)構(gòu)的深度在一定意義上反映了程序結(jié)構(gòu)的規(guī)模和復雜程度程序結(jié)構(gòu)的寬度:層次結(jié)構(gòu)中同一層模塊的最大模塊個數(shù)稱為結(jié)構(gòu)的寬度。扇出表示一個模塊直接調(diào)用(或控制)的其他模塊數(shù)目。扇入則定義為調(diào)用(或控制)一個給定模塊的模塊個數(shù)。多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊模塊的獨立性:指軟件系統(tǒng)中每個模塊只涉及具體的子功能,而和系統(tǒng)中其他模塊的接口是簡單的。模塊的屬性:功能,邏輯,狀態(tài)。內(nèi)聚分為:功能,信息,通信,過程,時間,邏輯和巧合內(nèi)聚;耦合分為:非直接,數(shù)據(jù),標記,控制,外部,公共和內(nèi)容耦合。(都是高到低)變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。詳細設計的任務:確定模塊算法,選擇適當工具表達算法;確定模塊的數(shù)據(jù)結(jié)構(gòu);確定模塊接口的細節(jié);為模塊設計測試用例。詳細設計的描述工具:圖形工具表格工具語言工具結(jié)構(gòu)化程序設計采用自頂向下逐步求精的設計方法和單入口單出口的控制結(jié)構(gòu)。測試分為:動態(tài)測試(黑盒,白盒)和靜態(tài)測試(代碼審查,靜態(tài)分析)。黑盒測試(功能測試)方法:等價分類法,邊界值分析,錯誤推測,因果圖。白盒測試(結(jié)構(gòu)測試)方法:語句,判定,條件,判定/條件,條件組合覆蓋。點,邊,路徑覆蓋。路徑覆蓋:指設計足夠的測試用例,覆蓋被測程序中所有可能的路徑。判定/條件覆蓋:指設計足夠的測試用例,使得判定表達式中的每個條件的所有可能取值至少出現(xiàn)一次,并使每個判定表達式所有可能的結(jié)果也至少出現(xiàn)一次。條件組合覆蓋:是指設計足夠的測試用例,使的每個判定表達式中條件的各種可能的值的組合都至少出現(xiàn)一次,條件組合覆蓋是比較強的覆蓋標準。條件覆蓋:是指設計足夠的測試用例,使得判定表達式中每個條件的各種可能的值至少出現(xiàn)一次。滿足條件覆蓋并不一定滿足判定覆蓋。軟件測試的目的:測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極有可能發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)的盡可能多的錯誤的測試;成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試。測試步驟:模塊,系統(tǒng)集成和確認測試。黑盒測試(功能測試)方法:等價分類法,邊界值分析,錯誤推測,因果圖。軟件測試的基本原則:1.應當把“盡早和不斷的測試”作為開發(fā)者的座右銘2.程序員應該避免檢查自己的程序,測試工作應該由獨立的專業(yè)的軟件測試機構(gòu)來完成。3.設計測試用例時應該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡異常中斷、電源斷電等情況。4.一定要注意測試中的錯誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習慣有很大的關(guān)系。5.對測試錯誤結(jié)果一定要有一個確認的過程,一般有A測試出來的錯誤,一定要有一個B來確認,嚴重的錯誤可以召開評審會進行討論和分析。6.制定嚴格的測試計劃,并把測試時間安排的盡量寬松,不要希望在極短的時間內(nèi)完成一個高水平的測試。7.回歸測試的關(guān)聯(lián)性一定要引起充分的注意,修改一個錯誤而引起更多的錯誤出現(xiàn)的現(xiàn)象并不少見。8.妥善保存一切測試過程文檔,意義是不言而喻的,測試的重現(xiàn)性往往要靠測試文檔。軟件開發(fā)過程是一個自頂向下,逐步細化的過程軟件計劃階段定義軟件作用域軟件需求分析建立軟件信息域、功能和性能需求、約束等軟件設計建立軟件體系結(jié)構(gòu)和模塊實現(xiàn)的算法。把設計用某種程序設計語言轉(zhuǎn)換成程序代碼測試過程是依相反順序安排的自底向上,逐步集成的過程。軟件開發(fā)過程是一個自頂向下,逐步細化的過程軟件計劃階段定義軟件作用域軟件需求分析建立軟件信息域、功能和性能需求、約束等軟件設計建立軟件體系結(jié)構(gòu)和模塊實現(xiàn)的算法。把設計用某種程序設計語言轉(zhuǎn)換成程序代碼測試過程是依相反順序安排的自底向上,逐步集成的過程。軟件可靠性:程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定能成功運行的概率調(diào)試策略:跟蹤法,演繹法,歸納法,試探法,回溯法和對分查找法。維護概念:為了改正錯誤或滿足新需要而修改軟件的過程。目的是滿足用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境不斷提高的要求,延長軟件壽命。分為:完善性,適應性,糾錯性和預防性維護。影響可維護的因素:可理解性,可測試性,可修改性。維護的副作用:代碼,數(shù)據(jù)和文檔副作用。軟件維護特點從三個方面理解:結(jié)構(gòu)化維護和非結(jié)構(gòu)化維護,維護的代價,維護的問題。面向?qū)ο蠓椒ㄊ沁\用對象、類、繼承、封裝、聚合、消息傳遞、多態(tài)性等概念來構(gòu)造系統(tǒng)軟件開發(fā)方法。對象:是系統(tǒng)中用來描述客觀事物的一個實體,是系統(tǒng)的基本單位,由屬性和服務組成。類:是具有相同屬性和服務的一組對象的集合。封裝性:把對象的全部屬性和全部服務結(jié)合在一起,形成一個不可分割的獨立單位,盡可能隱蔽對象的內(nèi)部細節(jié)(信息隱蔽)多態(tài)性:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果繼承性是特殊類的對象擁有一般類的全部屬性和服務,稱作特殊類對一般類的繼承消息:對象之間進行通信的構(gòu)造面向?qū)ο蟮奶攸c:建立的模型與客觀世界一致便于理解;適應變化的需要修改局限在模塊中;具有可復用性。重用:同一事物不經(jīng)修改或稍加修改就可以多次重復使用的性質(zhì)??尚行匝芯浚喊凑崭鞣N有效的方法和工作程序?qū)Υ罱üこ添椖吭诩夹g(shù)上的先進性,適應性,經(jīng)濟上的合理性,法律可行性是否有必要去解決,以及項目的實施等方面進行深入的系統(tǒng)分析。白盒測試:按照程序的內(nèi)部邏輯結(jié)構(gòu),檢驗程序中的每條通路是否能夠按照規(guī)格說明書上的規(guī)范正確工作,即把程序看成是裝在一個透明的盒子里,完全了解程序的結(jié)構(gòu)和處理過程,又稱結(jié)構(gòu)測試。視圖:視圖用來表示被建模系統(tǒng)的各個方面,視圖由多個圖構(gòu)成,他不是一個圖片,而是在某一個抽象層上對系統(tǒng)的抽象表示。如果要為系統(tǒng)建立一個完整的模型圖,只需定義一定數(shù)量的視圖,每個視圖表示系統(tǒng)的一個特殊的方面。5種視圖,用例視圖:用于描述系統(tǒng)內(nèi)部應該具有的功能集,它是系統(tǒng)的外部用戶所能觀察到的系統(tǒng)功能的模型圖。邏輯視圖:展示了系統(tǒng)內(nèi)部如何提供系統(tǒng)的功能,它利用系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為來刻畫系統(tǒng)功能。構(gòu)建視圖:用來顯示代碼構(gòu)件的組織方式,他描述了實現(xiàn)模塊和他們之間的依賴關(guān)系。并發(fā)視圖:用來顯示系統(tǒng)的并發(fā)工作狀況。部署視圖:用來顯示系統(tǒng)的物理架構(gòu),及系統(tǒng)的物理部署。UML中包含用例圖,類圖,對象圖,狀態(tài)圖,順序圖,協(xié)作圖,活動圖,構(gòu)件圖,部署圖共九種。用例圖:系統(tǒng)的功能需求。類圖:類與類之間的靜態(tài)關(guān)系。對象圖:類圖的一個實例,反映系統(tǒng)執(zhí)行到某處時系統(tǒng)的工作狀況。狀態(tài)圖:類的所有對象可能具有的狀態(tài)以及引起狀態(tài)變化的事件。順序圖:反映若干個對象之間的動態(tài)協(xié)作關(guān)系,顯示對象之間發(fā)送消息的順序,對象之間的交互。協(xié)作圖:動態(tài)協(xié)作,除了顯示消息變化外,協(xié)作圖還顯示了對象和它們之間的關(guān)系(上下文有關(guān))?;顒訄D:一個連續(xù)的活動流。常用于描述某個操作執(zhí)行時的活動狀況。構(gòu)件圖:反映代碼的物理結(jié)構(gòu)。部署圖用來顯示系統(tǒng)中軟件和硬件的物理架構(gòu)。什么是軟件的可維護性?軟件的可維護性與哪些軟件質(zhì)量的特性有關(guān)?如何提高軟件的可維護性?為什么在軟件開發(fā)過程中,要特別重視軟件的可維護性?解:①(2分)軟件的可維護性指軟件能夠被理解、校正、適應及增加功能的容易程度。②(2分)軟件的可維護性與軟件質(zhì)量的下列特性有關(guān):可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。③(2分)提高軟件的可維護性方法有:
要建立明確的軟件質(zhì)量目標:要程序滿足可維護性的7個指標是不現(xiàn)實的,對于不同性質(zhì)軟件,質(zhì)量重點不一樣。強調(diào)哪個質(zhì)量特性,視情況而定。
要利用先進的軟件開發(fā)技術(shù)和工具:能大大提高軟件質(zhì)量和減少軟件費用。例如面向?qū)ο蠓椒ㄩ_發(fā)的軟件系統(tǒng),穩(wěn)定性好,比較容易修改,比較容易理解,易于測試和調(diào)試,因此可維護性好。
建立明確的質(zhì)量保證:有4類檢查(在檢查點進行檢查、驗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五育課題申報書模板
- 德育教改課題申報書
- 體育跨學科課題申報書
- 小學課題申報評審書范文
- 地理教學課題申報書
- 代簽離婚協(xié)議合同范例
- 劣質(zhì)柴油采購合同范本
- 傳媒經(jīng)紀人合同范本
- 吊車租賃機械合同范例
- 農(nóng)村油漆購買合同范本
- 新型抗腫瘤藥物臨床應用指導原則
- 中國居民膳食指南(全)
- Boomer-XL3D鑿巖臺車(修訂版)
- 幼兒園小班故事《貪吃的小豬》課件
- 三年級(下)道德與法治第三單元教材分析課件
- Passport評估工具:項目復雜度評估表
- 南寧鐵路局招聘2023年高校畢業(yè)生133人筆試參考題庫(共500題)答案詳解版
- 軍用飛機改進方案
- 多發(fā)性肌炎的基本知識
- 《大學物理學》精美課件(全)
- 政府投資項目立項申請表-正面
評論
0/150
提交評論