軟件工程是一種工程形式,它運用計算機科學和數學原理,針對軟件問題獲得一種經濟有效的解決方案。
b.用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運行和維護軟件。2.軟件工程的目標是高質量和高生產力。
3.五種軟件生存期模型: (1)、瀑布模型: 包括問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼、測試和維護。 優(yōu)點: a.提供了一個模板,模板使得分析、設計、編碼、測試和維護的方法可以在該模板下有一個共同的指導。
b.雖然有不少缺點,但比在軟件開發(fā)中隨意的狀態(tài)要好得多。 缺點: a.實際的大項目難以按照該模型給出的順序進行,而且這種模型的迭代是間接的,容易由微小的變化造成大的混亂。
b.在通常情況下,用戶難以表達真正的需求,而這種模型卻要如此,這種模型不歡迎有二義性的問題存在的。 c.用戶要等到開發(fā)周期晚期才能看到程序運行的測試版本,而在這時若發(fā)現(xiàn)大的錯誤,可能引起用戶的恐慌, 而后果也是災難性的。
d.采用這種線性模型,經常在過程的開始和結束時,要等到其他成員完成后,才能進行下去,有可能花在等待的時間 比開發(fā)的時間要長,即為堵塞狀態(tài)。 (2)、增量模型: 優(yōu)點: a.人員分配靈活,剛開始不用投入大量的人力資源,當核心產品很受歡迎時,可增加人力實現(xiàn)下一個增量。
b.當配備的人員不能在設定限期內完成產品時,它提供了一種先推出核心產品的途徑,這樣就可以先發(fā)布部分功能 給用戶,對用戶起到鎮(zhèn)靜劑的作用。 c.具有一定的市場。
缺點: a.自始至終開發(fā)者和用戶糾纏在一起,直到完全版本出來。 (3)、螺旋模型: 優(yōu)點: 對于大型系統(tǒng)及軟件的開發(fā),這種模型是一種很好的方法。
開發(fā)者和客戶能夠較好地對待和理解每一個演化級別上的風險。 缺點: a.需要相當的風險分析評估的技術,且成功就依賴于這種技術。
b.顯然,若存在一個沒有被發(fā)現(xiàn)的大風險,將會出現(xiàn)問題,甚至可能導致演化過程失去控制。 c.這種模型相對較新,應用不廣泛,其功效需要進一步的驗證。
(4)、噴泉模型: 優(yōu)點: 噴泉模型的各個階段沒有明顯的界限,開發(fā)人員可以同步開發(fā)。其優(yōu)點是可以提高軟件項目的開發(fā)效率,節(jié)省開發(fā)時間, 適應于面向對象的軟件開發(fā)過程。
缺點: 由于噴泉模型在各個開發(fā)階段是重疊的。 (5)、變換模型: 定義:基于形式化規(guī)格說明語言及程序變換的軟件開發(fā)模型。
優(yōu)點: a.形式化規(guī)約可直接作為程序驗證的基礎,可以盡早地發(fā)現(xiàn)和糾正錯誤,包括那些在其他情況下不能發(fā)現(xiàn)的錯誤。 b.開發(fā)出來的軟件具有很好的安全性和健壯性,特別適合安全部門或者軟件錯誤會造成經濟損失的開發(fā)項目。
缺點: a.開發(fā)費用高,而且需要很長的時間。 b.不能將該模型作為對客戶通信的機制,因為客戶對這些數學語言一無所知。
c.具有開發(fā)無缺陷軟件的錯誤。第二章 可行性研究1.可行性研究三要素: a.經濟 b.技術 c.管理2.四個方面可行性研究: a.經濟可行性: 包括成本和效益 b.技術可行性: 技術現(xiàn)狀、技術潛力、生產率和風險處理、軟件質量 c.社會可行性: 市場、政策、知識產權、道德 d.操作可行性: 項目的運行方式是否行得通、現(xiàn)有管理制度、人員素質和操作方式是否可行。
3.數據流圖P264.系統(tǒng)流程圖 P28第三章 需求分析1.需求的種類: a.功能需求: 功能需求是指目標軟件必須完成的全部功能。 b.性能需求: 性能需求是指目標軟件系統(tǒng)必須滿足的定時約束或容量約束。
通常包括:響應時間、CPU的使用率、內外存的使用率、網絡傳送速率、磁盤容量、系統(tǒng)安全性、系統(tǒng)的吞吐量等。 c.可靠性和可用性需求: 可靠性需求是指軟件系統(tǒng)在給定的時間間隔內可以成功運行的概率的度量。
可用性需求是指軟件系統(tǒng)在給定的時間點可以成功運行的概率的度量。 可靠性需求強調在一段時間范圍內的系統(tǒng)可使用性情況;可用性則強調在一個時刻點的系統(tǒng)可使用性情況。
d.出錯處理的需求: 出錯處理需求是指目標軟件系統(tǒng)對環(huán)境錯誤應該怎樣響應。 e.各種接口需求: f.安裝運行需求: g.未來可能提出的需求: h.逆向需求: i.約束:第四章 概要設計1.概要設計第五章 詳細設計——怎樣實現(xiàn)1.程序流程圖2.盒圖3.詳細設計: 3.1詳細設計的任務: 詳細設計是對概要設計階段劃分出的每個模塊進行明確的算法描述,即根據概要設計提供的說明文檔,確定每一個 模塊的數據結構及具體算法,并選用合適的描述工具,將其清晰地表達出來。
3.2詳細設計的過程: a.對概要設計所確定的抽象性的數據類型進行確切的定義,確定軟件各個模塊采用的算法和內部數據的組織形式, 確定對系統(tǒng)內部和外部模塊的即可細節(jié)。 b.確定每個模塊的算法。
c.為每個模塊設計一組測試用例。 d.編寫詳細設計說明書。
第六章 編碼與測試1.程序設計語言分為兩大類: 面向機器語言: 面向機器語言包括機器語言和匯編語言; 高級語言: 高級語言分為專用語言和通用語言;2.程序設計語言的選擇 理想標準、實用標準、系統(tǒng)用戶的要求、工程的規(guī)模、軟件的運行環(huán)境、可以得到的軟件開發(fā)工具、軟件開發(fā)人員的知識、軟件的可移植性要求。3.軟件測試在軟件開發(fā)過程中的體現(xiàn): a.尋找軟件錯誤,以便進行修正; b.證明軟件符合要求,是。
培養(yǎng)目標:軟件工程專業(yè)培養(yǎng)面向國民經濟信息化建設和發(fā)展的需要,培養(yǎng)具有扎實的計算機應用理論和知識基礎,掌握軟件工程領域的前沿技術和軟件開發(fā)方法,具備較強的軟件項目的系統(tǒng)分析、設計、開發(fā)和測試能力,能夠按工程化的原則和方法從事軟件項目開發(fā)和管理的高級工程技術人才。
主要課程:離散數學、面向對象程序設計、數據結構、數據庫原理、操作系統(tǒng)、計算機網絡、軟件工程、軟件過程與管理、軟件測試技術、軟件質量管理、軟件項目管理等。
畢業(yè)去向:軟件工程專業(yè)畢業(yè)生主要在信息產業(yè)和國民經濟部門從事信息系統(tǒng)研究、分析、設計、開發(fā)和測試以及軟件工程項目的組織和管理工作,也可考取計算機科學與技術專業(yè)的碩士研究生。
軟件工程專業(yè)是今后的熱門,就業(yè)前景非常好!目前軟件工程9個專業(yè)的內容和就業(yè)情況如下:
1 可視化編程
掌握程序設計方法及可視化技術,精通一種可視化平臺及其軟件開發(fā)技術。獲取Delphi程序員系列、Java初級或VB開發(fā)能手認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等可視化編程程序員。
2 WEB應用程序設計
具有美工基礎和網頁動畫設計能力,掌握交互式網頁程序的設計技術,能進行網站建設和維護。獲取Macromedia多媒體互動設計師或Delphi初級程序員或Delphi快速網絡開發(fā)工程師認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等WEB應用程序員。
3 軟件測試掌握軟件測試的基本原理、方法和組織管理,精通軟件測試工具。獲取ATA軟件測試工程師或Delphi初級程序員或Java初級程序員認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等軟件測試員。
4 數據庫管理
能應用關系范式進行數據庫設計,精通SQL語言,勝任數據庫服務器管理與應用工作。獲取Oracle數據庫管理或SQL Server數據庫應用或Windows XP應用認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等部門的中、大型數據庫管理員。
5 圖形圖像制作
精通國際上流行的圖形/圖像制作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設計師相關的認證。
就業(yè)方向:廣告制作公司、建筑設計公司、包裝裝璜設計公司、居室裝修公司、出版印刷公司。
6 網絡構建技術
熟悉網絡結構和組網方式,掌握建網方法,能利用工具分析和排除常見網絡故障。獲取Cisco路由配置或華為網絡工程或AMP應用工程師認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等網絡構建工程師。
7 網絡系統(tǒng)管理
掌握網絡系統(tǒng)管理的基本知識與應用技能,能進行網絡系統(tǒng)的安全設置。獲取Window2000 Server或TurboLinux TLCE或Cisco路由配置專家認證。
就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等網絡系統(tǒng)管理員。
8 多媒體制作
具有多媒體程序設計與多媒體制作策劃的能力。基本掌握面向對象程序設計與建模、造型設計、場景設計、分鏡頭原理等技能。獲取多媒體設計師相關的認證。
就業(yè)方向:多媒體設計與制作公司、動畫美術制作出版公司、廣告制作公司。
9 計算機辦公應用
精通辦公自動化應用與管理,熟悉服務器的安裝、管理和維護,基于應用服務器的相關服務和軟件系統(tǒng),具備對服務器的網絡安全設置、郵件、網頁發(fā)布、FTP、OA、BBS等系統(tǒng)的應用和維護能力。就業(yè)方向:企業(yè)、政府、社區(qū)、各類學校等系統(tǒng)管理
最近很多人都在問如何學習編程。我覺得學習編程最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較扎實的基礎,對今后的編程工作是很有益處的。即使在學習新的編程語言也無所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學習一下pascal,這個語言比較嚴謹,適合初學者。pascal它被稱為教學語言,結構嚴謹,不像C語言那么靈活,易于理解和學習。 然后可以繼續(xù)學習C語言,這個語言比較靈活。有了pascal的基礎,在進行C語言編程就不會因為C語言的靈活而有問題 。后面的就可以學習VC什么的了。
C語言的書推薦譚浩強的,比較好。
我當時學習pascal和C語言的時候是將書后的習題都做了一遍,感覺效果很好。
當然了,學習什么語言也要看你具體準備從事什么行業(yè)。例如你要進行嵌入式開發(fā),C就是很好的選擇,如果是Windows開發(fā),那么VC就不錯。還有數據庫方面的開發(fā)、網絡開發(fā)等等。不同的語言適合不同的方面。要看自己的選擇的,呵呵 。
還有很多人說自己的基礎很差,甚至中學畢業(yè)什么的。其實這個并不重要,比較說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經常使用就記住了。當然,如果你要看原文資料或者幫助的話,專業(yè)詞匯比較多,不過在金山詞霸的幫助下,經???,也是沒什么大的問題的。至于數學什么的,其實數學只是培養(yǎng)你一個邏輯思維能力,在初學編程的時候影響不是很大。況且,作為一個基礎編程人員來說,上面還有系統(tǒng)分析師、項目經理,他們會把需求分析、概要設計和詳細設計做好的,你只要按照文檔寫代碼就OK了。不過,要上更上一步的話,其他基礎知識就非常重要了,畢竟你不能寫一輩子代碼。
在你學習好C語言以后,個人建議好好學習一下數據結構和軟件工程。這兩門對你的水平提高都是很有幫助的。特別是軟件工程,它能夠使你按照科學的工程方法進行軟件開發(fā),對今后的發(fā)展很有好處。
只是一家之言,有不到之處,還望見諒!
參考資料:
軟件工程學的主要內容是軟件開發(fā)技術和軟件工程管理。
軟件開發(fā)技術包含軟件工程方法學、軟件工具和軟件開發(fā)環(huán)境;軟件工程管理學包含軟件工程經濟學和軟件管理學。 專業(yè)簡介是計算機領域發(fā)展最快的學科分支之一,國家非常重視軟件行業(yè)的發(fā)展,對軟件人才的培養(yǎng)給予了非常優(yōu)惠的政策。
本專業(yè)培養(yǎng)掌握計算機軟件基本理論知識,熟悉軟件開發(fā)和管理技術、能夠在計算機軟件領域中從事軟件設計、開發(fā)和管理的高級人才。 主修課程該專業(yè)除了學習公共基礎課外,還將系統(tǒng)學習離散數學、數據結構、算法分析、面向對象程序設計、現(xiàn)代操作系統(tǒng)、數據庫原理與實現(xiàn)技術、編譯原理、軟件工程、軟件項目管理、計算機安全等課程,根據學生的興趣還可以選修一些其它選修課。
畢業(yè)去向除考取國內外名牌大學研究生外,主要畢業(yè)去向是計算機軟件專業(yè)公司﹑信息咨詢公司﹑以及金融等其它獨資、合資企業(yè)。 培養(yǎng)目標本專業(yè)培養(yǎng)適應社會發(fā)展需求,德、智、體、美全面發(fā)展,具有扎實的計算機應用理論和知識基礎,掌握軟件工程領域的前沿技術和軟件開發(fā)方法,具有較強的實踐能力和創(chuàng)新精神,具備較強的軟件項目的系統(tǒng)分析、設計、開發(fā)和測試能力,能夠按照工程化的原則和方法從事軟件項目開發(fā)和管理的應用型人才。
計算機導論
內容提要:為新學生提供一個關于計算機科學與技術學科的入門介紹,使他們對該學科有一個整體的認識,并了解該專業(yè)的學生應具有的基本知識和技能以及在該領域工作應有的職業(yè)道德與應遵守的法律準則。
數字電路與數字邏輯
內容提要:介紹數字邏輯與數字系統(tǒng)的基本概念、分析方法和設計原理,包括開關理論基礎、組合邏輯、時序邏輯、可編程邏輯器件、數字系統(tǒng)等。
計算機組成原理與匯編語言
內容提要:以馮諾依曼計算機模型為出發(fā)點,介紹計算機的組織結構和工作原理,剖析計算機的運算器、存儲器、控制器和輸入輸出設備的結構、工作原理和相互關系;介紹 80X86指令系統(tǒng)、匯編語言與匯編指令、匯編程序與匯編過程、簡單匯編程序設計、匯編語言與高級語言的接口、宏匯編等。
計算機網絡
內容提要:介紹數據通信的基本概念和計算機網絡的基本原理,包括計算機網絡的體系結構、數據通信的基本方法和協(xié)議、計算機網絡的主要應用協(xié)議;同時介紹計算機網絡系統(tǒng)的安全和管理知識,使學生對數據通信和計算機網絡有一個全面理解。
計算機體系結構
內容提要:研究計算機系統(tǒng)結構的基本概念、基本原理、基本結構和基本分析方法,使同學在具有一定的軟硬件知識基礎上能綜合認識計算機系統(tǒng)的軟硬件功能分配與各種不同結構類型機器的特性和性能評價方法。為研究、開發(fā)、應用高級計算機系統(tǒng)打下基礎。確立全面、系統(tǒng)的觀點和學會定量分析問題的方法。
離散數學
內容提要:包括集合論、數理邏輯、圖論、組合數學等內容,形式化的數學證明貫穿此課程。
高級程序設計語言
內容提要:分別以 C、C#或JAVA為例,介紹程序設計和語言,程序的基本數據結構、類型定義、簡單類型和結構化類型、程序的基本控制結構、結構化程序設計、面向對象的程序設計等。
算法分析與設計
內容提要: 本課程延續(xù)數據結構課程的學習,從算法分析和設計的角度出發(fā),除去傳統(tǒng)的分類查找算法和一般的設計方法外,主要內容包括如下幾個部分:算法研究的理論基礎,遞歸分析技術,基本算法設計策略(幾類經典算法學習), 多項式運算與 FFT ,串匹配,概率分析算法。 希望通過這一課程的學習,使學生能對現(xiàn)代的算法設計及分析的基本工具能有較全面的掌握。
數據結構
內容提要:介紹線性表及其鏈接存儲結構與算法、數組與矩陣、堆棧與隊列、廣義表的存儲結構與多元多項式表示、串與文本編輯、排序、樹、圖、文件結構。
數據庫系統(tǒng)原理
內容提要:介紹數據庫系統(tǒng)的基本概念、原理、方法及應用,主要包括數據庫系統(tǒng)概論、數據庫管理系統(tǒng)實現(xiàn)技術、數據庫存儲結構及其他類型的數據庫系統(tǒng)。
編譯技術
內容提要:介紹編譯原理的理論和實踐,包括編譯程序設計、詞法分析、語法分析、符號表、聲明和存儲管理、代碼生成以及優(yōu)化技術。
操作系統(tǒng)
內容提要:介紹操作系統(tǒng)的設計與實現(xiàn),包括操作系統(tǒng)各組成部分的概述、互斥性和同步性、處理器實現(xiàn)、調度算法、存儲算法、設備管理和文件系統(tǒng)。

聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.341秒