![第1章 軟件工程基礎(chǔ)概述_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/49c9b701-3b51-4357-a59d-576fcdcd3427/49c9b701-3b51-4357-a59d-576fcdcd34271.gif)
![第1章 軟件工程基礎(chǔ)概述_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/49c9b701-3b51-4357-a59d-576fcdcd3427/49c9b701-3b51-4357-a59d-576fcdcd34272.gif)
![第1章 軟件工程基礎(chǔ)概述_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/49c9b701-3b51-4357-a59d-576fcdcd3427/49c9b701-3b51-4357-a59d-576fcdcd34273.gif)
![第1章 軟件工程基礎(chǔ)概述_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/49c9b701-3b51-4357-a59d-576fcdcd3427/49c9b701-3b51-4357-a59d-576fcdcd34274.gif)
![第1章 軟件工程基礎(chǔ)概述_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/49c9b701-3b51-4357-a59d-576fcdcd3427/49c9b701-3b51-4357-a59d-576fcdcd34275.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程安排建議課程安排建議 1.2 軟件及軟件工程概述軟件及軟件工程概述2 1.3 軟件生存周期軟件生存周期 3 1.4 軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型 4 1.1 軟件工程的發(fā)展軟件工程的發(fā)展 1 1.5 實(shí)驗(yàn)一實(shí)驗(yàn)一 軟件開(kāi)發(fā)準(zhǔn)備及軟件開(kāi)發(fā)準(zhǔn)備及Visio應(yīng)用應(yīng)用5 1.6 本章小結(jié)本章小結(jié) 6 了解軟件工程的產(chǎn)生和發(fā)展了解軟件工程的產(chǎn)生和發(fā)展 掌握軟件工程的掌握軟件工程的概念、內(nèi)容概念、內(nèi)容和和原理原理 熟悉熟悉軟件生存周期軟件生存周期及及階段任務(wù)階段任務(wù) 掌握常用的軟件開(kāi)發(fā)模型掌握常用的軟件開(kāi)發(fā)模型 掌握軟件開(kāi)發(fā)準(zhǔn)備及掌握軟件開(kāi)發(fā)準(zhǔn)備及Visio應(yīng)用實(shí)驗(yàn)應(yīng)用實(shí)驗(yàn)1.1 軟件工程的發(fā)展軟件工程的
2、發(fā)展 美國(guó)研發(fā)的阿波羅登月飛行計(jì)劃的軟件美國(guó)研發(fā)的阿波羅登月飛行計(jì)劃的軟件,稱為上世紀(jì)世界最精心設(shè)計(jì)大型軟件,花費(fèi)巨額投金和稱為上世紀(jì)世界最精心設(shè)計(jì)大型軟件,花費(fèi)巨額投金和人力,最后仍沒(méi)避免出錯(cuò)。如阿波羅人力,最后仍沒(méi)避免出錯(cuò)。如阿波羅8 8 號(hào)由于太空飛船號(hào)由于太空飛船的一個(gè)計(jì)算機(jī)軟件錯(cuò)誤,造成存儲(chǔ)器的一部分信息丟失;的一個(gè)計(jì)算機(jī)軟件錯(cuò)誤,造成存儲(chǔ)器的一部分信息丟失;阿波羅阿波羅1414號(hào)在飛行的號(hào)在飛行的1010天中,出現(xiàn)了天中,出現(xiàn)了1818個(gè)軟件錯(cuò)誤。個(gè)軟件錯(cuò)誤。案例案例1-11-11.1.1 1.1.1 軟件危機(jī)概述軟件危機(jī)概述 1. 1.軟件危機(jī)問(wèn)題及表現(xiàn)軟件危機(jī)問(wèn)題及表現(xiàn) 軟件危
3、機(jī)軟件危機(jī)(Software crisis)是指在計(jì)算機(jī)軟件研發(fā)、)是指在計(jì)算機(jī)軟件研發(fā)、運(yùn)行、維護(hù)和管理過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。運(yùn)行、維護(hù)和管理過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。20世世紀(jì)紀(jì)60年代出現(xiàn)的軟件危機(jī)直接導(dǎo)致軟件工程的產(chǎn)生。年代出現(xiàn)的軟件危機(jī)直接導(dǎo)致軟件工程的產(chǎn)生。軟件軟件危機(jī)的教訓(xùn)危機(jī)的教訓(xùn)主要包含兩方面的問(wèn)題:一是研發(fā)的軟件必須主要包含兩方面的問(wèn)題:一是研發(fā)的軟件必須滿足用戶對(duì)軟件日益增長(zhǎng)的各種需求,二是強(qiáng)化管理和維滿足用戶對(duì)軟件日益增長(zhǎng)的各種需求,二是強(qiáng)化管理和維護(hù)不斷快速增長(zhǎng)的現(xiàn)有軟件。護(hù)不斷快速增長(zhǎng)的現(xiàn)有軟件。 IBM 公司研發(fā)初期的公司研發(fā)初期的OS/360,共約共
4、約100100萬(wàn)條指萬(wàn)條指令,花費(fèi)了令,花費(fèi)了50005000個(gè)人年;經(jīng)費(fèi)達(dá)數(shù)億美元,而結(jié)果卻令人沮喪,個(gè)人年;經(jīng)費(fèi)達(dá)數(shù)億美元,而結(jié)果卻令人沮喪,錯(cuò)誤多達(dá)錯(cuò)誤多達(dá)2000 2000 個(gè)以上,個(gè)以上,系統(tǒng)根本無(wú)法正常運(yùn)行系統(tǒng)根本無(wú)法正常運(yùn)行。OS/360 OS/360 系統(tǒng)系統(tǒng)的負(fù)責(zé)人的負(fù)責(zé)人BrooksBrooks 這樣描述這樣描述開(kāi)發(fā)過(guò)程的困難和混亂開(kāi)發(fā)過(guò)程的困難和混亂:“像巨獸在像巨獸在泥潭中垂死掙扎,掙扎得越猛,泥漿沾得越多陷入更深,最后泥潭中垂死掙扎,掙扎得越猛,泥漿沾得越多陷入更深,最后沒(méi)有一個(gè)野獸能夠逃脫淹沒(méi)在泥潭中的命運(yùn)沒(méi)有一個(gè)野獸能夠逃脫淹沒(méi)在泥潭中的命運(yùn)” ” 。 案例案例1
5、-21-2 軟件危機(jī)主要表現(xiàn)軟件危機(jī)主要表現(xiàn)在在7個(gè)方面?zhèn)€方面: (1) 軟件系統(tǒng)時(shí)常出現(xiàn)功能、性能不滿意或出現(xiàn)故障等現(xiàn)象。軟件系統(tǒng)時(shí)常出現(xiàn)功能、性能不滿意或出現(xiàn)故障等現(xiàn)象。 (2) 軟件產(chǎn)品的可靠性和質(zhì)量安全等方面時(shí)常達(dá)不到標(biāo)準(zhǔn)。軟軟件產(chǎn)品的可靠性和質(zhì)量安全等方面時(shí)常達(dá)不到標(biāo)準(zhǔn)。軟件產(chǎn)品質(zhì)量難以保證,甚至在開(kāi)發(fā)過(guò)程中就被迫中斷。件產(chǎn)品質(zhì)量難以保證,甚至在開(kāi)發(fā)過(guò)程中就被迫中斷。 (3) 軟件開(kāi)發(fā)管理差,對(duì)成本和進(jìn)度的估計(jì)時(shí)常不準(zhǔn)確。軟件開(kāi)發(fā)管理差,對(duì)成本和進(jìn)度的估計(jì)時(shí)常不準(zhǔn)確。 (4) 系統(tǒng)時(shí)常出現(xiàn)無(wú)法維護(hù)、升級(jí)或更新現(xiàn)象。系統(tǒng)時(shí)常出現(xiàn)無(wú)法維護(hù)、升級(jí)或更新現(xiàn)象。 (5) 軟件開(kāi)發(fā)沒(méi)有標(biāo)準(zhǔn)、完整
6、、統(tǒng)一規(guī)范的文檔資料。計(jì)算機(jī)軟件開(kāi)發(fā)沒(méi)有標(biāo)準(zhǔn)、完整、統(tǒng)一規(guī)范的文檔資料。計(jì)算機(jī)軟件不僅只是程序,還應(yīng)當(dāng)有一整套規(guī)范的文檔資料和售后服務(wù)。軟件不僅只是程序,還應(yīng)當(dāng)有一整套規(guī)范的文檔資料和售后服務(wù)。 (6) 軟件開(kāi)發(fā)效率低,無(wú)法滿足計(jì)算機(jī)應(yīng)用迅速發(fā)展與提高實(shí)軟件開(kāi)發(fā)效率低,無(wú)法滿足計(jì)算機(jī)應(yīng)用迅速發(fā)展與提高實(shí)際需要。際需要。 軟件研發(fā)成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件研發(fā)成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。1.1 軟件工程的發(fā)展軟件工程的發(fā)展2軟件危機(jī)產(chǎn)生的原因軟件危機(jī)產(chǎn)生的原因 產(chǎn)生軟件危機(jī)產(chǎn)生軟件危機(jī)的的主要原因主要原因有:有: (1)軟件開(kāi)發(fā)軟件開(kāi)發(fā)規(guī)模規(guī)模逐漸變大、復(fù)雜
7、度和軟件的逐漸變大、復(fù)雜度和軟件的需求量需求量不斷增加及變化;不斷增加及變化; (2)沒(méi)有按照工程化方式?jīng)]有按照工程化方式運(yùn)作運(yùn)作,開(kāi)發(fā)過(guò)程沒(méi)有統(tǒng)一的,開(kāi)發(fā)過(guò)程沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)和準(zhǔn)則、規(guī)范的標(biāo)準(zhǔn)和準(zhǔn)則、規(guī)范的指導(dǎo)方法指導(dǎo)方法; (3)軟件軟件需求分析與設(shè)計(jì)需求分析與設(shè)計(jì)考慮不周,軟件考慮不周,軟件開(kāi)發(fā)、維護(hù)開(kāi)發(fā)、維護(hù)和管理和管理不到位;不到位; (4)開(kāi)發(fā)人員與用戶或開(kāi)發(fā)人員之間互相的開(kāi)發(fā)人員與用戶或開(kāi)發(fā)人員之間互相的交流溝通交流溝通不夠,不夠,文檔資料文檔資料不完備;不完備; (5)軟件軟件測(cè)試調(diào)試測(cè)試調(diào)試不規(guī)范不細(xì)致,提交的不規(guī)范不細(xì)致,提交的軟件質(zhì)量軟件質(zhì)量不不達(dá)標(biāo);達(dá)標(biāo); (6)忽視軟件
8、運(yùn)行過(guò)程中的忽視軟件運(yùn)行過(guò)程中的正常維護(hù)和管理正常維護(hù)和管理。1.1 軟件工程的發(fā)展軟件工程的發(fā)展3解決軟件危機(jī)的措施解決軟件危機(jī)的措施 解決軟件危機(jī)解決軟件危機(jī)的的主要措施主要措施有有3個(gè)方面:個(gè)方面: (1) 技術(shù)方法。運(yùn)用軟件工程的技術(shù)、方法和標(biāo)準(zhǔn)規(guī)技術(shù)方法。運(yùn)用軟件工程的技術(shù)、方法和標(biāo)準(zhǔn)規(guī)范。范。 (2) 開(kāi)發(fā)工具。選用先進(jìn)高效的軟件工具,同時(shí)采取開(kāi)發(fā)工具。選用先進(jìn)高效的軟件工具,同時(shí)采取切實(shí)可行的實(shí)施策略。切實(shí)可行的實(shí)施策略。 (3) 組織管理。研發(fā)機(jī)構(gòu)需要組織高效、管理制度和組織管理。研發(fā)機(jī)構(gòu)需要組織高效、管理制度和標(biāo)準(zhǔn)嚴(yán)格規(guī)范、職責(zé)明確、質(zhì)量保證、團(tuán)結(jié)互助、齊心協(xié)標(biāo)準(zhǔn)嚴(yán)格規(guī)范、職
9、責(zé)明確、質(zhì)量保證、團(tuán)結(jié)互助、齊心協(xié)力,注重文檔及服務(wù)。力,注重文檔及服務(wù)。1.1 軟件工程的發(fā)展軟件工程的發(fā)展注意注意:為了避免和解決軟件開(kāi)發(fā)中再出現(xiàn)軟為了避免和解決軟件開(kāi)發(fā)中再出現(xiàn)軟件危機(jī)件危機(jī), ,不僅需要標(biāo)準(zhǔn)規(guī)范的技術(shù)措施不僅需要標(biāo)準(zhǔn)規(guī)范的技術(shù)措施, ,更要有強(qiáng)更要有強(qiáng)有力的組織管理保障。各方面密切配合、齊抓有力的組織管理保障。各方面密切配合、齊抓共管,切實(shí)以軟件工程方式方法和規(guī)程進(jìn)行運(yùn)共管,切實(shí)以軟件工程方式方法和規(guī)程進(jìn)行運(yùn)作,才能確保軟件質(zhì)量和信息化的健康發(fā)展。作,才能確保軟件質(zhì)量和信息化的健康發(fā)展。 某企業(yè)銷售軟件開(kāi)發(fā)失敗案例某企業(yè)銷售軟件開(kāi)發(fā)失敗案例。某企業(yè)投資某企業(yè)投資3232
10、萬(wàn)元用于網(wǎng)絡(luò)銷售軟件的開(kāi)發(fā)和建設(shè),軟件開(kāi)發(fā)者為某高萬(wàn)元用于網(wǎng)絡(luò)銷售軟件的開(kāi)發(fā)和建設(shè),軟件開(kāi)發(fā)者為某高校的計(jì)算機(jī)學(xué)院的項(xiàng)目研發(fā)小組,在軟件開(kāi)發(fā)前的需求調(diào)研校的計(jì)算機(jī)學(xué)院的項(xiàng)目研發(fā)小組,在軟件開(kāi)發(fā)前的需求調(diào)研分析階段,該系的教師組織有關(guān)師生在商廈設(shè)備處的計(jì)算機(jī)分析階段,該系的教師組織有關(guān)師生在商廈設(shè)備處的計(jì)算機(jī)室負(fù)責(zé)人陪同下對(duì)各業(yè)務(wù)部門進(jìn)行了調(diào)研,并根據(jù)各業(yè)務(wù)部室負(fù)責(zé)人陪同下對(duì)各業(yè)務(wù)部門進(jìn)行了調(diào)研,并根據(jù)各業(yè)務(wù)部門的需要編制了按業(yè)務(wù)部門劃分的系統(tǒng)功能模塊需求說(shuō)明書。門的需要編制了按業(yè)務(wù)部門劃分的系統(tǒng)功能模塊需求說(shuō)明書。后來(lái),將師生編成若干個(gè)軟件開(kāi)發(fā)小組,分別負(fù)責(zé)各個(gè)功能后來(lái),將師生編成若干個(gè)軟件開(kāi)
11、發(fā)小組,分別負(fù)責(zé)各個(gè)功能模塊研發(fā)。兩年后,大部分的功能模塊開(kāi)發(fā)完畢,但發(fā)現(xiàn)各模塊研發(fā)。兩年后,大部分的功能模塊開(kāi)發(fā)完畢,但發(fā)現(xiàn)各模塊之間的數(shù)據(jù)不能很好地共享和傳輸,與系統(tǒng)有關(guān)的各類模塊之間的數(shù)據(jù)不能很好地共享和傳輸,與系統(tǒng)有關(guān)的各類單證的錄入、校對(duì)和傳輸比原來(lái)的手工處理過(guò)程還復(fù)雜,并單證的錄入、校對(duì)和傳輸比原來(lái)的手工處理過(guò)程還復(fù)雜,并隨著企業(yè)經(jīng)營(yíng)規(guī)模的擴(kuò)大和經(jīng)營(yíng)方式及業(yè)務(wù)的變化,原有的隨著企業(yè)經(jīng)營(yíng)規(guī)模的擴(kuò)大和經(jīng)營(yíng)方式及業(yè)務(wù)的變化,原有的業(yè)務(wù)部門也做了一些調(diào)整,所開(kāi)發(fā)的功能模塊只有業(yè)務(wù)部門也做了一些調(diào)整,所開(kāi)發(fā)的功能模塊只有55%55%能勉能勉強(qiáng)使用。由于大部分學(xué)生畢業(yè)離校,各模塊的開(kāi)發(fā)文檔資料
12、強(qiáng)使用。由于大部分學(xué)生畢業(yè)離校,各模塊的開(kāi)發(fā)文檔資料保存不夠,最后,項(xiàng)目無(wú)法繼續(xù)進(jìn)行而終止并因?yàn)闆](méi)有按期保存不夠,最后,項(xiàng)目無(wú)法繼續(xù)進(jìn)行而終止并因?yàn)闆](méi)有按期達(dá)到合同規(guī)定要求而賠償損失達(dá)到合同規(guī)定要求而賠償損失。案例案例1-31-31.1 軟件工程的發(fā)展軟件工程的發(fā)展1.1.2 軟件工程的發(fā)展過(guò)程軟件工程的發(fā)展過(guò)程 計(jì)算機(jī)軟件從數(shù)值計(jì)算到廣泛應(yīng)用于各行各業(yè),計(jì)算機(jī)軟件從數(shù)值計(jì)算到廣泛應(yīng)用于各行各業(yè),軟件軟件技術(shù)的發(fā)展技術(shù)的發(fā)展經(jīng)歷了程序設(shè)計(jì)階段、程序系統(tǒng)階段、軟件工經(jīng)歷了程序設(shè)計(jì)階段、程序系統(tǒng)階段、軟件工程階段和創(chuàng)新完善軟件工程程階段和創(chuàng)新完善軟件工程4個(gè)階段個(gè)階段,其典型技術(shù)如表,其典型技術(shù)如
13、表1-1所示。所示。 表表1-1 軟件技術(shù)各發(fā)展階段的典型技術(shù)軟件技術(shù)各發(fā)展階段的典型技術(shù)階段階段程序設(shè)計(jì)程序設(shè)計(jì)階段階段程序系統(tǒng)程序系統(tǒng)階段階段軟件工程軟件工程階段階段創(chuàng)新完善軟創(chuàng)新完善軟件工程階段件工程階段軟件典型技術(shù)面向批處理有限的分布自定義軟件 多用戶實(shí)時(shí)處理數(shù)據(jù)庫(kù)軟件產(chǎn)品 分布式系統(tǒng)嵌入“智能”低成本硬件消費(fèi)者的影響 強(qiáng)大桌面系統(tǒng)面向?qū)ο蠹夹g(shù)專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、并行計(jì)算、網(wǎng)格計(jì)算等高新技術(shù)1.1 軟件工程的發(fā)展軟件工程的發(fā)展“軟件工程軟件工程”的發(fā)展的發(fā)展經(jīng)歷了經(jīng)歷了4個(gè)重要階段個(gè)重要階段: 1傳統(tǒng)軟件工程傳統(tǒng)軟件工程 傳統(tǒng)軟件工程傳統(tǒng)軟件工程是指軟件工程產(chǎn)生的初期,也稱為第一代軟件
14、工程。是指軟件工程產(chǎn)生的初期,也稱為第一代軟件工程。 2對(duì)象工程對(duì)象工程 對(duì)象工程對(duì)象工程也稱為第二代軟件工程。也稱為第二代軟件工程。20世紀(jì)世紀(jì)80年代中到年代中到90年代,以年代,以Smalltalk為代表的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言相繼推出,使面向?qū)ο蟮臑榇淼拿嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言相繼推出,使面向?qū)ο蟮姆椒ㄅc技術(shù)得到快速發(fā)展。方法與技術(shù)得到快速發(fā)展。 3過(guò)程工程過(guò)程工程 過(guò)程工程過(guò)程工程也稱為第三代軟件工程。隨著網(wǎng)絡(luò)等高新技術(shù)的出現(xiàn)及也稱為第三代軟件工程。隨著網(wǎng)絡(luò)等高新技術(shù)的出現(xiàn)及信息技術(shù)的廣泛應(yīng)用,軟件規(guī)模和復(fù)雜度不斷增大,開(kāi)發(fā)時(shí)間相應(yīng)持信息技術(shù)的廣泛應(yīng)用,軟件規(guī)模和復(fù)雜度不斷增大,開(kāi)發(fā)
15、時(shí)間相應(yīng)持續(xù)增長(zhǎng),開(kāi)發(fā)人員的增加,致使軟件工程開(kāi)發(fā)和管理的難度不斷增強(qiáng)。續(xù)增長(zhǎng),開(kāi)發(fā)人員的增加,致使軟件工程開(kāi)發(fā)和管理的難度不斷增強(qiáng)。 4構(gòu)件工程構(gòu)件工程 構(gòu)件工程構(gòu)件工程也稱為也稱為第四代軟件工程第四代軟件工程.90起年代起年代,基于構(gòu)件基于構(gòu)件(Component)的開(kāi)發(fā)方法取得重要進(jìn)展,軟件系統(tǒng)的開(kāi)發(fā)可利用已有的可復(fù)用構(gòu)件的開(kāi)發(fā)方法取得重要進(jìn)展,軟件系統(tǒng)的開(kāi)發(fā)可利用已有的可復(fù)用構(gòu)件組裝完成,而無(wú)需從頭開(kāi)始構(gòu)建,從而達(dá)到提高效率和質(zhì)量、降低成組裝完成,而無(wú)需從頭開(kāi)始構(gòu)建,從而達(dá)到提高效率和質(zhì)量、降低成本的目的。本的目的。是指語(yǔ)義完整、語(yǔ)法正確和有可重用價(jià)值的是指語(yǔ)義完整、語(yǔ)法正確和有可重用
16、價(jià)值的單位模塊單位模塊,是軟件重用過(guò),是軟件重用過(guò)程中可以明確辨識(shí)的系統(tǒng);程中可以明確辨識(shí)的系統(tǒng);結(jié)構(gòu)上結(jié)構(gòu)上是語(yǔ)義描述、接口和實(shí)現(xiàn)代碼的復(fù)合體。是語(yǔ)義描述、接口和實(shí)現(xiàn)代碼的復(fù)合體。1.1 軟件工程的發(fā)展軟件工程的發(fā)展1.1 軟件工程的發(fā)展軟件工程的發(fā)展 計(jì)算機(jī)輔助軟件工程計(jì)算機(jī)輔助軟件工程簡(jiǎn)稱簡(jiǎn)稱CASE(Computer Aided Software ngineering)將工具和代碼生成器進(jìn)行集成,為很多)將工具和代碼生成器進(jìn)行集成,為很多軟件系統(tǒng)提供了可靠的解決方案;專家系統(tǒng)和人工智能軟件的軟件系統(tǒng)提供了可靠的解決方案;專家系統(tǒng)和人工智能軟件的應(yīng)用更加廣泛;人工神經(jīng)網(wǎng)絡(luò)軟件開(kāi)闊了信息處
17、理的新途徑;應(yīng)用更加廣泛;人工神經(jīng)網(wǎng)絡(luò)軟件開(kāi)闊了信息處理的新途徑;并行計(jì)算、網(wǎng)絡(luò)技術(shù)、虛擬技術(shù)、多媒體技術(shù)和現(xiàn)代通信技術(shù)并行計(jì)算、網(wǎng)絡(luò)技術(shù)、虛擬技術(shù)、多媒體技術(shù)和現(xiàn)代通信技術(shù)等新技術(shù)新方法改變了原有的工作方式。等新技術(shù)新方法改變了原有的工作方式。: (1)上述案例項(xiàng)目的開(kāi)發(fā)過(guò)程是否存在軟件危機(jī)問(wèn)題?)上述案例項(xiàng)目的開(kāi)發(fā)過(guò)程是否存在軟件危機(jī)問(wèn)題? (2)從案例項(xiàng)目的組織和管理等方面分析導(dǎo)致該項(xiàng)目失敗)從案例項(xiàng)目的組織和管理等方面分析導(dǎo)致該項(xiàng)目失敗的主要原因有哪些?的主要原因有哪些? (3)你認(rèn)為應(yīng)當(dāng)吸取那些教訓(xùn),采取的主要措施有哪些?)你認(rèn)為應(yīng)當(dāng)吸取那些教訓(xùn),采取的主要措施有哪些?1.2 軟件及
18、軟件工程概述軟件及軟件工程概述1.2.1 軟件的概念特點(diǎn)及分類軟件的概念特點(diǎn)及分類 1軟件的概念軟件的概念 程序程序是按事先按照預(yù)定功能性能等要求設(shè)計(jì)和編寫的是按事先按照預(yù)定功能性能等要求設(shè)計(jì)和編寫的指令序列指令序列;軟件軟件(Software)是計(jì)算機(jī)系統(tǒng)運(yùn)行的指令、數(shù)據(jù)、文檔資料和)是計(jì)算機(jī)系統(tǒng)運(yùn)行的指令、數(shù)據(jù)、文檔資料和服務(wù)的集合,包括指令程序、數(shù)據(jù)、相關(guān)文檔和完善的售后服務(wù)的服務(wù)的集合,包括指令程序、數(shù)據(jù)、相關(guān)文檔和完善的售后服務(wù)的完整集合。即;完整集合。即; 軟件軟件=程序程序 + 數(shù)據(jù)數(shù)據(jù) + 文檔文檔 + 服務(wù)服務(wù)。 其中,其中,數(shù)據(jù)數(shù)據(jù)則是使程序正常處理信息的則是使程序正常處理
19、信息的數(shù)據(jù)結(jié)構(gòu)及信息表示數(shù)據(jù)結(jié)構(gòu)及信息表示;文檔文檔(Document)是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的技術(shù)資料。)是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的技術(shù)資料。 軟件分為軟件分為系統(tǒng)軟件系統(tǒng)軟件、支撐軟件(開(kāi)發(fā)環(huán)境)和、支撐軟件(開(kāi)發(fā)環(huán)境)和應(yīng)用軟件等。應(yīng)用軟件等。其中應(yīng)用軟件常稱為信息系統(tǒng)主要是指具體的應(yīng)用系統(tǒng)。其中應(yīng)用軟件常稱為信息系統(tǒng)主要是指具體的應(yīng)用系統(tǒng)。 注意:注意:程序與軟件不同,程序只是軟件的組成部分。“軟件就是程序”的觀點(diǎn)為誤解,也嚴(yán)重影響了軟件工程的正常進(jìn)行和發(fā)展。文檔必不可少,只有程序不能稱為軟件。 軟件工程師軟件工程師是軟件研發(fā)人員的統(tǒng)稱,按照所處的領(lǐng)域不同可以是軟件研發(fā)人員的
20、統(tǒng)稱,按照所處的領(lǐng)域不同可以分為系統(tǒng)分析員、軟件設(shè)計(jì)師、系統(tǒng)架構(gòu)師、程序員、測(cè)試員等。分為系統(tǒng)分析員、軟件設(shè)計(jì)師、系統(tǒng)架構(gòu)師、程序員、測(cè)試員等。 2軟件的特點(diǎn)軟件的特點(diǎn)在軟件的實(shí)際研發(fā)、運(yùn)行、維護(hù)、管理和使用過(guò)程中,通常需在軟件的實(shí)際研發(fā)、運(yùn)行、維護(hù)、管理和使用過(guò)程中,通常需要掌握其要掌握其特點(diǎn)特點(diǎn):(1) (1) 智能性。軟件是人類智能勞動(dòng)的產(chǎn)物、代替和延伸。智能性。軟件是人類智能勞動(dòng)的產(chǎn)物、代替和延伸。(2) (2) 抽象性。軟件屬于邏輯實(shí)體,無(wú)形性和智能性致使軟件難抽象性。軟件屬于邏輯實(shí)體,無(wú)形性和智能性致使軟件難以認(rèn)識(shí)和理解。以認(rèn)識(shí)和理解。(3) (3) 人工方式。軟件的開(kāi)發(fā)、維護(hù)及設(shè)
21、置管理等方面目前尚未人工方式。軟件的開(kāi)發(fā)、維護(hù)及設(shè)置管理等方面目前尚未完全脫離手工方式。完全脫離手工方式。(4) (4) 復(fù)雜性和系統(tǒng)性。復(fù)雜性和系統(tǒng)性。(5) (5) 泛域性。軟件應(yīng)用很廣泛,在信息化中可服務(wù)于各種領(lǐng)域泛域性。軟件應(yīng)用很廣泛,在信息化中可服務(wù)于各種領(lǐng)域、行業(yè)和層面。、行業(yè)和層面。(6) (6) 復(fù)制性。軟件成本相對(duì)比較昂貴,計(jì)算機(jī)軟件是人類創(chuàng)造復(fù)制性。軟件成本相對(duì)比較昂貴,計(jì)算機(jī)軟件是人類創(chuàng)造性的特殊產(chǎn)品。性的特殊產(chǎn)品。(7) (7) 非損及更新性。軟件不存在物理性磨損和老化問(wèn)題,但可非損及更新性。軟件不存在物理性磨損和老化問(wèn)題,但可以退化需要更新升級(jí)。以退化需要更新升級(jí)。
22、1.2 軟件及軟件工程概述軟件及軟件工程概述 圖1-1 硬件失效率曲線 圖1-2 軟件失效率曲線 1.2 軟件及軟件工程概述軟件及軟件工程概述3.軟件的分類軟件的分類(1) 按照軟件功能劃分按照軟件功能劃分(2) 按照軟件規(guī)模劃分按照軟件規(guī)模劃分(微型、小型、中型、大型、超大型5種見(jiàn)表見(jiàn)表1-2)(3)按照軟件工作方式劃分按照軟件工作方式劃分(4)按照軟件服務(wù)對(duì)象的范圍劃分按照軟件服務(wù)對(duì)象的范圍劃分 1.2 軟件及軟件工程概述軟件及軟件工程概述1.2.2 軟件工程的概念及特點(diǎn)軟件工程的概念及特點(diǎn) 1軟件工程的定義軟件工程的定義 按照中國(guó)國(guó)家標(biāo)準(zhǔn)按照中國(guó)國(guó)家標(biāo)準(zhǔn)GB/T 114571995軟件工
23、程術(shù)語(yǔ)軟件工程術(shù)語(yǔ)的的定定義義:(Software Engineering)是軟件開(kāi)發(fā)、運(yùn)行、維)是軟件開(kāi)發(fā)、運(yùn)行、維護(hù)和引退的系統(tǒng)方法。護(hù)和引退的系統(tǒng)方法。 計(jì)算機(jī)科學(xué)技術(shù)百科全書計(jì)算機(jī)科學(xué)技術(shù)百科全書中對(duì)中對(duì)的的定義定義是:應(yīng)用計(jì)是:應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開(kāi)發(fā)軟件的算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,開(kāi)發(fā)軟件的過(guò)程過(guò)程。軟件工程借。軟件工程借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本。其中,計(jì)算機(jī)鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本。其中,計(jì)算機(jī)科學(xué)和數(shù)學(xué)用于構(gòu)建模型與算法,工程科學(xué)用于制定規(guī)范、設(shè)計(jì)范科學(xué)和數(shù)學(xué)用于構(gòu)建模型與算法,工程科學(xué)用于制定規(guī)范、設(shè)計(jì)范型型(p
24、aradigm)、評(píng)估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、評(píng)估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。質(zhì)量、成本等管理。 軟件工程軟件工程 = 工程原理工程原理+技術(shù)方法技術(shù)方法 + 管理技術(shù)管理技術(shù)1.2 軟件及軟件工程概述軟件及軟件工程概述 2軟件工程的特點(diǎn)軟件工程的特點(diǎn) 軟件工程學(xué)軟件工程學(xué)是軟件工程化的思想、規(guī)范、過(guò)程、技術(shù)、環(huán)境是軟件工程化的思想、規(guī)范、過(guò)程、技術(shù)、環(huán)境和工具的集成,是將具體的技術(shù)和方法結(jié)合形成的一個(gè)完整體系。和工具的集成,是將具體的技術(shù)和方法結(jié)合形成的一個(gè)完整體系。 軟件工程學(xué)科軟件工程學(xué)科的的主要特點(diǎn)主要特點(diǎn)是實(shí)踐性和發(fā)展性,軟件工程的是實(shí)踐
25、性和發(fā)展性,軟件工程的問(wèn)問(wèn)題來(lái)源并應(yīng)用于題來(lái)源并應(yīng)用于實(shí)踐,實(shí)踐,最終目的最終目的是有效地生產(chǎn)軟件產(chǎn)品。其是有效地生產(chǎn)軟件產(chǎn)品。其特點(diǎn)特點(diǎn)體現(xiàn)為體現(xiàn)為“3多多”:一是多學(xué)科,不僅包含有關(guān)課題還涉及到計(jì)算機(jī):一是多學(xué)科,不僅包含有關(guān)課題還涉及到計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等多個(gè)學(xué)科;二是多目標(biāo),不科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等多個(gè)學(xué)科;二是多目標(biāo),不僅關(guān)心項(xiàng)目產(chǎn)品及其功能,還有注重質(zhì)量、成本、進(jìn)度、性能、僅關(guān)心項(xiàng)目產(chǎn)品及其功能,還有注重質(zhì)量、成本、進(jìn)度、性能、可靠性、安全性、通用性、可維護(hù)性、有效性和界面等;三是多可靠性、安全性、通用性、可維護(hù)性、有效性和界面等;三是多階段,軟件開(kāi)發(fā)不
26、只是編程,而是由可行性研究、計(jì)劃立項(xiàng)、需階段,軟件開(kāi)發(fā)不只是編程,而是由可行性研究、計(jì)劃立項(xiàng)、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、測(cè)試、運(yùn)行、維護(hù)等階段求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、測(cè)試、運(yùn)行、維護(hù)等階段構(gòu)成完整過(guò)程。構(gòu)成完整過(guò)程。 軟件工程的軟件工程的目的目的是在規(guī)定的時(shí)間和開(kāi)發(fā)經(jīng)費(fèi)內(nèi),開(kāi)發(fā)出滿足是在規(guī)定的時(shí)間和開(kāi)發(fā)經(jīng)費(fèi)內(nèi),開(kāi)發(fā)出滿足用戶需求的、高質(zhì)量的軟件產(chǎn)品。其用戶需求的、高質(zhì)量的軟件產(chǎn)品。其目標(biāo)目標(biāo)是實(shí)現(xiàn)軟件研發(fā)與維護(hù)是實(shí)現(xiàn)軟件研發(fā)與維護(hù)的優(yōu)質(zhì)高效和自動(dòng)化。的優(yōu)質(zhì)高效和自動(dòng)化。1.2 軟件及軟件工程概述軟件及軟件工程概述1.2.3 軟件工程學(xué)及其主要內(nèi)容軟件工程學(xué)及其主要內(nèi)容 1軟
27、件工程概述軟件工程概述 軟件工程學(xué)軟件工程學(xué)是一門研究用工程化方法,構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量是一門研究用工程化方法,構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科,涉及程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)、軟件開(kāi)發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、設(shè)的軟件的學(xué)科,涉及程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)、軟件開(kāi)發(fā)工具、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)、設(shè)計(jì)模式等方面。計(jì)模式等方面。其其主要內(nèi)容主要內(nèi)容包括軟件開(kāi)發(fā)技術(shù)和軟件工程管理兩個(gè)方面。包括軟件開(kāi)發(fā)技術(shù)和軟件工程管理兩個(gè)方面。軟件開(kāi)發(fā)軟件開(kāi)發(fā)技術(shù)技術(shù)包括軟件工程方法、軟件工具和軟件開(kāi)發(fā)環(huán)境;包括軟件工程方法、軟件工具和軟件開(kāi)發(fā)環(huán)境;軟件工程管理學(xué)軟件工程管理學(xué)包含軟件工程包含軟件工程經(jīng)濟(jì)學(xué)和軟件
28、管理學(xué)經(jīng)濟(jì)學(xué)和軟件管理學(xué)。軟件工程原理軟件工程原理軟件目標(biāo)、原則、學(xué)科基礎(chǔ)軟件目標(biāo)、原則、學(xué)科基礎(chǔ)軟件工程過(guò)程軟件工程過(guò)程開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程,如獲取、供應(yīng)、管理、開(kāi)開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程,如獲取、供應(yīng)、管理、開(kāi)發(fā)、運(yùn)作、維護(hù)、支持、剪裁發(fā)、運(yùn)作、維護(hù)、支持、剪裁軟件工程技術(shù)軟件工程技術(shù)開(kāi)發(fā)技術(shù)、管理技術(shù)、度量技術(shù)、維護(hù)技術(shù)、應(yīng)用技術(shù)開(kāi)發(fā)技術(shù)、管理技術(shù)、度量技術(shù)、維護(hù)技術(shù)、應(yīng)用技術(shù)軟件工程方法軟件工程方法開(kāi)發(fā)方法、管理方法、度量方法、維護(hù)方法、應(yīng)用方法、環(huán)開(kāi)發(fā)方法、管理方法、度量方法、維護(hù)方法、應(yīng)用方法、環(huán)境方法境方法軟件工程模型軟件工程模型領(lǐng)域模型、需求模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型
29、、測(cè)試模型領(lǐng)域模型、需求模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型、測(cè)試模型軟件工程管理軟件工程管理項(xiàng)目管理、質(zhì)量管理、文檔管理項(xiàng)目管理、質(zhì)量管理、文檔管理軟件工程度量軟件工程度量規(guī)模、復(fù)雜度、進(jìn)度、費(fèi)用、工作量規(guī)模、復(fù)雜度、進(jìn)度、費(fèi)用、工作量軟件工程環(huán)境軟件工程環(huán)境硬件、網(wǎng)絡(luò)、支撐軟件硬件、網(wǎng)絡(luò)、支撐軟件軟件工程應(yīng)用軟件工程應(yīng)用應(yīng)用軟件工程基本原理、方法、技術(shù)解決特定領(lǐng)域問(wèn)題應(yīng)用軟件工程基本原理、方法、技術(shù)解決特定領(lǐng)域問(wèn)題表表1-3 1-3 軟件工程學(xué)科的主要內(nèi)容軟件工程學(xué)科的主要內(nèi)容1.2 軟件及軟件工程概述軟件及軟件工程概述 軟件工程方法學(xué)軟件工程方法學(xué)是研發(fā)軟件的是研發(fā)軟件的系統(tǒng)方法系統(tǒng)方法,確定軟件開(kāi)
30、發(fā)階段,規(guī),確定軟件開(kāi)發(fā)階段,規(guī)定每一階段的目標(biāo)、任務(wù)、技術(shù)、方法、產(chǎn)品、驗(yàn)收等步驟和完成準(zhǔn)定每一階段的目標(biāo)、任務(wù)、技術(shù)、方法、產(chǎn)品、驗(yàn)收等步驟和完成準(zhǔn)則。具有方法、工具和過(guò)程三個(gè)要素,也稱則。具有方法、工具和過(guò)程三個(gè)要素,也稱軟件工程軟件工程: (1)軟件工程方法:包括軟件開(kāi)發(fā))軟件工程方法:包括軟件開(kāi)發(fā)“如何作如何作”的技術(shù)和管理準(zhǔn)則的技術(shù)和管理準(zhǔn)則及文檔等技術(shù)方法;及文檔等技術(shù)方法; (2)軟件工具:為方法的運(yùn)用提供自動(dòng)或半自動(dòng)的軟件支撐工具)軟件工具:為方法的運(yùn)用提供自動(dòng)或半自動(dòng)的軟件支撐工具的集成環(huán)境;的集成環(huán)境; (3)軟件工程過(guò)程:主要完成任務(wù)的工作階段、工作內(nèi)容、產(chǎn)品、)軟件工
31、程過(guò)程:主要完成任務(wù)的工作階段、工作內(nèi)容、產(chǎn)品、驗(yàn)收的步驟和完成準(zhǔn)則。也有將這一要素確定為驗(yàn)收的步驟和完成準(zhǔn)則。也有將這一要素確定為“組織管理組織管理”,實(shí)際,實(shí)際上改為上改為“過(guò)程與管理過(guò)程與管理”更合適。更合適。1.2 軟件及軟件工程概述軟件及軟件工程概述2軟件工程方法軟件工程方法 常用的常用的軟件工程方法軟件工程方法主要分為主要分為7種類型。種類型。 1)面向功能方法)面向功能方法 面向功能的軟件開(kāi)發(fā)方法面向功能的軟件開(kāi)發(fā)方法也稱為也稱為結(jié)構(gòu)化方法結(jié)構(gòu)化方法,主要采用結(jié)構(gòu)化,主要采用結(jié)構(gòu)化技術(shù),包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn),按照軟件的開(kāi)技術(shù),包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)
32、現(xiàn),按照軟件的開(kāi)發(fā)過(guò)程、結(jié)構(gòu)和順序完成開(kāi)發(fā)任務(wù)。發(fā)過(guò)程、結(jié)構(gòu)和順序完成開(kāi)發(fā)任務(wù)。 2)面向數(shù)據(jù)方法)面向數(shù)據(jù)方法 從目標(biāo)系統(tǒng)輸入、輸出數(shù)據(jù)的結(jié)構(gòu),從目標(biāo)系統(tǒng)輸入、輸出數(shù)據(jù)的結(jié)構(gòu),導(dǎo)出導(dǎo)出程序框架結(jié)構(gòu),程序框架結(jié)構(gòu),再補(bǔ)再補(bǔ)充充其他細(xì)節(jié),得到完整的其他細(xì)節(jié),得到完整的程序結(jié)構(gòu)圖程序結(jié)構(gòu)圖。此方法也可與其他方法結(jié)合,。此方法也可與其他方法結(jié)合,用于用于模塊的詳細(xì)設(shè)計(jì)和數(shù)據(jù)處理等。對(duì)輸入輸出數(shù)據(jù)結(jié)構(gòu)明確的中模塊的詳細(xì)設(shè)計(jì)和數(shù)據(jù)處理等。對(duì)輸入輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)很有效,如商用文件表格處理等。小型系統(tǒng)很有效,如商用文件表格處理等。 1.2 軟件及軟件工程概述軟件及軟件工程概述 3)面向?qū)ο蠓椒ǎ?/p>
33、面向?qū)ο蠓椒?面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ǎ∣bject-Oriented Method,OOM)是一種將)是一種將面面向?qū)ο蟮乃枷胂驅(qū)ο蟮乃枷霊?yīng)用于應(yīng)用于軟件開(kāi)發(fā)過(guò)程中,指導(dǎo)開(kāi)發(fā)活動(dòng)的軟件開(kāi)發(fā)過(guò)程中,指導(dǎo)開(kāi)發(fā)活動(dòng)的系統(tǒng)方法系統(tǒng)方法。將。將對(duì)象作為數(shù)據(jù)和對(duì)數(shù)據(jù)的操作相結(jié)合的軟件構(gòu)件,用對(duì)象作為數(shù)據(jù)和對(duì)數(shù)據(jù)的操作相結(jié)合的軟件構(gòu)件,用對(duì)象分解對(duì)象分解取代了取代了傳統(tǒng)方法的功能分解。傳統(tǒng)方法的功能分解?;舅枷牖舅枷胧牵簩?duì)問(wèn)題領(lǐng)域進(jìn)行自然的分割,以是:對(duì)問(wèn)題領(lǐng)域進(jìn)行自然的分割,以更接近人類通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信息更接近人類通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信息實(shí)體
34、進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問(wèn)題的實(shí)體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問(wèn)題的求解過(guò)程。面向?qū)ο蟮拈_(kāi)發(fā)方法以對(duì)象作為最基本的元素,是分析和求解過(guò)程。面向?qū)ο蟮拈_(kāi)發(fā)方法以對(duì)象作為最基本的元素,是分析和解決問(wèn)題的解決問(wèn)題的核心核心。OOM的的要素要素是對(duì)象、類、繼承以及消息通信??墒菍?duì)象、類、繼承以及消息通信??筛爬楦爬椋?面向?qū)ο竺嫦驅(qū)ο?對(duì)象對(duì)象+類類+繼承繼承+消息通信消息通信 實(shí)際上,所有按照這樣四個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的軟件系統(tǒng),都可以實(shí)際上,所有按照這樣四個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的軟件系統(tǒng),都可以認(rèn)為是面向?qū)ο蟮摹UJ(rèn)為是面向?qū)ο蟮?。OOM由由OOA(面向?qū)ο?/p>
35、的分析)、(面向?qū)ο蟮姆治觯?、OOD(面向(面向?qū)ο蟮脑O(shè)計(jì))和對(duì)象的設(shè)計(jì))和OOP(面向?qū)ο蟮某绦蛟O(shè)計(jì))三部分(面向?qū)ο蟮某绦蛟O(shè)計(jì))三部分組成組成。1.2 軟件及軟件工程概述軟件及軟件工程概述 4)面向問(wèn)題方法)面向問(wèn)題方法 面向問(wèn)題方法面向問(wèn)題方法也稱也稱問(wèn)題分析法問(wèn)題分析法(Problem Analysis Method, PAM)是是80年代末由日立公司提出的,是在年代末由日立公司提出的,是在Yourdon方法、方法、Jackson方法和自方法和自底向上的軟件開(kāi)發(fā)方法基礎(chǔ)上揚(yáng)長(zhǎng)避短改進(jìn)的。其底向上的軟件開(kāi)發(fā)方法基礎(chǔ)上揚(yáng)長(zhǎng)避短改進(jìn)的。其基本思想基本思想是:以輸入是:以輸入輸出數(shù)據(jù)結(jié)構(gòu)指導(dǎo)系
36、統(tǒng)的問(wèn)題分解,經(jīng)過(guò)系統(tǒng)分析逐步綜合。輸出數(shù)據(jù)結(jié)構(gòu)指導(dǎo)系統(tǒng)的問(wèn)題分解,經(jīng)過(guò)系統(tǒng)分析逐步綜合。 5)面向方面的開(kāi)發(fā)方法)面向方面的開(kāi)發(fā)方法 面向方面的程序設(shè)計(jì)面向方面的程序設(shè)計(jì)(Aspect-Oriented Programming, AOP)是面是面向?qū)ο笙到y(tǒng)的向?qū)ο笙到y(tǒng)的擴(kuò)展擴(kuò)展,在現(xiàn)有的,在現(xiàn)有的AOP實(shí)現(xiàn)技術(shù)中,可通過(guò)創(chuàng)建實(shí)現(xiàn)技術(shù)中,可通過(guò)創(chuàng)建Aspect庫(kù)庫(kù)或者專用或者專用Aspect語(yǔ)言實(shí)現(xiàn)面向方面的編程。語(yǔ)言實(shí)現(xiàn)面向方面的編程。 6)基于構(gòu)件的開(kāi)發(fā)方法)基于構(gòu)件的開(kāi)發(fā)方法 基于構(gòu)件的開(kāi)發(fā)基于構(gòu)件的開(kāi)發(fā)(Component-Based Development, CBD)或基)或基于構(gòu)件
37、的軟件工程(于構(gòu)件的軟件工程(Component-Based Software Engineering, CBSE)方法是軟件)方法是軟件開(kāi)發(fā)新范型開(kāi)發(fā)新范型。1.2 軟件及軟件工程概述軟件及軟件工程概述 軟件復(fù)用軟件復(fù)用(Software Reuse)或)或軟件重用軟件重用是指將已有的軟件構(gòu)是指將已有的軟件構(gòu)件用于構(gòu)造新的軟件系統(tǒng)的過(guò)程。件用于構(gòu)造新的軟件系統(tǒng)的過(guò)程。軟件復(fù)用方法軟件復(fù)用方法采用的采用的復(fù)用方式復(fù)用方式包包括:括: (1)復(fù)用分析)復(fù)用分析:利用原有的需求分析結(jié)果,進(jìn)一步深入分析比對(duì):利用原有的需求分析結(jié)果,進(jìn)一步深入分析比對(duì)查找異同及特性等。查找異同及特性等。 (2)復(fù)用結(jié)
38、構(gòu))復(fù)用結(jié)構(gòu):主要復(fù)用系統(tǒng)模塊的功能結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)等,并:主要復(fù)用系統(tǒng)模塊的功能結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)等,并進(jìn)行改進(jìn)提高。進(jìn)行改進(jìn)提高。 (3)復(fù)用設(shè)計(jì))復(fù)用設(shè)計(jì):由于復(fù)用受環(huán)境影響小,設(shè)計(jì)結(jié)果比源程序的抽由于復(fù)用受環(huán)境影響小,設(shè)計(jì)結(jié)果比源程序的抽象級(jí)別高,因此可通過(guò)從現(xiàn)有系統(tǒng)中提取全部或不同粒度的設(shè)計(jì)構(gòu)象級(jí)別高,因此可通過(guò)從現(xiàn)有系統(tǒng)中提取全部或不同粒度的設(shè)計(jì)構(gòu)件,或獨(dú)立于具體應(yīng)用開(kāi)發(fā)設(shè)計(jì)構(gòu)件。件,或獨(dú)立于具體應(yīng)用開(kāi)發(fā)設(shè)計(jì)構(gòu)件。 (4)復(fù)用程序)復(fù)用程序:包括目標(biāo)代碼和源代碼的復(fù)用,可通過(guò)連接:包括目標(biāo)代碼和源代碼的復(fù)用,可通過(guò)連接(Link)、綁定、綁定(Binding) 、包含、包含(includ
39、e)等功能,支持對(duì)象鏈接及嵌等功能,支持對(duì)象鏈接及嵌入入(OLE)技術(shù)實(shí)現(xiàn)。技術(shù)實(shí)現(xiàn)。 7)可視化方法)可視化方法1.2 軟件及軟件工程概述軟件及軟件工程概述 3軟件工具軟件工具 軟件工具軟件工具(Software tools)是指支持軟件的開(kāi)發(fā)、維護(hù)、管)是指支持軟件的開(kāi)發(fā)、維護(hù)、管理而專門研發(fā)的計(jì)算機(jī)程序系統(tǒng)。理而專門研發(fā)的計(jì)算機(jī)程序系統(tǒng)。目的目的是提高軟件開(kāi)發(fā)的質(zhì)量和效是提高軟件開(kāi)發(fā)的質(zhì)量和效率,降低軟件開(kāi)發(fā)、維護(hù)和管理的成本率,降低軟件開(kāi)發(fā)、維護(hù)和管理的成本, 支持特定的軟件工程方法,支持特定的軟件工程方法,減少手工方式管理的負(fù)擔(dān)。軟件工具通常由工具、工具接口和工具減少手工方式管理的負(fù)
40、擔(dān)。軟件工具通常由工具、工具接口和工具用戶接口三部分用戶接口三部分構(gòu)成構(gòu)成。工具通過(guò)工具接口與其他工具、操作系統(tǒng)以。工具通過(guò)工具接口與其他工具、操作系統(tǒng)以及通信接口、環(huán)境信息庫(kù)接口等進(jìn)行相連交互。及通信接口、環(huán)境信息庫(kù)接口等進(jìn)行相連交互。 軟件工具種類軟件工具種類繁多、涉及面廣,繁多、涉及面廣,可組成可組成“工具箱工具箱”或或“集成工集成工具具”,如編輯、編譯、正文格式處理,靜態(tài)分析、動(dòng)態(tài)跟蹤、需求,如編輯、編譯、正文格式處理,靜態(tài)分析、動(dòng)態(tài)跟蹤、需求分析、設(shè)計(jì)分析、測(cè)試、模擬和圖形交互等。分析、設(shè)計(jì)分析、測(cè)試、模擬和圖形交互等。按照應(yīng)用階段分為按照應(yīng)用階段分為:計(jì)劃工具、分析工具、設(shè)計(jì)工具、
41、測(cè)試工具等,計(jì)劃工具、分析工具、設(shè)計(jì)工具、測(cè)試工具等,按照功能分為按照功能分為:分:分析設(shè)計(jì)、析設(shè)計(jì)、Web開(kāi)發(fā)、界面開(kāi)發(fā)、項(xiàng)目管理、軟件配置、質(zhì)量保證、開(kāi)發(fā)、界面開(kāi)發(fā)、項(xiàng)目管理、軟件配置、質(zhì)量保證、軟件維護(hù)等。軟件維護(hù)等。1.2 軟件及軟件工程概述軟件及軟件工程概述 4軟件開(kāi)發(fā)環(huán)境軟件開(kāi)發(fā)環(huán)境 軟件開(kāi)發(fā)環(huán)境軟件開(kāi)發(fā)環(huán)境(Software Development Environment)是)是“軟軟件開(kāi)發(fā)環(huán)境是相關(guān)的一組軟件工具集合,它支持一定的軟件開(kāi)發(fā)方法件開(kāi)發(fā)環(huán)境是相關(guān)的一組軟件工具集合,它支持一定的軟件開(kāi)發(fā)方法或按照一定的軟件開(kāi)發(fā)模型組織而成或按照一定的軟件開(kāi)發(fā)模型組織而成”。也稱為軟件
42、工程環(huán)境。也稱為軟件工程環(huán)境(Software Engineering Environment),是包括方法、工具和管理),是包括方法、工具和管理等多種技術(shù)的綜合系統(tǒng)。其設(shè)計(jì)目標(biāo)是簡(jiǎn)化軟件開(kāi)發(fā)過(guò)程,提高軟件等多種技術(shù)的綜合系統(tǒng)。其設(shè)計(jì)目標(biāo)是簡(jiǎn)化軟件開(kāi)發(fā)過(guò)程,提高軟件開(kāi)發(fā)質(zhì)量和效率。開(kāi)發(fā)質(zhì)量和效率。 軟件開(kāi)發(fā)環(huán)境軟件開(kāi)發(fā)環(huán)境應(yīng)具備應(yīng)具備4個(gè)個(gè)特點(diǎn)特點(diǎn): (1) 適應(yīng)性。適應(yīng)用戶要求,環(huán)境中的工具可修改、增加、減少和適應(yīng)性。適應(yīng)用戶要求,環(huán)境中的工具可修改、增加、減少和更新;更新; (2) 堅(jiān)定性。環(huán)境可自我保護(hù),不受用戶和系統(tǒng)影響,可進(jìn)行非預(yù)堅(jiān)定性。環(huán)境可自我保護(hù),不受用戶和系統(tǒng)影響,可進(jìn)行非預(yù)
43、見(jiàn)性的環(huán)境恢復(fù);見(jiàn)性的環(huán)境恢復(fù); (3) 緊密性。各種軟件工具可以密切配合工作,提高效率;緊密性。各種軟件工具可以密切配合工作,提高效率; (4) 可移植性。指軟件工具可以根據(jù)需要進(jìn)行移植。可移植性。指軟件工具可以根據(jù)需要進(jìn)行移植。1.2 軟件及軟件工程概述軟件及軟件工程概述 常用的常用的軟件工程環(huán)境軟件工程環(huán)境具有具有三級(jí)結(jié)構(gòu)三級(jí)結(jié)構(gòu),如圖,如圖1-3所示:所示: (1)核心級(jí)。主要包括核心工具組、數(shù)據(jù)庫(kù)、通訊工核心級(jí)。主要包括核心工具組、數(shù)據(jù)庫(kù)、通訊工具、運(yùn)行支持、功能和與硬件無(wú)關(guān)的移植接口等。具、運(yùn)行支持、功能和與硬件無(wú)關(guān)的移植接口等。 (2)基本級(jí)。一般包括環(huán)境的用戶工具、編譯、編輯基
44、本級(jí)。一般包括環(huán)境的用戶工具、編譯、編輯程序和作業(yè)控制語(yǔ)言的解釋程序等。程序和作業(yè)控制語(yǔ)言的解釋程序等。 (3)應(yīng)用級(jí)。通常指應(yīng)用軟件的開(kāi)發(fā)工具。應(yīng)用級(jí)。通常指應(yīng)用軟件的開(kāi)發(fā)工具。 圖圖1-3 典型的軟件工程環(huán)境典型的軟件工程環(huán)境1.2 軟件及軟件工程概述軟件及軟件工程概述 5軟件工程管理概述軟件工程管理概述 軟件工程管理學(xué)軟件工程管理學(xué)包括軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)和包括軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)和軟件度量學(xué)。其軟件度量學(xué)。其目的目的是是低成本、高效、高質(zhì)量地研發(fā)低成本、高效、高質(zhì)量地研發(fā)出用戶滿意的軟件產(chǎn)品出用戶滿意的軟件產(chǎn)品。軟件工程管理的。軟件工程管理的任務(wù)任務(wù)是有效是有效地組織人員,按照適當(dāng)
45、的技術(shù)、方法,利用好的軟件地組織人員,按照適當(dāng)?shù)募夹g(shù)、方法,利用好的軟件工具工具“又好又快又好又快”地完成預(yù)定的軟件項(xiàng)目。地完成預(yù)定的軟件項(xiàng)目。 軟件工程管理的軟件工程管理的主要內(nèi)容主要內(nèi)容包括軟件人員組織、計(jì)包括軟件人員組織、計(jì)劃管理、費(fèi)用管理、軟件配置管理。劃管理、費(fèi)用管理、軟件配置管理。 1.2 軟件及軟件工程概述軟件及軟件工程概述1.2.41.2.4 軟件過(guò)程及開(kāi)發(fā)過(guò)程軟件過(guò)程及開(kāi)發(fā)過(guò)程 ISO9000ISO9000將將軟件過(guò)程軟件過(guò)程(software processsoftware process)定義定義為:為:“將將輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)輸入轉(zhuǎn)化為輸出的一組彼
46、此相關(guān)的資源和活動(dòng)”。 軟件過(guò)程軟件過(guò)程通常包括通常包括4 4類基本過(guò)程類基本過(guò)程: (1) (1)軟件規(guī)格說(shuō)明:規(guī)定軟件的功能、性能、可靠性及其運(yùn)軟件規(guī)格說(shuō)明:規(guī)定軟件的功能、性能、可靠性及其運(yùn)行環(huán)境等。行環(huán)境等。 (2) (2) 軟件開(kāi)發(fā):研發(fā)滿足規(guī)格說(shuō)明的具體軟件。軟件開(kāi)發(fā):研發(fā)滿足規(guī)格說(shuō)明的具體軟件。 (3) (3) 軟件確認(rèn):確認(rèn)軟件能夠完成客戶提出的需求。軟件確認(rèn):確認(rèn)軟件能夠完成客戶提出的需求。 (4) (4) 軟件演進(jìn):為滿足用戶的變更要求,軟件必須在使用軟件演進(jìn):為滿足用戶的變更要求,軟件必須在使用過(guò)程中引進(jìn)新技術(shù)新方法并根據(jù)新業(yè)務(wù)及時(shí)升級(jí)更新。過(guò)程中引進(jìn)新技術(shù)新方法并根據(jù)新
47、業(yè)務(wù)及時(shí)升級(jí)更新。 具體開(kāi)發(fā)過(guò)程如圖具體開(kāi)發(fā)過(guò)程如圖1-41-4所示。所示。1.2 軟件及軟件工程概述軟件及軟件工程概述 軟件過(guò)程軟件過(guò)程具有可理解性、可見(jiàn)具有可理解性、可見(jiàn)性(過(guò)程的進(jìn)展和結(jié)果可見(jiàn))、可性(過(guò)程的進(jìn)展和結(jié)果可見(jiàn))、可靠性、可支持性(易使用靠性、可支持性(易使用CASE工工具支持)、可維護(hù)性、可接受性具支持)、可維護(hù)性、可接受性(為軟件工程師接受)、開(kāi)發(fā)效率(為軟件工程師接受)、開(kāi)發(fā)效率和健壯性(抵御外部意外錯(cuò)誤的能和健壯性(抵御外部意外錯(cuò)誤的能力)等特性。力)等特性。 軟件工程軟件工程最注重軟件過(guò)程中的最注重軟件過(guò)程中的開(kāi)發(fā)過(guò)程開(kāi)發(fā)過(guò)程,主要包括項(xiàng)目啟動(dòng)、需,主要包括項(xiàng)目啟動(dòng)
48、、需求調(diào)研分析、設(shè)計(jì)(概要設(shè)計(jì)及詳求調(diào)研分析、設(shè)計(jì)(概要設(shè)計(jì)及詳細(xì)設(shè)計(jì))、編碼(實(shí)現(xiàn))、測(cè)試、細(xì)設(shè)計(jì))、編碼(實(shí)現(xiàn))、測(cè)試、部署、測(cè)試和結(jié)束等過(guò)程。如圖部署、測(cè)試和結(jié)束等過(guò)程。如圖1-4所示。所示。圖圖1-4 系統(tǒng)開(kāi)發(fā)過(guò)程系統(tǒng)開(kāi)發(fā)過(guò)程1.2 軟件及軟件工程概述軟件及軟件工程概述 “企業(yè)人事管理信息系統(tǒng)企業(yè)人事管理信息系統(tǒng)”總體功能需求和目標(biāo)要總體功能需求和目標(biāo)要求求。主要功能主要功能是用于支持企事業(yè)單位完成勞動(dòng)人事管理工作,是用于支持企事業(yè)單位完成勞動(dòng)人事管理工作,實(shí)現(xiàn)實(shí)現(xiàn)的的主要目標(biāo)主要目標(biāo)包括:包括:(1)支持企業(yè)高效率完成支持企業(yè)高效率完成勞動(dòng)人事管理的日常業(yè)務(wù)勞動(dòng)人事管理的日常業(yè)務(wù),包
49、括新職工調(diào)入,包括新職工調(diào)入時(shí)人事的管理,職員調(diào)出、辭職、退休等。時(shí)人事的管理,職員調(diào)出、辭職、退休等。(2)支持企業(yè)進(jìn)行支持企業(yè)進(jìn)行勞動(dòng)人事管理勞動(dòng)人事管理及其及其相關(guān)方面的科學(xué)決策相關(guān)方面的科學(xué)決策,如企事業(yè),如企事業(yè)單位領(lǐng)導(dǎo)根據(jù)現(xiàn)有的崗位員工需求情況單位領(lǐng)導(dǎo)根據(jù)現(xiàn)有的崗位員工需求情況決定招聘的崗位及人數(shù)決定招聘的崗位及人數(shù)等。等。 根據(jù)新系統(tǒng)總體功能需求等要求,通過(guò)調(diào)研、論證可以根據(jù)新系統(tǒng)總體功能需求等要求,通過(guò)調(diào)研、論證可以基本確基本確定定系統(tǒng)開(kāi)發(fā)過(guò)程的總體框架系統(tǒng)開(kāi)發(fā)過(guò)程的總體框架。案例案例1-41-41.2 軟件及軟件工程概述軟件及軟件工程概述。步步 驟驟任務(wù)及說(shuō)明任務(wù)及說(shuō)明參與者
50、參與者生成文檔或程序生成文檔或程序可行性分析可行性分析對(duì)項(xiàng)目的技術(shù),功能需求和市場(chǎng)進(jìn)行調(diào)研和初步分析,確定對(duì)項(xiàng)目的技術(shù),功能需求和市場(chǎng)進(jìn)行調(diào)研和初步分析,確定是否需要啟動(dòng)項(xiàng)目是否需要啟動(dòng)項(xiàng)目部門主管部門主管核心技術(shù)人員核心技術(shù)人員可行性分析報(bào)告可行性分析報(bào)告技術(shù)調(diào)研報(bào)告技術(shù)調(diào)研報(bào)告啟動(dòng)項(xiàng)目啟動(dòng)項(xiàng)目正式啟動(dòng)項(xiàng)目,有部門主管制定項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理制定初正式啟動(dòng)項(xiàng)目,有部門主管制定項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理制定初步計(jì)劃,初步計(jì)劃包括設(shè)計(jì)和開(kāi)發(fā)時(shí)間的初步估計(jì)步計(jì)劃,初步計(jì)劃包括設(shè)計(jì)和開(kāi)發(fā)時(shí)間的初步估計(jì)部門主管部門主管核心技術(shù)人員核心技術(shù)人員項(xiàng)目計(jì)劃書項(xiàng)目計(jì)劃書項(xiàng)目合同項(xiàng)目合同需求分析需求分析對(duì)項(xiàng)目詳細(xì)需求分析
51、,編寫需求文檔,對(duì)對(duì)項(xiàng)目詳細(xì)需求分析,編寫需求文檔,對(duì)B/S 結(jié)構(gòu)的系統(tǒng)應(yīng)制結(jié)構(gòu)的系統(tǒng)應(yīng)制作靜態(tài)演示頁(yè)面。需求分析文檔和靜態(tài)演示頁(yè)面需要通過(guò)部作靜態(tài)演示頁(yè)面。需求分析文檔和靜態(tài)演示頁(yè)面需要通過(guò)部門主管審批才能進(jìn)行到下一步驟門主管審批才能進(jìn)行到下一步驟項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理項(xiàng)目小組核心成員項(xiàng)目小組核心成員需求分析說(shuō)明書需求分析說(shuō)明書靜態(tài)演示頁(yè)面靜態(tài)演示頁(yè)面項(xiàng)目計(jì)劃修訂版本項(xiàng)目計(jì)劃修訂版本概要設(shè)計(jì)概要設(shè)計(jì)根據(jù)需求分析進(jìn)行概要設(shè)計(jì)。編寫目的是說(shuō)明對(duì)系統(tǒng)的設(shè)計(jì)根據(jù)需求分析進(jìn)行概要設(shè)計(jì)。編寫目的是說(shuō)明對(duì)系統(tǒng)的設(shè)計(jì)考慮,包括程序系統(tǒng)流程、組織結(jié)構(gòu)、模塊劃分、功能分配、考慮,包括程序系統(tǒng)流程、組織結(jié)構(gòu)、模塊劃分、
52、功能分配、接口設(shè)計(jì)。運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為接口設(shè)計(jì)。運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為詳細(xì)設(shè)計(jì)提供基礎(chǔ)。概要設(shè)計(jì)經(jīng)過(guò)評(píng)審后,項(xiàng)目經(jīng)理通過(guò)部詳細(xì)設(shè)計(jì)提供基礎(chǔ)。概要設(shè)計(jì)經(jīng)過(guò)評(píng)審后,項(xiàng)目經(jīng)理通過(guò)部門主管一起指定項(xiàng)目小組成員。門主管一起指定項(xiàng)目小組成員。項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理項(xiàng)目小組核心成員項(xiàng)目小組核心成員概要設(shè)計(jì)說(shuō)明書概要設(shè)計(jì)說(shuō)明書詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)編制目的是說(shuō)明一個(gè)軟件各個(gè)層次中的每一個(gè)程序詳細(xì)設(shè)計(jì)編制目的是說(shuō)明一個(gè)軟件各個(gè)層次中的每一個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,如果一個(gè)軟件系統(tǒng)比較(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,如果一個(gè)軟件系統(tǒng)比較簡(jiǎn)單,層次很少,可以不單獨(dú)
53、編寫,有關(guān)內(nèi)容合并入概要設(shè)簡(jiǎn)單,層次很少,可以不單獨(dú)編寫,有關(guān)內(nèi)容合并入概要設(shè)計(jì)說(shuō)明書。計(jì)說(shuō)明書。項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理項(xiàng)目小組成員項(xiàng)目小組成員詳細(xì)設(shè)計(jì)文檔詳細(xì)設(shè)計(jì)文檔項(xiàng)目計(jì)劃確定版本項(xiàng)目計(jì)劃確定版本編碼實(shí)現(xiàn)編碼實(shí)現(xiàn)根據(jù)設(shè)計(jì)開(kāi)發(fā)項(xiàng)目,同時(shí)有美工對(duì)操作界面進(jìn)行美化根據(jù)設(shè)計(jì)開(kāi)發(fā)項(xiàng)目,同時(shí)有美工對(duì)操作界面進(jìn)行美化項(xiàng)目經(jīng)理、程序設(shè)計(jì)項(xiàng)目經(jīng)理、程序設(shè)計(jì)員、美工員、美工項(xiàng)目計(jì)劃修訂版本項(xiàng)目計(jì)劃修訂版本調(diào)試調(diào)試項(xiàng)目經(jīng)理提交測(cè)試申請(qǐng),由測(cè)試部門對(duì)項(xiàng)目進(jìn)行測(cè)試,項(xiàng)目項(xiàng)目經(jīng)理提交測(cè)試申請(qǐng),由測(cè)試部門對(duì)項(xiàng)目進(jìn)行測(cè)試,項(xiàng)目小組配合測(cè)試部門修改軟件中的錯(cuò)誤小組配合測(cè)試部門修改軟件中的錯(cuò)誤項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理程序開(kāi)發(fā)人員程序開(kāi)發(fā)人
54、員測(cè)試部門測(cè)試部門測(cè)試申請(qǐng)測(cè)試申請(qǐng)測(cè)試計(jì)劃測(cè)試計(jì)劃測(cè)試報(bào)告測(cè)試報(bào)告項(xiàng)目驗(yàn)收項(xiàng)目驗(yàn)收項(xiàng)目驗(yàn)收歸檔項(xiàng)目驗(yàn)收歸檔部門主管部門主管、項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理項(xiàng)目所有文檔和程序項(xiàng)目所有文檔和程序表1-4 軟件開(kāi)發(fā)工作任務(wù)、人員及輸出 軟件開(kāi)發(fā)過(guò)程軟件開(kāi)發(fā)過(guò)程的具體工作任務(wù)、參與人員及生成文檔或程序,的具體工作任務(wù)、參與人員及生成文檔或程序,可以通過(guò)一個(gè)表具體詳細(xì)地列出來(lái),以便于清楚可以通過(guò)一個(gè)表具體詳細(xì)地列出來(lái),以便于清楚各階段各階段具體具體做什做什么工作么工作,如表,如表1-4所示。所示。1.2 軟件及軟件工程概述軟件及軟件工程概述1.2.5 1.2.5 軟件工程基本原理及原則軟件工程基本原理及原則 1. 1
55、. 軟件工程的基本原理軟件工程的基本原理 軟件工程軟件工程7 7條條基本原理基本原理。 (1 1)用分階段的生存周期計(jì)劃進(jìn)行嚴(yán)格的管理。)用分階段的生存周期計(jì)劃進(jìn)行嚴(yán)格的管理。 (2 2)堅(jiān)持進(jìn)行階段評(píng)審。軟件的質(zhì)量保證工作不能等)堅(jiān)持進(jìn)行階段評(píng)審。軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行。到編碼階段結(jié)束之后再進(jìn)行。 (3 3)實(shí)行嚴(yán)格的產(chǎn)品控制。)實(shí)行嚴(yán)格的產(chǎn)品控制。 (4 4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)。)采用現(xiàn)代程序設(shè)計(jì)技術(shù)。 (5 5)軟件工程結(jié)果應(yīng)能清楚地審查。)軟件工程結(jié)果應(yīng)能清楚地審查。 (6 6)開(kāi)發(fā)小組的人員應(yīng)該少而精。)開(kāi)發(fā)小組的人員應(yīng)該少而精。 (7 7)承認(rèn)不斷改進(jìn)軟
56、件工程實(shí)踐的必要性)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。1.2 軟件及軟件工程概述軟件及軟件工程概述2. 軟件工程的基本原則軟件工程的基本原則 (1) 選取適宜的開(kāi)發(fā)模型。選取適宜的開(kāi)發(fā)模型。 (2) 采用合適的設(shè)計(jì)方法。采用合適的設(shè)計(jì)方法。 (3) 提供高質(zhì)量的工程支撐。提供高質(zhì)量的工程支撐。 (4) 重視軟件工程的管理。重視軟件工程的管理。 1.2 軟件及軟件工程概述軟件及軟件工程概述討論思考討論思考: (1) 軟件和軟件工程的概念軟件和軟件工程的概念? 軟件工程方法學(xué)?軟件工程三軟件工程方法學(xué)?軟件工程三要素要素? (2) 軟件工程開(kāi)發(fā)的方法主要有哪些軟件工程開(kāi)發(fā)的方法主要有哪些? (3)
57、 結(jié)合結(jié)合“人事管理信息系統(tǒng)人事管理信息系統(tǒng)”案例進(jìn)行討論軟件工程?案例進(jìn)行討論軟件工程?1.3 軟件生存周期軟件生存周期1.3.1 軟件生存周期的有關(guān)概念軟件生存周期的有關(guān)概念 軟件生存周期軟件生存周期(Software life cycle)是從開(kāi)始研發(fā)軟件)是從開(kāi)始研發(fā)軟件到軟件停止使用的整個(gè)過(guò)程。是指軟件產(chǎn)品從用戶提出開(kāi)發(fā)到軟件停止使用的整個(gè)過(guò)程。是指軟件產(chǎn)品從用戶提出開(kāi)發(fā)需求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維護(hù),直到最后淘汰的整個(gè)周需求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維護(hù),直到最后淘汰的整個(gè)周期,因此,也稱為期,因此,也稱為軟件生命周期軟件生命周期或或軟件生存期軟件生存期,是軟件工程,是軟件工程的一個(gè)重
58、要概念。的一個(gè)重要概念。 軟件工程中的過(guò)程軟件工程中的過(guò)程對(duì)應(yīng)對(duì)應(yīng)軟件生存周期中的軟件生存周期中的階段階段(Phase) ,也是實(shí)現(xiàn)軟件生產(chǎn)工程化的重要步驟,并賦予各階段相對(duì)獨(dú)也是實(shí)現(xiàn)軟件生產(chǎn)工程化的重要步驟,并賦予各階段相對(duì)獨(dú)立的任務(wù)??梢詫⒁粋€(gè)立的任務(wù)??梢詫⒁粋€(gè)軟件的生存周期軟件的生存周期劃分為劃分為市場(chǎng)調(diào)研、立市場(chǎng)調(diào)研、立項(xiàng)、需求分析、規(guī)劃、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、單元測(cè)項(xiàng)、需求分析、規(guī)劃、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程、單元測(cè)試、集成測(cè)試、運(yùn)行、維護(hù)這幾個(gè)過(guò)程,前一過(guò)程的終點(diǎn)就試、集成測(cè)試、運(yùn)行、維護(hù)這幾個(gè)過(guò)程,前一過(guò)程的終點(diǎn)就是后一過(guò)程的起點(diǎn)。完成階段性工作的標(biāo)志稱為是后一過(guò)程的起點(diǎn)。
59、完成階段性工作的標(biāo)志稱為里程碑里程碑(Milestone),某些重要的里程碑又稱為,某些重要的里程碑又稱為基線基線(Baseline)。1.3 軟件生存周期軟件生存周期 1.3.3 軟件生存周期各階段的任務(wù)軟件生存周期各階段的任務(wù) 軟件生存周期軟件生存周期各階段的各階段的主要任務(wù)主要任務(wù)。 在在GB 8567-2006中將軟件生存周期分為中將軟件生存周期分為7個(gè)階段如圖個(gè)階段如圖1-5所示:所示: (1) 開(kāi)發(fā)策劃。主要完成問(wèn)題定義、可行性論證、制定開(kāi)發(fā)策劃。主要完成問(wèn)題定義、可行性論證、制定開(kāi)發(fā)計(jì)劃和項(xiàng)目申報(bào)工作,明確開(kāi)發(fā)計(jì)劃和項(xiàng)目申報(bào)工作,明確“要解決的問(wèn)題是什么要解決的問(wèn)題是什么”。 (
60、2) 需求分析。需求分析和定義階段任務(wù)不是需求分析。需求分析和定義階段任務(wù)不是具體地解決問(wèn)題,而是確定軟件須具備的具體功能、具體地解決問(wèn)題,而是確定軟件須具備的具體功能、性能等,即性能等,即“必須做什么必須做什么”及其他指標(biāo)要求。及其他指標(biāo)要求。 (3) 概要設(shè)計(jì)。主要設(shè)計(jì)軟件的結(jié)構(gòu),結(jié)構(gòu)的組成模塊,概要設(shè)計(jì)。主要設(shè)計(jì)軟件的結(jié)構(gòu),結(jié)構(gòu)的組成模塊,模塊的層次結(jié)構(gòu)、調(diào)用關(guān)系及功能。并設(shè)計(jì)總體數(shù)據(jù)結(jié)構(gòu)等。模塊的層次結(jié)構(gòu)、調(diào)用關(guān)系及功能。并設(shè)計(jì)總體數(shù)據(jù)結(jié)構(gòu)等。 圖圖1-5 軟件生存周期階段關(guān)系軟件生存周期階段關(guān)系1.3.2 軟件生存周期的階段劃分軟件生存周期的階段劃分 軟件生存周期軟件生存周期階段劃分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)自我管理提升計(jì)劃
- 急診安全文化建設(shè)實(shí)踐計(jì)劃
- 實(shí)驗(yàn)室安全規(guī)范與培訓(xùn)計(jì)劃
- 學(xué)校教學(xué)活動(dòng)安排計(jì)劃
- 秘書在團(tuán)隊(duì)溝通中的角色計(jì)劃
- 小班三維課程與教育理念實(shí)踐計(jì)劃
- 2025年美司那項(xiàng)目建議書
- 2025年中國(guó)異構(gòu)計(jì)算行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告-智研咨詢發(fā)布
- 2025年多通道腦電圖機(jī)項(xiàng)目建議書
- 淮安市2024-2025學(xué)年上學(xué)期高一期末考試地理試題(含答案)
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 《花婆婆》兒童繪本故事
- DB44∕T 2149-2018 森林資源規(guī)劃設(shè)計(jì)調(diào)查技術(shù)規(guī)程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter10 Hashing
- 藍(lán)色卡通風(fēng)學(xué)生班干部競(jìng)選介紹PPT模板課件
- 人教新目標(biāo)英語(yǔ)九年級(jí)上冊(cè)單詞中文Units
- 機(jī)動(dòng)車牌證申請(qǐng)表格模板(完整版)
- 《國(guó)家電網(wǎng)公司十八項(xiàng)電網(wǎng)反事故措施(試行)》實(shí)施細(xì)則
- 鋼絲網(wǎng)架珍珠巖夾心板安裝方法
- 工藝管廊架施工方案
- 六宮格數(shù)獨(dú)解題技巧
評(píng)論
0/150
提交評(píng)論