1. 軟體工程導論判定表和判定樹有何特點用於何種場合如何使用
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。
2. 成為一名軟體工程師要學哪些課程
中國計算機軟體設計師考試大綱
一、考試說明
1.考試要求:
(1) 掌握數據表示、算術和邏輯運算;
(2) 掌握相關的應用數學、離散數學的基礎知識;
(3) 掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(4) 掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;
(5) 熟練掌握常用數據結構和常用演算法;
(6) 熟悉資料庫、網路和多媒體的基礎知識;
(7) 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中的一種程序設計語言;
(8) 熟悉軟體工程、軟體過程改進和軟體開發項目管理的基礎知識;
(9) 熟悉掌握軟體設計的方法和技術;
(10) 掌握常用信息技術標准、安全性,以及有關法律、法規的基本知識;
(11) 了解信息化、計算機應用的基礎知識;
(12) 正確閱讀和理解計算機領域的英文資料。
2.通過本考試的合格人員能根據軟體開發項目管理和軟體工程的要求,按照系統總體設計規格說明書進行軟體設計,編寫程序設計規格說明書等相應的文檔,組織和指導程序員編寫、調試程序,並對軟體進行優化和集成測試,開發出符合系統總體設計要求的高質量軟體;具有工程的實際工作能力和業務水平。
3.本考試設置的科目包括:
(1) 計算機與軟體工程知識,考試時間為150分鍾,筆試;
(2) 軟體設計,考試時間為150分鍾,筆試。
二、考試范圍
考試科目1:計算機與軟體工程知識
1.計算機科學基礎
1.1 數制及其轉換
· 二進制、十進制和十六進制等常用制數制及其相互轉換
1.2 數據的表示
· 數的表示(原碼、反碼、補碼、移碼表示,整數和實數的機內表示,精度和溢出)
· 非數值表示(字元和漢字表示、聲音表示、圖像表示)
· 校驗方法和校驗碼(奇偶校驗碼、海明校驗碼、循環冗餘校驗碼)
1.3 算術運算和邏輯運算
· 計算機中的二進制數運算方法
· 邏輯代數的基本運算和邏輯表達式的化簡
1.4 數學基礎知識
· 命題邏輯、謂詞邏輯、形式邏輯的基礎知識
· 常用數值計算(誤差、矩陣和行列式、近似求解方程、插值、數值積分)
· 排列組合、概率論應用、應用統計(數據的統計分析)
· 運算基本方法(預測與決策、線性規劃、網路圖、模擬)
1.5 常用數據結構
· 數組(靜態數組、動態數組)、線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)、隊列、棧、樹(二叉樹、查找樹、平衡樹、線索樹、線索樹、堆)、圖等的定義、存儲和操作
· Hash(存儲地址計算,沖突處理)
1.6 常用演算法
· 排序演算法、查找演算法、數值計算方法、字元串處理方法、數據壓縮演算法、遞歸演算法、圖的相關演算法
· 演算法與數據結構的關系、演算法效率、演算法設計、演算法描述(流程圖、偽代碼、決策表)、演算法的復雜性
2.計算機系統知識
2.1 硬體知識
2.1.1 計算機系統的組成、體系結構分類及特性
· CPU和存儲器的組成、性能和基本工作原理
· 常用I/O設備、通信設備的性能,以及基本工作原理
· I/O介面的功能、類型和特性
· I/O控制方式(中斷系統、DMA、I/O處理機方式)
· CISC/RISC,流水線操作,多處理機,並行處理
2.1.2 存儲系統
· 主存-Cache存儲系統的工作原理
· 虛擬存儲器基本工作原理,多級存儲體系的性能價格
· RAID類型和特性
2.1.3 安全性、可靠性與系統性能評測基礎知識
· 診斷與容錯
· 系統可靠性分析評價
· 計算機系統性能評測方式
2.2 軟體知識
2.2.1 操作系統知識
· 操作系統的內核(中斷控制)、進程、線程概念
· 處理機管理(狀態轉換、共享與互斥、分時輪轉、搶占、死鎖)
· 存儲管理(主存保護、動態連接分配、分段、分頁、虛存)
· 設備管理(I/O控制、假離線)
· 文件管理(文件目錄、文件組織、存取方法、存取控制、恢復處理)
· 作業管理(作業調度、作業控制語言(JCL)、多道程序設計)
· 漢字處理,多媒體處理,人機界面
· 網路操作系統和嵌入式操作系統基礎知識
· 操作系統的配置
2.2.2 程序設計語言和語言處理程序的知識
· 匯編、編譯、解釋系統的基礎知識和基本工作原理
· 程序設計語言的基本成分:數據、運算、控制和傳輸,過程(函數)調用
· 各類程序設計語言主要特點和適用情況
2.3 計算機網路知識
· 網路體系結構(網路拓撲、OSI/RM、基本的網路協議)
· 傳輸介質、傳輸技術、傳輸方法、傳輸控制
· 常用網路設備和各類通信設備
· Client/Server結構、Browser/Server結構
· LAN拓撲,存取控制,LAN的組網,LAN間連接,LAN-WAN連接
· 網際網路基礎知識以及應用
· 網路軟體
· 網路管理
· 網路性能分析
2.4 資料庫知識
· 資料庫管理系統的功能和特徵
· 資料庫模型(概念模式、外模式、內模式)
· 數據模型,ER圖,第一範式、第二範式、第三範式
· 數據操作(集合運算和關系運算)
· 資料庫語言(SQL)
· 資料庫的控制功能(並發控制、恢復、安全性、完整性)
· 數據倉庫和分布式資料庫基礎知識
2.5 多媒體知識
· 多媒體系統基礎知識,多媒體設備的性能特性,常用多媒體文件格式
· 簡單圖形的繪制,圖像文件的處理方法
· 音頻和視頻信息的應用
· 多媒體應用開發過程
2.6 系統性能知識
· 性能指標(響應時間、吞吐量、周轉時間)和性能設計
· 性能測試和性能評估
· 可靠性指標及計算、可靠性設計
· 可靠性測試和可靠性評估
2.7 計算機應用基礎知識
·信息管理、數據處理、輔助設計、自動控制、科學計算、人工智慧等基礎知識
· 遠程通信服務基礎知識
· 常用應用系統
3.系統開發和運行知識
3.1 軟體工程、軟體過程改進和軟體開發項目管理知識
· 軟體工程知識
· 軟體開發生命周期各階段的目標和任務
· 軟體開發項目管理基礎知識(時間管理、成本管理、質量管理、人力資源管理、風險管理等)及其常用管理工具
· 主要的軟體開發方法(生命周期法、原型法、面向對象法、CASE)
· 軟體開發工具與環境知識
· 軟體過程改進知識
· 軟體質量管理知識
· 軟體開發過程評估、軟體能力成熟評估基礎知識
3.2 系統分析基礎知識
· 系統分析的目的和任務
·結構化分析方法(數據流圖(DFD)、數據字典(DD)、實體關系圖(ERD)、描述加工處理的結構化語言)
· 統一建模語言(UML)
· 系統規格說明書
3.3 系統設計知識
· 系統設計的目的和任務
· 結構化設計方法和工具(系統流程圖、HIPO圖、控制流程圖)
· 系統總體結構設計(總體布局、設計原則、模塊結構設計、數據存儲設計、系統配置方案)
· 系統詳細設計(代碼設計、資料庫設計、用戶界面設計、處理過程設計)
· 系統設計說明書
3.4 系統實施知識
· 系統實施的主要任務
· 結構化程序設計、面向對象程序設計、可視化程序設計
· 程序設計風格
· 程序設計語言的選擇
· 系統測試的目的、類型,系統測試方法(黑盒測試、白盒測試、灰盒測試)
· 測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試用例設計、系統測試報告)
· 系統轉換基礎知識
3.5 系統運行和維護知識
· 系統運行管理基礎知識
· 系統維護基礎知識
· 系統評價基礎知識
3.6 面向對象開發方法
· 面向對象開發概念(類、對象、屬性、封裝性、繼承性、多態性、對象之間的引用)
· 面向對象開發方法的優越性以及有效領域
· 面向對象設計方法(體系結構、類的設計、用戶介面設計)
· 面向對象實現方法(選擇程序設計語言、類的實現、方法的實現、用戶介面的實現、准備測試數據)
· 面向對象程序設計語言(如C++、Java、Visual、Bsasic、Visual C++)的基本機制
· 面向對象資料庫、分布式對象的概念
4.安全性知識
· 安全性基本概念
· 防治計算機病毒、防範計算機犯罪
· 存取控制、防闖入、安全管理措施
· 加密與解密機制
·風險分析、風險類型、抗風險措施和內部控制
5.標准化知識
· 標准化意識、標准化的發展、標准制訂過程
· 國際標准、國家標准、行業標准、企業標准基本知識
· 代碼標准、文件格式標准、安全標准、軟體開發規范和文檔標准知識
· 標准化機構
6.信息化基礎知識
· 信息化意識
· 全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略
· 有關的法律、法規
· 遠程教育、電子商務、電子政務等基礎知識
· 企業信息資源管理基礎知識
7.計算機專業英語
· 掌握計算機技術的基本詞彙
· 能正確閱讀和理解計算機領域的英文資料
考試科目2:軟體設計
1.外部設計
1.1 理解系統需求說明
1.2 系統開發的准備
· 選擇開發方法、准備開發環境、制訂開發計劃
1.3 設計系統功能
· 選擇系統結構,設計各子系統的功能和介面,設計安全性策略、需求和實現方法,制訂詳細的工作流和數據流
1.4 設計數據模型
· 設計ER模型、數據模型
1.5 編寫外部設計文檔
· 系統配置圖、各子系統關系圖、系統流程圖、系統功能說明書、輸入輸出規格說明、數據規格說明、用戶手冊框架
· 設計系統測試要求
1.6 設計評審
2.內部設計
2.1 設計軟體結構
·按構件分解,確定構件功能規格以及構件之間的介面
· 採用中間件和工具
2.2 設計輸入輸出
· 屏幕界面設計、設計輸入輸出檢查方法和檢查信息
> 2.3 設計物理數據
· 分析數據特性,確定邏輯數據組織方式、存儲介質,設計記錄格式和處理方式
· 將邏輯數據結構換成物理數據結構,計算容量,進行優化
2.4 構件的創建和重用
· 創建、重用構件的概念
· 使用子程序庫或類庫
2.5 編寫內部設計文檔
· 構件劃分圖、構件間的介面、構件處理說明、屏幕設計文檔、報表設計文檔、文件設計文檔、資料庫設計文檔
2.6 設計評審
3.程序設計
3.1 模塊劃分(原則、方法、標准)
3.2 編寫程序設計文檔
· 模塊規格說明書(功能和介面說明、程序處理邏輯的描述、輸入輸出數據格式的描述)
· 測試要求說明書(測試類型和目標、測試用例、測試方法)
3.3 程序設計評審
4.系統實施
4.1 配置計算機系統及其環境
4.2 選擇合適的程序設計語言
4.3 掌握C程序設計語言,以及C++、Java、Visual、Basic、Visual C++中任一種程序設計語言,以便能指導程序員進行編程和測試,並進行必要的優化
4.4 系統測試
· 指導程序員進行模塊測試,並進行驗收
· 准備系統集成測試環境和測試工具
· 准備測試數據
· 寫出測試報告
5.軟體工程
· 軟體生存期模型(瀑布模型、螺旋模型、噴泉模型)和軟體成本模型
· 定義軟體需求(系統化的目標、配置、功能、性能和約束)
· 描述軟體需求的方法(功能層次模型、數據流模型、控制流模型、面向數據的模型、面向對象的模型等)
· 定義軟體需求的方法(結構化分析方法、面向對象分析方法)
· 軟體設計(分析與集成、逐步求精、抽象、信息隱蔽)
· 軟體設計方法(結構化設計方法、Jackson方法、Warnier方法、面向對象設計方法)
· 程序設計(結構化程序設計、面向對象程序設計)
· 軟體測試的原則與方法
· 軟體質量(軟體質量特性、軟體質量控制)
· 軟體過程評估基本方法、軟體能力成熟度評估基本方法
· 軟體開發環境和開發工具(分析工具、設計工具、編程工具、測試工具、維護工具、CASE)
· 軟體工程發展趨勢(面向構件,統一建模語言(UML))
· 軟體過程改進模型和方法
3. 軟體工程一般要學什麼
軟體工程
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作效率和生活效率 。
網路工程
網路工程是指按計劃進行的以工程化的思想、方式、方法,設計、研發和解決網路系統問題的工程。培養掌握網路工程的基本理論與方法以及計算機技術和網路技術等方面的知識,能運用所學知識與技能去分析和解決相關的實際問題,可在信息產業以及其他國民經濟部門從事各類網路系統和計算機通信系統研究、教學、設計、開發等工作的高級網路科技人才。
信息安全
息安全主要包括以下五方面的內容,即需保證信息的保密性、真實性、完整性、未授權拷貝和所寄生系統的安全性。信息安全本身包括的范圍很大,其中包括如何防範商業企業機密泄露、防範青少年對不良信息的瀏覽、個人信息的泄露等。網路環境下的信息安全體系是保證信息安全的關鍵,包括計算機安全操作系統、各種安全協議、安全機制(數字簽名、消息認證、數據加密等),直至安全系統,如UniNAC、DLP等,只要存在安全漏洞便可以威脅全局安全。信息安全是指信息系統(包括硬體、軟體、數據、人、物理環境及其基礎設施)受到保護,不受偶然的或者惡意的原因而遭到破壞、更改、泄露,系統連續可靠正常地運行,信息服務不中斷,最終實現業務連續性。
信息安全學科可分為狹義安全與廣義安全兩個層次,狹義的安全是建立在以密碼論為基礎的計算機安全領域,早期中國信息安全專業通常以此為基準,輔以計算機技術、通信網路技術與編程等方面的內容;廣義的信息安全是一門綜合性學科,從傳統的計算機安全到信息安全,不但是名稱的變更也是對安全發展的延伸,安全不在是單純的技術問題,而是將管理、技術、法律等問題相結合的產物。本專業培養能夠從事計算機、通信、電子商務、電子政務、電子金融等領域的信息安全高級專門人才。
4. 軟體工程的課題樹
你自己去圖書館里的資料庫裡面找吧。
我跟你專業不同,怕找的東西對你沒用。
祝你好運!
5. 二叉樹是用來干什麼的在軟體工程方面有什麼用途,請幫小弟舉幾個實例。
二叉樹常被用於實現二叉查找樹和二叉堆。
在計算機科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」和「右子樹」。
根據不同的用途可分為:
1、完全二叉樹——若設二叉樹的高度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第h層有葉子結點,並且葉子結點都是從左到右依次排布,這就是完全二叉樹。
2、滿二叉樹——除了葉結點外每一個結點都有左右子葉且葉子結點都處在最底層的二叉樹。
3、平衡二叉樹——平衡二叉樹又被稱為AVL樹(區別於AVL演算法),它是一棵二叉排序樹,且具有以下性質:它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。
(5)軟體工程樹擴展閱讀
深度為h的二叉樹最多有個結點(h>=1),最少有h個結點。對於任意一棵二叉樹,如果其葉結點數為N0,而度數為2的結點總數為N2,則N0=N2+1。
有N個結點的完全二叉樹各結點如果用順序方式存儲,則結點之間有如下關系為若I為結點編號則 如果I>1,則其父結點的編號為I/2。如果2*I<=N,則其左孩子(即左子樹的根結點)的編號為2*I。若2*I>N,則無左孩子。如果2*I+1<=N,則其右孩子的結點編號為2*I+1。
6. 軟體工程要學什麼課程!
不要把時間浪費在所謂的大學課程上,很多都是沒有營養的。其實軟體工程的知識體系也就是那樣,各個大學也是照著這個思路編排課程的。所以,自學的時候直奔主題就可以了。
軟體工程。包含兩個部分:軟體和工程。軟體是程序員做的,而工程是項目負責人管理、程序員實踐的。
軟體又包含兩部分:語法和演算法。語法,即要掌握某種編程語言。一般來講,要想工作中用的上,那麼面向過程的語言和面向對象的語言都得掌握。一般學C、C++、Java、Dephi等等。面向過程的程序比較好學,條目也很清晰。而面向對象的編程需要學兩方面的內容:語法本身和龐大的類庫。演算法,這是編程的靈魂。一般包括:數據結構和經典演算法。學無止境,一般性的工作話,掌握基本的就夠了,如果工作較復雜得多看看演算法方面的期刊。
工程。現代軟體越變越大,大型的編寫工作動不動就涉及萬人。工程的方法只是為了更好的組織、協調編寫過程。《軟體工程》本身就是一本書,很厚的。主要講軟體的生命周期,比較抽象和繁雜,但是規范的工作方式就是從這本書里來的。另外關注一些編程習慣的知識。這也是工程的一部分。
軟體只是計算機科學中的一種。所以,比如計算機基礎、計算機系統等等宏觀的知識也需要理解。特別是對於高級程序員,計算機運行的底層知識就更重要了。操作系統、80x86以及匯編語言是底層知識中的一部分。
軟體行業分工很多:網路編程、資料庫編程、應用程序編程、游戲編程以及操作系統編程等(中國似乎還沒有商業化的操作系統),研究任何一個都挺累人的。學習完上面的基礎知識後,就需要給自己選一個專業方向了。
建議一個學習流程。如果你什麼都沒有學。
1】計算機基礎知識。主要是硬體方面(大一水平)
2】同時,學習C語言,語法就夠了
3】透徹的理解C++需要用C語言去編寫一個圖形化的應用程序,但是,似乎也有一些直接上手的C++教材。學習語法,簡單的類庫。(現在就是大二的水平)
4】數據結構,C++表述的。《數據結構》的書裡面會有一些經典的演算法的。
5】操作系統、80x86與匯編(大三水平,大四幾乎沒有幾本書要念的。)
6】專業學習。一方面是專業上的知識,另一方面是類庫在專業上的使用。(我想,應該可以工作了,大學里關於這方面的知識是很淺薄的,僅僅建立一個概念而已。但是要拿來謀生的話,就需要學多點了,前面所有的積淀都是為了這個目標的)
先學著,自己有體會後,就能確定自己應該學到什麼程度。如果一切順利的話,大概兩年多一點就可以完成這個過程。
7. 關於軟體工程中判定表和判定樹表的問題
能夠清晰地表示復雜的條件組合與相應的動作之間的對應關系。
一張判斷表由四部分組成,左上部列出所有條件,左下部列出所有可能做的動作,右上部是表示各種條件的組合的一個矩陣,右下部是和每種條件組合的相對應的動作。
判定樹:判定樹是判定表的變種,也能夠清晰地表示復雜的條件組合與相應的動作之間的對應關系。
(7)軟體工程樹擴展閱讀:
注意事項:
在軟體項目、it項目實施之初,需要了解項目的基本情況、需要了解客戶的基本情況、需要了解公司的人員配置情況。只有做到這些,才可以更好的為項目管理制定出更為合理的項目是實施計劃、項目管理計劃。
眾所周知,計劃是很重要的,在項目管理方面,計劃也是也是很重要的,只有做好了項目計劃,這里的項目計劃包括項目管理計劃、項目管理的項目實施計劃、項目管理的項目人員計劃、項目管理的項目成本計劃等,只有有了項目計劃,後續的工作才有依據、項目實施才有一個實施標准、項目實施、項目管理才會有目標。
8. 國內哪些大學的軟體工程專業或者計算機專業好
杭電也不錯呀
9. 求 軟體工程 (主編是高樹芳和米*)第三版選擇題正確答案
adadsasdadad