亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        2016年計(jì)算機(jī)二級(jí)公共基礎(chǔ)學(xué)習(xí)教程:軟件工程基本概念

        字號(hào):


            一、學(xué)習(xí)目標(biāo)與要求
            1.了解軟件工程的基本概念;
            2.了解軟件工程過程與軟件的生命周期,以及軟件工程的目標(biāo)和原則;
            3.了解利用結(jié)構(gòu)化分析法進(jìn)行軟件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任務(wù);
            4.了解數(shù)據(jù)流圖的使用方法;
            5.了解如何利用結(jié)構(gòu)化設(shè)計(jì)方法進(jìn)行軟件設(shè)計(jì),并了解軟件設(shè)計(jì)的一些常用用工具;
            6.了解軟件測(cè)試的目的和方法,以及軟件測(cè)試的準(zhǔn)則,了解常用的軟件測(cè)試方法的區(qū)別和各自的功能與特點(diǎn);
            7.了解程序調(diào)試的方法和原則。
            二、內(nèi)容要點(diǎn)
            (一)軟件工程基本概念
            1.軟件定義與軟件特點(diǎn)
            1)軟件的定義
            與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。
            2)軟件的特點(diǎn)
            (1)軟件是一種邏輯實(shí)體,而不是物理實(shí)體,具有抽象性;
            (2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;
            (3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;但為了適應(yīng)硬件、環(huán)境以及需求的變化要進(jìn)行修改,會(huì)導(dǎo)致一些錯(cuò)誤的引入,導(dǎo)致軟件失效率升高,從而使得軟件退化;
            (4)軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受到計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;
            (5)軟件復(fù)雜性高,成本昂貴。軟件開發(fā)需要投入大量、高強(qiáng)度的腦力勞動(dòng),成本高,風(fēng)險(xiǎn)大;
            (6)軟件開發(fā)涉及諸多的社會(huì)因素。許多軟件的開發(fā)和運(yùn)行涉及軟件用戶的機(jī)構(gòu)設(shè)置,體制問題以及管理方式等,甚至涉及到人們的觀念和心理,軟件知識(shí)產(chǎn)權(quán)及法律等問題。
            3)軟件的分類
            按功能分,可分為:
            應(yīng)用軟件:為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件
            系統(tǒng)軟件:是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件
            支撐軟件(或工具軟件):介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件
            2.軟件危機(jī)與軟件工程
            1)軟件危機(jī)
            泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。它主要表現(xiàn)在:
            (1)軟件需求的增長(zhǎng)得不到滿足,用戶對(duì)系統(tǒng)不滿意的情況經(jīng)常發(fā)生;
            (2)軟件開發(fā)成本和進(jìn)度無法控制。開發(fā)的成本超預(yù)算和開發(fā)周期的超期經(jīng)常出現(xiàn);
            (3)軟件質(zhì)量難以保證;
            (4)軟件不可維護(hù)或維護(hù)程度非常低;
            (5)軟件成本不斷提高;
            (6)軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。
            2)軟件工程
            軟件工程的定義:是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。
            軟件工程包括3個(gè)要素:方法、工具和過程。
            方法:完成軟件工程項(xiàng)目的技術(shù)手段;
            工具:支持軟件的開發(fā)、管理、文檔生成;
            過程:支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。
            3.軟件工程過程與軟件生命周期
            1)軟件工程過程
            軟件工程過程把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)。支持軟件工程過程的兩方面內(nèi)涵:
            (1)軟件工程過程是指為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動(dòng)。它包括4種基本活動(dòng):
            P—軟件規(guī)格說明。規(guī)定軟件的功能及其運(yùn)行時(shí)的限制;
            D—軟件開發(fā)。產(chǎn)生滿足規(guī)格說明的軟件;
            C—軟件確認(rèn)。確認(rèn)軟件能夠滿足客戶提出的要求;
            A—軟件演進(jìn)過程。為滿足客戶的變更要求,軟件必須在使用的過程中演進(jìn)。
            (2)使用適當(dāng)?shù)馁Y源(包括人員、硬軟件工具、時(shí)間等),為開發(fā)軟件進(jìn)行的一組開發(fā)活動(dòng),在過程結(jié)束時(shí)將輸入(用戶要求)轉(zhuǎn)化為輸出(軟件產(chǎn)品)。
            軟件工程過程是將軟件工程的方法和工具綜合起來,以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開發(fā)的目的。
            2)軟件生命周期
            將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。即軟件的生命周期就是軟件產(chǎn)品從開始考慮其概念開始,到軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。這些活動(dòng)可以有重復(fù),執(zhí)行時(shí)也可以有迭代。
            生命周期的主要階段:
            軟件定義
            軟件開發(fā)
            軟件維護(hù)
            軟件生命周期的主要活動(dòng)階段是:
            (1)可行性研究與計(jì)劃制定:確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務(wù)的實(shí)話計(jì)劃;
            (2)需要分析。對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義;
            (3)軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程;
            (4)軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊(cè)、操作手冊(cè)等面向用戶的文檔,編寫單元測(cè)試計(jì)劃;
            (5)軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分,編寫測(cè)試分析報(bào)告;
            (6)運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要且可能的擴(kuò)充和刪改。
            4.軟件工程的目標(biāo)與原則
            1)軟件工程的目標(biāo)
            軟件工程的目標(biāo):在給定成本、進(jìn)度的情況下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。
            軟件工程需要達(dá)到的基本目標(biāo):
            付出較低的開發(fā)成本
            達(dá)到要求的軟件功能
            取得較好的軟件性能
            開發(fā)的軟件易于移植
            需要較低的維護(hù)費(fèi)用
            能按時(shí)完成開發(fā),及時(shí)交付使用
            軟件工程的理論和技術(shù)性研究的內(nèi)容包括:軟件開發(fā)技術(shù)和軟件工程管理。
            (1)軟件開發(fā)技術(shù)
            軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。軟件開發(fā)方法學(xué)是根據(jù)不同的軟件類型,按不同的觀點(diǎn)和原則,對(duì)軟件開發(fā)中應(yīng)遵循的策略、原則、步驟和必須產(chǎn)生的文檔資料都做出規(guī)定,從而使軟件開發(fā)能夠進(jìn)入規(guī)范化和工程化的階段。
            (2)軟件工程管理
            軟件工程管理:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。
            軟件工程管理學(xué)包括:人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。
            軟件工程經(jīng)濟(jì)學(xué):是研究軟件開發(fā)中成本的估算、成本效益分析的方法和技術(shù),用經(jīng)濟(jì)學(xué)的基本原理事研究軟件工程開發(fā)中的經(jīng)濟(jì)效益問題。
            軟件心理學(xué):從個(gè)體心理、人類行為、組織行為和企業(yè)文化等角度來研究軟件管理和軟件工程。
            2)軟件工程的原則
            (1)抽象。抽取事物取基本的特征和行為,忽略非本質(zhì)細(xì)節(jié)。采用分層次抽象,自頂向下,逐層細(xì)化的辦法控制軟件開發(fā)過程的復(fù)雜性;
            (2)信息隱蔽。采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱藏起來,使模塊接口盡量簡(jiǎn)單;
            (3)模塊化。模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位,應(yīng)有良好的接口定義。塊太大會(huì)使模塊內(nèi)部過渡復(fù)雜,不利于對(duì)模塊的理解和修改,也不利于模塊的調(diào)試和重用;模塊太小會(huì)使程序結(jié)構(gòu)過于復(fù)雜,難于控制;
            (4)局部化。在同一個(gè)物理模塊中集中邏輯上相互關(guān)聯(lián)的計(jì)算資源,保證模塊間具有松散的耦合關(guān)系,模塊內(nèi)部有較強(qiáng)的內(nèi)聚性;
            (5)確定性。所有的概念表達(dá)應(yīng)是確定的、無歧義且規(guī)范。
            (6)一致性。包括程序、數(shù)據(jù)和文檔的整個(gè)軟件系統(tǒng)的各模塊應(yīng)使用已知的概念、符號(hào)和術(shù)語;程序內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致;
            (7)完備性。軟件系統(tǒng)不丟失任何重要成份,完全實(shí)現(xiàn)系統(tǒng)所需要的功能;
            (8)可驗(yàn)證性。開發(fā)大型軟件系統(tǒng)需要對(duì)系統(tǒng)自頂向下,逐層分解。
            5.軟件開發(fā)工具與軟件開發(fā)環(huán)境
            1)軟件開發(fā)工具
            早期的軟件開發(fā),最早使用的是單一的程序設(shè)計(jì)語言,沒有相應(yīng)的開發(fā)工具,效率很低,隨著軟件開發(fā)工具的發(fā)展,提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境,為軟件開發(fā)提供了良好的環(huán)境。
            2)軟件開發(fā)環(huán)境
            軟件開發(fā)環(huán)境或稱軟件工程環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。
            計(jì)算機(jī)輔助軟件工程將各種軟件工具、開發(fā)機(jī)器和一個(gè)存放開發(fā)過程信息的中心數(shù)據(jù)庫(kù)組成起來,形成軟件工程環(huán)境。