版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章軟件工程基礎(chǔ)知識(shí)1.1軟件的定義1.2軟件工程1.3軟件生命周期FAQ(關(guān)于軟件工程)什么是軟件?好的軟件有那些特點(diǎn)?什么是軟件工程?什么是軟件過(guò)程?什么是軟件過(guò)程模型?什么是軟件工程方法?什么是CASE(ComputerAidedSoftwareEngineering)?軟件工程和系統(tǒng)工程有什么區(qū)別?軟件工程面臨的關(guān)鍵挑戰(zhàn)是什么?1.1軟件的定義什么是軟件軟件的特點(diǎn)軟件發(fā)展史軟件危機(jī)什么是軟件?(1/2)
書本上的定義–Softwareisasetofitemsorobjectsthatformsa“configuration”thatincludesprograms,documents,data,……IEEE的定義–Softwareiscomputerprograms,procedures,andpossiblyassociateddocumentationanddatapertainingtotheoperationofacomputersystem.可執(zhí)行部分不可執(zhí)行部分?jǐn)?shù)據(jù)文檔1文檔2什么是軟件?(2/2)與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序和數(shù)據(jù)以及任何與之相關(guān)的文檔的集合。程序什么是程序(1/2)程序:由程序設(shè)計(jì)語(yǔ)言所描述的、能為計(jì)算機(jī)所識(shí)別、理解和處理的語(yǔ)句序列程序例子Main(){inti,j;
//變量定義
charStr[10];i=i+j;//語(yǔ)句說(shuō)明
……}什么是程序(2/2)程序設(shè)計(jì)語(yǔ)言具有良好、嚴(yán)格語(yǔ)法和語(yǔ)義目前程序設(shè)計(jì)語(yǔ)言主要有以下幾種類型面向機(jī)器:如匯編語(yǔ)言、機(jī)器語(yǔ)言等面向過(guò)程:如Fortran,Pascal,C等等面向?qū)ο?如Java等等面向問題:如結(jié)構(gòu)化查詢語(yǔ)言SQL等等什么是文檔文檔:記錄軟件開發(fā)活動(dòng)和階段性成果、理解軟件所必需的闡述性資料需求分析文檔軟件設(shè)計(jì)文擋等編寫文檔目的促進(jìn)對(duì)軟件的開發(fā),管理和維護(hù);便于各種人員(用戶,開發(fā)人員)的交流軟件特點(diǎn)不會(huì)老化邏輯產(chǎn)品(智力,無(wú)形)維護(hù)困難和復(fù)雜(完善,糾錯(cuò),…...)生產(chǎn)只需復(fù)制軟件開發(fā)性質(zhì)如成本、進(jìn)度等難以估計(jì)軟件的開發(fā)更加依賴于開發(fā)人員的業(yè)務(wù)素質(zhì)、智力、人員的合作、組織和管理好的軟件有哪些特點(diǎn)?軟件發(fā)展史軟件危機(jī)軟件需求的增增長(zhǎng)得不到滿滿足;軟件開發(fā)的成成本和進(jìn)度無(wú)無(wú)法控制;軟件質(zhì)量難以以保證;軟件不可維護(hù)護(hù)或維護(hù)成度度非常低;軟件成本不斷斷提高;軟件開發(fā)生產(chǎn)產(chǎn)率的提高趕趕不上硬件的的發(fā)展和應(yīng)用用需求的增長(zhǎng)長(zhǎng)。為了消除軟件件危機(jī),形成成了軟件工程程的概念,開開辟了工程學(xué)學(xué)的新興領(lǐng)域域——軟件工程學(xué)。。軟件工程就就是試圖用工工程、科學(xué)和和數(shù)學(xué)的原理理與方法研制制、維護(hù)計(jì)算算機(jī)軟件的有有關(guān)技術(shù)及管管理方法。1.2軟件工程軟件開發(fā)活動(dòng)動(dòng)軟件工程軟件工程的知知識(shí)域軟件開發(fā)活動(dòng)動(dòng)軟件開發(fā)活動(dòng)動(dòng)的主要內(nèi)容容問題用戶需求需求分析規(guī)格說(shuō)明,可行性報(bào)告,初步用戶手冊(cè)
設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì),各模塊的詳細(xì)設(shè)計(jì)說(shuō)明,測(cè)試計(jì)劃構(gòu)造各模塊代碼和單元測(cè)試報(bào)告,測(cè)試設(shè)計(jì)測(cè)試各種測(cè)試報(bào)告維護(hù)發(fā)布計(jì)劃、培訓(xùn)計(jì)劃及教材、維護(hù)檔案等需求分析軟件設(shè)計(jì)軟件構(gòu)造軟件維護(hù)軟件測(cè)試軟件開發(fā)費(fèi)用的比例1需求分析需求規(guī)格說(shuō)明明(specification)初步用戶手冊(cè)冊(cè)項(xiàng)目開發(fā)計(jì)劃劃可行性(風(fēng)險(xiǎn))分析需求分析用戶的需要(needs)對(duì)軟件的需求求(requirements)使用計(jì)算機(jī)術(shù)術(shù)語(yǔ),比較嚴(yán)格的語(yǔ)語(yǔ)言全面理解準(zhǔn)確表達(dá)使用用戶的語(yǔ)言(行業(yè)內(nèi)的術(shù)語(yǔ))功能要求性能要求環(huán)境要求可靠性要求安全性要求用戶界面需求資源使用需求軟件成本消耗開發(fā)進(jìn)度需求等軟件需求說(shuō)明明書的內(nèi)容Ⅰ.引言A.背景B.定義C.參考資料Ⅱ.任務(wù)概述A.目標(biāo)B.用戶的特點(diǎn)C.假定和約束Ⅲ.需求規(guī)定
A.對(duì)功能的規(guī)定
B.對(duì)性能的規(guī)定(ⅰ精度ⅱ時(shí)間特性要求ⅲ靈活性)C.輸入輸出要求
D.數(shù)據(jù)管理能力要求
E.故障處理要求
F.其它專門要求Ⅳ.運(yùn)行環(huán)境規(guī)定A.設(shè)備B.支撐軟件C.接口D.控制2軟件設(shè)計(jì)軟件模塊劃分分算法設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)計(jì)用戶界面設(shè)計(jì)計(jì)軟件設(shè)計(jì)需求規(guī)格說(shuō)明明(specification)概要設(shè)計(jì)說(shuō)明明書詳細(xì)設(shè)計(jì)說(shuō)明明書從實(shí)現(xiàn)角度出出發(fā)自頂向下逐步步細(xì)化(stepwiserefinement)軟件詳細(xì)設(shè)計(jì)計(jì)說(shuō)明書的內(nèi)內(nèi)容Ⅰ.引言A.目的B.背景C.定義D.參考資料Ⅱ.軟件的體系結(jié)構(gòu)列出軟件中的每個(gè)程序(包括每個(gè)模塊和子程序)的名稱、標(biāo)識(shí)符和它們之間的層次結(jié)構(gòu)關(guān)系Ⅲ.程序1設(shè)計(jì)說(shuō)明
A.程序描述B.功能
C.性能D.輸入項(xiàng)
E.輸出項(xiàng)F.算法H.流程邏輯I.接口
J.存儲(chǔ)分配K.注釋設(shè)計(jì)L.限制條件M.測(cè)試計(jì)劃
N.尚未解決的問題Ⅳ.程序2設(shè)計(jì)說(shuō)明
A.程序描述B.功能C.性能D.輸入項(xiàng)
E.輸出項(xiàng)F.算法H.流程邏輯I.接口
J.存儲(chǔ)分配K.注釋設(shè)計(jì)L.限制條件M.測(cè)試計(jì)劃
N.尚未解決的問題其他程序的設(shè)計(jì)說(shuō)明····3軟件構(gòu)造軟件構(gòu)造(程序設(shè)計(jì))可執(zhí)行的軟件件模塊,集成后的軟件件成品算法數(shù)據(jù)結(jié)構(gòu)用戶界面程序設(shè)計(jì)語(yǔ)言言(如C,C++,JAVA,VB等)軟件運(yùn)行平臺(tái)臺(tái)(使用何種操作作系統(tǒng),向應(yīng)應(yīng)用程序提供供哪些服務(wù)。。一般通過(guò)API(應(yīng)用程序接接口)提供,,如Windows系統(tǒng)的API:Win32SDK和MFC類庫(kù)等)編程和開發(fā)工工具(集成開發(fā)環(huán)境境;Delphi、C++Builder、VisualStudio;VisualStudio.NET)設(shè)計(jì)說(shuō)明書關(guān)于程序設(shè)計(jì)計(jì)語(yǔ)言和編程程訓(xùn)練必須學(xué)好:C/C++、Java、…等程序設(shè)計(jì)語(yǔ)語(yǔ)言一定要大量編編寫程序和開開發(fā)軟件,這這是因?yàn)椋?使用語(yǔ)言才能能掌握語(yǔ)言2編程是計(jì)算機(jī)機(jī)科學(xué)的“實(shí)驗(yàn)”手段3通過(guò)編程才能能把計(jì)算機(jī)系系統(tǒng)方方面面面的概念聯(lián)系系在一起,理理解計(jì)算機(jī)的的行為和特性性。編程是理理解抽象概念念的有效途徑徑4編程和軟件開開發(fā)仍然是大大部分計(jì)算機(jī)機(jī)專業(yè)及相關(guān)關(guān)專業(yè)畢業(yè)生生就業(yè)崗位的的主要工作;;5在開發(fā)系統(tǒng)軟軟件和數(shù)據(jù)處處理類大型應(yīng)應(yīng)用軟件方面面,計(jì)算機(jī)專專業(yè)及相關(guān)專專業(yè)畢業(yè)生應(yīng)該也必須具有明顯的優(yōu)優(yōu)勢(shì)。4軟件測(cè)試軟件測(cè)試經(jīng)過(guò)測(cè)試和修修改的軟件產(chǎn)產(chǎn)品測(cè)試說(shuō)明書測(cè)試工具測(cè)試用例和測(cè)測(cè)試數(shù)據(jù)可執(zhí)行的軟件件模塊集成后的軟件件成品軟件測(cè)試是分階段進(jìn)行的,它貫穿于軟件開發(fā)的全過(guò)程:?jiǎn)卧獪y(cè)試(模塊測(cè)試)集成測(cè)試確認(rèn)測(cè)試用戶定制軟件:驗(yàn)收測(cè)試和安裝測(cè)試商品軟件:阿爾法測(cè)試和貝塔測(cè)試測(cè)試過(guò)程測(cè)試(Testing)是找出程序和和設(shè)計(jì)中的錯(cuò)錯(cuò)誤,其要求求是:有效數(shù)據(jù)結(jié)果果正確無(wú)效數(shù)數(shù)據(jù)有有預(yù)防防措施施測(cè)試軟件配置結(jié)果分析測(cè)試結(jié)果排錯(cuò)改正的軟件預(yù)期結(jié)果可靠性分析預(yù)測(cè)的可靠性找出錯(cuò)誤出錯(cuò)率數(shù)據(jù)測(cè)試用例測(cè)試數(shù)據(jù)測(cè)試工具排錯(cuò)(Debugging)也叫調(diào)調(diào)試,,用于于消除除程序序中缺缺陷(bug):找出出出錯(cuò)的的位置置(定位)分析出出錯(cuò)原原因并并改正正測(cè)試方方法::白盒盒測(cè)試試技術(shù)術(shù)白盒測(cè)測(cè)試也叫路路徑測(cè)測(cè)試::程序中中所有有語(yǔ)句句必須須執(zhí)行行一次次以上上,程程序中中每條條路徑徑都要要走到到白盒測(cè)測(cè)試的內(nèi)容容對(duì)程序模塊的所有獨(dú)立執(zhí)行路徑至少測(cè)試一次對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)試一次。在循環(huán)的邊界和運(yùn)行邊界限內(nèi)執(zhí)行循環(huán)體測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。A>1ANDB=0X=X/AA=2ORX>1X=X+1NNYY測(cè)試方方法::黑盒測(cè)測(cè)試技技術(shù)黑盒測(cè)測(cè)試(BlackBoxTesting)也稱功功能測(cè)測(cè)試:只關(guān)關(guān)心程程序運(yùn)運(yùn)行結(jié)結(jié)果是是否符符合要要求,,不考考慮程程序內(nèi)內(nèi)部的的執(zhí)行行過(guò)程程例:求求方程程式ax2+bx+c=0的根測(cè)試用用例:abc11.0-2.0-3.021.01.01.031.000.2542.01.00502.01.0602.0072.0008002.09000測(cè)試用用例的的覆蓋蓋面要要大,,但又又要少少而精精,防防治遺遺漏?。≤浖a(chǎn)產(chǎn)品測(cè)測(cè)試的的重要要性微軟產(chǎn)產(chǎn)品開開發(fā)組組的人人員構(gòu)構(gòu)成::項(xiàng)目經(jīng)理測(cè)試工程師開發(fā)工程師Exchange2000Windows2000項(xiàng)目經(jīng)理25人約250人開發(fā)人員140人約1700人測(cè)試人員350人約3200人開發(fā)人員/測(cè)試人員2:51:1.9嫦娥一號(hào)衛(wèi)衛(wèi)星:100萬(wàn)行軟件,,測(cè)試軟件件達(dá)160萬(wàn)行!5軟件維護(hù)軟件維護(hù)內(nèi)內(nèi)容:改正性維護(hù)護(hù)運(yùn)行中發(fā)現(xiàn)現(xiàn)了軟件中中的錯(cuò)誤需需要修正適應(yīng)性維護(hù)護(hù)為適應(yīng)變化化了的軟硬硬件環(huán)境,,需對(duì)軟件件做適當(dāng)變變更完善(改進(jìn))性維護(hù)為了滿足用用戶新的業(yè)業(yè)務(wù)需求、、增強(qiáng)軟件件功能而需需要修改、、擴(kuò)充軟件件預(yù)防性維護(hù)護(hù)為增強(qiáng)系統(tǒng)統(tǒng)可靠性和和安全性所所采取的預(yù)預(yù)防性措施施軟件維護(hù)經(jīng)過(guò)修改的的軟件產(chǎn)品使用中發(fā)現(xiàn)現(xiàn)的問題修改后的需需求規(guī)格說(shuō)說(shuō)明書交付的軟件產(chǎn)品軟件維護(hù)的的重要性在整個(gè)軟件件開發(fā)活動(dòng)動(dòng)中,軟件件維護(hù)的工工作量最大大,其費(fèi)用用大約是軟軟件開發(fā)總總成本的2/3左右在整個(gè)軟件件維護(hù)階段段的全部工工作量中,,預(yù)防性維維護(hù)只占很很小的比例例,而完善善性維護(hù)占占了幾乎一一半的工作作量小結(jié):軟件件開發(fā)活動(dòng)動(dòng)的特點(diǎn)需要多人參參與的分階階段進(jìn)行的的工作量很很大的智力力活動(dòng)不僅是編程程序,比編編程更重要要的是需求求分析和軟軟件設(shè)計(jì)編程不但要要熟悉程序序語(yǔ)言,還還需要熟悉悉運(yùn)行平臺(tái)臺(tái),掌握編編程和開發(fā)發(fā)工具編程需要要熟悉應(yīng)應(yīng)用領(lǐng)域域的業(yè)務(wù)務(wù)知識(shí)測(cè)試和編編程同樣樣重要投入運(yùn)行行后仍需需要提供供大量的的支持和和服務(wù)整個(gè)開發(fā)發(fā)活動(dòng)需需要精心心組織與與管理軟件工程程Quiz:1開發(fā)一個(gè)個(gè)典型的的軟件項(xiàng)項(xiàng)目大約約需要多多少個(gè)月月?2-3月4-6月8-12月12-24月2包含多少行行可執(zhí)行語(yǔ)語(yǔ)句的軟件件被認(rèn)為是是大型軟件件?1000行5000行10000行50000行3每年上千億億美元銷售售額的軟件件市場(chǎng)中,,Office、IE之類的PC常用軟件占占多少份額額?10%25%50%75%4中等規(guī)模軟軟件的開發(fā)發(fā)期中每人人每天平均均開發(fā)多少少行可執(zhí)行行語(yǔ)句?<10行10-50行50-100行>100行5開發(fā)過(guò)程中中,平均每每1000行可執(zhí)行代代碼中大約約會(huì)發(fā)現(xiàn)多多少個(gè)錯(cuò)誤誤?5-1010-2050-60100-1506由用戶發(fā)現(xiàn)現(xiàn)的軟件錯(cuò)錯(cuò)誤大部分分是什么原原因引起的的?編程錯(cuò)誤需需求理理解有誤軟軟件集集成設(shè)設(shè)計(jì)錯(cuò)誤軟件規(guī)模、、工作量與與成本類別參加人數(shù)研制期限產(chǎn)品規(guī)模(源代碼行數(shù))微型小型中型大型甚大型極大型112-55-20100-10002000-50001-4周1-6周1-2年2-3年4-5年5-10年約500行約2000行5000-50000行5萬(wàn)-10萬(wàn)行100萬(wàn)行1000萬(wàn)行軟件規(guī)模軟件產(chǎn)品舉例產(chǎn)品
代碼行
工作量(人年)
成本(百萬(wàn))
Lotus1-2-3Version3.0
400k
263
22
SpaceShuttle
25.6M
12
3.8M
CityBankTellermachine
780k150
13.2
MSWord2003
3.0M
WindowsNT(beta)Windows200350M3000
WindowsXP50M
WindowsVista70M9000x618000
軟件危機(jī)軟件產(chǎn)業(yè)滯滯后于應(yīng)用用的需求和和硬件的發(fā)發(fā)展軟件開發(fā)效效率低、成成本高,進(jìn)進(jìn)度和成本本難以控制制軟件質(zhì)量得得不到保證證1955年1970年1985年硬件成本與與軟件開發(fā)發(fā)、維護(hù)費(fèi)費(fèi)用比例的的變化60%左右的軟件件項(xiàng)目不能能按期完成成50%左右軟件項(xiàng)項(xiàng)目的費(fèi)用用超過(guò)預(yù)算算45%左右軟件項(xiàng)項(xiàng)目最終無(wú)無(wú)法投入使使用29%左右軟件項(xiàng)項(xiàng)目沒有交交付軟件19%左右的軟件項(xiàng)項(xiàng)目必須返工工才能使用Averagecostoverrun:189%Timeoverrun:
222%Projectsre-started:94%Functionalitydeliveredonaverage:
61%StandishGroup軟件項(xiàng)目失敗敗率統(tǒng)計(jì)200019981995199428%23%49%26%28%46%27%40%33%16%31%53%Thischartdepictstheoutcomeofthe30,000applicationprojectsinlarge,medium,
andsmallcross-industryU.S.companiestestedbyTheStandishGroupsince1994.(Source:TheStandishGroupInternational,ExtremeChaos,TheStandishGroupInternational,Inc.,2000)成功有問題失敗軟件項(xiàng)目失敗敗的原因“Whenprojectsfail,it’srarelytechnical.”JimJohnson,TheStandishGroup軟件的目標(biāo)與與功能分離(separation)需求不夠明確確,軟件的商商務(wù)(business)與技術(shù)分離,,缺乏共同的的語(yǔ)言和過(guò)程程開發(fā)過(guò)程沒有有統(tǒng)一的、公公認(rèn)的方法和和規(guī)范做指導(dǎo)導(dǎo),參與人員員自行其是,,聯(lián)系少,不不像一個(gè)團(tuán)隊(duì)隊(duì)開發(fā)過(guò)程不能能靈活改變,,測(cè)試不充分分Solution?軟件工程什么是軟件工工程?1968年提出(NATO會(huì)議)根據(jù)美國(guó)IEEE的定義,軟件件工程是“以系統(tǒng)的、規(guī)規(guī)范的、可以以度量的方法法應(yīng)用于軟件件的開發(fā)、運(yùn)運(yùn)行和維護(hù),,以及對(duì)這些些方法和技術(shù)術(shù)的研究”通俗地說(shuō),軟軟件工程是指指導(dǎo)軟件開發(fā)發(fā)和維護(hù)的一一門工程學(xué)科科。它采用工工程的概念、、原理、技術(shù)術(shù)和方法,把把經(jīng)過(guò)時(shí)間檢檢驗(yàn)而證明是是正確的管理理技術(shù)和當(dāng)前前能夠得到的的最好的技術(shù)術(shù)、方法結(jié)合合起來(lái),用于于開發(fā)和維護(hù)護(hù)軟件經(jīng)過(guò)幾十年的的研究與實(shí)踐踐,“軟件件危機(jī)”有所所緩解,軟件件開發(fā)方法、、技術(shù)和管理理已經(jīng)有了很很大的進(jìn)步,,軟件工程已已經(jīng)成為一門門比較成熟的的學(xué)科軟件工程的目目標(biāo)實(shí)現(xiàn)軟件的工工業(yè)化生產(chǎn),,提高軟件的的質(zhì)量與生產(chǎn)效效率,達(dá)到:付出較低的開開發(fā)成本;達(dá)到要求的軟軟件功能;取得較好的軟軟件性能;開發(fā)的軟件易易于移植;需要較低的維維護(hù)費(fèi)用;按時(shí)完成開發(fā)發(fā)任務(wù),及時(shí)時(shí)交付使用軟件工程的七七條基本原理理按分階段的生生命周期計(jì)劃劃嚴(yán)格進(jìn)行管管理堅(jiān)持進(jìn)行階段段評(píng)審實(shí)行嚴(yán)格的產(chǎn)產(chǎn)品控制采納現(xiàn)代程序序設(shè)計(jì)技術(shù)開發(fā)成果應(yīng)能能清楚地審查查開發(fā)小組的人人員要少而精精承認(rèn)不斷改進(jìn)進(jìn)軟件工程實(shí)實(shí)踐的必要性性軟件工程的主主要內(nèi)容軟件開發(fā)過(guò)程程的模型軟件開開發(fā)方方法軟件開開發(fā)工工具軟件工工程管管理與與支持持管理與控制過(guò)程方法工具質(zhì)量是焦點(diǎn)Maintainability
可維護(hù)性
Correctness正確性
Reusability
可重用性
Reliability可靠性
Portability便攜性(可移植性)
Efficiency
有效性軟件開開發(fā)過(guò)過(guò)程的的模型型瀑布模模型快速原原型模模型螺旋模模型……軟件開開發(fā)方方法和和工具具軟件開開發(fā)方方法::結(jié)構(gòu)化化方法法面向數(shù)數(shù)據(jù)結(jié)結(jié)構(gòu)的的方法法面向?qū)?duì)象的的方法法········軟件開開發(fā)工工具::(1)需求分分析和和概要要設(shè)計(jì)計(jì)工具具(2)詳細(xì)設(shè)設(shè)計(jì)和和編碼碼工具具(3)測(cè)試工工具(4)維護(hù)和和理解解工具具(5)項(xiàng)目管管理工工具(6)配置置管管理理工工具具···········軟件件工工程程的的知知識(shí)識(shí)領(lǐng)領(lǐng)域域軟件件工工程程與與程程序序設(shè)設(shè)計(jì)計(jì)軟件件工工程程存存在在于于軟軟件件開開發(fā)發(fā)活活動(dòng)動(dòng)的的各各個(gè)個(gè)階階段段。。而而程序序設(shè)設(shè)計(jì)計(jì)通常常指指程程序序的的設(shè)設(shè)計(jì)計(jì)與與編編碼碼,,是是軟軟件件開開發(fā)發(fā)過(guò)過(guò)程程中中的的一一個(gè)個(gè)階階段段。。軟件件工工程程力力圖圖對(duì)對(duì)軟軟件件項(xiàng)項(xiàng)目目的的各各個(gè)個(gè)方方面面作作出出指指導(dǎo)導(dǎo),,從從軟軟件件的的可可行行性性分分析析直直到到軟軟件件完完成成以以后后的的維維護(hù)護(hù)工工作作軟件工程程認(rèn)為軟軟件開發(fā)發(fā)與各種種市場(chǎng)活活動(dòng)密切切相關(guān)。。比如軟軟件的銷銷售,用用戶培訓(xùn)訓(xùn),與之之相關(guān)的的軟件和和硬件安安裝等。。軟件工程程的方法法學(xué)認(rèn)為為一個(gè)程程序員不不應(yīng)當(dāng)脫脫離團(tuán)隊(duì)隊(duì)而進(jìn)行行開發(fā),,同時(shí),,程序的的編寫不不能夠脫脫離軟件件的需求求、設(shè)計(jì)計(jì)以及客客戶的利利益。軟件工程程與計(jì)算算機(jī)科學(xué)學(xué)軟件工程計(jì)算機(jī)科學(xué)目標(biāo)構(gòu)建易用且高效的軟件,從而提高人們的工作效率和生活舒適度探索正確的計(jì)算和建模方法,從而改進(jìn)計(jì)算方法本身產(chǎn)品軟件(比如辦公套件和編譯器)算法(比如快速排序法)和抽象的問題(比如TSP問題)進(jìn)度和時(shí)間表軟件項(xiàng)目都有特定的進(jìn)度和時(shí)間表研究項(xiàng)目一般不具有設(shè)定的進(jìn)度和時(shí)間表關(guān)注點(diǎn)如何為用戶實(shí)現(xiàn)價(jià)值軟件本身運(yùn)行的原理,如時(shí)間和空間復(fù)雜度,算法的正確性變化程度隨著技術(shù)和需求的變化,必須時(shí)刻調(diào)整自己的開發(fā)以適應(yīng)當(dāng)前的需求。同時(shí)軟件工程本身也處于不斷的發(fā)展中對(duì)于某一種特定問題的正確解決方法將永遠(yuǎn)不會(huì)改變需要的其他知識(shí)相關(guān)領(lǐng)域的知識(shí)數(shù)學(xué)軟件工程程與系統(tǒng)統(tǒng)工程軟件工程程關(guān)注如如何開發(fā)發(fā)和發(fā)布布有用((有質(zhì)量量)的軟軟件,如如飛行控控制軟件件。系統(tǒng)工程程關(guān)注基基于計(jì)算算機(jī)進(jìn)行行系統(tǒng)開開發(fā)的所所有方面面,包括括硬件、、軟件及及相關(guān)過(guò)過(guò)程,如如飛機(jī)。軟件工程程是系統(tǒng)統(tǒng)工程的的一部分分。軟件工程程的知識(shí)識(shí)領(lǐng)域(1)軟件工程程的知識(shí)識(shí)領(lǐng)域(2)小結(jié)程序設(shè)計(jì)計(jì)軟件開發(fā)發(fā)=開開發(fā)工具具和環(huán)境境軟件工程程
過(guò)程(processmodel)=管理方法(disciplines)
工具(tools)
開發(fā)工具(IDE)=
OS及其API
算法=數(shù)據(jù)結(jié)構(gòu)程序設(shè)計(jì)語(yǔ)言1.3軟件生命命周期軟件生命命周期((軟件生生存周期期)軟件開發(fā)發(fā)過(guò)程模模型工具和環(huán)環(huán)境軟件生命命周期(SoftwareLifeCycle)什么是軟軟件生命命周期生命周期期人的生命命周期::嬰兒、、幼兒、、兒童、、少年、、…軟件生命命周期軟件從提提出開發(fā)發(fā)開始到到最終滅滅亡所經(jīng)經(jīng)歷的時(shí)時(shí)期軟件產(chǎn)品品或軟件件系統(tǒng)從從設(shè)計(jì)、、投入使使用到被被淘汰的的全過(guò)程程。軟件生命命周期示示意圖(根據(jù)GB8566-88《《計(jì)算機(jī)軟軟件開發(fā)發(fā)規(guī)范》)可行性研研究需求分析析概要設(shè)計(jì)計(jì)詳細(xì)設(shè)計(jì)計(jì)實(shí)現(xiàn)集成測(cè)試試確認(rèn)測(cè)試試使用與維維護(hù)退役軟件定義義軟件開發(fā)發(fā)維護(hù)可行性研研究(1/2)任務(wù)了解用戶戶要求和和現(xiàn)實(shí)環(huán)環(huán)境,從從技術(shù)、、經(jīng)濟(jì)、、市場(chǎng)等等方面研研究并論論證開發(fā)發(fā)該軟件件系統(tǒng)的的可行性性技術(shù)途徑徑調(diào)查和了了解用戶戶要求和和現(xiàn)現(xiàn)實(shí)環(huán)境境攢寫調(diào)查查報(bào)告可行性論論證和和分析析(技術(shù)術(shù)、經(jīng)濟(jì)濟(jì)等)如可行,制定初步步項(xiàng)目開開發(fā)計(jì)劃劃(人員,進(jìn)度)可行性研研究(2/2)階段性產(chǎn)產(chǎn)品可行性論論證報(bào)告告初步的項(xiàng)項(xiàng)目開發(fā)發(fā)計(jì)劃需求分析析(1/2)任務(wù)確定用戶對(duì)待待開發(fā)軟件系系統(tǒng)的需求包包括:功能性能運(yùn)行環(huán)境約束束重要性軟件開發(fā)依據(jù)據(jù),軟件驗(yàn)收收的標(biāo)準(zhǔn)困難性難以說(shuō)清,動(dòng)態(tài)變化,歧義,復(fù)雜需求分析(2/2)技術(shù)途徑和工工具需求分析人員員需與用戶不不斷、反復(fù)地地交流和商討討,使用戶需需求逐步準(zhǔn)確確化、一致化化、完全化抽象、問題分分解、快速原原型、多視點(diǎn)點(diǎn)等技術(shù)階段性產(chǎn)品軟件需求規(guī)格格說(shuō)明書SRS(功能,性能和和運(yùn)行環(huán)境約約束)概要設(shè)計(jì)任務(wù)根據(jù)SRS建立目標(biāo)軟件件系統(tǒng)總體結(jié)結(jié)構(gòu)、設(shè)計(jì)全全局?jǐn)?shù)據(jù)庫(kù)和和數(shù)據(jù)結(jié)構(gòu),,規(guī)定設(shè)計(jì)約約束,制定集集成測(cè)試計(jì)劃劃等等。技術(shù)途徑和工工具根據(jù)軟件需求求規(guī)格說(shuō)明書書,自頂向下,逐步求精,抽象,模塊化,局部化,信息息隱藏…...階段性產(chǎn)品概要設(shè)計(jì)規(guī)格格說(shuō)明書數(shù)據(jù)庫(kù)或數(shù)據(jù)據(jù)結(jié)構(gòu)設(shè)計(jì)說(shuō)明書集成測(cè)試計(jì)劃劃。詳細(xì)設(shè)計(jì)任務(wù)細(xì)化概要設(shè)計(jì)計(jì)所生成的各各個(gè)模塊,并詳細(xì)描述程程序模塊的內(nèi)內(nèi)部細(xì)節(jié)(算法,數(shù)據(jù)結(jié)結(jié)構(gòu)等),形成可編程程的程序模塊塊,制訂單元元測(cè)試計(jì)劃技術(shù)途徑根據(jù)SRS和概要設(shè)計(jì)結(jié)果果進(jìn)行,單入入口單出口,,PDL階段新產(chǎn)品詳細(xì)設(shè)計(jì)規(guī)格格說(shuō)明書單元測(cè)試計(jì)劃劃實(shí)現(xiàn)任務(wù)根據(jù)詳細(xì)設(shè)計(jì)計(jì)規(guī)格說(shuō)明書書編寫源程序序,并對(duì)程序序進(jìn)行調(diào)試和和單元測(cè)試,,驗(yàn)證程序與與詳細(xì)設(shè)計(jì)文文檔一致性性技術(shù)途徑和工工具以詳細(xì)設(shè)計(jì)規(guī)規(guī)格說(shuō)明書為為依據(jù)、基于于某種程序設(shè)設(shè)計(jì)語(yǔ)言進(jìn)行行編碼階段新產(chǎn)品源程序代碼集成測(cè)試任務(wù)根據(jù)概要設(shè)計(jì)計(jì)規(guī)格說(shuō)明書書,將經(jīng)過(guò)單單元測(cè)試的模模塊逐步進(jìn)行行集成和測(cè)試試技術(shù)途徑和工工具以概要設(shè)計(jì)規(guī)規(guī)格說(shuō)明書和和集成測(cè)試計(jì)計(jì)劃為依據(jù),,進(jìn)行集成模模塊并進(jìn)行測(cè)測(cè)試IDE,專有工具等階段性產(chǎn)品生成滿足概要要設(shè)計(jì)要求、、可運(yùn)行的系系統(tǒng)源程序和和系統(tǒng)集成測(cè)測(cè)試報(bào)告確認(rèn)測(cè)試任務(wù)根據(jù)軟件需求求規(guī)格說(shuō)明書書,測(cè)試軟件件系統(tǒng)是否滿滿足用戶的需需求途徑由用戶參與,,以軟件需求求規(guī)格說(shuō)明書書為依據(jù)進(jìn)行行確認(rèn)測(cè)試專有工具階段性產(chǎn)品可供用戶使用用的軟件產(chǎn)品品(文檔,源程序序)軟件維護(hù)任務(wù)對(duì)使用后的軟軟件進(jìn)行維護(hù)護(hù)例如:修正使用過(guò)程程中發(fā)現(xiàn)的錯(cuò)錯(cuò)誤-糾錯(cuò)性性維護(hù)增加新的功能能-完善性維維護(hù)從一個(gè)環(huán)境搬搬遷到另一個(gè)個(gè)環(huán)境-適應(yīng)應(yīng)性維護(hù)途徑以文檔和源程程序?yàn)榛A(chǔ)按按用戶要求進(jìn)進(jìn)行階段性產(chǎn)品版本更新的軟軟件產(chǎn)品軟件生命周期期(根據(jù)GB8566-2007《信息技術(shù)軟軟件生存周期期過(guò)程》)生存周期基本本過(guò)程生存周期支撐撐過(guò)程生存周期組織織過(guò)程軟件開發(fā)過(guò)程程模型軟件開發(fā)過(guò)程程軟件開發(fā)過(guò)程程模型瀑布模型快速原型模型型增量模型螺旋模型敏捷開發(fā)軟件開發(fā)過(guò)程程模型(1)瀑布模型可行性分析需求分析設(shè)計(jì)編碼測(cè)試維護(hù)規(guī)劃階段開發(fā)階段運(yùn)行階段用戶測(cè)試運(yùn)行原型
聽取用戶意見快速原型模型建造/修改原型特點(diǎn):不帶反反饋環(huán)分析增量模型設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試增量1增量2增量3增量n增量1交付客戶增量2交付客戶增量3交付客戶增量n交付客戶時(shí)間…..軟件開發(fā)過(guò)程程模型(2)軟件開發(fā)過(guò)程程模型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育財(cái)務(wù)培訓(xùn)審計(jì)
- 2026年現(xiàn)代企業(yè)管理案例分析題庫(kù)企業(yè)戰(zhàn)略與組織管理
- 2026年現(xiàn)代通信技術(shù)與網(wǎng)絡(luò)發(fā)展題庫(kù)
- 2026屆湖北省襄陽(yáng)市第四中學(xué)高三上學(xué)期晚自習(xí)測(cè)試(十九)歷史試題(含答案)
- 2026年市場(chǎng)營(yíng)銷專業(yè)研究生入學(xué)考試題庫(kù)及答案
- 2025年嘉興職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 城區(qū)生活垃圾處理專項(xiàng)施工方案
- 2025年平利縣幼兒園教師招教考試備考題庫(kù)及答案解析(必刷)
- 化工儲(chǔ)槽拆舊換新施工技術(shù)方案
- 2025年岳普湖縣幼兒園教師招教考試備考題庫(kù)帶答案解析
- 2026年齊齊哈爾高等師范??茖W(xué)校單招職業(yè)技能測(cè)試題庫(kù)必考題
- 輸變電工程安全教育課件
- 2025-2026學(xué)年北京市西城區(qū)初二(上期)期末考試物理試卷(含答案)
- 高層樓宇門窗安裝安全施工方案
- 河南省天一大聯(lián)考2024-2025學(xué)年高一化學(xué)上學(xué)期期末考試試題
- 高血壓病的中醫(yī)藥防治
- 產(chǎn)科品管圈成果匯報(bào)降低產(chǎn)后乳房脹痛發(fā)生率課件
- 綠植租賃合同
- 狼蒲松齡原文及翻譯
- 2023初會(huì)職稱《經(jīng)濟(jì)法基礎(chǔ)》習(xí)題庫(kù)及答案
- 比亞迪Forklift軟件使用方法
評(píng)論
0/150
提交評(píng)論