① 軟體工程發展趨勢
軟體工程發展方向主要有四個方向,軟體項目管理,軟體框架設計,軟體品質管理,軟體運行維護。軟體項目管理指管理整個軟體開發過程,包括需求分析,人員配置,軟硬體設施,與客戶溝通等等,貫穿這個開發流程,當軟體開發結束後才終止。軟體框架設計指開發一套成熟的軟體設計方法或架構,能夠指導程序開發人員進行軟體設計,且節約開發時間,且做出的系統安全穩定。軟體品質質量管理指開發出的軟體符合用戶設想的目標,滿足時間操作的功能,符合需求,且能在實際中運行。軟體運行維護指軟體後期管理維護升級,由於軟體開發過程中難免會留有bug,在系統運行階段才暴露出來,這就需求軟體升級、更新,確保軟體質量。
② 計算機軟體工程專業應該如何發展
這個需要看你的興趣,順著一個方向發展下去,學校的專業基礎課還是要你學好的!之後你自己就會有所覺醒的。
③ 計算機科學技術的發展歷程是什麼
計算機科學中的理論部分在第一台數字計算機出現以前就已存在。
計算機科學根植於電子工程、數學和語言學,是科學、工程和藝術的結晶。它在20世紀最後的三十年間興起成為一門獨立的學科,並發展出自己的方法與術語。
60年代以來出現了大程序。這些大程序的可靠性很難保證。到60年代後期,西方國家出現了「軟體危機」。這是指有些程序過於龐大(包含幾十萬條以至幾百萬條指令),成本過高而可靠性則比較差。於是提出了軟體工程的概念,目的在於使軟體開發遵守嚴格的規范,使用一套可靠的方法,從而保證質量。現代軟體工程的方向是形式化和自動化,而形式化的目的在於自動化。這里所說的自動化就是將程序設計中可以由機器來完成的工作,盡量交給機器去做。中心課題之一是程序工具和環境的研究。程序工具是指輔助人編程序的程序,如編譯程序、編輯程序、排錯程序等;程序環境則是指一套結合起來使用的用來輔助人編程序的程序工具。人工智慧 用計算機模擬人的智能,特別是模擬思維活動的技術及其有關理論。由於人的思維活動離不開語言,而且人對於某一類問題進行思索和探索解法時,總是需要以關於這一類問題的基本知識(專業知識或常識)作為出發點。於是,知識表示和機器對自然語言的理解就構成人工智慧的兩個重要領域。所謂知識表示,是指將原來用自然語言表示的知識轉換成用符號語言表示的,從而可以儲存在機器內供機器使用的知識。人工智慧的研究角度有探索法的角度和演算法的角度。通常所說的解題演算法是指機械的和總是有結果的方法,而這里所說的演算法卻是廣義的,包括那些機械的而在使用時不一定有結果的演算法。這種方法時常稱作半可判定的方法。
④ 計算機科學的發展歷史
計算機科學中的理論部分在第一台數字計算機出現以前就已存在。計算機科學根植於電子工程、數學和語言學,是科學、工程和藝術的結晶。它在20世紀最後的三十年間興起成為一門獨立的學科,並發展出自己的方法與術語。 60年代以來出現了大程序。這些大程序的可靠性很難保證。到60年代後期,西方國家出現了「軟體危機」。這是指有些程序過於龐大(包含幾十萬條以至幾百萬條指令),成本過高而可靠性則比較差。於是提出了軟體工程的概念,目的在於使軟體開發遵守嚴格的規范,使用一套可靠的方法,從而保證質量。現代軟體工程的方向是形式化和自動化,而形式化的目的在於自動化。這里所說的自動化就是將程序設計中可以由機器來完成的工作,盡量交給機器去做。中心課題之一是程序工具和環境的研究。程序工具是指輔助人編程序的程序,如編譯程序、編輯程序、排錯程序等;程序環境則是指一套結合起來使用的用來輔助人編程序的程序工具。人工智慧 用計算機模擬人的智能,特別是模擬思維活動的技術及其有關理論。由於人的思維活動離不開語言,而且人對於某一類問題進行思索和探索解法時,總是需要以關於這一類問題的基本知識(專業知識或常識)作為出發點。於是,知識表示和機器對自然語言的理解就構成人工智慧的兩個重要領域。所謂知識表示,是指將原來用自然語言表示的知識轉換成用符號語言表示的,從而可以儲存在機器內供機器使用的知識。人工智慧的研究角度有探索法的角度和演算法的角度。通常所說的解題演算法是指機械的和總是有結果的方法,而這里所說的演算法卻是廣義的,包括那些機械的而在使用時不一定有結果的演算法。這種方法時常稱作半可判定的方法。
人在解決問題時,時常採用探索法。這種方法具有「試錯法」的性質,也就是說,試驗若干條途徑,一條路走不通時再試另一條,直到問題得到解決時為止。機器可以模擬人用探索法解題的思維活動。但由於可能途徑的數目非常之大,不可能進行窮舉式的探索。人一般是只選出一些最有希望得到結果的途徑去進行探索。人的這種能力,就是進行創造性思維的能力。這是機器極難模擬的事情。採用演算法角度,使用特定的解題演算法或半可判定的方法時,會遇到另一方面的困難。那就是當問題的復雜程度較高時(比如說是指數的),即使問題是有結果的,機器也無法在實際可行的時間內得到結果。在計算機出現的初期,人們曾寄希望於機器的高速度,以為在模擬人的思維時,機器可能用它的高速度來換取它所不具有的創造性思維。但通過「組合性爆炸」問題(「組合性爆炸」是指一些組合數學中的問題,在參數增大時,計算時間的增長率時常是指數的,甚至高於指數),人們認識到,單純靠速度不能繞過組合性爆炸所產生的障礙。有無辦法來克服這種困難,尚有待於進一步研究。與其他學科的關系 計算機是由物理元件構成的,迄今主要是由電子元件構成的。因此,物理學的一些分支和電子工程便構成計算機科學的基礎。同時,計算機科學在一定意義上是演算法的科學,而演算法是一個數學概念。因此,數學的某些分支如演算法理論(即可算性理論,又名遞歸函數論)也構成計算機科學的基礎。但計算機科學已發展成為一門獨立的技術科學,既不是電子學的一個分支,也不是數學的一個分支。這是就這個學科的整體而言。至於理論計算機科學,由於它可以看作是計算機科學的數學基礎,在一定意義上,可以看作是數學的一個分支。另一個與計算機科學有密切關系的學科是控制論。控制論作為應用數學方法來研究機械繫統和生命系統中的控制和通信現象的學科,同計算機科學有內容上的交叉,但後者不是它的一部分。自從40年代製成數字計算機以來,計算機的性能有了很大的提高。但在系統結構方面變化不大。一些計算技術發達國家正在研製新一代的計算機。這種計算機的系統結構將與過去40年的機器很不相同,所用的程序設計語言也將是新型的。計算機科學將研究由此出現的新問題,如有關並行計算的問題。
對計算的數學性質的研究大都還是關於串列計算的,對並行計算性質的研究自70年代才發展起來,預計將成為計算機科學的中心課題之一。另一個問題是程序設計的自動化問題。在程序設計方面,明顯的趨勢是將機器能做的盡量交給機器去做。程序環境的研究構成了軟體工程的一個中心課題。形式化方法越來越受到重視,因為它是提高自動化程度所必需的。
早期,雖然英國的劍橋大學和其他大學已經開始教授計算機科學課程,但它只被視為數學或工程學的一個分支,並非獨立的學科。劍橋大學聲稱有世界上第一個傳授計算的資格。世界上第一個計算機科學系是由美國的普渡大學在1962年設立,第一個計算機學院於1980年由美國的東北大學設立。多數大學都把計算機科學系列為獨立的部門,一部分將它與工程系、應用數學系或其他學科聯合。
⑤ 簡述軟體的發展過程
軟體是由計算機程序和程序設計的概念發展演化而來的,是在程序和程序設計發展到一定規模並且逐步商品化的過程中形成的。軟體開發經歷了程序設計階段、軟體設計階段和軟體工程階段的演變過程。
程序設計階段
程序設計階段出現在1946年~1955年。此階段的特點是:尚無軟體的概念,程序設計主要圍繞硬體進行開發,規模很小,工具簡單,無明確分工(開發者和用戶),程序設計追求節省空間和編程技巧,無文檔資料(除程序清單外),主要用於科學計算。 [2]
軟體設計階段
軟體設計階段出現在1956年~1970年。此階段的特點是:硬體環境相對穩定,出現了「軟體作坊」的開發組
軟體工程
織形式。開始廣泛使用產品軟體(可購買),從而建立了軟體的概念。隨著計算機技術的發展和計算機應用的日益普及,軟體系統的規模越來越龐大,高級編程語言層出不窮,應用領域不斷拓寬,開發者和用戶有了明確的分工,社會對軟體的需求量劇增。但軟體開發技術沒有重大突破,軟體產品的質量不高,生產效率低下,從而導致了「軟體危機」的產生。
⑥ 軟體工程是什麼,發展如何
軟體工程(Software Engineering)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科,它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等多方面。 現代社會,軟體幾乎應用於各個行業,如工業、農業、銀行、航空、政府部門等,這些應用促進了經濟和社會的發展,使得人們的工作效率和生活效率得以提高。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。
軟體工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義。
BarryBoehm:運用現代科學技術知識來設計並構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。
IEEE:在軟體工程術語匯編中的定義:軟體工程是:1.將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、運行和維護,即將工程化應用於軟體;2.在1中所述方法的研究
FritzBauer:在NATO會議上給出的定義:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法。
《計算機科學技術網路全書》:軟體工程是應用計算機科學、數學、邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑒傳統工程的原則、方法,以提高質量、降低成本和改進演算法。其中,計算機科學、數學用於構建模型與演算法,工程科學用於制定規范、設計范型(paradigm)、評估成本及確定權衡,管理科學用於計劃、資源、質量、成本等管理。
比較認可的一種定義認為:軟體工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
ISO 9000對軟體工程過程的定義是:軟體工程過程是輸入轉化為輸出的一組彼此相關的資源和活動。