




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程計算機系陳晴q_chen05@163.com課件見網(wǎng)絡(luò)教學(xué)平臺世界上研究計算機第一人及第一位軟件工程師巴貝奇(CharlesBabbage,1792-1871)英國皇家學(xué)會會員、劍橋大學(xué)數(shù)學(xué)教授,19世紀(jì)60年代,最早提出“人類可以制作出通用的計算機,代替大腦計算復(fù)雜的數(shù)學(xué)問題”,構(gòu)想了“分析機”,但因無支持,未造完愛達(dá)夫人(AugustaAdaLovelace):英著名詩人拜論的女兒,幫助Babbage,建議用二進制代替原來的十進制,并提出編程要素,并為某些計算開發(fā)了一些指令1981美國防部花了10年研制出一種軍方標(biāo)準(zhǔn)語言,命名為Ada語言,并贊譽Ada夫人為“世界上第一位軟件工程師”引子-軟件無處不在銀行航空船舶汽車石油電力氣象電子商務(wù)電子政務(wù)遠(yuǎn)程教育引子-討論:Whatissoftwaredevelopment?Whatissoftware?引子-比喻:軟件開發(fā)vs.蓋樓軟件開發(fā)=編程序?蓋樓=壘磚?編程序vs壘磚編小程序=一間平房開發(fā)軟件=蓋樓圖紙,施工進度計劃,人員組織、管理、財政預(yù)算,質(zhì)量監(jiān)督,否則成了爛尾樓,豆腐渣,你敢住么?軟件維護=物業(yè)管理只有樓,沒有物業(yè),業(yè)主的水電管理呢?房子漏水呢?第一章概述(上)1.1計算機系統(tǒng)的開發(fā)過程1.2軟件危機1.3軟件工程學(xué)1.4軟件工程的發(fā)展歷史附A:中國軟件產(chǎn)業(yè)的機遇與挑戰(zhàn)附B:課程安排目錄1.1計算機系統(tǒng)的開發(fā)過程1.2軟件危機 1.2.1軟件危機起源 1.2.2軟件危機 1.2.3產(chǎn)生軟件危機的原因 1.2.4清除軟件危機的途徑1.3軟件工程 軟件工程的定義 軟件工程學(xué)1.4軟件工程的發(fā)展歷史附A:中國軟件產(chǎn)業(yè)的機遇與挑戰(zhàn)中國軟件產(chǎn)業(yè)現(xiàn)狀中國軟件業(yè)的問題它山之石附B:課程安排1.1計算機系統(tǒng)的開發(fā)過程概念制定系統(tǒng)目標(biāo)系統(tǒng)分析和定義Systemanalysisanddefinition硬件工程HardwareEngineering
軟件工程SoftwareEngineering硬件Hardware
軟件Software系統(tǒng)報廢Systemreject終止開發(fā)Stopdevelopment不值得Worthless值得Worthful描述正確Correct
初步可行性論證系統(tǒng)復(fù)審分配功能Distributefunction目錄不正確Error運行和維護Implementandrun硬件工程:計劃和規(guī)格說明設(shè)計和樣機實現(xiàn)生產(chǎn)、分配和現(xiàn)場服務(wù)1.2.1軟件危機起源個體化程序開發(fā)(個人藝術(shù)品)個人開發(fā)、使用,完全依靠個人才智軟件規(guī)模小,只有程序清單,無文檔~19601960~1970軟件車間軟件成為產(chǎn)品,數(shù)萬行,賣給成千用戶仍沿用早期個體化開發(fā)方法程序個體化特性使它們最終成為不可維護的。應(yīng)用的擴大:軟件需求量增加,規(guī)模增加軟件的復(fù)雜度增加,數(shù)萬行,數(shù)百萬行人員數(shù)量的增加,組織。協(xié)調(diào),通訊,管理項目超出預(yù)算,花費越來越多,完成超期面臨的問題軟件危機?。?!程序運行錯誤用戶新的需求硬件,OS的更新維護修改軟件危機-實例:IBM360操作系統(tǒng)教訓(xùn)巨大的人力物力1963~1966IBM公司開發(fā)的IBM360操作系統(tǒng)該項目耗費5000人年的工作量近一百萬行源程序最多同時1000人投入開發(fā)槽糕的結(jié)果:
這個操作系統(tǒng)的版本每次發(fā)行的新版本都要更正上個版本的1000個程序錯誤??!“正像一只逃亡的野獸落到泥潭中做垂死掙扎,越掙扎,陷的越深,最后無法逃脫滅頂災(zāi)難,…程序設(shè)計工作也正像這樣一個泥潭,…一批批程序員被迫在泥潭中拼命掙扎,…誰也沒有料到問題竟會陷入這樣的困境…”
目錄—《人月神話》,IBM360的負(fù)責(zé)人F.P.Brooks1972—《TheMythicalMan-Month》—《人月神話》,IBM360的負(fù)責(zé)人F.P.Brooks1972—《TheMythicalMan-Month》1.2.2軟件危機softwarecrisis軟件危機:是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。軟件危機涉及:如何開發(fā)軟件如何維護數(shù)量不斷膨脹的已有軟件軟件危機的主要表現(xiàn)開發(fā)進度拖后甚至按年計成本超出預(yù)算甚至一個數(shù)量級生產(chǎn)率極低軟件質(zhì)量低劣甚至不能使用難以維護難以管理目錄1.2.3產(chǎn)生軟件危機的原因客觀原因
——軟件本身的特點主觀原因
——軟件開發(fā)與維護的方法不正確(1)軟件本身的特點軟件不同于硬件,它是計算機系統(tǒng)中的邏輯部件產(chǎn)品開發(fā)和生產(chǎn)過程上的不同硬件設(shè)計與制造并重,制造需要質(zhì)量管理軟件重開發(fā),需要質(zhì)量管理,生產(chǎn)只是復(fù)制產(chǎn)品維護上不同
軟件不同于一般程序它的一個顯著特點是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。軟件規(guī)模類別
程序規(guī)模開發(fā)人數(shù)開發(fā)周期典型軟件
極小500行以下1 1~4周個人軟件或單個算法小1k~2k1 1~6月課程設(shè)計,小型商業(yè)程序中
5k~50k2~5 1~2年匯編,編譯程序,小型MIS,過程控制
大50k~100k5~20分組2~3年大型編譯程序,數(shù)據(jù)庫,圖形軟件實時控制系統(tǒng)
甚大1M(=1000k)100~10004~5年O.S.,window大型數(shù)據(jù)庫系統(tǒng)
Windows2000:3500萬行
WindowsVista:5000萬行極大1M~10M2000~50005~10年空中交通管制,軍事指揮,大型科學(xué)計算軟件的分類-按軟件的功能系統(tǒng)軟件O.S.數(shù)據(jù)庫管理系統(tǒng),設(shè)備驅(qū)動程序,通信處理程序等)支撐軟件文本編輯程序,文件格式化程序磁盤向磁帶向數(shù)據(jù)傳輸?shù)某绦?程序庫系統(tǒng)支持需求分析、設(shè)計、實現(xiàn)、測試和支持管理的軟件——CASE(ComputerAidedSoftwareEngineering計算機輔助軟件工程)應(yīng)用軟件事務(wù)軟件:MIS商業(yè)數(shù)據(jù)處理,醫(yī)療、制藥,辦公自動化工程與科學(xué)計算軟件:石油、天氣、地震、系統(tǒng)仿真軟件嵌入軟件:空調(diào)、洗衣機、手機實時軟件:工業(yè)控制,軍事,計算機輔助設(shè)計/制造軟件基于web的軟件:網(wǎng)絡(luò)教育、電子商務(wù)…其他:計算機輔助教學(xué)軟件(2)軟件開發(fā)與維護方法不正確軟件開發(fā)只是程序開發(fā)者的事情誤區(qū)1誤區(qū)2軟件開發(fā)=寫程序誤區(qū)3開發(fā)是費時費力的,維護不算什么軟件危機的原因——開發(fā)方法角度軟件開發(fā)無計劃性(成本和進度估計不足)軟件需求不充分(用戶,開發(fā)人員)例子軟件開發(fā)過程沒有統(tǒng)一、公認(rèn)的規(guī)范軟件產(chǎn)品測試階段檢測不充分缺乏有效的大型軟件項目管理輕視軟件維護附錄:需求開發(fā)的主要困難附1.硬件、軟件成本變化趨勢維護費用占全部硬件和軟件費用的40%~75%硬件軟件開發(fā)軟件維護成本%附2.不同時期軟件維護的代價引入同一變動付出的代價隨時間變化的趨勢
早中后高中低代價變化出現(xiàn)的時期
例:改正一個問題需付出的代價需求分析結(jié)構(gòu)設(shè)計詳細(xì)設(shè)計編碼集成測試系統(tǒng)測試現(xiàn)場改正一個問題的估計費用改正一個問題估計的工作量20200200010005.02.50.050.5(美元)(人天)“阿麗亞娜5型”火箭發(fā)射失敗
1996年,由歐洲航天局發(fā)射40秒后爆炸,發(fā)射場2名法國士兵當(dāng)場死亡,耗資10億美元,歷時9年的航天計劃受挫
事故原因:慣性導(dǎo)航系統(tǒng)軟件中技術(shù)要求和設(shè)計錯誤20世紀(jì)末的千年蟲問題:
千年蟲如同一個定時炸彈一樣,十幾年前就有人提出了預(yù)警,但是無人注意。直到日期到來的前兩年,才引起恐慌軟件危機所造成的巨大損失危機屬于過去么?軟件危機與我們的軟件發(fā)展相伴…2011年3月1日,澳大利亞澳洲聯(lián)邦銀行電腦系統(tǒng)出現(xiàn)故障引來人們排隊超額取錢顧客可以從數(shù)十臺自動柜員機里取出超過賬戶余額的鈔票。這種混亂局面大約持續(xù)了8小時。銀行方面解釋說,他們在做正常的數(shù)據(jù)庫維護時遇到技術(shù)故障,為讓顧客在故障得到修復(fù)前能夠繼續(xù)使用柜員機,他們沒有關(guān)閉整個網(wǎng)絡(luò),而是選擇了讓柜員機處于離線模式。這使得柜員機無法在顧客輸入超出賬戶額度的提現(xiàn)金額時自動“屏蔽”這一指令。鐵道部購票網(wǎng)站12306的崩潰2012年春運,已經(jīng)運行了半年之久的鐵道部購票網(wǎng)站12306出現(xiàn)崩潰數(shù)百萬的點擊率,網(wǎng)頁打不開,無法登陸吞錢不吐票原因:沒有經(jīng)過性能測試就敢投入使用春運期間12306占到全世界0.9%的互聯(lián)網(wǎng)訪問量,這樣全世界罕有的極限負(fù)荷沒有經(jīng)過測試網(wǎng)站的軟件架構(gòu)問題負(fù)載平衡、頁面使用過多的動畫耗費時間、事務(wù)管理…2011年用戶“密碼泄密門事件2011年12月,CSDN的安全系統(tǒng)遭到黑客攻擊,600萬用戶的登錄名、密碼及郵箱遭到泄漏。經(jīng)排查,金山毒霸員工疑為隱私泄露源頭,金山深陷“泄密門”。隨后,CSDN“密碼外泄門”持續(xù)發(fā)酵,天涯、世紀(jì)佳緣等網(wǎng)站相繼被曝用戶數(shù)據(jù)遭泄密。天涯網(wǎng)于12月25日發(fā)布致歉信,稱天涯4000萬用戶隱私遭到黑客泄露。
原因:2009年前的用戶密碼是明文保存的人們對軟件質(zhì)量評價不高用戶對軟件工程項目的評價目錄1.2.4清除軟件危機的途徑(1)正確認(rèn)識計算機軟件
軟件=程序+數(shù)據(jù)+文檔程序:能完成預(yù)定功能和性能的可執(zhí)行指令序列;數(shù)據(jù):使程序能適當(dāng)?shù)靥幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔:開發(fā)、使用和維護程序所需要的圖文材料。(2)軟件工程把軟件當(dāng)成一種工業(yè)產(chǎn)品,“采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護”目錄文檔:開發(fā)進度月報項目開發(fā)總結(jié)報告軟件需求分析軟件設(shè)計文檔軟件測試計劃測試分析報告用戶手冊操作手冊維護報告用戶維護人員管理人員開發(fā)人員軟件需求分析軟件設(shè)計文檔軟件需求分析軟件測試計劃軟件設(shè)計文檔軟件需求分析測試分析報告軟件測試計劃軟件設(shè)計文檔軟件需求分析項目開發(fā)計劃可行性研究報告軟件設(shè)計文檔軟件需求分析軟件測試計劃軟件設(shè)計文檔軟件需求分析測試分析報告軟件測試計劃軟件設(shè)計文檔軟件需求分析返回面向管理者的文檔面向開發(fā)者的文檔面向維護者的文檔面向用戶的文檔目錄1.3軟件工程(SoftwareEngineering)“軟件工程”一詞,是1968年北大西洋公約組織(NATO)在聯(lián)邦德國召開的國際會議上提出的。是軟件人員謀求解決“軟件危機”的一種努力1.3.1軟件工程的定義解釋:軟件工程:是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。1.3.2軟件工程學(xué)軟件工程學(xué)軟件工程方法學(xué)軟件工程管理軟件開發(fā)方法Methods軟件工具&軟件工程環(huán)境Tools&Environment軟件過程process軟件管理學(xué)SoftwareManagement軟件經(jīng)濟學(xué)SoftwareEconomics軟件度量學(xué)SoftwareMetrics詳解目錄軟件工程三個要素:方法、工具、過程
SoftwareEngineeringLayers過程是將方法和工具粘結(jié)在一起的粘結(jié)劑(glue)(包括方法使用的順序,要求交付的文檔資料,為保證質(zhì)量和適應(yīng)變化所需要的管理,軟件開發(fā)各階段完成的里程碑工具Tools方法Methods過程process質(zhì)量焦點Aqualityfocus規(guī)定了為獲得高質(zhì)量軟件而需要完成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村土地買賣合同范本
- 農(nóng)村建筑施工合同范本
- 買賣冬蟲夏草合同范本
- 勘界測繪合同范例
- 再婚買房合同范本
- 個體簡易合同范本
- 包工安裝護欄合同范本
- 單位銷售崗位勞動合同范本
- 俱樂部裝修合同范本
- 養(yǎng)殖合作建設(shè)合同范本
- 咖啡與茶文化培訓(xùn)1
- 一+《展示國家工程++了解工匠貢獻(xiàn)》(教學(xué)課件)-【中職專用】高二語文精講課堂(高教版2023·職業(yè)模塊)
- DIY服裝營銷計劃書
- 全國教育科學(xué)規(guī)劃課題申報書:71.《教師在教育數(shù)字化轉(zhuǎn)型中的作用及其實現(xiàn)路徑研究》
- 非標(biāo)設(shè)備合同范本
- 訂單采購模板
- 輸電線路組成(金具、絕緣)
- 瀝青混凝土拌合站吊裝計算書
- 安全生產(chǎn)規(guī)章制度和崗位操作規(guī)程的目錄清單及內(nèi)容(無倉儲經(jīng)營單位)
- 餐飲合伙聯(lián)營協(xié)議書范本
- 奶牛外貌線性評定方法與標(biāo)準(zhǔn)課件
評論
0/150
提交評論