1. 程式人生 > >軟體開發工具總結

軟體開發工具總結

我們學習的這本書叫軟體開發工具,那麼可以從書的名字可以看出來,他與軟體有關。而且是一種工具,那麼工具的作用是什麼?就是幫助人們和輔助人們的,從而方便人們。

一、問題:

1.什麼是軟體開發工具?
2.軟體開發工具能幹什麼?
3.軟體開發工具的由來是什麼?
4.軟體開發工具應用的領域有哪些?
5.軟體開發工具供應什麼樣的人使用?
6.軟體開發工具是自己製造還是購買?
7.軟體開發工具發展方向是什麼?
8.怎樣使用軟體開發工具?

有了這些問題我們就明白學習的目的,有學習的方向了。帶著問題學習才知道自己想要什麼?那就往下走吧!

二、開發過程

開發原因(由來)——過程(問題—解決方法—管理)——理論(對軟體的認識—結構—功能)——技術(巨集觀把控—微觀把控)——使用(效能,功能,問題記錄,維護)——定發展方向

三、分析

*1.軟體開發工具的概念
粗略地說,就是幫助人們開發軟體的工具。

2.能幹什麼也就是它的作用是什麼?
就相當於一個介質,架起使用者和計算機之間的橋樑,所以人們在使用它的時候時候要靠它來方便自己,方便使用者,提高工作效率,降低成本,寧可讓工具多幹也不能讓工作人員多幹,那麼在使用軟體開發的時候肯定要給使用者帶來利益,帶不來利益肯定不會有人用它,也就以為著它要消失,之所以軟體開發工具能延申的現在,那肯定就有它的作用。

3.既然要用軟體開發工具,那就要搞明白它的特徵,目的及要求,應用領域,適用人員,以及在那個階段使用。以及它的動能,效能,以及如何使用它,管理它,更重要的還要維護它,在使用的過程中不能是個人就能上來使用,它還得靠專業的人員來使用。在使用久了,肯定會出現一些故障,導致不能使用,能維護的維護好使用,那不能維護,滿足不了工作人員的需求的時候就要考慮到是購買還是自制,自制的前提是已經達到能自制的水平了,但是自制開發工具一定要堅持短小實用,逐步積累,避免期望過高,貪大求全。那就要考慮成本了,如果自制成本大於購置成本,且安全性,可靠性等不高的時候那就要考慮購置軟體了。在購置軟體開發工具的時候也不能盲目,要分析投入多少資金及人力?通過這個開發軟體能得到那些收益?從經濟上看,是否合理?

4.使用軟體開發工具或者用軟體開發工具開發的話,要對市場分析,調查,做這個專案的發展前景大不大,估算給自己能不能帶來收益,所謂知己知彼,百戰不殆。

5.分析完軟體開發工具之後必須明確工作過程,職責。使用者幹什麼?專案負責人幹什麼?程式設計師幹什麼還有硬體要幹什麼?*
在這裡插入圖片描述

四,重點知識

第1章緒論
*1.【簡答題】軟體開發工具:
在高階程式設計語言的基礎上,為提高軟體的質量和效率,從規劃、分析、設計、測試、成文和管理各方面,對軟體開發者提供各種不同程度幫助的一類廣泛的軟體。

2.【簡答題】如何理解軟體開發工具的概念:
(1)是一類軟體,是開發軟體用的軟體
(2)它是在第三代語言的基礎上發展起來的。
(3)強調對軟體開發全過程中各個階段的支援,即不僅包含狹義的程式設計階段,而是包括了相當廣泛的範圍和相當豐富的內容。

3.【選擇題】(20世紀60年代)初期的高階語言有(FORTRAN)(ALGOL)(COBOL)。
4.【填空題】第三代語言地瓶頸-(處理過程的描述).第三代語言實現了對機器的(獨立性),(抽象)地(邏輯)地描述處理和演算法,提高了程式地(移植性)。第四代語言——(非過程化語言的思想)。

5.【簡答題】軟體的重要性:
(1)軟體是計算機的靈魂
(2)軟體是使用者與計算機之間的橋樑
(3)軟體是人類在各個領域中積累的知識的結晶
(4)軟體是人類文明與知識得以延續的新的載體
(5)軟體是人類進一步成為一個整體,得以進一步相互聯絡的紐帶

6.【簡答題】軟體的困難性
(1)人類社會和客觀世界的複雜性,決定了軟體本身的複雜性
(2)人類知識的豐富多彩,決定了軟體的極大的多樣性
(3)客觀世界的動態性,決定了軟體對可維護性、可重用性越來越高的要求。

7.【選擇題】進入整合的軟體開發環境階段的標誌是IBM公司(AD/Cycle理論框架的提出)。

8.【填空題】進入21世紀以來,第一個特點是:面向網路。第二個特點是:開源軟體。

9.【簡答題】軟體開發新階段的特點(表現):
(1)自動化程度的提高
(2)這一階段的工作明確地把需求分析包括進了軟體工作地範圍之內,從而使軟體開發過程進一步向使用者延伸,離使用者更近了。
(3)把軟體開發工作延伸到專案及版本管理,從而超出了一次程式設計地侷限,而擴充套件到了作為一個不斷髮展地客體生長完善地全過程。
(4)這一階段的研究吸收了許多管理科學的內容與方法

10.【填空題】CASE工具:一種理解是計算機輔助軟體工程,另一種是計算機輔助系統工程,即應用計算機自身處理資訊的巨大能力,幫助人們開發複雜的軟體或應用系統。

11.【填空題】軟體開發工作的起點是初始要求的提出。

12.【填空題】總體設計檔案應包括結構圖,模組清單,公用資料結構。程式的編寫與文件的編寫是兩件並行的工作。

13.【簡答題】軟體開發工具的功能要求:
(1)認識與描述客觀系統
(2)儲存及管理開發過程中的資訊
(3)程式碼的編寫或生成
(4)文件的編制或生成
(5)軟體專案的管理

14.【簡答題】軟體開發工具的效能:
(1)表達能力或描述能力:選擇軟體開發工具時首先要考慮的
(2)保持資訊一致性的能力
(3)使用的方便程度
(4)工具的可靠性
(5)對硬體和軟體環境的要求 :

15.【填空題】按工作階段劃分:設計工具,分析工具,計劃工具。*

第2章軟體開發過程及其組織
*1.【簡答題】軟體開發的基本問題(單個程式設計師遇到的問題)
(1)第一個轉換是使用者對軟體功能的理解與程式設計師對軟體功能的理解之間的轉換
手段:用盡可能標準化的方法編寫程式設計任務書
(2)第二個轉換解決的是人和機器之間的交流與協調問題:人和機器之間的思維方式、工作方式上都有許多根本的區別。
關鍵在於程式設計師的知識水平與實際經驗

2.【簡答題】大型軟體開發中的困難
(1)一致性的保持成為十分困難的問題
(2)測試的困難大大增加。
(3)工作進度難以控制
(4)文件與程式碼的協調十分困難
(5)版本更新帶來的困難

3.【簡答題】大型軟體開發困難產生的原因
(1)這些困難來自大系統的複雜性
(2)許多具有主動性的個人之間的組織與協調本身也會帶來大量的困難
(3)各個應用領域之間的差別也導致這些困難的加重
(4)時間的因素、變化的因素也給軟體開發工作開來許多困難

4.【填空題】結構化程式設計:把程式的結構分解成三種基本模組:處理單元、迴圈機制、二分決策機制

5.【簡答題】如何實施結構化程式設計的思想?
(1)限制甚至不用GOTO語句,絕對禁止超越模組邊界的GOTO語句
(2)子程式儘可能做到只有一個入口、一個出口
(3)程式風格儘量明確、清晰
(4)在程式編寫的同時完成有關的文件編撰,不要拖延時間

6.【選擇題】結構化程式設計方法主要是為(程式設計師)服務的。

7.【填空題】客觀世界的任何事物都是物件,它們都有一些靜態屬性,也都有一些有關的操作。作為一個整體,這些物件對外不必公開這些屬性與操作,稱為“封裝性”

8.【填空題】即插即用 在軟體生產過程中,一部分人專門生產軟體元件,而另一部分人則設計整個軟體的結構,並且把軟體元件插入這個結構,以便迅速地完成大型軟體地研製工作。

9.【選擇題】儘量避免邏輯耦合,而僅限於資料耦合。

10.【簡答題】
好軟體:
1.預定的輸出
2.介面友好
3.可靠性
4.程式碼易讀,文件齊全
5.速度快,處理快

好程式設計師:
1.基本知識和技能
2.開發領域有所瞭解
3.技術環境熟悉

好專案組:
1.工作規範,文件標準
2.嚴格的分工
3.時間表

專案組中的一員必須具有高度的(組織紀律性)和(團隊精神)
如何建立一個好的專案組:
1.有嚴格的、成文的工作規範和文件標準。
2.分工明確
3.制定計劃時間表*

第3章軟體開發工具的理論基礎

*1.【簡答題】軟體開發過程中涉及的資訊主要有哪些?
(1)有關係統環境、現狀及需求的資訊。由使用者提出。
(2)有關軟體的功能設計與物理設計的各種資訊。由分析人員設計。
(3)軟體成果本身,包括程式與文件。由程式設計師編制。
(4)使用者對系統的各種變更要求,以及系統的各種變更的記錄。
前三類是一個開發週期內形成的,第四類資訊是跨越開發週期的。(選擇)

2.【簡答題】使用者介面的基本原則
(1)使用者介面的主要功能是通訊。
(2)介面必須保持一致
(3)介面必須使使用者隨時掌握任務的進展狀況
(4)介面必須能提供幫助
(5)能可讓程式多幹,不可以讓使用者多幹

3.【填空題】人機介面設計時主要(靈活性)和(一致性)矛盾的權衡。

4.【填空題】人機互動手段的八個方面:鍵盤操作、螢幕滾動、選單選擇、幫助系統、滑鼠操作、色彩應用、資料錄入、資訊顯示。

  1. 【簡答題】簡述時序網路的作用:
    主要用於描述系統狀態及其轉換方式,因此常常用於一些實時控制方面的軟體的功能。它的基本概念是狀態與轉換。

  2. 【簡答題】資訊庫的主要內容:
    1.有關軟體外部環境資訊
    2.邏輯設計階段文件和系統說明書。
    3.系統設計階段的文件
    4.編碼階段的所有成果
    5.執行與使用情況的詳細記錄
    6.維護記錄
    7.專案管理與版本管理資訊(有關資訊,人員變更,資金投入,進度計劃,實施情況)

7.【簡答題】專案管理的特點
(1)子任務多,關係複雜
(2)任務不可重複,形勢不斷變更
(3)協調組織的任務十分突出,資源浪費閒置的風險與合理地優化組合、提高效益的機會並存。
(4)資訊處理工作的作用與意義更為突出。浪費和效益究竟何者成為現實,取決於指揮決策的正確與否,而決策的正確則立足於這種管理工作。

8.【簡答題】專案管理的任務(目標)
(1)使產品(或工程)的質量得到有效的控制。
(2)保證整個系統按預定的進度完成。
(3)有效地利用各種資源,儘可能使資源的閒置與浪費減少。
(4)控制與降低成本。
9.【選擇題】專案管理中方法有工程計劃網路方法,如棒狀圖、檢查點方法、排隊論等。*

第4章軟體開發工具的技術要素

*1.【簡答題】軟體開發工具的基本功能
(1)提供描述軟體狀況及其開發過程的概念模式,以協助軟體開發人員認識軟體工作的環境與要求、合理地組織與管理軟體開發的工作過程。
(2)提供儲存和管理有關資訊的機制與手段。
(3)幫助使用者編制、生成及修改各種文件。
(4)幫助使用者編寫程式程式碼,即程式碼生成。
(5)對於歷史資訊進行跨生命週期的管理,把專案執行與版本更新的有關資訊科學地管理起來。

2.【簡答題】軟體開發工具的一般結構
(1)總控部分和人機介面:處於中心位置,是整個工具的資訊入口和排程中心,是使用者和軟體開發工具之間交流資訊、實現所有的支援功能的橋樑。
(2)資訊庫及其管理:資訊庫的結構框架反映了人們對軟體產品及軟體開發過程的基本看法,資訊庫內容的豐富程度則是軟體開發工具的功能與作用的最根本的保證。
(3)程式碼生成和文件生成:是軟體開發工具的兩種主要輸出功能,是最重要的兩個資訊出口。*
*(4)專案管理和版本管理:跨越生命週期的資訊管理

3.【填空題】軟體開發工具的技術原則:面向使用者、保證資訊的準確傳遞、保證系統的開放性或靈活性。

4.【簡答題】簡述資訊庫中儲存的設計階段資料的內容:
第二類資訊是設計成果,包括邏輯設計與物理設計的成果。主要包括資料流程圖、資料字典、系統結構圖、資料庫的邏輯設計、各模組的設計要求以及由此形成的設計文件。

5.【簡答題】資訊庫的管理功能
(1)具備一般的資料庫的管理功能:錄入更新、使用查詢、一致性維護等
(2)與一般資料庫管理系統不同的兩點**:

  1. 資訊之間邏輯聯絡的識別與記錄*
  2. 如何實現定量資訊與文字資訊的協調一致

6.簡答題】專案管理的範圍**
(1)研究與確定開發工作的方針與方法*
(2)開發任務的劃分與分工*
(3)資源狀況,即有多少人力、物力、裝置、軟體、資金,它們現在都在做什麼,是否得到充分利用,是否需要增加投入
(4)人員情況,每個人的進度如何,技術水平如何,是否需要重新培訓,是否需要調動工作
(5)變更情況,需求有什麼變更,環境有什麼變更,人員有什麼變更,在開發期間裝置與技術有什麼變更
(6)質量情況,檢驗的標準是什麼,如何檢驗,由誰來檢驗,用什麼資料檢驗
7.【填空題】版本資訊包括(版本的編號)(功能改變)(模組組成)(文件狀況)(退出時間)(使用者數量)(使用者反映)(封存情況)*

第5章軟體開發工具的使用與開發

1.【簡答題】購置與開發軟體開發工具的權衡因素
(1)取決於準備開發的軟體的性質與要求,這是決定購置還是自行開發的最基本的因素。
(2)取決於開發人員對支援工作與支援程度的實際需要。
(3)工作環境也是決定購置工具還是自制工具的一個重要因素
(4)人員的因素也是必須考慮的。

2.【簡答題】引入軟體開發工具後的組織管理工作有哪些
(1)制定嚴格的使用制度
(2)紀錄使用的詳細過程
(3)培訓使用人員
(4)經常進行審計與評價工作

3.【簡答題】軟體開發工具的購置方法與步驟
(1)明確購買軟體開發工具的目的與要求,這是正確使用軟體開發工具的基礎工作
(2)明確購買軟體工具的環境條件與制約條件*
*(3)市場調查
(4)對於可供選擇的各種工具進行綜合比較
(5)進行測試和檢驗
(6)正式簽約購置
(7)安裝與試用

4.【簡答題】自發研製軟體開發開發工具注意的問題
(1)首先需要從實際出發,設定現實的、有限的目標
(2)自行開發工具一定要堅持短小實用、逐步積累,避免期望過高、貪大求全。
(3)要注意文件的齊全與資料的積累
(4)開發面向實際應用領域的、商品化的軟體開發工具,其難度要比開發為自己用的工具大得多

第6章軟體開發工具的現狀與發展

1.【簡答題】軟體開發工具的發展趨勢
(1)智慧化:就是在軟體開發工具的研究與使用中引入人工智慧、神經網路等技術,使得軟體開發工具對於不確定的資訊、模糊資訊具有更強的處理功能。(名詞解釋)
(2)網路化:網路的應用是計算機應用領域中的一個重要方向,目前利用網路提供條件提高工作效率的軟體開發工具,以及在網路上開發應用軟體工具,正在成為當前發展的一個熱點。
(3)一體化:一體化的趨勢在80年代後期已經十分明顯,進來關於資訊庫的內容及處理功能的討論,從理論上為實現一體化提供了基礎。
(4)標準化:標準化的問題是由軟體部件、組合軟體的想法引起的,為了解決大型軟體開發的困難,需要把軟體開發工作分成兩部分:軟體構件的開發和用這些構件組成大型軟體,要做到這一點,軟體構件必須實現標準化,用構件組成的大型軟體的結構也必須符合一定的標準,否則就不可能提高生成效率。*