公共基礎(chǔ)知識(shí)總結(jié)之第三章軟件工程基礎(chǔ)

字號(hào):

3.1 軟件工程基本概念
    計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。
    軟件的特點(diǎn)包括:
    (1)軟件是一種邏輯實(shí)體;
    (2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;
    (3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;
    (4)軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;
    (5)軟件復(fù)雜性高,成本昂貴;
    (6)軟件開發(fā)涉及諸多的社會(huì)因素。
    軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。
    軟件危機(jī)主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。
    軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。
    軟件工程包括3個(gè)要素:方法、工具和過程。
    軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng),包含4種基本活動(dòng):
    (1)P——軟件規(guī)格說明;
    (2)D——軟件開發(fā);
    (3)C——軟件確認(rèn);
    (4)A——軟件演進(jìn)。
    軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程。
    軟件生命周期三個(gè)階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動(dòng)階段是:
    (1)可行性研究與計(jì)劃制定;
    (2)需求分析;
    (3)軟件設(shè)計(jì);
    (4)軟件實(shí)現(xiàn);
    (5)軟件測(cè)試;
    (6)運(yùn)行和維護(hù)。
    軟件工程的目標(biāo)和與原則:
    目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。
    基本目標(biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能按時(shí)完成開發(fā),及時(shí)交付使用。
    基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。
    軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。
    軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。
    軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。
    軟件管理學(xué)包括人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。
    軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。
    3.2 結(jié)構(gòu)化治齜椒?BR>  結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計(jì)理論。
    需求分析方法有(1)結(jié)構(gòu)化需求分析方法; (2)面向?qū)ο蟮姆治龅姆椒ā?BR>    從需求分析建立的模型的特性來分:靜態(tài)分析和動(dòng)態(tài)分析。
    結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
    結(jié)構(gòu)化分析的常用工具
    (1)數(shù)據(jù)流圖; (2)數(shù)據(jù)字典; (3)判定樹; (4)判定表。
    數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。
    數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。
    判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。
    判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個(gè)邏輯條件的取值,即完成該加工的一組動(dòng)作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。
    數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。