軟件工程總體設計包括哪些內容(軟件工程總體設計基本原理)
本篇文章給大家談談軟件工程總體設計包括哪些內容,以及軟件工程總體設計基本原理對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
什么是軟件工程?包括哪些內容?
軟件工程(SoftWare Engineering)的框架可概括為:目標、過程和原則.\x0d(1)軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品.正確性指軟件產品達到預期功能的程度.可用性指軟件基本結構、實現(xiàn)及文檔為用戶可用的程度.開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度.這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束.\x0d(2)軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟.軟件工程過程主要包括開發(fā)過程、運作過程、維護過程.它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動.需求活動包括問題分析和需求分析.問題分析獲取需改槐求定義,又稱軟件需求規(guī)約.需求分析生成功能核蘆友規(guī)約.設計活動一般包括概要設計和詳細設計.概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義.詳細設計產生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結構說明及加工描述.實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼.確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求.維護活動包括使用過程中的擴充、修改與完善.伴隨以上過程,還有管理過程、支持過程、培訓過程等.\x0d(3)軟件工程的原則是指圍繞工程設計、嘩模工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則.
軟件設計包括哪些方面
軟件設計是采用編程或腳本語言優(yōu)雅地表達并解決現(xiàn)實需求的一門科學和藝術。優(yōu)雅地表達想傳遞的意思是,所設計出來的軟件應當能容易被人理解、方便擴展和維護。從這一定義可以看出軟件設計首先是一門科學,是一門解決用戶需求的軟件科學。既然是科學,不可避免的要掌握相關的科學知識,比如數(shù)據(jù)結構、計算機組成原理、編程語言等等,而這些內容也正是大學計算機相關專業(yè)所傳授的知識??茖W知識或許更加容易被量化,拿數(shù)據(jù)結構為例,一種算法比另一種算法是否更優(yōu)可以從算法的時間冗余度和空間冗余度進行衡量。
除了科學的部分,軟件設計還涉及藝術的范疇。既然是一門藝術,那就一定存在欣賞的問題,也就意味并不是每個從業(yè)人員都能欣賞這種藝術,而只有達到了一定的層次且形成了自己的思想后才能欣賞它。由于設計中藝術的非直觀性,造成其在現(xiàn)實中不容易被量化,因此難以形成相應的評估準則,進而造成在軟件行業(yè)容易被忽視。試想想,大學課程有多少內容是在教我們將軟件設計當作藝術進行欣賞并追求?
好的軟件設計能相對方便(甚至是很方便)地實現(xiàn)新的需求問題。需求分析是告訴我們做什么,其顯然非常的重要,而設計更多地涉及怎么做更好。既然對于設計的好壞不能完全通過量化的方式進行衡量,那如何去評價一個軟件設計的好壞呢?或者在進行軟件設計時,如何去思考以做出一個好的設計呢?這可以通過對一些軟件設計原則的把握來做到。設鄭昌告計原則可能有很多,但并不是每一個項目都要同時滿足所有的設計原則,另外,不同的項目其特性有可能使得有些設計原則并不喊明適用。另外,設計原則也不是一成不變的,可能因項目的特點又可以抽取出另外的設計原則。筆者將在后續(xù)的文章中闡述日常工作中所遵守的軟件設計原則。
軟件設計是一個不斷提煉和抽象的過程。說它是一個提煉的過程,是因為在設計之初會想到很多需要考慮的因素,這些因素在設計工作沒有深入之前,并不能發(fā)現(xiàn)它們有些是重疊的,或者有些根本就不需要考慮。隨著設計的深入,會從眾多的因素中得到其中的關鍵因素并將這些因素付之于實踐。設計也是一個抽迅源象過程,需要從眾多的表象中找到它們的共性,通過表達共性從而最終描述每個個性,而不應當局限于直接去描述每一個個性。設計的深入過程并不只是一味地思考,除非設計者以前有過類似的設計經驗,否則設計過程通常需要進行一定的代碼編寫工作,以輔助思考,這一點對于開發(fā)軟件架構師(系統(tǒng)架構師不包括在內)也應當是一樣的。
軟件設計是一個創(chuàng)造模型的過程。通過對需求的理解和抽象,好的設計將最終構造出一個模型,而且這個模型與現(xiàn)實世界的某樣東西可能是相類似的。這個模型除了實現(xiàn)了用戶的需求,還向他人展示了她自己是什么模樣以及可能會如何行事。打個比方,如果有人發(fā)明了一種新的交通工具,他如何最為有效地表達這一新的交通工具到底是什么樣的呢?是直接拿一張圖紙給他人并說你看看圖紙就知道了好呢?還是打一個大家都耳熟能詳?shù)谋确胶媚兀匡@然,后者更好。如果他說這個新的交通工具與現(xiàn)在的轎車很像,只不過,如此一來,聽眾馬上就會想,這個新的交通工具有四個輪子、也有方向盤等等。顯然,后者能很快地讓聽眾利用其生活經驗快速的接收信息,而好的軟件設計也應當做到這一點。軟件設計時的模型創(chuàng)造過程,其實就是賦予軟件代碼生命的過程,由此看來一個好的設計應當是 有生命的。
軟件設計是一個做選擇的過程。人有時沒有選擇反而輕松。一個剛畢業(yè)的大學生如果只拿到了一個offer,他可能沒有選擇單位的煩惱,不論單位好壞都去報道就是了。但是,如果他拿了兩個offer,選擇的煩惱也就有了 是去A單位好呢?還是B單位好?不幸的是,軟件的設計過程往往存在......余下全文問題二:計算機軟件設計這個屬于什么專業(yè)? 計算機軟件設計屬于 IT(Internet Technology)專業(yè)。
戶件設計是從軟件需求規(guī)格說明書出發(fā),根據(jù)需求分析階段確定的功能設計軟件系統(tǒng)的整體結構、劃分功能模塊、確定每個模塊的實現(xiàn)算法以及編寫具體的代碼,形成軟件的具體設計方案。
軟件設計是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。將問題或事物分解并模塊化使得解決問題變得容易,分解的越細模塊數(shù)量也就越多,它的副作用就是使得設計者考慮更多的模塊之間耦合度的情況。問題三:軟件設計工程師主要是做什么的 軟件設計師能根據(jù)軟件開發(fā)項目管理和軟件工程的要求,按照系統(tǒng)總體設計規(guī)格說明書進行軟件設計,編寫程序設計規(guī)格說明書等相應的文檔;戶織和指導程序員編寫、調試程序,并對軟件進行優(yōu)化和集成測試,開發(fā)出符合系統(tǒng)總體設計要求的高質量軟件;具有工程師的實際工作能力和業(yè)務水平。
軟件詳細設計包含哪些內容
1、簡介:
《軟件詳細設計教程》在軟件工程知識體系框架下,圍繞著軟件形成過源李念程,以軟件詳細設計這一關鍵環(huán)節(jié)為中心,系統(tǒng)講述了軟件詳擾侍細設計的基本思想、理論、方法、技術,以及軟件詳細設計技術在軟件工程中的雹困應用方法、原則和技術規(guī)范。
2、內容概括:
《軟件詳細設計教程》首先從詳細設計階段前的先導過程出發(fā),介紹了包括軟件體系結構、統(tǒng)一建模語言、軟件需求工程、軟件設計工程在內的相關基礎性知識;其次重點介紹了軟件結構化詳細設計和面向對象詳細設計這兩類主流技術,并與軟件實現(xiàn)過程相結合,介紹了軟件編碼設計與規(guī)范,指出了面向對象軟件實現(xiàn)的銜接方法;最后介紹了軟件測試的方法、過程與技術,強調了軟件詳細設計與軟件測試二者之間的應用關系和協(xié)作方法。
軟件工程總體設計包括哪些內容的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于軟件工程總體設計基本原理、軟件工程總體設計包括哪些內容的信息別忘了在本站進行查找喔。
掃描二維碼推送至手機訪問。
版權聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉載請注明出處。