软件开发工具(第1章:绪论)
一、 軟件開發(fā)工具的由來(lái)
計(jì)算機(jī)語(yǔ)言和軟件開發(fā)工具的發(fā)展和歷史
?
?
機(jī)器語(yǔ)言(第一代語(yǔ)言):難以記憶的、無(wú)意義的、二進(jìn) 制的字符串
匯編語(yǔ)言(第二代語(yǔ)言)針對(duì)難以記憶的、無(wú)意義的、二進(jìn) 制的字符串、人們?cè)噲D用英語(yǔ)中具 有一定意義的單詞(或單詞的縮寫) 來(lái)代替它,這就是所謂“助記憶 碼”,或匯編碼。
高級(jí)程序設(shè)計(jì)語(yǔ)言(第三代語(yǔ)言 FORTRAN ALGOL COBOL )-20世紀(jì)60年代初:優(yōu)點(diǎn):實(shí)現(xiàn)了計(jì)算機(jī)語(yǔ)言對(duì)機(jī)器的獨(dú)立性,可移植性大大增強(qiáng)。 不足:過(guò)程化語(yǔ)言,需要程序員一步一步安排好執(zhí)行的次序
非過(guò)程化語(yǔ)言(第四代語(yǔ)言,4GL):人們希望機(jī)器能夠自動(dòng)地完成更多的工作,包括自動(dòng)安排某些工作的 順序,做到只要給機(jī)器下達(dá)做什么的命令,由機(jī)器自己去安排執(zhí)行的 順序。這就是第四代語(yǔ)言———非過(guò)程化語(yǔ)言的思想。
***********************
操作系統(tǒng):操作系統(tǒng)與匯編語(yǔ)言幾乎同時(shí)出現(xiàn)。 它改善了人們應(yīng)用計(jì)算機(jī)的條件。操作系統(tǒng) 自動(dòng)地完成系統(tǒng)初始化、文件管理、內(nèi)存管 理、作業(yè)管理、處理機(jī)管理等一系列工作, 把計(jì)算機(jī)系統(tǒng)中的各種資源有效地、協(xié)調(diào)地 管理起來(lái),把原先由操作員擔(dān)負(fù)的大部分職 責(zé)接過(guò)來(lái)。
“軟件危機(jī)” : 20世紀(jì)60年代末期
簡(jiǎn)述高級(jí)程序設(shè)計(jì)語(yǔ)言相對(duì)于低級(jí)語(yǔ)言有哪些突破?
①高級(jí)程序設(shè)計(jì)語(yǔ)言突破了與機(jī)器指令一 一對(duì)應(yīng)的限制。
②用盡可能接近自然語(yǔ)言的表達(dá)方式描述人們?cè)O(shè)想的處理過(guò)程,而把這種表 達(dá)方式向機(jī)器指令的轉(zhuǎn)化工作,交給專門的“工具”——編譯系統(tǒng)去完成;
③高級(jí)設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)了對(duì)機(jī)器的獨(dú)立性,提高了程序的可移植性
簡(jiǎn)述高級(jí)程序設(shè)計(jì)語(yǔ)言的不足?
過(guò)程化語(yǔ)言,需要安排執(zhí)行的內(nèi)容與次序,需要考慮解決問(wèn)題的細(xì)節(jié)。清楚 如何解決問(wèn)題,加重了用戶的負(fù)擔(dān)。
二、 軟件開發(fā)工具的概念
**********************************軟件開發(fā)工具************************************************
軟件開發(fā)工具的概念
在高級(jí)程序設(shè)計(jì)語(yǔ)言(第三代語(yǔ)言)的基礎(chǔ)上 為提高軟件開發(fā)的質(zhì)量和效率 從規(guī)劃、分析、設(shè)計(jì)、測(cè)試、文檔和管理等各方面 對(duì)軟件開發(fā)者提供各種不同程度的幫助的一類新型的軟件
軟件開發(fā)工具的發(fā)展過(guò)程
1. 沒有專用的軟件開發(fā)工具階段(20世紀(jì)70年代末-80年代初): 利用通用軟件作為輔助工具幫助開發(fā)人員編寫文檔或畫圖,可以減少 很多工作量,但有很多工作是通用軟件無(wú)法完成的。
2. 專用的軟件開發(fā)工具階段: 是面對(duì)某一工作階段或某一工作任務(wù)的工具。 優(yōu)點(diǎn)是能提高軟件開發(fā)的質(zhì)量和效率。 缺點(diǎn)是一致性的保持困難,對(duì)軟件的開發(fā)缺乏全面的、統(tǒng)一的支撐環(huán)境
3. 集成的軟件開發(fā)環(huán)境階段: 進(jìn)入集成的軟件開發(fā)環(huán)境階段的標(biāo)志是IBM在1989年提出的名為 AD/Cycle的巨大的理論框架。
4. 21世紀(jì)的軟件開發(fā)新階段: 有兩個(gè)鮮明的特點(diǎn): 第一是面向網(wǎng)絡(luò),不僅基于網(wǎng)絡(luò),而且用于網(wǎng)絡(luò)。 第二是開源軟件的興起和運(yùn)用。
為什么說(shuō)軟件是人類知識(shí)與經(jīng)驗(yàn)的結(jié)晶(編-規(guī)-用-提高)?
- 有事先編好的指令(程序),硬件才能完成任務(wù);
- 這些指令就是人們?cè)趯?shí)踐中形成的工作規(guī)范;
- 可以對(duì)不同的數(shù)據(jù)反復(fù)使用;
- 進(jìn)一步提高了人類的能力。
軟件開發(fā)的五個(gè)階段及其特點(diǎn):
最初階段:用機(jī)器語(yǔ)言寫成機(jī)器指令,供硬件執(zhí)行
第二階段:用匯編語(yǔ)言開發(fā)軟件,匯編程序完成轉(zhuǎn)換機(jī)器指令
第三階段:用高級(jí)語(yǔ)言開發(fā)軟件,編譯程序完成轉(zhuǎn)換機(jī)器指令
第四階段:在各種軟件開發(fā)工具幫助下開發(fā)軟件,編譯程序完成轉(zhuǎn)換機(jī)器指令
新階段:由軟件架構(gòu)師完成架構(gòu)設(shè)計(jì),程序員用軟件開發(fā)工具完成程序開發(fā);編譯程序完成轉(zhuǎn)換機(jī)器指令
為什么說(shuō)軟件開發(fā)工具的提出與使用是軟件技術(shù)發(fā)展的一個(gè)新的階段(自動(dòng)-分析設(shè)計(jì) 、 項(xiàng)目版本管理)?
①自動(dòng)化程度的提高,編程中的部分工作已由工具代替執(zhí)行。
②將需求分析和架構(gòu)設(shè)計(jì)包括在軟件工作的范圍之內(nèi),從而使軟件開發(fā) 過(guò)程進(jìn)一步向用戶方面延伸。
③將軟件開發(fā)工作延伸到項(xiàng)目及版本管理。
④吸收了許多管理科學(xué)的內(nèi)容與方法
什么是CASE工具?
- 計(jì)算機(jī)輔助軟件工程(Computer Aided Software Engineering)
- 計(jì)算機(jī)輔助系統(tǒng)工程(Computer Aided System Engineering)
?
三、 軟件開發(fā)工具的功能與性能
******************************軟件開發(fā)的過(guò)程:***************************************
?
?
?軟件開發(fā)工具的功能要求
- 認(rèn)識(shí)與描述客觀系統(tǒng)? :主要用于第一個(gè)階段—需求分析階段
- 存儲(chǔ)及管理開發(fā)過(guò)程中的信息
- 代碼的編寫或生成
- 文檔的編寫或生成
- 軟件項(xiàng)目的管理:為項(xiàng)目管理人員提供支持?
?軟件開發(fā)工具應(yīng)具備的性能(表一方可環(huán))
(1) 表達(dá)能力或描述能力
(2) 保持信息一致性的能力
(3) 使用的方便程度(更重要)
(4) 工具的可靠程度(最重要)
(5) 對(duì)硬件和軟件環(huán)境的要求(不應(yīng)當(dāng)超出它所支持的應(yīng)用軟件的環(huán)境要求)
?
四、 軟件開發(fā)工具的類別
?********************按工作階段劃分******************************
?
?
************************按集成程度劃分**************************
專用工具: 面對(duì)某一工作階段或某一工作任務(wù)
集成工具: 面對(duì)軟件開發(fā)全過(guò)程 依賴于機(jī)器與軟件
?*********************按與硬件、軟件的關(guān)系劃分*****************
依賴于軟硬件 如:設(shè)計(jì)工具
獨(dú)立于軟硬件 如:分析工具、計(jì)劃工具
?
五、 軟件開發(fā)工具的研究與應(yīng)用
轉(zhuǎn)載于:https://www.cnblogs.com/jalja/p/11562323.html
總結(jié)
以上是生活随笔為你收集整理的软件开发工具(第1章:绪论)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库系统原理(第二章关系数据库 )
- 下一篇: 软件开发工具(第2章:软件开发过程及其组