第一章軟件與軟件工程課件_第1頁
第一章軟件與軟件工程課件_第2頁
第一章軟件與軟件工程課件_第3頁
第一章軟件與軟件工程課件_第4頁
第一章軟件與軟件工程課件_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程XX學院計算機專業(yè)教研室SoftwareEngineering

軟件工程是計算機科學與技術(shù)專業(yè)的一門專業(yè)核心課程。通過本課程的學習,使學生掌握系統(tǒng)的軟件開發(fā)理論、技術(shù)和方法,使用正確的工程方法開發(fā)出成本低、可靠性好并在機器上能高效運行的軟件,為今后從事軟件開發(fā)和維護打下堅實的基礎(chǔ)。課程的性質(zhì)、目的與任務第一章軟件與軟件工程

本課程比較全面、系統(tǒng)地介紹軟件工程的概念、技術(shù)與方法。主要內(nèi)容包括:軟件工程概述、軟件生存周期及軟件需求分析、軟件設(shè)計方法、軟件測試技術(shù)等。通過本課程的學習,使學生能真正的了解軟件開發(fā)的整個過程。為了讓學生真正得以實踐,結(jié)合實際軟件開發(fā)項目,讓學生從問題定義開始,經(jīng)過可行性研究、需求分析、概要設(shè)計、詳細設(shè)計、編碼直到最后對自己開發(fā)的軟件進行測試,這樣一個軟件開發(fā)全過程,使學生掌握軟件開發(fā)的基本技能。課程主要內(nèi)容第一章軟件與軟件工程第一章軟件與軟件工程學習本課程的基本要求

本課程是繼程序設(shè)計課程之后,對提高學生軟件開發(fā)能力有重要作用的一門課程。要求學生在學習本課程前應掌握信息管理系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、結(jié)構(gòu)化程序設(shè)計、面向?qū)ο蟪绦蛟O(shè)計以及程序設(shè)計方法論。通過本課程的學習,為學生后期的畢業(yè)設(shè)計環(huán)節(jié)奠定了良好的基礎(chǔ)。引言水利工程建筑工程機械工程…

…軟件工程

本章將對軟件的地位和作用、軟件的特點、軟件的發(fā)展、軟件的危機以及軟件工程學科的形成、軟件生命期等方面的問題和基本概念做詳細介紹。傳統(tǒng)工程新興工程氣象工程生物工程軟件的概念軟件的分類軟件的發(fā)展軟件生存期軟件的危機軟件工程的產(chǎn)生及發(fā)展軟件工程的目標和要求第一章軟件與軟件工程第一節(jié)軟件的概念與特點1、軟件softwaresoft+ware軟制品(軟體)

軟件是計算機系統(tǒng)中與硬件相互依存的另一部分。它包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。第一節(jié)軟件的概念與特點2、軟件特點

軟件是一種邏輯實體,而不是具體的物理實體。因而它具有抽象性軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性第一節(jié)軟件的概念與特點軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式軟件本身是復雜的實際問題的復雜性程序邏輯結(jié)構(gòu)的復雜性軟件成本相當昂貴相當多的軟件工作涉及到社會因素2、軟件特點第一節(jié)軟件的概念與特點磨合調(diào)整磨損用壞修改點實際曲線理想曲線硬件失效率曲線時間失效率時間失效率軟件失效率曲線第一節(jié)軟件的概念與特點軟件技術(shù)的發(fā)展落后于需求時間軟件需求差距軟件技術(shù)硬、軟件成本比例的變化年份成本%軟件1950197019852019硬件軟件復雜性軟件的分類1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應用軟件1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應用軟件1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應用軟件1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應用軟件1、按軟件的功能進行劃分系統(tǒng)軟件支撐軟件應用軟件軟件的分類系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)設(shè)備驅(qū)動程序通信處理程序等軟件的分類支撐軟件文本編輯程序文件格式化程序磁盤向磁帶向數(shù)據(jù)傳輸?shù)某绦虺绦驇煜到y(tǒng)支持需求分析、設(shè)計、實現(xiàn)、測試和支持管理的軟件軟件的分類應用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學計算軟件計算機輔助設(shè)計/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務管理、辦公自動化軟件計算機輔助教學軟件軟件的分類2、按軟件的規(guī)模進行劃分

按開發(fā)軟件所需的人力、時間以及完成的源代碼行數(shù)。軟件的分類類別參加人數(shù)研制期限產(chǎn)品規(guī)模(源代碼行數(shù))微型小型中型大型甚大型極大型112-55-20100-10002000-50001-4周1-6周1-2年2-3年4-5年5-10年約500行約2000行5000-50000行5萬-10萬行100萬行1000萬行軟件的分類

3、按軟件開發(fā)方式劃分軟件項目開發(fā)軟件產(chǎn)品開發(fā)軟件的分類實時處理軟件交互式軟件分時軟件4、按軟件的工作方式劃分批處理軟件軟件的發(fā)展

早期第二階段第三階段第四階段面向批處理多用戶分布式系統(tǒng)強大的桌面系統(tǒng)有限的分布實時嵌入“智能”面向?qū)ο蠹夹g(shù)自定義軟件數(shù)據(jù)庫低成本硬件專家系統(tǒng)軟件產(chǎn)品消費者的影響人工神經(jīng)網(wǎng)絡并行計算網(wǎng)絡計算機195019601970198019902000第二節(jié)軟件生存期

軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機軟件的生存期軟件生存期的六個步驟,即制定計劃、需求分析、設(shè)計、程序編碼、測試及運行維護第二節(jié)軟件生存期第二節(jié)軟件生存期(1)制訂計劃確定要開發(fā)軟件系統(tǒng)的總目標給出功能、性能、可靠性以及接口等方面的要求完成該軟件任務的可行性研究估計可利用的資源(硬件,軟件,人力等)、成本、效益、開發(fā)進度制定出完成開發(fā)任務的實施計劃,連同可行性研究報告,提交管理部門審查第二節(jié)軟件生存期(2)需求分析和定義對用戶提出的要求進行分析并給出詳細的定義編寫軟件需求說明書或系統(tǒng)功能說明書及初步的系統(tǒng)用戶手冊提交管理機構(gòu)評審第二節(jié)軟件生存期(3)軟件設(shè)計概要設(shè)計

把各項需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個模塊都和某些需求相對應詳細設(shè)計

對每個模塊要完成的工作進行具體的描述,為源程序編寫打下基礎(chǔ)編寫設(shè)計說明書,提交評審。第二節(jié)軟件生存期(4)程序編寫把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼,即寫成以某一種特定程序設(shè)計語言表示的“源程序清單”寫出的程序應當是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計相一致的第二節(jié)軟件生存期(5)測試階段單元測試,查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正組裝測試,將已測試過的模塊按一定順序組裝起來按規(guī)定的各項需求,逐項進行有效性測試,決定已開發(fā)的軟件是否合格,能否交付用戶使用第二節(jié)軟件生存期(6)運行/維護改正性維護運行中發(fā)現(xiàn)了軟件中的錯誤需要修正適應性維護為了適應變化了的軟件工作環(huán)境,需做適當變更完善性維護為了增強軟件的功能需做變更第二節(jié)軟件生存期第三節(jié)軟件危機

所謂軟件危機,就是指在軟件開發(fā)和軟件維護過程中所存在的一系列嚴重問題。

現(xiàn)代計算機應用系統(tǒng)中,軟件的地位日益重要和突出。如何滿足日益增長的軟件需求,如何維護應用中的大量已有軟件,已經(jīng)成為了計算機應用系統(tǒng)進一步發(fā)展的瓶頸。軟件危機的表現(xiàn)

軟件開發(fā)沒有真正的計劃性,對軟件開發(fā)進度和軟件開發(fā)成本的估計常常很不準確,計劃的制定帶有很大的盲目因素。對于軟件需求信息的獲取常常不充分,軟件產(chǎn)品往往不能真正地滿足用戶的實際需求。缺乏良好的軟件質(zhì)量評測手段,從而導致軟件產(chǎn)品的質(zhì)量常常得不到保證。軟件危機的表現(xiàn)對于軟件的可理解性、可維護性認識不夠;軟件的可復用性、可維護性不如人意。軟件開發(fā)過程沒有實現(xiàn)“規(guī)范化”,缺乏必要的文檔資料或者文檔資料不合格、不準確,難以進行專業(yè)維護。軟件開發(fā)的人力成本持續(xù)上升。缺乏自動化的軟件開發(fā)技術(shù),軟件開發(fā)的生產(chǎn)率依然低下,遠遠滿足不了急劇增長的軟件需求。產(chǎn)生軟件危機的原因產(chǎn)生軟件危機的原因可以歸納為主、客觀兩個方面。從客觀上來看,軟件不同于硬件,它的生產(chǎn)過程和產(chǎn)品都具有明顯的“不可視”特征,這就導致在完成編碼并且上機運行之前,對于軟件開發(fā)過程的進展情況較難衡量,軟件產(chǎn)品的質(zhì)量也較難進行先期評價,因此,對于開發(fā)軟件的過程進行管理和控制比較困難。產(chǎn)生軟件危機的原因產(chǎn)生軟件危機的原因可以歸納為主、客觀兩個方面。

從主觀上分析,導致軟件危機發(fā)生的另一大原因,可以歸于在計算機系統(tǒng)發(fā)展的早期,軟件開發(fā)的“個體化”特點,主要表現(xiàn)為忽視軟件需求分析的重要性、忽視軟件的可理解性、文檔不完備、輕視軟件的可維護性、過分強調(diào)編碼技巧等等方面。解決軟件危機的途徑

基于軟件危機產(chǎn)生的主、客觀原因,應從軟件工程技術(shù)和軟件工程管理兩方面來采取措施,防范軟件危機的發(fā)生。

從管理層面上考慮,應當注意推廣和使用在實踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并且探索更好的、更有效的技術(shù)和方法,注意積累軟件開發(fā)過程中的經(jīng)驗數(shù)據(jù)財富,逐步消除在計算機系統(tǒng)早期發(fā)展階段形成的一些錯誤概念和做法。解決軟件危機的途徑

從技術(shù)角度考慮,應當開發(fā)和使用更好的軟件開發(fā)工具,提高軟件開發(fā)效率和開發(fā)工作過程的規(guī)范化程度。目前廣為使用的統(tǒng)一建模語言(UML)、各種配置管理工具、缺陷管理工具和自動測試工具都在軟件工程活動中發(fā)揮了很好的作用。計算機輔助軟件工程(CASE)更是目前備受重視的一個旨在實現(xiàn)軟件開發(fā)自動化的新的領(lǐng)域。第四節(jié)軟件工程的產(chǎn)生及發(fā)展1、“軟件工程”----SoftwareEngineering

于1968年NATO組織在德國召開的一次會議上提出把軟件當作一種工業(yè)產(chǎn)品,“采用工程化的原理與方法對軟件進行計劃、開發(fā)、運行和維護”的系統(tǒng)方法。軟件工程不是一門速成的科學,也不是完全可以從書本上學會的,理解與實踐是非常重要的.課堂學習只是涉及軟件工程的基本知識,將來需要在更多的實踐中真正領(lǐng)會與掌握.Programmer

SoftwareEngineerSeCourseadditionaltrainingandpractices第四節(jié)軟件工程的產(chǎn)生及發(fā)展

軟件工程學

軟件開發(fā)技術(shù)

軟件工程管理軟件開發(fā)方法學

軟件工具

軟件工程環(huán)境

軟件工程管理學

軟件經(jīng)濟學軟件工程學的范疇

2、軟件工程學

第四節(jié)軟件工程的產(chǎn)生及發(fā)展3、軟件的演變(即從傳統(tǒng)軟件開發(fā)到現(xiàn)代軟件開發(fā))

程序軟件軟件產(chǎn)品傳統(tǒng)軟件開發(fā)現(xiàn)代軟件開發(fā)1975198920000.00016240營業(yè)額增長曲線80軟件工程三要素軟件工程三要素:方法、工具和過程軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境軟件工程過程定義了:

方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應變化所需要的管理軟件開發(fā)各個階段完成的里程碑軟件工程項目的基本目標付出較低的開發(fā)成本達到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護費用能按時完成開發(fā)工作,及時交付使用第五節(jié)軟件生存周期常見模型瀑布模型螺旋模型演化模型螺旋模型智能模型可行性研究與計劃需求分析設(shè)計實現(xiàn)測試使用和維護維護階段開發(fā)階段計劃階段軟件生存周期的瀑布模型圖1-3軟件生存周期工作量分配圖1-4開發(fā)期工作量分配

螺旋模型原型1原型2原型3可運行原型詳細設(shè)計編碼實現(xiàn)單元測試集成與測試驗收測試需求確認軟件需求軟件產(chǎn)品設(shè)計需求計劃設(shè)計確認與驗證生存期計劃開發(fā)計劃集成與測試風險分析風險分析風險分析累計成本提交線評審

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論