什麼是程式設計意思與概念

  程式設計往往以某種程式設計語言為工具,給出這種語言下的程式。那麼你對程式設計瞭解多少呢?以下是由小編整理關於什麼是程式設計的內容,希望大家喜歡!

  什麼是程式設計

  程式設計是給出解決特定問題程式的過程,是軟體構造活動中的重要組成部分。程式設計往往以某種程式設計語言為工具,給出這種語言下的程式。程式設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。專業的程式設計人員常被稱為程式設計師。

  某種意義上,程式設計的出現甚至早於電子計算機的出現。英國著名詩人拜倫的女兒愛達·勒芙蕾絲曾設計了巴貝奇分析機上計算伯努利數的一個程式。她甚至還建立了迴圈和子程式的概念。由於她在程式設計上的開創性工作,愛達·勒芙蕾絲被稱為世界上第一位程式設計師。

  任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程式設計也不例外。在計算機技術發展的早期,由於機器資源比較昂貴,程式的時間和空間代價往往是設計關心的主要因素;隨著硬體技術的飛速發展和軟體規模的日益龐大,程式的結構、可維護性、複用性、可擴充套件性等因素日益重要。

  另一方面,在計算機技術發展的早期,軟體構造活動主要就是程式設計活動。但隨著軟體技術的發展,軟體系統越來越複雜,逐漸分化出許多專用的軟體系統,如作業系統、資料庫系統、應用伺服器,而且這些專用的軟體系統愈來愈成為普遍的計算環境的一部分。這種情況下軟體構造活動的內容越來越豐富,不再只是純粹的程式設計,還包括資料庫設計、使用者介面設計、介面設計、通訊協議設計和複雜的系統配置過程。

  程式設計的步驟

  分析問題

  對於接受的任務要進行認真的分析,研究所給定的條件,分析最後應達到的目標,找出解決問題的規律,選擇解題的方法,完成實際問題。

  設計演算法

  即設計出解題的方法和具體步驟。

  編寫程式

  將演算法翻譯成計算機程式設計語言,對源程式進行編輯、編譯和連線。

  執行程式,分析結果

  執行可執行程式,得到執行結果。能得到執行結果並不意味著程式正確,要對結果進行分析,看它是否合理。不合理要對程式進行除錯,即通過上機發現和排除程式中的故障的過程。

  編寫程式文件

  許多程式是提供給別人使用的,如同正式的產品應當提供產品說明書一樣,正式提供給使用者使用的程式,必須向用戶提供程式說明書。內容應包括:程式名稱、程式功能、執行環境、程式的裝入和啟動、需要輸入的資料,以及使用注意事項等。

  程式設計的方法

  面向過程

  面向過程的結構化程式設計分三種基本結構:順序結構、選擇結構、迴圈結構

  原則:

  1,自頂向下:指從問題的全域性下手,把一個複雜的任務分解成許多易於控制和處理的子任務,子任務還可能做進一步分解,如此重複,直到每個子任務都容易解決為止。

  2,逐步求精

  3,模組化:指解決一個複雜問題是自頂向下逐層把軟體系統劃分成一個個較小的、相對獨立但又相互關聯的模組的過程。

  注意事項

  1,使用順序、選擇、迴圈等有限的基本結構表示程式邏輯。

  2,選用的控制結構只准許有一個***和一個出口

  3,程式語句組成容易識別的塊,每塊只有一個***和一個出口。

  4,複雜結構應該用基本控制結構進行組合或巢狀來實現。

  5,程式設計語言中沒有的控制結構,可用一段等價的程式段模擬,但要求改程式段在整個系統中應前後一致。

  6,嚴格控制GOTO語句。

  面向物件的程式設計

  面向物件的基本概念

  1,物件

  2,類

  3,封裝

  4,繼承

  5,訊息

  6,多型性

  優點

  1,符合人們認識事物的規律

  2,改善了程式的可讀性

  3,使人機互動更加貼近自然語言

  面向切面程式設計

  Aspect Oriented Programming***AOP***,面向切面程式設計,是一個比較熱門的話題。AOP主要實現的目的是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。比如我們最常見的就是日誌記錄了,舉個例子,我們現在提供一個查詢學生資訊的服務,但是我們希望記錄有誰進行了這個查詢。如果按照傳統的OOP的實現的話,那我們實現了一個查詢學生資訊的服務介面***StudentInfoService***和其實現類 ***StudentInfoServiceImpl.java***,同時為了要進行記錄的話,那我們在實現類***StudentInfoServiceImpl.java***中要新增其實現記錄的過程。這樣的話,假如我們要實現的服務有多個呢?那就要在每個實現的類都新增這些記錄過程。這樣做的話就會有點繁瑣,而且每個實現類都與記錄服務日誌的行為緊耦合,違反了面向物件的規則。那麼怎樣才能把記錄服務的行為與業務處理過程中分離出來呢?看起來好像就是查詢學生的服務自己在進行,但卻是背後日誌記錄對這些行為進行記錄,並且查詢學生的服務不知道存在這些記錄過程,這就是我們要討論AOP的目的所在。AOP的程式設計,好像就是把我們在某個方面的功能提出來與一批物件進行隔離,這樣與一批物件之間降低了耦合性,可以就某個功能進行程式設計。

程式設計是什麼“的人還: