版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程(SoftwareEngineering)朱芳軟件工程(SoftwareEngineering)朱課程介紹及要求用工程化的方法來開發(fā)軟件課程介紹及要求用工程化的方法來開發(fā)軟件教學(xué)目標(biāo)為什么要學(xué)習(xí)這門課程有助于正確理解和認(rèn)識“軟件”的概念及其特點理解軟件開發(fā)面臨的問題和挑戰(zhàn)掌握軟件工程的原則、方法和思想來系統(tǒng)地開發(fā)軟件,尤其是復(fù)雜、龐大的軟件的開發(fā)了解和接觸軟件開發(fā)所需的各種技術(shù)手段理解、掌握和運用教學(xué)目標(biāo)為什么要學(xué)習(xí)這門課程課程介紹和要求什么是軟件工程為什么需要軟件工程(產(chǎn)生背景)軟件工程需要解決那些問題軟件工程涉及那些方面內(nèi)容理解課程介紹和要求什么是軟件工程理解課程介紹和要求軟件工程概念技術(shù)過程手段工具掌握運用運用工程化思想進行軟件開發(fā)需求分析軟件設(shè)計程序設(shè)計軟件維護課程介紹和要求軟件工程掌握運用運用工程化思想進行軟件開發(fā)課程介紹和要求內(nèi)容組織先導(dǎo)要求程序設(shè)計語言最好有一定的軟件開發(fā)經(jīng)驗課程介紹和要求內(nèi)容組織先導(dǎo)要求程序設(shè)計語言課程介紹和要求學(xué)習(xí)要求聽理解知識點和思想無需死記硬背做實踐體會軟件工程的原則、方法和技術(shù),在實踐中提高培養(yǎng)抽象思維能力培養(yǎng)獨立解決問題的能力培養(yǎng)合作精神想閱讀相關(guān)資料課程介紹和要求學(xué)習(xí)要求聽課程介紹和要求8考核方式平時+實驗(40%)期末考試(60%)課程介紹和要求8考核方式平時+實驗(40%)課程介紹和要求9課程實習(xí)要求(1/2)內(nèi)容選擇一個項目開發(fā)課題,用軟件工程的思想知道其開發(fā)過程。完成需求分析,詳細(xì)設(shè)計,測試,項目匯報。時間待定分組以小組為單位,6—8人一組為宜課程介紹和要求9課程實習(xí)要求(1/2)內(nèi)容課程介紹和要求10課程實習(xí)要求(2/2)提交內(nèi)容電子文檔評價方法按階段遞交和打分文檔:完整性、合理性、規(guī)范性注意:嚴(yán)格按照要求執(zhí)行課程介紹和要求10課程實習(xí)要求(2/2)提交內(nèi)容軟件工程中典型案例-宇航在“勇氣”號從地球飛往火星的半年多時間內(nèi),其存儲器里積聚了大量的數(shù)據(jù)文件,超過了存儲器的負(fù)荷。這導(dǎo)致“勇氣”號從1月21日開始癱瘓在火星上,無法向地球傳送數(shù)據(jù)??茖W(xué)家雖然通過刪除存儲器內(nèi)的部分?jǐn)?shù)據(jù)使“勇氣”號于2月1日恢復(fù)工作,但專家仍然希望通過格式化存儲器來徹底消除隱患。軟件工程中典型案例-宇航在“勇氣”號從地球飛往火星的半年多時宇航1963年美國飛往火星的火箭爆炸,造成1000萬美元的損失。原因是FORTRAN程序:DO5I=1,3誤寫為:DO5I=1.31999年9月到達火星的“火星氣候軌道器”——后來成了一個著名的笑話。工程師在計算軌道器推力的時候,混用了公制和英制的單位,從而導(dǎo)致了它的墜毀。宇航1963年美國飛往火星的火箭爆炸,造成1000萬美元的損電子商務(wù)2007-10-30日由于官方票務(wù)網(wǎng)站流量曾瞬時達到每小時800萬次,超過了系統(tǒng)設(shè)計的每小時100萬次的承受量。啟動后第一小時從各售價渠道瞬時提交到票務(wù)系統(tǒng)的門票達到20萬張,也超過了系統(tǒng)設(shè)計的每小時銷售15萬張的票務(wù)處理能力。北京奧組委不得不作出停止售票的決定。從初步的情況分析,并不是帶寬的問題,主要還是系統(tǒng)后臺的數(shù)據(jù)庫的處理能力,在設(shè)計、規(guī)劃方面,還有待改進。電子商務(wù)2007-10-30日由于官方票務(wù)網(wǎng)站流量曾瞬時達到金融2006年05月日本最大美資銀行花旗銀行出現(xiàn)重大交易系統(tǒng)故障,約27.5萬宗公用事業(yè)款項的交易遭重復(fù)扣數(shù),或在完成交易后未有更新月結(jié)紀(jì)錄。金融2006年05月日本最大美資銀行花旗銀行出現(xiàn)重大交易系統(tǒng)軍事海灣戰(zhàn)爭中美軍使用的“愛國者”導(dǎo)彈由于未能攔截的“飛毛腿”導(dǎo)彈命中一個美軍陣地,28名美國士兵全部喪生。事后分析問題與“愛國者”的內(nèi)置時鐘有關(guān),它用以預(yù)測下一枚飛毛腿”何時出現(xiàn)。“愛國者”控制程序中使用的寄存器只有24個字節(jié)的長度,精確度因此受到影響,系統(tǒng)運行的時間越長,累積誤差也越大。海灣戰(zhàn)爭中,這些系統(tǒng)的運行時間達到100小時,產(chǎn)生了678米的范圍差。軍事海灣戰(zhàn)爭中美軍使用的“愛國者”導(dǎo)彈由于未能攔截的“飛毛腿醫(yī)療最廣為人知的是加拿大原子能公司制造的Therac-25線性加速放射器致人死亡事件。該機器由計算機控制,耗資百萬元以上,由于5次連續(xù)性的錯誤造成放射過量,5位病人死亡,2人重傷。死亡病人接受了超過正常劑量100倍以上的放射。醫(yī)療最廣為人知的是加拿大原子能公司制造的Therac-25線你自己親身經(jīng)歷的?你自己親身經(jīng)歷的?第1章:軟件工程學(xué)概述1.1軟件危機
60年代中期以前:通用硬件相當(dāng)普遍,軟件卻是為某個具體的應(yīng)用而編寫的。
60年代中到70年代中:軟件作坊。第1章:軟件工程學(xué)概述1.1軟件危機
軟件危機:計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。(正常、不正常運行軟件都具有這種問題)1.1.1軟件危機的介紹軟件危機:計算機軟件的開發(fā)和維護過程中所遇到的一系列1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;2)用戶對完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;3)軟件產(chǎn)品的質(zhì)量往往靠不??;4)軟件常常是不可維護的;5)軟件通常沒有適當(dāng)?shù)奈臋n資料;軟件危機的典型表現(xiàn):1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;軟件危機的典型表6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;7)軟件開發(fā)生產(chǎn)率提高的速度跟不上計算機應(yīng)用的發(fā)展趨勢。軟件危機的典型表現(xiàn):6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;軟件危機1.1.2產(chǎn)生軟件危機的原因1)軟件本身特點造成;2)軟件開發(fā)與維護的方法不正確。主要表現(xiàn):(a)忽視軟件需求分析;(b)認(rèn)為軟件開發(fā)就是寫程序并使之運行;(c)輕視軟件維護;1.1.2產(chǎn)生軟件危機的原因1)軟件本身特點造成;主要表
在軟件開發(fā)的不同階段進行修改需要付出的代價很不相同:高中低早期中期后期軟件開發(fā)時期代價圖1.1引入同一修改的代價隨時間變化的趨勢在軟件開發(fā)的不同階段進行修改需要付出的代價很不相同:1)推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法,并研究探索更有效的技術(shù)和方法;2)開發(fā)和使用更好的軟件工具;3)良好的組織管理措施。
1.1.3解決軟件危機的途徑1)推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法,并研
為了解決軟件危機產(chǎn)生的問題,軟件工程與方法學(xué)逐漸形成,然后出現(xiàn)了兩個相互相承又各有側(cè)重的學(xué)科:1)軟件工程學(xué):主要應(yīng)用工程的方法和技術(shù)研究軟件開發(fā)與維護的方法、工具和管理的一門交叉學(xué)科。2)程序設(shè)計方法學(xué):主要應(yīng)用數(shù)學(xué)的方法研究程序的性質(zhì)以及程序設(shè)計的理論和方法的學(xué)科。
為了解決軟件危機產(chǎn)生的問題,軟件工程與方法學(xué)逐漸形成1.2軟件工程1.2.1軟件工程的介紹1968年NATO會議:軟件工程就是為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。1993年IEEE:軟件工程是(1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護過程;(2)研究(1)中提到的途徑。1.2軟件工程1.2.1軟件工程的介紹1968年NAT
1.軟件工程關(guān)注于大型程序的構(gòu)造;
2.軟件工程的中心課題是控制復(fù)雜性;
3.軟件經(jīng)常變化;
4.開發(fā)軟件的效率非常重要;
5.和諧地合作是軟件開發(fā)的關(guān)鍵;
6.軟件必須有效地支持它的用戶;
7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造;軟件工程的本質(zhì)特性:1.2.2軟件工程的基本原理1.用分階段的生命周期計劃嚴(yán)格管理;2.堅持進行階段評審;3.實行嚴(yán)格的產(chǎn)品控制;4.采用現(xiàn)代程序設(shè)計技術(shù);5.結(jié)果能清楚地審查;6.開發(fā)小組的人員應(yīng)該少而精;7.承認(rèn)不斷改進軟件工程實踐的必要性。1.2.2軟件工程的基本原理1.用分階段的生命周期計劃嚴(yán)1.2.3軟件工程方法學(xué)通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(Methodology),也稱為范型(Paradigm)。軟件工程方法學(xué)的3要素:方法、工具和過程1.2.3軟件工程方法學(xué)1.傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。結(jié)構(gòu)化方法(StructureMethod)有:
1)結(jié)構(gòu)化設(shè)計方法(SD);2)結(jié)構(gòu)化分析方法(SA);
3)結(jié)構(gòu)化分析與設(shè)計技術(shù)(SADT)4)JACKSON方法5)WARNIER方法1.傳統(tǒng)方法學(xué)2.面向?qū)ο蠓椒▽W(xué)
把數(shù)據(jù)和對數(shù)據(jù)的操作緊密結(jié)合起來的方法,模擬人類認(rèn)識世界解決問題的方法和過程。
面向?qū)ο蟮姆椒?對象(屬性與服務(wù)的封裝)+分類+繼承+通過消息的通訊2.面向?qū)ο蠓椒▽W(xué)1)適用于實時事物處理系統(tǒng)的有限狀態(tài)機方法(FSM);2)適用于并發(fā)軟件系統(tǒng)的PETRI網(wǎng)方法;3)以數(shù)學(xué)概念和理論為基礎(chǔ)的形式化方法,如
SDC公司的形式化開發(fā)方法FDM:(FormalDevelopmentMethodology)IBM公司的維也納開發(fā)方法VDM:
(ViennaDevelopmentMethod)
3.其他開發(fā)方法
1)適用于實時事物處理系統(tǒng)的有限狀態(tài)機方法3.其他開發(fā)方1.3軟件生命周期軟件生命周期:指軟件從提出到最終被淘汰的這個存在期。1.3軟件生命周期軟件生命周期:軟件生命周期組成:
1)軟件定義;
A.問題定義B.可行性研究C.需求分析
2)軟件開發(fā);
D.總體設(shè)計E.詳細(xì)設(shè)計
F.編碼和單元測試G.綜合測試
3)運行維護;軟件生命周期組成:1.問題定義;2.可行性研究;3.需求分析;4.總體設(shè)計(概要設(shè)計);5.詳細(xì)設(shè)計;6.編碼與單元測試;7.綜合測試;8.維護。軟件生命周期各個階段:1.問題定義;軟件生命周期各個階段:1.4軟件過程軟件過程:為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。軟件過程(ISO9000):使用資源將輸入轉(zhuǎn)化為輸出的活動所構(gòu)成的系統(tǒng)。輸入:如軟件需求輸出:如軟件產(chǎn)品1.4軟件過程軟件過程:為了獲得高質(zhì)量軟件所需要完成的一1.4.1瀑布模型1.階段間具有順序性和依賴性2.推遲實現(xiàn)的觀點3.質(zhì)量保證的觀點1.4.1瀑布模型1.階段間具有順序性和依賴性1.4.1瀑布模型傳統(tǒng)瀑布模型的特點提供了軟件過程模型的基本框架(模板)。強調(diào)了每一階段活動的嚴(yán)格順序。質(zhì)量保證觀點:以經(jīng)過評審確認(rèn)了的階段工作產(chǎn)品(文檔)驅(qū)動下一階段的工作,便于管理。是一種整體開發(fā)模型,程序的物理實現(xiàn)集中在開發(fā)階段的后期,用戶在最后才能看到自己的產(chǎn)品。傳統(tǒng)瀑布模型存在什么問題?1.4.1瀑布模型傳統(tǒng)瀑布模型的特點優(yōu)點:采用規(guī)范的方法;嚴(yán)格規(guī)定每個階段提交的文檔;要求每個階段交出的產(chǎn)品必須經(jīng)過驗證。優(yōu)點:采用規(guī)范的方法;嚴(yán)格規(guī)定每個階段提交的文檔;要求每個階1.4.1瀑布模型瀑布模型適合于用戶需求明確、完整、無重大變化的軟件項目開發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動的模型?!捌俨寄P褪怯晌臋n驅(qū)動的”這個事實也是它的一個主要缺點。
實際項目很少按照該模型給出的順序進行;用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成。
瀑布模型的優(yōu)缺點1.4.1瀑布模型瀑布模型適合于用戶需求明確、完整、無重大1.4.2快速原型模型(RapidPrototypeModel)在用戶不能給出完整、準(zhǔn)確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調(diào)整原型,使其滿足用戶的要求,也使開發(fā)者對將要做的事情有更好的理解。建造/修改原型
聽取用戶意見用戶測試運行原型原型實現(xiàn)范型1.4.2快速原型模型(RapidPrototypeM1.4.2快速原型模型優(yōu)點:不帶反饋環(huán),基本上是線性順序進行。1.4.2快速原型模型1.4軟件過程模型原型模型存在的問題
⑴為了使原型盡快的工作,沒有考慮軟件的總體質(zhì)量和長期的可維護性。
⑵為了演示,可能采用不合適的操作系統(tǒng)、編程語言、效率低的算法,這些不理想的選擇成了系統(tǒng)的組成部分。
⑶開發(fā)過程不便于管理。有效的使用原型模式建造原型僅是為了定義需求,之后就被拋棄(或被部分拋棄),實際的軟件在充分考慮了質(zhì)量和可維護性之后才被開發(fā)。1.4軟件過程模型原型模型存在的問題1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證維護過程開發(fā)過程1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試1.4軟件過程模型(3)增量模型(IncrementalModel)是一種漸進地開發(fā)逐步完善的軟件版本的模型。需求分析驗證規(guī)格說明驗證設(shè)計驗證維護針對每個構(gòu)件完成詳細(xì)設(shè)計、編碼和集成,經(jīng)測試后交付給用戶1.4軟件過程模型(3)增量模型(Incremental1.4軟件過程模型分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼編碼編碼測試測試測試測試增量1增量2增量3增量4交付交付交付交付●●●●●
?
反復(fù)的應(yīng)用瀑布模型的基本成分和原型模型的迭代特征,每一個線型過程產(chǎn)生一個“增量”的發(fā)布或提交,該增量均是一個可運行的產(chǎn)品。
?
早期的版本實現(xiàn)用戶的基本需求,并提供給用戶評估的平臺。增量模型1.4軟件過程模型分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼1.4軟件過程模型在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個構(gòu)件交付之日起,用戶就能做一些有用的工作。整個軟件產(chǎn)品被分解成許多個增量構(gòu)件,開發(fā)人員可以一個構(gòu)件一個構(gòu)件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計,但在設(shè)計階段多付出的勞動將在維護階段獲得回報。增量模型的優(yōu)點1.4軟件過程模型在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)1.4軟件過程模型增量模型的困難在把每個新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便,也就是說,軟件體系結(jié)構(gòu)必須是開放的。開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構(gòu)件,相互矛盾。多個構(gòu)件并行開發(fā),具有無法集成的風(fēng)險。1.4軟件過程模型增量模型的困難在把每個新的增量構(gòu)件集成到1.4軟件過程模型(4)螺旋模型(SpiralModel)
軟件風(fēng)險是任何軟件開發(fā)項目中都普遍存在的實際問題,項目越大,軟件越復(fù)雜,承擔(dān)該項目所冒的風(fēng)險也越大。
對于復(fù)雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來,加入了風(fēng)險分析。在該模型中,軟件開發(fā)是一系列的增量發(fā)布,早期的迭代中,發(fā)布的增量可能是一個紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型的基本思想是降低風(fēng)險。1.4軟件過程模型(4)螺旋模型(SpiralMode1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析可看作在每個階段之前都增加了風(fēng)險分析過程的快速原型模型。簡化的螺旋模型1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試1.4軟件過程模型完整的螺旋模型1.4軟件過程模型完整的螺旋模型
螺旋模型風(fēng)險分析工程實施用戶通信用戶評估產(chǎn)品維護項目產(chǎn)品增強項目新產(chǎn)品開發(fā)項目概念開發(fā)項目計劃建造及發(fā)布螺旋模型風(fēng)險工程用戶通信用戶產(chǎn)品維護項目產(chǎn)品增強項目新產(chǎn)品1.4軟件過程模型螺旋模型的優(yōu)點對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標(biāo)減少了過多測試或測試不足維護和開發(fā)之間并沒有本質(zhì)區(qū)別螺旋模型的特點風(fēng)險驅(qū)動,需要相當(dāng)豐富的風(fēng)險評估經(jīng)驗和專門知識,否則風(fēng)險更大主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項目,隨著過程的進展演化,開發(fā)者和用戶能夠更好的識別和對待每一個演化級別上的風(fēng)險隨著迭代次數(shù)的增加,工作量加大,軟件開發(fā)成本增加1.4軟件過程模型螺旋模型的優(yōu)點1.4軟件過程模型(5)面向?qū)ο竽P蛧娙P?FountainModel)分析設(shè)計實現(xiàn)測試集成演化特點:主要用于支持面向?qū)ο箝_發(fā)過程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無間隙的特征1.4軟件過程模型(5)面向?qū)ο竽P蛧娙P?Founta1.4.6Rational統(tǒng)一過程1.RUP軟件開發(fā)經(jīng)驗(1)迭代式開發(fā)(2)管理需求(3)使用基于構(gòu)件的體系結(jié)構(gòu)(4)可視化建模(5)貫穿于開發(fā)過程的軟件質(zhì)量驗證(6)控制軟件變更1.4.6Rational統(tǒng)一過程1.RUP軟件開發(fā)經(jīng)圖1.10RUP軟件開發(fā)生命周期圖1.10RUP軟件開發(fā)生命周期1.4.7敏捷過程與極限編程1.敏捷過程具有高效、快速響應(yīng)變化的開發(fā)過程。(1)個體和交互勝過過程和工具;(2)可以工作的軟件勝過面面俱到的文檔;(3)客戶合作勝過合同談判;(4)響應(yīng)變化勝過遵循計劃。2.極限編程敏捷過程中最著名的一種,指把好的開發(fā)實踐運用到極致,多應(yīng)用于軟件需求模糊的場合。1.4.7敏捷過程與極限編程1.敏捷過程敏捷(靈活)過程與極限編程
極限編程是敏捷過程中最有名的一個,適于小型項目.極限編程(XP,eXtremeProgramming)對于傳統(tǒng)的軟件工程中看來是“極端的”實踐.圖1.11XP項目的整體開發(fā)過程敏捷(靈活)過程與極限編程
極限編程是敏捷過程中最有名的一個圖1.12XP迭代開發(fā)過程XPvaluesCommunicationSimplicityFeedbackCourageRespect圖1.12XP迭代開發(fā)過程XPvalues1.4.8微軟過程1.微軟過程準(zhǔn)則2.微軟軟件生命周期(1)規(guī)劃階段(2)設(shè)計階段(3)開發(fā)階段(4)穩(wěn)定階段(5)發(fā)布階段3.微軟過程模型1.4.8微軟過程1.微軟過程準(zhǔn)則1.4.8微軟過程
圖1.13微軟軟件生命周期階段劃分和主要里程碑1.4.8微軟過程
圖1.13微軟軟件生命周期階段劃分和主要圖1.14微軟過程的生命周期模型圖1.14微軟過程的生命周期模型
問題定義就是要確定為用戶建立什么樣的軟件系統(tǒng),軟件叫什么樣的名稱等等?!皢栴}”是指軟件最基本的問題,如:
軟件的總體目標(biāo)什么?
有什么用途?
為哪些用戶設(shè)計?
1.5問題定義階段問題定義就是要確定為用戶建立什么樣的軟件系統(tǒng),軟件叫問題定義報告的內(nèi)容包括:
1)軟件項目標(biāo)題;
2)軟件目標(biāo);
3)軟件用戶對象;
4)軟件規(guī)模。問題定義報告的內(nèi)容包括:
問題定義是軟件生命周期中時間最短的階段,一般都比較簡單,因此在實際開發(fā)中它是最容易被忽視的一個階段。這一階段工作主要由系統(tǒng)分析員來完成,系統(tǒng)分析員要盡可能從較高的角度概括軟件所要做的工作,而不用寫明問題的實現(xiàn)細(xì)節(jié)。
問題定義是軟件生命周期中時間最短的階段,一般都比較簡1.5小結(jié)軟件=程序+數(shù)據(jù)+文檔軟件危機:原因,現(xiàn)象,辦法
(軟件工程學(xué))軟件工程(學(xué)):開發(fā)、運行和維護軟件的系統(tǒng)方法軟件工程3個要素:方法、工具和過程。軟件生命周期:定義,開發(fā),運行維護軟件過程:瀑布模型+RUP1.5小結(jié)軟件=程序+數(shù)據(jù)+文檔本章內(nèi)容結(jié)束本章內(nèi)容結(jié)束軟件工程(SoftwareEngineering)朱芳軟件工程(SoftwareEngineering)朱課程介紹及要求用工程化的方法來開發(fā)軟件課程介紹及要求用工程化的方法來開發(fā)軟件教學(xué)目標(biāo)為什么要學(xué)習(xí)這門課程有助于正確理解和認(rèn)識“軟件”的概念及其特點理解軟件開發(fā)面臨的問題和挑戰(zhàn)掌握軟件工程的原則、方法和思想來系統(tǒng)地開發(fā)軟件,尤其是復(fù)雜、龐大的軟件的開發(fā)了解和接觸軟件開發(fā)所需的各種技術(shù)手段理解、掌握和運用教學(xué)目標(biāo)為什么要學(xué)習(xí)這門課程課程介紹和要求什么是軟件工程為什么需要軟件工程(產(chǎn)生背景)軟件工程需要解決那些問題軟件工程涉及那些方面內(nèi)容理解課程介紹和要求什么是軟件工程理解課程介紹和要求軟件工程概念技術(shù)過程手段工具掌握運用運用工程化思想進行軟件開發(fā)需求分析軟件設(shè)計程序設(shè)計軟件維護課程介紹和要求軟件工程掌握運用運用工程化思想進行軟件開發(fā)課程介紹和要求內(nèi)容組織先導(dǎo)要求程序設(shè)計語言最好有一定的軟件開發(fā)經(jīng)驗課程介紹和要求內(nèi)容組織先導(dǎo)要求程序設(shè)計語言課程介紹和要求學(xué)習(xí)要求聽理解知識點和思想無需死記硬背做實踐體會軟件工程的原則、方法和技術(shù),在實踐中提高培養(yǎng)抽象思維能力培養(yǎng)獨立解決問題的能力培養(yǎng)合作精神想閱讀相關(guān)資料課程介紹和要求學(xué)習(xí)要求聽課程介紹和要求75考核方式平時+實驗(40%)期末考試(60%)課程介紹和要求8考核方式平時+實驗(40%)課程介紹和要求76課程實習(xí)要求(1/2)內(nèi)容選擇一個項目開發(fā)課題,用軟件工程的思想知道其開發(fā)過程。完成需求分析,詳細(xì)設(shè)計,測試,項目匯報。時間待定分組以小組為單位,6—8人一組為宜課程介紹和要求9課程實習(xí)要求(1/2)內(nèi)容課程介紹和要求77課程實習(xí)要求(2/2)提交內(nèi)容電子文檔評價方法按階段遞交和打分文檔:完整性、合理性、規(guī)范性注意:嚴(yán)格按照要求執(zhí)行課程介紹和要求10課程實習(xí)要求(2/2)提交內(nèi)容軟件工程中典型案例-宇航在“勇氣”號從地球飛往火星的半年多時間內(nèi),其存儲器里積聚了大量的數(shù)據(jù)文件,超過了存儲器的負(fù)荷。這導(dǎo)致“勇氣”號從1月21日開始癱瘓在火星上,無法向地球傳送數(shù)據(jù)??茖W(xué)家雖然通過刪除存儲器內(nèi)的部分?jǐn)?shù)據(jù)使“勇氣”號于2月1日恢復(fù)工作,但專家仍然希望通過格式化存儲器來徹底消除隱患。軟件工程中典型案例-宇航在“勇氣”號從地球飛往火星的半年多時宇航1963年美國飛往火星的火箭爆炸,造成1000萬美元的損失。原因是FORTRAN程序:DO5I=1,3誤寫為:DO5I=1.31999年9月到達火星的“火星氣候軌道器”——后來成了一個著名的笑話。工程師在計算軌道器推力的時候,混用了公制和英制的單位,從而導(dǎo)致了它的墜毀。宇航1963年美國飛往火星的火箭爆炸,造成1000萬美元的損電子商務(wù)2007-10-30日由于官方票務(wù)網(wǎng)站流量曾瞬時達到每小時800萬次,超過了系統(tǒng)設(shè)計的每小時100萬次的承受量。啟動后第一小時從各售價渠道瞬時提交到票務(wù)系統(tǒng)的門票達到20萬張,也超過了系統(tǒng)設(shè)計的每小時銷售15萬張的票務(wù)處理能力。北京奧組委不得不作出停止售票的決定。從初步的情況分析,并不是帶寬的問題,主要還是系統(tǒng)后臺的數(shù)據(jù)庫的處理能力,在設(shè)計、規(guī)劃方面,還有待改進。電子商務(wù)2007-10-30日由于官方票務(wù)網(wǎng)站流量曾瞬時達到金融2006年05月日本最大美資銀行花旗銀行出現(xiàn)重大交易系統(tǒng)故障,約27.5萬宗公用事業(yè)款項的交易遭重復(fù)扣數(shù),或在完成交易后未有更新月結(jié)紀(jì)錄。金融2006年05月日本最大美資銀行花旗銀行出現(xiàn)重大交易系統(tǒng)軍事海灣戰(zhàn)爭中美軍使用的“愛國者”導(dǎo)彈由于未能攔截的“飛毛腿”導(dǎo)彈命中一個美軍陣地,28名美國士兵全部喪生。事后分析問題與“愛國者”的內(nèi)置時鐘有關(guān),它用以預(yù)測下一枚飛毛腿”何時出現(xiàn)?!皭蹏摺笨刂瞥绦蛑惺褂玫募拇嫫髦挥?4個字節(jié)的長度,精確度因此受到影響,系統(tǒng)運行的時間越長,累積誤差也越大。海灣戰(zhàn)爭中,這些系統(tǒng)的運行時間達到100小時,產(chǎn)生了678米的范圍差。軍事海灣戰(zhàn)爭中美軍使用的“愛國者”導(dǎo)彈由于未能攔截的“飛毛腿醫(yī)療最廣為人知的是加拿大原子能公司制造的Therac-25線性加速放射器致人死亡事件。該機器由計算機控制,耗資百萬元以上,由于5次連續(xù)性的錯誤造成放射過量,5位病人死亡,2人重傷。死亡病人接受了超過正常劑量100倍以上的放射。醫(yī)療最廣為人知的是加拿大原子能公司制造的Therac-25線你自己親身經(jīng)歷的?你自己親身經(jīng)歷的?第1章:軟件工程學(xué)概述1.1軟件危機
60年代中期以前:通用硬件相當(dāng)普遍,軟件卻是為某個具體的應(yīng)用而編寫的。
60年代中到70年代中:軟件作坊。第1章:軟件工程學(xué)概述1.1軟件危機
軟件危機:計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。(正常、不正常運行軟件都具有這種問題)1.1.1軟件危機的介紹軟件危機:計算機軟件的開發(fā)和維護過程中所遇到的一系列1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;2)用戶對完成的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;3)軟件產(chǎn)品的質(zhì)量往往靠不??;4)軟件常常是不可維護的;5)軟件通常沒有適當(dāng)?shù)奈臋n資料;軟件危機的典型表現(xiàn):1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確;軟件危機的典型表6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;7)軟件開發(fā)生產(chǎn)率提高的速度跟不上計算機應(yīng)用的發(fā)展趨勢。軟件危機的典型表現(xiàn):6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;軟件危機1.1.2產(chǎn)生軟件危機的原因1)軟件本身特點造成;2)軟件開發(fā)與維護的方法不正確。主要表現(xiàn):(a)忽視軟件需求分析;(b)認(rèn)為軟件開發(fā)就是寫程序并使之運行;(c)輕視軟件維護;1.1.2產(chǎn)生軟件危機的原因1)軟件本身特點造成;主要表
在軟件開發(fā)的不同階段進行修改需要付出的代價很不相同:高中低早期中期后期軟件開發(fā)時期代價圖1.1引入同一修改的代價隨時間變化的趨勢在軟件開發(fā)的不同階段進行修改需要付出的代價很不相同:1)推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法,并研究探索更有效的技術(shù)和方法;2)開發(fā)和使用更好的軟件工具;3)良好的組織管理措施。
1.1.3解決軟件危機的途徑1)推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法,并研
為了解決軟件危機產(chǎn)生的問題,軟件工程與方法學(xué)逐漸形成,然后出現(xiàn)了兩個相互相承又各有側(cè)重的學(xué)科:1)軟件工程學(xué):主要應(yīng)用工程的方法和技術(shù)研究軟件開發(fā)與維護的方法、工具和管理的一門交叉學(xué)科。2)程序設(shè)計方法學(xué):主要應(yīng)用數(shù)學(xué)的方法研究程序的性質(zhì)以及程序設(shè)計的理論和方法的學(xué)科。
為了解決軟件危機產(chǎn)生的問題,軟件工程與方法學(xué)逐漸形成1.2軟件工程1.2.1軟件工程的介紹1968年NATO會議:軟件工程就是為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。1993年IEEE:軟件工程是(1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護過程;(2)研究(1)中提到的途徑。1.2軟件工程1.2.1軟件工程的介紹1968年NAT
1.軟件工程關(guān)注于大型程序的構(gòu)造;
2.軟件工程的中心課題是控制復(fù)雜性;
3.軟件經(jīng)常變化;
4.開發(fā)軟件的效率非常重要;
5.和諧地合作是軟件開發(fā)的關(guān)鍵;
6.軟件必須有效地支持它的用戶;
7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造;軟件工程的本質(zhì)特性:1.2.2軟件工程的基本原理1.用分階段的生命周期計劃嚴(yán)格管理;2.堅持進行階段評審;3.實行嚴(yán)格的產(chǎn)品控制;4.采用現(xiàn)代程序設(shè)計技術(shù);5.結(jié)果能清楚地審查;6.開發(fā)小組的人員應(yīng)該少而精;7.承認(rèn)不斷改進軟件工程實踐的必要性。1.2.2軟件工程的基本原理1.用分階段的生命周期計劃嚴(yán)1.2.3軟件工程方法學(xué)通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)(Methodology),也稱為范型(Paradigm)。軟件工程方法學(xué)的3要素:方法、工具和過程1.2.3軟件工程方法學(xué)1.傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。結(jié)構(gòu)化方法(StructureMethod)有:
1)結(jié)構(gòu)化設(shè)計方法(SD);2)結(jié)構(gòu)化分析方法(SA);
3)結(jié)構(gòu)化分析與設(shè)計技術(shù)(SADT)4)JACKSON方法5)WARNIER方法1.傳統(tǒng)方法學(xué)2.面向?qū)ο蠓椒▽W(xué)
把數(shù)據(jù)和對數(shù)據(jù)的操作緊密結(jié)合起來的方法,模擬人類認(rèn)識世界解決問題的方法和過程。
面向?qū)ο蟮姆椒?對象(屬性與服務(wù)的封裝)+分類+繼承+通過消息的通訊2.面向?qū)ο蠓椒▽W(xué)1)適用于實時事物處理系統(tǒng)的有限狀態(tài)機方法(FSM);2)適用于并發(fā)軟件系統(tǒng)的PETRI網(wǎng)方法;3)以數(shù)學(xué)概念和理論為基礎(chǔ)的形式化方法,如
SDC公司的形式化開發(fā)方法FDM:(FormalDevelopmentMethodology)IBM公司的維也納開發(fā)方法VDM:
(ViennaDevelopmentMethod)
3.其他開發(fā)方法
1)適用于實時事物處理系統(tǒng)的有限狀態(tài)機方法3.其他開發(fā)方1.3軟件生命周期軟件生命周期:指軟件從提出到最終被淘汰的這個存在期。1.3軟件生命周期軟件生命周期:軟件生命周期組成:
1)軟件定義;
A.問題定義B.可行性研究C.需求分析
2)軟件開發(fā);
D.總體設(shè)計E.詳細(xì)設(shè)計
F.編碼和單元測試G.綜合測試
3)運行維護;軟件生命周期組成:1.問題定義;2.可行性研究;3.需求分析;4.總體設(shè)計(概要設(shè)計);5.詳細(xì)設(shè)計;6.編碼與單元測試;7.綜合測試;8.維護。軟件生命周期各個階段:1.問題定義;軟件生命周期各個階段:1.4軟件過程軟件過程:為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。軟件過程(ISO9000):使用資源將輸入轉(zhuǎn)化為輸出的活動所構(gòu)成的系統(tǒng)。輸入:如軟件需求輸出:如軟件產(chǎn)品1.4軟件過程軟件過程:為了獲得高質(zhì)量軟件所需要完成的一1.4.1瀑布模型1.階段間具有順序性和依賴性2.推遲實現(xiàn)的觀點3.質(zhì)量保證的觀點1.4.1瀑布模型1.階段間具有順序性和依賴性1.4.1瀑布模型傳統(tǒng)瀑布模型的特點提供了軟件過程模型的基本框架(模板)。強調(diào)了每一階段活動的嚴(yán)格順序。質(zhì)量保證觀點:以經(jīng)過評審確認(rèn)了的階段工作產(chǎn)品(文檔)驅(qū)動下一階段的工作,便于管理。是一種整體開發(fā)模型,程序的物理實現(xiàn)集中在開發(fā)階段的后期,用戶在最后才能看到自己的產(chǎn)品。傳統(tǒng)瀑布模型存在什么問題?1.4.1瀑布模型傳統(tǒng)瀑布模型的特點優(yōu)點:采用規(guī)范的方法;嚴(yán)格規(guī)定每個階段提交的文檔;要求每個階段交出的產(chǎn)品必須經(jīng)過驗證。優(yōu)點:采用規(guī)范的方法;嚴(yán)格規(guī)定每個階段提交的文檔;要求每個階1.4.1瀑布模型瀑布模型適合于用戶需求明確、完整、無重大變化的軟件項目開發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動的模型?!捌俨寄P褪怯晌臋n驅(qū)動的”這個事實也是它的一個主要缺點。
實際項目很少按照該模型給出的順序進行;用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成。
瀑布模型的優(yōu)缺點1.4.1瀑布模型瀑布模型適合于用戶需求明確、完整、無重大1.4.2快速原型模型(RapidPrototypeModel)在用戶不能給出完整、準(zhǔn)確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調(diào)整原型,使其滿足用戶的要求,也使開發(fā)者對將要做的事情有更好的理解。建造/修改原型
聽取用戶意見用戶測試運行原型原型實現(xiàn)范型1.4.2快速原型模型(RapidPrototypeM1.4.2快速原型模型優(yōu)點:不帶反饋環(huán),基本上是線性順序進行。1.4.2快速原型模型1.4軟件過程模型原型模型存在的問題
⑴為了使原型盡快的工作,沒有考慮軟件的總體質(zhì)量和長期的可維護性。
⑵為了演示,可能采用不合適的操作系統(tǒng)、編程語言、效率低的算法,這些不理想的選擇成了系統(tǒng)的組成部分。
⑶開發(fā)過程不便于管理。有效的使用原型模式建造原型僅是為了定義需求,之后就被拋棄(或被部分拋棄),實際的軟件在充分考慮了質(zhì)量和可維護性之后才被開發(fā)。1.4軟件過程模型原型模型存在的問題1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證維護過程開發(fā)過程1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試1.4軟件過程模型(3)增量模型(IncrementalModel)是一種漸進地開發(fā)逐步完善的軟件版本的模型。需求分析驗證規(guī)格說明驗證設(shè)計驗證維護針對每個構(gòu)件完成詳細(xì)設(shè)計、編碼和集成,經(jīng)測試后交付給用戶1.4軟件過程模型(3)增量模型(Incremental1.4軟件過程模型分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼編碼編碼測試測試測試測試增量1增量2增量3增量4交付交付交付交付●●●●●
?
反復(fù)的應(yīng)用瀑布模型的基本成分和原型模型的迭代特征,每一個線型過程產(chǎn)生一個“增量”的發(fā)布或提交,該增量均是一個可運行的產(chǎn)品。
?
早期的版本實現(xiàn)用戶的基本需求,并提供給用戶評估的平臺。增量模型1.4軟件過程模型分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼1.4軟件過程模型在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個構(gòu)件交付之日起,用戶就能做一些有用的工作。整個軟件產(chǎn)品被分解成許多個增量構(gòu)件,開發(fā)人員可以一個構(gòu)件一個構(gòu)件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計,但在設(shè)計階段多付出的勞動將在維護階段獲得回報。增量模型的優(yōu)點1.4軟件過程模型在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)1.4軟件過程模型增量模型的困難在把每個新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便,也就是說,軟件體系結(jié)構(gòu)必須是開放的。開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構(gòu)件,相互矛盾。多個構(gòu)件并行開發(fā),具有無法集成的風(fēng)險。1.4軟件過程模型增量模型的困難在把每個新的增量構(gòu)件集成到1.4軟件過程模型(4)螺旋模型(SpiralModel)
軟件風(fēng)險是任何軟件開發(fā)項目中都普遍存在的實際問題,項目越大,軟件越復(fù)雜,承擔(dān)該項目所冒的風(fēng)險也越大。
對于復(fù)雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來,加入了風(fēng)險分析。在該模型中,軟件開發(fā)是一系列的增量發(fā)布,早期的迭代中,發(fā)布的增量可能是一個紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型的基本思想是降低風(fēng)險。1.4軟件過程模型(4)螺旋模型(SpiralMode1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析可看作在每個階段之前都增加了風(fēng)險分析過程的快速原型模型。簡化的螺旋模型1.4軟件過程模型快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試1.4軟件過程模型完整的螺旋模型1.4軟件過程模型完整的螺旋模型
螺旋模型風(fēng)險
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版農(nóng)業(yè)資源整合農(nóng)副業(yè)承包合同書二份4篇
- 二零二五年度數(shù)據(jù)中心硬件搭建與維護合同3篇
- 二零二五年度電梯安裝與綠色節(jié)能合同3篇
- 2025年茶葉種植基地環(huán)境保護責(zé)任合同4篇
- 2025年度電梯安裝工程合同范本(含質(zhì)保期)4篇
- 二零二五版木結(jié)構(gòu)建筑防火檢測與整改合同4篇
- 2025年度快遞物流車輛承包運營管理合同4篇
- 2025電商企業(yè)年度運營策略制定合同4篇
- 2025年度個人與個人二手家電購銷合同4篇
- 2025年度防雨棚施工安全責(zé)任追究及賠償合同4篇
- 《電力用直流電源系統(tǒng)蓄電池組遠程充放電技術(shù)規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運維服務(wù)信息化運維方案
- 汽車修理廠員工守則
- 六年級上冊數(shù)學(xué)應(yīng)用題100題
- 個人代賣協(xié)議
- 公安交通管理行政處罰決定書式樣
- 10.《運動技能學(xué)習(xí)與控制》李強
- 冀教版數(shù)學(xué)七年級下冊綜合訓(xùn)練100題含答案
- 1神經(jīng)外科分級護理制度
- 場館惡劣天氣處置應(yīng)急預(yù)案
評論
0/150
提交評論