freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

南京理工大學(xué)軟件工程專業(yè)復(fù)習(xí)提綱與習(xí)題-展示頁

2024-11-17 00:40本頁面
  

【正文】 、規(guī)范的。這有助于控制解的復(fù)雜性。 如 C 語言程序中的函數(shù)過程, C++語言程序中的類。 這就是信息封裝,使用與實現(xiàn)分離的原則。 抽象 : 抽取事物最基本的特性和行為,忽略非基本的細節(jié)。為達到這些目標,在軟件開發(fā)過程中必須遵循下列軟件工程原則。還有一些目標是彼此互斥的,例如,低開發(fā)成本與軟件可靠性之間,提高軟件性能與軟件可移植性之間,就存在沖突。 圖 軟件工程目標之間的關(guān)系 圖 表明了軟件工程目標之間存在的相互關(guān)系。能按時完成開發(fā)工作,及時交付使用。開發(fā)的軟件易于移植; 達到要求的軟件功能; 所謂成功指的是達到以下幾個主要的目標: 過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑。 CASE 將各種軟件工具、開發(fā)機器和一個存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來形成一 個軟件工程環(huán)境。 軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。 軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)。 后來盡管又有一些人提出了許多更為完善的定義,但主要思想都是強調(diào)在 軟件開發(fā)過程中需要應(yīng)用工程化原則的重要性。 5. 軟件工程的目標和原則 (1) 軟件工程的定義 Fritz Bauer曾經(jīng)為軟件工程下了定義:“軟件工程 是為了經(jīng)濟地獲得能夠在實際機器上有效運行的可靠軟件而建立和使用的一系列完善的工程化原則。 圖 噴泉模型 e) 智能模型 : 智能模型 是 基于知識的軟件開發(fā)模型,它綜合了上述若干模型,并把專 6 家系統(tǒng)結(jié)合在一起。所謂無間隙是指在開發(fā)活動,即分析、設(shè)計和編碼之間不存在明顯的邊界?!皣娙币辉~本身體現(xiàn)了迭代和無間隙特性。 沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的 風(fēng)險分析 。通常把第一次得到的試驗性產(chǎn)品稱為“ 原型”。 b) 演化模型 : 由于在項目開發(fā)的初始階段人們對軟件的需求認識常常不夠清晰,因而使得開發(fā)項目難于做到一次開發(fā)成功,出現(xiàn)返工再開發(fā)在所難免。實際情況是,每項開發(fā)活動均 處于一個質(zhì)量環(huán)(輸入 處理 輸出 評審)中。并且規(guī)定了它們自上而下,相互銜接的固定次序,如同瀑布流水,逐級下落。 a) 瀑布模型 : 瀑布模型規(guī)定了各項軟件工程活動,包括:制定開發(fā)計劃,進行需求分析和說明,軟件設(shè)計,程序編碼。運行/維護 : 已交付的軟件投入正式使用, 并在 運行 過程中進行適當(dāng)?shù)木S護。軟件測試 : 在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分。程序編寫 : 把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。編寫設(shè)計說明書,提交評審。軟件設(shè)計 : 把已確定了的各項需求轉(zhuǎn)換成一個相應(yīng)的體系結(jié)構(gòu)。編寫出軟件需求說明書及初步的用戶手冊,提交管理機構(gòu)評審。 我們稱其為計算機軟件的生存周期。 事實上,軟件工程過程是一個軟件開發(fā)機構(gòu)針對某一類軟件產(chǎn)品為自己規(guī)定的工作步 4 驟,它應(yīng)當(dāng)是科學(xué)的、合理的,否則必將影響到軟件產(chǎn)品的質(zhì)量。 A (Action) : 軟件演進。 C (Check) : 軟件確認。 D (Do) : 軟件開發(fā)。 P (Plan) : 軟件規(guī)格說明。 (1) 軟件工程過程 (Software Engineering Process) 軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動。 4. 軟件工程過程和軟件生存周期 許多計算機和軟件科學(xué)家嘗試,把其它工程領(lǐng)域中行之有效的工程學(xué)知識運用到軟件開發(fā)工作中來。 (4) 未能在測試階段充分做好檢測工作,提交用戶的軟件質(zhì)量差,在運行中暴露出大量的問題。 (3) 開發(fā)過程沒有統(tǒng)一的、公認的方法論和規(guī)范指導(dǎo),參加的人員各行其事。 (2) 軟件需求,在開發(fā)的初期階段提得不夠明確,或是未能得到確切的表達。 問題歸結(jié)起來有: (1) 缺乏軟件開發(fā)的經(jīng)驗和有關(guān)軟件開發(fā)數(shù)據(jù)的積累 ,使得開發(fā)工作的計劃很難制定。致使問題積累起來,形成了日益尖銳的矛盾。 在軟件技術(shù)發(fā)展的第二階段,隨著計算機硬件技術(shù)的進步,要求軟件能與之相適應(yīng)。進入軟件工程階段以后,軟件開發(fā)的成果具有社會屬性,它要在市場中流通以滿足廣大用戶的需要。 (2) 軟件的需求是軟件發(fā)展的動力。隨著計算機的廣泛使用,人們要求這些程序容易看懂、容易使用,并且容易修改和擴充。 50 年代到 60 年代時,程序設(shè)計曾經(jīng)被看做是一種任人發(fā)揮創(chuàng)造才能的技術(shù)領(lǐng)域。程序系統(tǒng)階段,約為 60 至 70 年代 其后經(jīng)歷了幾十年的發(fā)展,計算機軟件經(jīng)歷了三個發(fā)展階段: 我們稱這類軟件為關(guān)鍵軟件??赡茚劤蔀?zāi)難性后果。 (6) 按軟件失效的影響進行劃分: 有的軟件在工作中出現(xiàn)了故障,造成軟件失效,可能給軟件整個系統(tǒng)帶來的影響不 大。例如用于人口普查、工業(yè)普查的軟件。例如,文字處理軟件、文本處理軟件、財務(wù)處理軟件、人事管理軟件等。 項目軟件 : 也稱定制軟件,是受某個特定客戶(或 少數(shù)客戶)的委托,由一個或多個軟件開發(fā)機構(gòu)在合同的約束下開發(fā)出來的軟件。批處理軟件 : 把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運行,按順序逐個處理完的軟件。交互式軟件 : 能實現(xiàn)人機通信的軟件。分時軟件 : 允許多個聯(lián)機用戶同時使用計算機。主要包括數(shù)據(jù)采集,分析,輸出三部分。 (3) 按軟件工作方式劃分: 而規(guī)模小、時間短、參加人員少的軟件項目也得有軟件工程概念,遵 循一定的開發(fā)規(guī)范。 (2) 按軟件規(guī)模進行劃分: 按開發(fā)軟件所需的人力、時間以及完成的源程序行數(shù),可確 定六種不同規(guī)模的軟件。 系統(tǒng)軟件 : 能與計算機硬件緊密配合在一起,使計算機系統(tǒng)各個部件、相關(guān)的軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件。它直接 影響到項目的成敗。 (8) 相當(dāng)多的軟件工作涉及到社會因素。 (7) 軟件成本相當(dāng)昂貴。 (6) 軟件本身是復(fù)雜的。為了解除這種依賴性,在軟件開發(fā)中提出了軟件移植的問題。然而它存在退化問題,必須要多次修改(維護)軟件,如圖 (b)所示。任何機械、電子設(shè)備在運行和使用中,其失效率大都遵循如圖 (a)所示的U型曲線(即浴盆曲線)。對軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下功夫。因而它具有抽象性。其中,程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料。 5. 了解軟件工程的基本目標和原則。 3. 了解軟件工程過程及軟件生存期的概念。 1 第一章 軟件工程概述 一、復(fù)習(xí)要求 1. 了解軟件概念、特點及分類方法。 2. 了解軟件發(fā)展及軟件危機的起因。 4. 了解軟件工程的概念及其要素。 二、內(nèi)容提要 1. 軟件的概念、特點 軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。 軟件的特點是: (1) 軟件是一種邏輯實體,而不是具體的物理實體。 (2) 軟件的生產(chǎn)與硬件不同,它沒有明顯的制造過程。 (3) 在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題。而軟件的情況與此不同,因為它不存在磨損和老化問題。 圖 失效率曲線 (4) 軟件的開發(fā)和運行 常常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。 (5) 軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。軟件的復(fù)雜性可能來自它所反映的實際問題的復(fù)雜性,也可能來自程序邏輯結(jié)構(gòu)的復(fù)雜性。軟件的研制工作需要投入大量的、復(fù)雜的、高強度的腦力勞動, 2 它的成本是比較高的。許多軟件的開發(fā)和運行涉及機構(gòu)、體制及管理方式等問題,甚至涉及到人的觀念和人們的心理。 (1) 按軟件的功能進行劃分: 例如,操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、設(shè)備驅(qū)動程序以及通信處理程序等。支撐軟件 : 是協(xié)助用戶開發(fā)軟件的工具性軟件,其中包括幫助程序人員開發(fā)軟件產(chǎn)品的工具,也包括幫助管理人員控制開發(fā)的進程的工具。應(yīng)用軟件 : 是在特定領(lǐng)域內(nèi)開發(fā),為特定目的服務(wù)的一類軟件。 表 類別 參加人員數(shù) 研制期限 產(chǎn)品規(guī)模(源程序行數(shù)) 微型 1 1~ 4 周 小型 1 1~ 6 月 1k~ 2k 中型 2~ 5 1~ 2 年 5k~ 50k 大型 5~ 20 2~ 3 年 50k~ 100k 甚大型 100~ 1000 4~ 5 年 1M(=1000k) 極大型 2020~ 5000 5~ 10 年 1M~ 10M 規(guī)模大、時間長、很多人參加的軟件項目,其開發(fā)工作必須要有軟件工程的知識做指導(dǎo)。其基本原則是一樣的,只是對軟件工程技術(shù)依賴的程度不同而已。實時處理軟件 : 指在事件或數(shù)據(jù)產(chǎn)生時,立即予以處理,并及時反饋信號,控制需要監(jiān)測和控制的過程的軟件。 (4) 按軟件服務(wù)對象的范圍劃分: 例如軍用防空指揮系統(tǒng)、衛(wèi)星控制系統(tǒng)。產(chǎn)品軟件 : 是由軟件開發(fā)機構(gòu)開發(fā)出來直接提供給市場,或是為千百個用戶服務(wù)的軟件。 (5) 按使用的頻度進行劃分: 有的軟件開發(fā)出來僅供一次使用。另外有些 軟件具有較高的使用頻度 ,如天氣預(yù)報軟件。 3 有的軟件一旦失效。例如財務(wù)金融、交通通信、航空航天等 軟件 。 自 20 世紀 40年代中出現(xiàn)了世界上第一臺計算機以后,就有了程序的概念。程序設(shè)計階段,約為 50 至 60 年代 軟件工程階段,約為 70 年代以后 幾十年來最根本的變化體現(xiàn)在: (1) 人們改變了對軟件的看法。當(dāng)時人們認 為,寫出的程序只要能在計算機上得出正確的結(jié)果,程序的寫法可以不受任何約束。于是,程序便從個人按自己意圖創(chuàng)造的“藝術(shù)品”轉(zhuǎn)變?yōu)槟鼙粡V大用戶接受的工程化產(chǎn)品。早期的程序開發(fā)者只是為了滿足自己的需要,這種自給自足的生產(chǎn)方式仍然是其低級階段的表現(xiàn)。 (3) 軟件工作的范圍從只考慮程序的編寫擴展到涉及整個軟件生存周期 。然而軟件技術(shù)的進步一直未能滿足形勢發(fā)展提出的要求。這就導(dǎo)致了軟件危機 。致使經(jīng)費預(yù)算常常突破,進度計劃無法遵循,開發(fā)完成的期限一拖再拖。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,造成開發(fā)后期矛盾的集中暴露。加之設(shè)計和實現(xiàn)過程的資料很不完整;或忽視了每個人工作與其他人的接口,使得軟件很難維護。 如果這些障礙不能突破,進而擺脫困境,軟件的發(fā)展是沒有出路的。經(jīng)過不斷實踐和總結(jié),最后得出一個結(jié)論:按工程化的原則和方法組織軟件開發(fā)工作是有效的,是 擺脫軟件危機的一個主要出路。軟件工程過程通常包含四種基本的過程活動: 規(guī)定軟件的功能及其運行的限制; 產(chǎn)生滿足規(guī)格說明的軟件; 確認軟件能夠完成客戶提出的要求; 為滿足客戶的變更要求,軟件必須在使用的 過程中演進。 (2) 軟件生存周期 (life cycle) 正如同任何事物一樣,軟件也有一個孕育、誕生、成長、成熟、衰亡的生存過程。根據(jù)這一思想,把上述基本的過程活動進一步展開,可以得到軟件生存周期的六個步驟。制定計劃 : 確定要開發(fā)軟件系統(tǒng)的總目標,給出它的功能、性能、可靠性以及接口等方面的要求;研究完成該項軟件任務(wù)的可行性,探討解決問 題的可能方案 ; 制定完成開發(fā)任務(wù)的實施計劃,連同可行性研究報告,提交管理部門審查。需求分析 : 對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。 進而對每個模塊要完成的工作進行具體的描述。 (3) 軟件生存周期模型 軟件生存周期模型是從軟件項目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個生存周期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。測試及運行維護,參看圖 。 圖 軟件生存周期的瀑布模型 然而軟件開發(fā)的實踐表明, 上述各項活動之間并非完全是自上而下,呈線性圖式。只有當(dāng)其工作得到確認,才能繼續(xù)進行下一項活動,在圖 中用向下的箭頭表示;否則返工,在圖 的箭頭表示。 因此,可以先做 試驗開發(fā),其目標只是在于探索可行性,弄清軟件需求;然后在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品。 c) 螺旋模型 : 對于復(fù)雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型沿著螺線旋轉(zhuǎn), 5 如圖 所示,在笛卡爾坐標的四個象限上分別表達了四個方面的活動,即: ? 制定計劃──確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件; ? 風(fēng)險分析──分析所選方案,考慮如何識別和消除風(fēng)險; ? 實施工程──實施軟件開發(fā) ? 客戶評估──評價開發(fā)工作,提出修正建議。 圖 螺旋模型 d) 噴泉模型 : 噴泉 模型對軟件復(fù)用和生存周期中多項開發(fā)活動的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法。系統(tǒng)某個部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進的系統(tǒng)。如圖 所示。該模型應(yīng)用基于規(guī)則的系統(tǒng),采用歸納和推理 機制,幫助軟件人員完成開發(fā)工作,并使維護在系統(tǒng)規(guī)格說明一級進行?!? 1983 年 IEEE 給出的定義為:“軟件工程是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法”,其中,“軟件”的定義為:計算機程序、方法、規(guī)則、相關(guān)的文檔資料以及在計算機上運行時所必需的數(shù)據(jù)。 軟件工程包括 三個要素:方法、工具和過程。它包括了多方面的任務(wù),如項目計劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計、算法過程的設(shè)計、編碼、
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1