歡迎訪問愛發(fā)表,線上期刊服務(wù)咨詢

軟件工程8篇

時間:2022-05-18 19:25:25

緒論:在尋找寫作靈感嗎?愛發(fā)表網(wǎng)為您精選了8篇軟件工程,愿這些內(nèi)容能夠啟迪您的思維,激發(fā)您的創(chuàng)作熱情,歡迎您的閱讀與分享!

篇1

實際上,測試人員被測試搞得暈頭轉(zhuǎn)向,測試管理人員不知所措是常有的事情(相對來講,一些知名的大型跨國公司做的比較好)。這些主要和測試時間緊迫,測試質(zhì)量與產(chǎn)品質(zhì)量的標準很難度量有關(guān)——最可怕的不是對手厲害,而是未知的對手。要解決這些問題顯而易見要找到這些問題的根本原因,那就要從根本上說起,軟件測試是軟件工程的組成部分,脫離軟件工程框架的軟件測試是不可以想象的,軟件工程的工程思想和方法作用在軟件產(chǎn)品的每個階段,當然軟件測試也不能例外。換句話說,軟件工程的思想為軟件測試提供了基礎(chǔ)的思想和方法,任何的軟件測試不論在哪個階段都不應(yīng)該脫離軟件工程的思想,孤立的去思考,設(shè)計,規(guī)劃,執(zhí)行,并驗證。但實際上是,由于測試工作的繁忙(大多數(shù)是由缺少標準和規(guī)劃而無法控制所致),更多的時候,可能只是就問題論問題了,從而偏離了軟件測試的方向,使得測試質(zhì)量不可控。

拋開具體的軟件工程的具體模型,一般的產(chǎn)品周期流程可以如下劃分

[圖片]

篇2

近幾年,計算機軟件工程的應(yīng)用領(lǐng)域日益廣泛,具體包括各種程序設(shè)計語言、數(shù)據(jù)庫技術(shù)、軟件設(shè)計模式、操作和數(shù)據(jù)指令的標準、應(yīng)用系統(tǒng)平臺和軟件開發(fā)工具。鑒于傳統(tǒng)軟件工程存在的諸多缺限,還有功能對象的轉(zhuǎn)變和應(yīng)用范圍的擴大。無論是作為軟件研發(fā)的開發(fā)商還是作為軟件直接應(yīng)用的用戶都要進行軟件的升級。軟件升級需要達到幾點要求,包括要有非常高的工作效率,靠的住的安全性,增加軟件的應(yīng)用壽命和能夠進行方便的修改重生成特性。

1.1軟件要具有高的工作效率

軟件升級幾乎涵蓋了所有軟件相關(guān)組成結(jié)構(gòu),要充分審核任何一個重要結(jié)構(gòu),做必要的改造。升級后軟件要明顯優(yōu)于未升級前,對任務(wù)的處理時間要有較大的提升。具體來說就是,要對空間、時間等資源進行充分高效的利用,例如對計算機數(shù)據(jù)庫技術(shù)一定要充分挖掘數(shù)據(jù)的可利用價值。同時,始終保持用戶至上的理念,不斷提高用戶操作的便捷性是軟件升級最重要的目標。應(yīng)該在原有的基礎(chǔ)上增加修改程序、組裝軟件和調(diào)整指令等必要的新功能。

1.2軟件要安全可靠

互聯(lián)網(wǎng)的廣泛應(yīng)用方便了人們的工作生活,對計算機的廣泛應(yīng)用起到了不可忽視的推動作用。但由于它的開放性也給黑客提供了作案方便。黑客善于利用應(yīng)用軟件對計算機系統(tǒng)實施攻擊,通過對軟件代碼的反編譯,植入和修改破壞軟件安全性以達到個人的目的,使得用戶蒙受巨大的精神或經(jīng)濟損失。所以軟件升級改造必須要考慮軟件的安全防御功能。

1.3盡量延長軟件的使用壽命

軟件開發(fā)設(shè)計前期調(diào)查,需求分析,開發(fā),維護等多個階段,其過程復(fù)雜,需要投入大量的人力、物力和財力。所以從成本消耗的調(diào)度看,新軟件要盡量延長使用壽命,縮短產(chǎn)品更新?lián)Q代的周期。就拿殺毒軟件而言,每年市場上銷售的殺毒軟件數(shù)量巨大,對就的軟件增加和完善功能必須要確保其在規(guī)定的時間內(nèi)無需更換。同時,為了創(chuàng)造良好的經(jīng)濟效益,使用周期也應(yīng)該得到延長。

1.4方便修改重新生成

為了減少軟件開發(fā)的投入,還可從軟件后期維護著手。對于軟件后期維護也是軟件周期中花費最大的,只要設(shè)法減少這一階段的投入,就會大大減少軟件的成本。因此,開發(fā)軟件時考慮留有修改余地,使得軟件便于修改重新生成就顯得尤為有意義,另外也會有效的減少設(shè)計工程師的操作難度。

2計算機軟件工程升級策略考慮

2.1軟件工程設(shè)計要有科學(xué)性

軟件開發(fā)的第一階段就是設(shè)計,軟件工程的升級設(shè)計一定要以科學(xué)為指導(dǎo)。例如,對于研發(fā)程序代碼要考慮軟件模塊化。對外要考慮軟件的抽象和信息隱蔽特性,以及軟件的局部化、一致性原則和適應(yīng)性等特征。選擇恰當?shù)目茖W(xué)的設(shè)計方法,能夠為這些特征的實現(xiàn)提供方便,達到科學(xué)性設(shè)計這一目標,突出升級軟件后的優(yōu)勢特征。

2.2要全面兼顧市場需求

軟件開發(fā)的直接目的就是服務(wù)于市場需求,一個脫離市場需求的軟件產(chǎn)品是對經(jīng)濟資源的浪費。同樣,軟件的升級也要有市場需求為支持,在滿足市場基本需求的前提下,進行相關(guān)的研究和開發(fā),才會使工作有價值,避免由于開發(fā)設(shè)計不當造成資源浪費。另外,作為計算機組成的兩大部分,軟件和硬件一直都存在計算機產(chǎn)品開發(fā)不可兼得的問題,無時無刻不逼迫使得軟件開發(fā)單位考慮兩者互相的影響與制約的關(guān)系,做出權(quán)衡。如此一來,面對具有多變性的市場,在采取有效控制之前,必須對市場有全面的掌握和理解,才能開發(fā)出更加滿足社會需要的軟件產(chǎn)品。

2.3把握智多種發(fā)展趨勢

2.3.1智能化智能化不僅出現(xiàn)在計算機科學(xué)領(lǐng)域,它是現(xiàn)代通信與信息技術(shù)、行業(yè)技術(shù)、計算機網(wǎng)絡(luò)技術(shù)和智能化控制技術(shù)綜合到一起針對某一方面的應(yīng)用。在人工智能化應(yīng)用與計算機領(lǐng)域的今天,這個趨勢必然會與現(xiàn)代通信技術(shù)、計算機網(wǎng)絡(luò)技術(shù)與現(xiàn)場總線的控制技術(shù)飛速發(fā)展,一起給人們的生產(chǎn)生活帶來巨大的變革。

2.3.2服務(wù)化隨著計算機軟件技術(shù)的發(fā)展和應(yīng)用軟件的廣泛普及,計算機軟件技術(shù)及產(chǎn)品的服務(wù)化將成為一種大趨勢。未來,軟件開發(fā)商會以一種服務(wù)的形式提供軟件,利用網(wǎng)絡(luò)提供方式,將各種軟件放在服務(wù)器的主機上,客戶可根據(jù)選擇下載安裝某種應(yīng)用軟件。當然客戶也可以與軟件開發(fā)商聯(lián)系,提出自己的要求,訂購軟件服務(wù)。通過網(wǎng)絡(luò)享受軟件和硬件資源,軟件維護升級等,使軟件真正的服務(wù)于人民。

2.3.3融合我國對工業(yè)發(fā)展策略調(diào)整以及傳統(tǒng)工業(yè)的升級,必然會加快電氣化、機械化和自動化這些硬設(shè)備向信息化、數(shù)字化和網(wǎng)絡(luò)化等軟設(shè)備轉(zhuǎn)變。計算機軟件技術(shù)的融合化是我國信息化和工業(yè)化融合的一支重要力量。隨著工業(yè)化不斷推進和傳統(tǒng)產(chǎn)業(yè)升級加快,工業(yè)軟件的需求會進一步加大,我國計算機軟件軟件產(chǎn)業(yè)會不斷發(fā)展壯大,推動計算機軟件技術(shù)融合,以適應(yīng)發(fā)展需要。

2.3.4開放化隨著軟件工程的蓬勃發(fā)展,早期封閉性強的收費性軟件發(fā)展模式以慢慢不再適應(yīng)大的形式。為了給提高計算機軟件質(zhì)量的提高創(chuàng)建機遇,逐步打破軟件技術(shù)和知識產(chǎn)權(quán)的壟斷,開發(fā)化已變成不可阻擋的趨勢。計算機軟件源代碼的開放,將意味著軟件產(chǎn)品逐步標準化,這將有利于我國計算機軟件產(chǎn)業(yè)的更新?lián)Q代和全面升級。在這種趨勢下,也勢必會使我國計算機軟件開發(fā)效率得到較大提高。

2.4提供工程化支持,強化升級管理

新軟件必須大幅增強軟件的使用價值,具有很強的軟件工程使用多用性,這些就需要軟件工程的支持。主要包括軟件工具和環(huán)境要對軟件工程有足夠的支持,以及充分保障軟件工程項目的質(zhì)量、技術(shù)和開銷。這些都由對軟件工程所提供的支撐質(zhì)量和效用所決定。軟件工程的管理作為另外一項比較重要的方面直接影響了對可用資源的有效利用,大幅提高軟件組織的生產(chǎn)單位產(chǎn)出率,生產(chǎn)出合格的軟件產(chǎn)品等問題。在參照市場需求下,提前做好準備,制定軟件工程的管理制度,加強新舊產(chǎn)品升級空隙的質(zhì)量監(jiān)督和管理是電子產(chǎn)品研發(fā)企業(yè)必須做好的工作。

3結(jié)束語

篇3

關(guān)鍵詞:軟件工程;課程群;課程設(shè)計

中圖分類號:G642 文獻標識碼:B

文章編號:1672-5913 (2007) 20-0005-03

軟件工程是計算機學(xué)科的重要學(xué)科分支,在本科計算機類各專業(yè)中都開設(shè)一些軟件工程的課程,在研究生教學(xué)中,無論是碩士還是博士,都設(shè)置軟件工程的研究方向,開設(shè)高一級的軟件工程課程。本文中,軟件工程課程群是指包括各層次的軟件工程類課程。另外,軟件工程又是一門發(fā)展非常迅速的學(xué)科,早年在研究生中講述的內(nèi)容現(xiàn)在放在本科中講。因此,這些課程存在定位不明確,課程間內(nèi)容交叉重復(fù)等問題。本文根據(jù)本科生和研究生兩個層次對軟件工程類課程的教學(xué)要求,闡述軟件工程課程群的定位、課程設(shè)置、主要課程的知識單元和知識點。

1定位

首先分析社會對各層次計算機專業(yè)學(xué)生在軟件工程方面的知識和能力要求。我們認為計算機類本科學(xué)生畢業(yè)后,主要從事計算機軟件的開發(fā)工作,他們應(yīng)掌握軟件工程的基本概念、基本原理和基本方法,并能運用這些概念、方法、原理,參與和/或從事軟件開發(fā)的某些活動(如分析、設(shè)計、編碼、測試等)。軟件工程方向的研究生主要著重研究能力的培養(yǎng),畢業(yè)后主要承擔(dān)系統(tǒng)分析員和/或系統(tǒng)設(shè)計員角色,甚至承擔(dān)項目經(jīng)理的角色,他們應(yīng)掌握軟件工程的研究動態(tài),了解軟件工程最新的研究成果,具備有關(guān)軟件的系統(tǒng)分析、構(gòu)架設(shè)計和軟件項目管理的知識和能力。

根據(jù)以上分析,我們認為,本科生軟件工程課程群應(yīng)以軟件工程的基本概念、基本原理和基本方法為主線,使學(xué)生具備扎實的軟件工程基本理論知識、熟練的編程能力、較好的團隊合作能力和實驗?zāi)芰Γ瑫r具備一定的分析與解決問題能力和創(chuàng)新能力。研究生軟件工程課程群應(yīng)以研究課題為主線,使學(xué)生掌握軟件工程最新的研究動態(tài),對其中若干個研究方向有深入的了解,具備較強的分析與解決問題能力和創(chuàng)新能力,以及基本的軟件項目組

織和管理能力。

2課程設(shè)置

軟件工程課程群按學(xué)生的層次可分為本科生軟件工程課程群和研究生軟件工程課程群,按課程類別可分為必修課和選修課。

根據(jù)上述定位,本科生軟件工程課程群的必修課包括軟件工程和軟件實踐,有些學(xué)校在軟件工程課中包括足夠的實踐時間,可將它們合并成一門軟件工程課。選修課可根據(jù)各校的特點開設(shè)不同的課程,如面向?qū)ο蟮姆治雠c設(shè)計、軟件體系結(jié)構(gòu)、基于構(gòu)件的軟件開發(fā)、軟件測試等,也可將研究生的某些課程作為本科高年級學(xué)生的選修課。

研究生軟件工程課程群的必修課可包括高級軟件工程、軟件項目管理和專題討論,其中專題討論沒有固定的教材,它以若干專題(如軟件復(fù)用技術(shù)、模型驅(qū)動體系結(jié)構(gòu)、軟件產(chǎn)品線等)的最新論文為主,以報告和討論的形式進行。選修課可根據(jù)導(dǎo)師的研究方向選擇合適的課程,如需求工程、軟件過程、形式方法等。

3教學(xué)內(nèi)容

本節(jié)參照國外相關(guān)的資料,結(jié)合我們多年的教學(xué)實踐,給出軟件工程課程群中各必修課的知識單元。

3.1軟件工程(本科生)

本科軟件工程課程的內(nèi)容應(yīng)覆蓋教育部計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會制訂的計算機科學(xué)與技術(shù)本科專業(yè)規(guī)范(計算機科學(xué)方向)中有關(guān)軟件工程的主要知識單元,該課程以軟件工程的基本概念、基本原理和基本方法為主,著重國內(nèi)比較流行的結(jié)構(gòu)化分析與設(shè)計方法、面向?qū)ο蠓治雠c設(shè)計方法和常規(guī)的軟件測試方法。同時對一些較新的軟件開發(fā)模型、方法和技術(shù)(如基于構(gòu)件的軟件開發(fā)模型和方法、敏捷開發(fā)方法、CMM&CMMI、Web工程等)做簡單的介紹,以便學(xué)生今后自學(xué)。

3.2軟件實踐(本科生)

該課程是本科軟件工程課程的一門后繼實驗課,以某種軟件開發(fā)方法(如面向?qū)ο蠓椒?和軟件過程(如統(tǒng)一軟件過程RUP)為基礎(chǔ),引導(dǎo)學(xué)生完成一個完整的軟件項目開發(fā)全過程,包括需求獲取、需求分析、系統(tǒng)設(shè)計、實現(xiàn)以及測試等基本步驟。該課程主要培養(yǎng)學(xué)生的分析與解決問題能力、團隊合作能力、實驗?zāi)芰蛣?chuàng)新能力

3.3高級軟件工程(研究生)

該課程選擇當今軟件工程研究的熱點課題作為主要內(nèi)容,其知識單元可包括:基于構(gòu)件的軟件工程、軟件產(chǎn)品線、軟件體系結(jié)構(gòu)、模型驅(qū)動體系結(jié)構(gòu)(MDA)、面向方面程序設(shè)計(AOP)、需求工程、面向?qū)ο鬁y試技術(shù)、逆向工程和再工程、Agent技術(shù)、形式方法、高可信軟件,開源軟件等。值得注意的是,在一門高級軟件工程課程中很難詳細介紹上述所有的內(nèi)容,各校可根據(jù)自己的特點和研究方向,選擇幾個(以3~5個為宜)知識單元作重點介紹,對其他知識單元可只做簡單的介紹。

下面給出幾個知識單元所包含的知識點。

基于構(gòu)件的軟件工程(CBSE)主要包括:CBSE基本概念,軟件構(gòu)件規(guī)格說明,構(gòu)件模型,基于構(gòu)件的開發(fā)過程,基于構(gòu)件開發(fā)的語義完整性,構(gòu)件組裝和集成,預(yù)測系統(tǒng)的可信度,軟件產(chǎn)品線體系結(jié)構(gòu)中的構(gòu)件,商用第三方構(gòu)件(COTS)及構(gòu)件獲取技術(shù),基于構(gòu)件的軟件體系結(jié)構(gòu),基于構(gòu)件軟件的測試與質(zhì)量保證,構(gòu)件的可變性機制,軟件構(gòu)件庫,構(gòu)件交易,構(gòu)件描述與檢索等。

軟件產(chǎn)品線(SPL)主要包括:軟件產(chǎn)品線的基本概念,軟件產(chǎn)品線的基本活動(核心資產(chǎn)開發(fā),產(chǎn)品開發(fā),管理),領(lǐng)域工程與應(yīng)用系統(tǒng)工程,SPL經(jīng)濟學(xué),軟件產(chǎn)品線實踐域,軟件產(chǎn)品線實踐模式,產(chǎn)品線組裝,基于產(chǎn)品線的應(yīng)用系統(tǒng)開發(fā)技術(shù)等。

軟件體系結(jié)構(gòu)主要包括:軟件體系結(jié)構(gòu)的原則和實踐,體系結(jié)構(gòu)框架/方法,體系結(jié)構(gòu)模型與MDA,集成框架,軟件體系結(jié)構(gòu)設(shè)計與分析,體系結(jié)構(gòu)風(fēng)格,軟件體系結(jié)構(gòu)文檔,軟件體系結(jié)構(gòu)評估與確認,面向服務(wù)體系結(jié)構(gòu)(SOA),體系結(jié)構(gòu)模式,企業(yè)體系結(jié)構(gòu)等。

模型驅(qū)動體系結(jié)構(gòu)(MDA)主要包括:MDA基本概念,MDA規(guī)格說明,MDA模型(CIM,PIM,PSM),模型轉(zhuǎn)換,模型語言(如可執(zhí)行的UML,對象約束語言O(shè)CL等),元建模,MDA過程,領(lǐng)域建模,系統(tǒng)模型,平臺無關(guān)建模,平臺特定的實現(xiàn)等。

3.4軟件項目管理(研究生)

該課程的知識單元包括:綜合管理,范圍管理,時間管理,成本管理,質(zhì)量管理,人力資源管理,溝通管理,風(fēng)險管理,采購管理,敏捷項目管理,外包管理,軟技能等。下面給出其中若干個知識單元所包含的知識點。

綜合管理:項目,項目范圍陳述,項目管理計劃(編制過程,內(nèi)容),項目執(zhí)行的管理,項目評價,項目的監(jiān)督和控制,集成的變更控制,實施報告,配置管理,關(guān)閉項目。

范圍管理:啟動過程,項目選擇方法,項目合同,范圍管理計劃(編制過程,范圍陳述,范圍定義),創(chuàng)建WBS,范圍驗證過程,范圍蔓延,范圍變更控制過程,目標管理(MBO),影響曲線。

時間管理:活動定義過程,活動排序過程,圖示方法(優(yōu)先圖示方法(PDM),箭頭圖示方法(ADM),條件圖示方法,圖形評價和評審技術(shù)(GERT), 項目網(wǎng)絡(luò)圖,關(guān)鍵路徑方法(CPM),計劃評價和評審技術(shù)(PERT)等),PERT對CPM的估算,活動資源估算,活動持續(xù)時間估算,估算工具,進度表開發(fā)過程,進度控制過程,凈價值術(shù)語和公式。

成本管理:資源計劃編制過程,成本估算(術(shù)語,過程,COCOMO模型,工具),成本管理計劃,成本預(yù)算過程,成本基線,項目投資需求,成本控制過程,實施度量,預(yù)測完成,凈價值術(shù)語和公式。

質(zhì)量管理:質(zhì)量計劃編制過程,質(zhì)量保證計劃,過程改進計劃,質(zhì)量保證過程,質(zhì)量控制過程,統(tǒng)計質(zhì)量控制(SQC),質(zhì)量改進過程。

人力資源管理:人力資源計劃編制,組織計劃編制,項目管理中人的因素,責(zé)任委派矩陣,獲取項目組,員工獲取過程,項目管理者的角色和責(zé)任,項目組(建造過程),小組動力,管理項目組,角色與責(zé)任,領(lǐng)導(dǎo)風(fēng)格,能力類型,沖突管理,6動機理論,小組性能估算,管理知識員工。

溝通管理:溝通計劃編制,溝通管理計劃,信息分發(fā),溝通模型,溝通風(fēng)格,溝通方法,溝通鏈接規(guī)則,溝通障礙,溝通技巧,績效報告,管理涉眾,管理收尾。

風(fēng)險管理:風(fēng)險管理計劃編制,實用方法,風(fēng)險標識,風(fēng)險分析(定性分析,可能性與風(fēng)險影響,定量分析,靈敏性分析,決策樹分析,預(yù)期貨幣價值,概率方法),風(fēng)險響應(yīng)(計劃編制,工具與技術(shù)),可保險風(fēng)險,風(fēng)險監(jiān)督與控制過程,影響曲線。

采購管理:采購計劃編制,購買和獲取計劃,合同計劃,成本補償合同,固定價格合同,工作陳述,申請計劃編制過程,請求供方響應(yīng),申請過程,供方選擇,源選擇過程,談判,合同,合同管理,合同變更控制,合同收尾。

敏捷項目管理:Agile宣言和原則,迭代與演化開發(fā),產(chǎn)品業(yè)主,敏捷管理需求,敏捷估算與計劃編制,敏捷設(shè)計,敏捷文檔,敏捷軟件構(gòu)造,敏捷編程,人員管理問題,敏捷質(zhì)量保證,敏捷項目管理,項目評審,敏捷度量。

外包管理:識別全球業(yè)務(wù)機遇,組織模型與商業(yè)策略,全球項目的特征和挑戰(zhàn),全球項目經(jīng)理的技能,國際及多種文化的交融,IP保護與其他法律方面,采購道德規(guī)范,道德規(guī)范法規(guī),試驗計劃,風(fēng)險管理,軟件過程與實踐的改進,建立團隊,需求管理及客戶/供應(yīng)商關(guān)系,開發(fā)方法學(xué),全球軟件開發(fā)(GSD)與全球軟件工程(GSE),溝通、協(xié)調(diào)和協(xié)作,離岸項目的管理,克服距離和時間,文化交叉的處理,全球項目的安全問題,全球項目收尾,從業(yè)人員教育培訓(xùn)及知識管理。

軟技能:領(lǐng)導(dǎo)能力,批判性思考,職業(yè)道德規(guī)范,自我激勵,誠實,小組工作,風(fēng)險捕獲,適應(yīng)性,人際關(guān)系,工作壓力承受、壓力管理,創(chuàng)造性,影響力,研究能力,問題解決能力,組織能力,多文化處理能力,學(xué)習(xí)能力,時間管理,口頭溝通,文字溝通,細心周到。

4小結(jié)

本文介紹了軟件工程課程群的設(shè)計,在具體實施時,可根據(jù)各校的特點,對上述課程設(shè)置、知識單元、知識點進行裁剪。下一步將繼續(xù)完善各課程的知識單元和知識點,為軟件工程課程群建設(shè)打好基礎(chǔ)。

參考文獻

[1] 教育部高等學(xué)校計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會. 計算機科學(xué)與技術(shù)本科專業(yè)規(guī)范[M]. 北京:高等教育出版社,2006 .

作者簡介

錢樂秋(1942-),男,復(fù)旦大學(xué)計算機科學(xué)與工程系教授,博士生導(dǎo)師,主要研究方向為軟件工程。

篇4

本人概況

姓名:XXX

性別:男

民族:漢

政治面目:團員

學(xué)歷(學(xué)位):學(xué)士

專業(yè):工業(yè)電器自動化

聯(lián)系電話:12345678

手機:139000234

聯(lián)系地址:北京市東城區(qū)XX大街10號

郵編:100007

Email Address:

呼機:66881122-1234

教育背景

畢業(yè)院校:北京工業(yè)大學(xué) 1993.9--1997.7 工業(yè)電器自動化專業(yè)

主修課程:自控原理,電力拖動,電子技術(shù),自動測試系統(tǒng),計算機組織與結(jié)構(gòu),計算機硬件及接口電路設(shè)計,匯編語言程序設(shè)計,C.C++程序設(shè)計,軟件工程計算機網(wǎng)絡(luò)原理等課程

另:其他培訓(xùn)情況

*微軟認證系統(tǒng)工程師培訓(xùn),培訓(xùn)科目:Windows NT Technology,Windows NT Enterprise,Networking with TCP/IP on Windows NT,ⅡS4.0 WindowsNT

*英語通過國家四級考試,閱讀和翻譯能力較強,曾多次為機械工業(yè)出版社翻譯計算機書籍,并獲出版。

工作經(jīng)歷

*1998年5月---至今 XX公司

網(wǎng)絡(luò)系統(tǒng)工程師

Cisco、IBM網(wǎng)絡(luò)產(chǎn)品的技術(shù)支持

網(wǎng)絡(luò)系統(tǒng)方案(局域網(wǎng)和廣域網(wǎng))的設(shè)計和規(guī)劃,解答用戶的疑問,根 據(jù)用戶需求提出最佳解決方案;Cisco、IBM網(wǎng)絡(luò)產(chǎn)品的現(xiàn)場調(diào)試和系統(tǒng)維護

客戶技術(shù)培訓(xùn),及公司內(nèi)部的技術(shù)交流與培訓(xùn)

網(wǎng)絡(luò)基本原理及技術(shù):LAN,WAN,TCP/IP,ATM等,以及Cisco、IBM 網(wǎng)絡(luò)設(shè)備調(diào)試過程;講解IBM AIX基本系統(tǒng)管理及高級系統(tǒng)管理、Netview、

NFS、HACMP等

曾經(jīng)參與的項目

設(shè)計,安裝,調(diào)試“吉林97工程”--吉林省電信綜合管理系統(tǒng)ATM網(wǎng)絡(luò)及主機系統(tǒng),長沙卷煙廠,錦州合作銀行,人民教育出版社信息系統(tǒng);設(shè)計云南省郵電辦公信息集成系統(tǒng),濟南廣電ATM寬帶綜合業(yè)務(wù)網(wǎng)、陜西有線電視寬帶網(wǎng)。

*1996年9月---1998年3月 XX公司

系統(tǒng)管理員/工程師

CHINAGBN Internet網(wǎng)絡(luò)信息中心的系統(tǒng)管理

熟練掌握UNIX(SUN Solaris)操作系統(tǒng)、網(wǎng)絡(luò)管理并參與組建了CHINAGBN Internet網(wǎng)絡(luò)中心(包括網(wǎng)絡(luò)設(shè)計,安裝系統(tǒng),聯(lián)調(diào),維護,網(wǎng)絡(luò)編程)

CHINAGBN 金橋網(wǎng)六城市網(wǎng)絡(luò)站點的建設(shè)

參與各站點Internet網(wǎng)絡(luò)中心的總體規(guī)劃和建設(shè)及其與衛(wèi)星主干網(wǎng)的連接,對主干衛(wèi)星網(wǎng)、X.25分組交換、Frame Relay、ISDN和DDN及其相關(guān)設(shè)備有所了解

CHINAGBN Internet網(wǎng)絡(luò)中心Web系統(tǒng)管理員

個人簡介

具備豐富的工作經(jīng)驗,認真踏實負責(zé),且具備優(yōu)秀的表達能力,曾多次主持對用戶和內(nèi)部的技術(shù)講解和培訓(xùn),獲得用戶和公司的一致好評。曾在電子工業(yè)部“三金工程展風(fēng)采展示會”上向來賓講解CHINAGBN專線集團用戶解決方案。

篇5

任何工程項目在施工前都要完成設(shè)計,這需要好的方法、策略。軟件開發(fā)的第三個過程就是概要設(shè)計,即是進行軟件的結(jié)構(gòu)設(shè)計。軟件開發(fā)中具有代表性的是面向數(shù)據(jù)流的方法,它與結(jié)構(gòu)化分析方法銜接組成完整的分析與設(shè)計技術(shù),概要設(shè)計最終形成了軟件結(jié)構(gòu)圖,如果應(yīng)用于工程可以形成施工管理的框架。在這里對于軟件工程有一個重要概念:模塊的獨立性。模塊化方法已被所有工程領(lǐng)域接受,但是并不是有模塊就一定是好模塊,而應(yīng)用軟件工程方法產(chǎn)生的系統(tǒng)結(jié)構(gòu)一般來說模塊都有良好的獨立性,從而降低了系統(tǒng)的復(fù)雜性以及出錯的可能性。如果工程中應(yīng)用模塊化方法同時盡量增加模塊的獨立性,很有可能使工程開發(fā)簡化、正確、有效。

軟件開發(fā)的第四個過程就是詳細設(shè)計。確定每個模塊的執(zhí)行過程有很多種方法,比較直觀的是程序流程圖和過程設(shè)計語言。對應(yīng)于工程可以理解為底層模塊的詳細設(shè)計,就是確定具體的工作流程,較上層的是工作和管理流程,他們比自然語言描述的工作和管理流程直觀、精確而且不會有二義性。

現(xiàn)今軟件開發(fā)的核心內(nèi)容之一是測試,分黑盒測試與白盒測試,兩種同時使用并貫穿于整個開發(fā)過程之中,這是保證軟件質(zhì)量的必要過程。工程開發(fā)也有測試過程,但遠不如軟件測試科學(xué)、充分,所以有時會出現(xiàn)上文(所遇到的情況,因此工程中引入適當?shù)摹⒖茖W(xué)的測試是很必要的。

面向?qū)ο蠓椒☉?yīng)用于工程開發(fā)面向?qū)ο蠓椒ň褪欠治觥⒃O(shè)計一個系統(tǒng)時盡量接近人類認識世界、解決問題的方法和過程,從這個角度看,似乎這種方法沒有什么參考意義,但實際上以開發(fā)軟件為目的的面向?qū)ο蠓椒ū仨毥?jīng)得起所交付的軟件的考驗,并不是隨便想一個方法就能達到要求。其他工程方法可以借鑒其中合理的方法,以減少開發(fā)的盲目性。

篇6

關(guān)鍵詞:軟件工程;綜合實踐;軟件過程;迭代開發(fā)

為了提高軟件工程人才培養(yǎng)的水平,增強學(xué)生的實踐能力,文獻[1]基于建構(gòu)主義認知學(xué)說提出了一種創(chuàng)新的人才培養(yǎng)模式。該培養(yǎng)模式的特點是在第6―7學(xué)期引入長周期的綜合實訓(xùn)。為便于實施,該綜合實訓(xùn)可按學(xué)期分成兩段。其中第6學(xué)期的實訓(xùn)為期20周,如何開展全面的軟件工程過程實踐,是本文要探討的對象。此實訓(xùn)將部分原在課堂講授的理論課貫穿在實訓(xùn)中講解,并要求學(xué)生以小組為單位完成軟件開發(fā)項目,從而理解和掌握軟件開發(fā)過程與技術(shù)。為有效開展此實訓(xùn),本文依據(jù)現(xiàn)有軟件過程理論和經(jīng)驗,對實訓(xùn)中的軟件過程進行探討。

1概念與研究的必要性

軟件開發(fā)過程是指在工業(yè)化環(huán)境(如軟件公司、大型軟件開發(fā)團隊)開發(fā)軟件的有先后順序的一系列活動。它是將各種軟件技術(shù)組織在一起的粘合劑,是合理高效開發(fā)軟件產(chǎn)品的保證[2]。對軟件過程的描述,往往包括過程模型、活動、角色、制品等方面。

軟件工程綜合實訓(xùn)課程的目的是為了讓學(xué)生熟悉軟件開發(fā)過程,掌握軟件開發(fā)技術(shù),增強實際動手能力。它與實際軟件開發(fā)有以下幾點不同:

1) 目標不同。前者以培養(yǎng)學(xué)生為目標,后者以生產(chǎn)軟件為目標。

2) 實踐主體不同。前者為學(xué)生,后者為工作者。

3) 環(huán)境不同。前者在學(xué)校的模擬環(huán)境進行,后者處于具體的軟件開發(fā)環(huán)境。

這意味著實訓(xùn)教學(xué)中應(yīng)該采用接近實際的軟件開發(fā)過程,但又不能完全照搬實際過程。這是我們必須探討綜合實訓(xùn)軟件開發(fā)過程的原因。以下從軟件開發(fā)過程模型、過程角色、主要活動及對學(xué)生的考核等幾方面對軟件工程綜合實訓(xùn)的軟件開發(fā)過程進行討論。

2綜合實訓(xùn)的軟件過程模型

歷史上,出現(xiàn)過多種軟件過程模型,但大致可分為線性模型和迭代模型兩類。線性模型也稱瀑布模型,已被實踐證實不能適應(yīng)需求變化的場景。迭代模型認為軟件開發(fā)是一個反復(fù)的過程,比較符合軟件復(fù)雜、易變的本質(zhì),是當今軟件開發(fā)的主流思想。

在考慮實訓(xùn)教學(xué)軟件過程模型的選取時,應(yīng)以簡單易行、便于軟件技術(shù)學(xué)習(xí)、便于軟件過程理解為出發(fā)點。單從簡單易行的角度,采用瀑布模型比較有吸引力。瀑布模型的步驟和章法清晰,教學(xué)組織方便。但是,如果使用瀑布模型,對迭代過程的介紹只能停留在口頭上,學(xué)生無法從實踐中領(lǐng)會這一重要的過程思想。瀑布模型是一次性完成需求描述,然后做全面

設(shè)計。這不利于由淺入深、循序漸進地掌握軟件架構(gòu)、設(shè)計和編碼方面的技術(shù)。如果采用迭代式模型,雖會令實訓(xùn)的組織和管理變得復(fù)雜,但既可以領(lǐng)會瀑布模型的章法,也可以克服瀑布模型的弊端。對于本文所針對的長達一個學(xué)期的綜合實訓(xùn),其教學(xué)目標是多維和綜合的,既要在過程中傳授顯性知識,也要通過過程組織和實踐指導(dǎo)傳遞隱性知識。如采用瀑布模型,會將開發(fā)過程理想化,而使很多隱性知識和實踐經(jīng)驗難以傳播。因此長周期的綜合實訓(xùn)采用迭代式過程模型更合理。

按照有關(guān)迭代開發(fā)經(jīng)驗[3],對于小型項目,以3周為一次迭代較合適。我們決定將20周的實訓(xùn)分為開始1周、結(jié)束1周、中間6次迭代18周。各次迭代的目標如表1所示。

表中,迭代1的任務(wù)是發(fā)掘和初步表述系統(tǒng)的主要需求,并設(shè)計系統(tǒng)原型;迭代2要完成系統(tǒng)的主要功能,約占全部功能的30%~40%;迭代3完成系統(tǒng)的全部功能;迭代4對系統(tǒng)架構(gòu)進行優(yōu)化,增加業(yè)務(wù)邏輯層;迭代5進一步優(yōu)化系統(tǒng)架構(gòu),增加數(shù)據(jù)讀寫層;跌代6使用現(xiàn)有框架對系統(tǒng)進行重構(gòu)。

在實際的軟件開發(fā)過程中,早期迭代要著重于影響架構(gòu)的功能和性能需求的實現(xiàn),從而一開始就為系統(tǒng)選擇合理的架構(gòu)。但在實訓(xùn)教學(xué)中,按由淺入深的教學(xué)規(guī)律,在學(xué)生具備一定的開發(fā)經(jīng)驗后引入架構(gòu)設(shè)計知識。因此,前幾次迭代較少涉及架構(gòu)設(shè)計的細節(jié),所完成的軟件在架構(gòu)方面是不成熟的。在后幾次迭代中,通過對代碼的重構(gòu)逐漸完成軟件架構(gòu)的優(yōu)化,從而讓學(xué)生牢牢樹立架構(gòu)設(shè)計的理念。這是實訓(xùn)軟件過程與實際軟件過程的區(qū)別。

上述各次迭代的目標,也是系統(tǒng)開發(fā)的里程碑。教師檢查各次迭代提交制品的同時,也考核了學(xué)生團隊的成績。

3綜合實訓(xùn)過程中的角色

基于文獻[4]及文獻[5]的思想,軟件工程綜合實訓(xùn)學(xué)生團隊應(yīng)設(shè)置對等角色。即每個小組成員擔(dān)任一種角色,負責(zé)一個方面的工作,同時又是其他成員所負責(zé)工作的參與者。這既是實際開發(fā)團隊的做法,也最適合學(xué)生的學(xué)習(xí)。

考慮到項目規(guī)模較小,實訓(xùn)時間較長,一個小組人數(shù)不宜過多。以5人一組,分別扮演組長、開發(fā)經(jīng)理、計劃經(jīng)理、測試經(jīng)理、技術(shù)支持經(jīng)理等角色,各角色職責(zé)主要為[4]:

1) 組長:負責(zé)小組建設(shè),讓小組成員有共同的目標和項目愿景,激勵士氣,維持紀律,安排任務(wù),主持每周小組例會、成員互評等。

2) 開發(fā)經(jīng)理:主持小組開發(fā)工作,包括需求、分析與設(shè)計、實現(xiàn)等過程。

3) 計劃經(jīng)理:負責(zé)帶領(lǐng)小組制訂項目計劃和迭代計劃,督促各成員按要求完成工作日志,制訂項目周計劃,整理項目周報,對計劃進行跟蹤,在例會或計劃會議上通報項目進度。

4) 測試經(jīng)理:負責(zé)測試計劃的制訂,編寫測試用例,組織測試實施及管理,組織每日集成測試。

5) 技術(shù)支持經(jīng)理:組織執(zhí)行配置管理、變更控制、數(shù)據(jù)庫管理及風(fēng)險管理,培訓(xùn)本組成員正確使用工具軟件,督促每日代碼簽入、簽出。

上述角色職責(zé)涉及的各種活動,詳見第4節(jié)說明。指導(dǎo)教師在實訓(xùn)中的角色是代表客戶方提出對系統(tǒng)的要求,同時也是學(xué)生開發(fā)活動的指導(dǎo)者和監(jiān)督者。

在實際的軟件開發(fā)過程中,團隊成員的角色在一個項目中是固定的。但在實訓(xùn)過程中,為了讓學(xué)生得到更全面的訓(xùn)練,可規(guī)定每兩次迭代交換角色一次。這樣在整個實訓(xùn)中,每人都可以擔(dān)任三種不同的角色。這是實訓(xùn)過程不同于實際過程的地方。

4綜合實訓(xùn)過程的主要活動及制品

依據(jù)文獻[4]和文獻[6],將學(xué)生在綜合實訓(xùn)中的活動領(lǐng)域分為兩大類,一類是核心開發(fā)域,包括業(yè)務(wù)分析、需求、分析與設(shè)計、實現(xiàn)、測試、部署等;一類是核心支持域,包括團隊管理、計劃管理、配置管理、環(huán)境支撐等。各活動域的活動種類、制品及負責(zé)角色如表2所示,共有約30種活動。

上述活動涉及很多學(xué)生尚不了解的知識。對于其中適合講授的顯性知識,由專題主講老師在過程中集中講授;對于可以通過實踐過程習(xí)得的隱性知識,通過實訓(xùn)指導(dǎo)書對有關(guān)活動的規(guī)范和引導(dǎo),讓學(xué)生在活動中領(lǐng)悟。需要集中講授的知識可以分成以下幾個模塊:

1) 項目輔導(dǎo)。介紹有關(guān)小組建設(shè)、小組溝通、工作理念、計劃管理等方面的知識,對開發(fā)過程的紀

律、工作程序、會議等作具體的指導(dǎo)。

2) 軟件開發(fā)過程。主要介紹軟件開發(fā)統(tǒng)一過程(RUP),包括迭代開發(fā)方法,各種開發(fā)活動、角色及制品的含義,配置管理及風(fēng)險管理等。

3) 數(shù)據(jù)庫管理。結(jié)合項目和實訓(xùn)環(huán)境指導(dǎo)學(xué)生設(shè)計和管理大型關(guān)系型數(shù)據(jù)庫。

4) 軟件測試。結(jié)合項目介紹各種測試活動的要求、內(nèi)容和組織實施辦法。

5) 系統(tǒng)分析與設(shè)計。介紹面向?qū)ο蟮目梢暬7椒ā④浖軜?gòu)設(shè)計、模式應(yīng)用等方面的知識。

6) 程序設(shè)計技術(shù)。介紹完成項目所需要的程序設(shè)計技術(shù)。包括Web應(yīng)用開發(fā)、多層體系架構(gòu)的實現(xiàn)、測試驅(qū)動的開發(fā)、應(yīng)用程序框架設(shè)計與應(yīng)用等內(nèi)容。

在開展項目過程中,講授也是重要的環(huán)節(jié),這也是本實訓(xùn)過程與實際過程的不同之處。

5考核方式

作為一項教學(xué)活動,必須對學(xué)生學(xué)習(xí)情況進行考核并給出成績。由于該實訓(xùn)長達一學(xué)期,理論課學(xué)時較多,所對應(yīng)的學(xué)分也較多。如果采用一次性考核,顯然操作難度很大,也不利于在過程中發(fā)現(xiàn)問題,激勵學(xué)生。因此,本實訓(xùn)最適合分階段考核,即對每次迭代進行考核,成績由三部分組成:一是本次迭代過程有關(guān)理論知識掌握,占40%,采用筆試方式考核;二是工作成果,占30%,以測試迭代產(chǎn)生的結(jié)果為依據(jù);三是工作表現(xiàn),占30%,通過統(tǒng)計考勤、學(xué)生互評及老師評價得到。每兩次迭代完成,學(xué)生交換角色前,要求每位學(xué)生提交所擔(dān)任角色工作的總結(jié)報告,作為單獨的角色考核。由于角色是任選的,此考核學(xué)分可作為選修學(xué)分記入成績表。

6結(jié)語

由于實訓(xùn)與實際軟件開發(fā)不同,實訓(xùn)軟件過程不能照搬實際開發(fā)過程。為了與當代流行的軟件開發(fā)過程一致,也為了能循序漸進地教學(xué),在實訓(xùn)中選擇迭代式開發(fā)模型。項目小組的成員依次承擔(dān)多種角色,并產(chǎn)生相應(yīng)的制品。實訓(xùn)的考核以迭代為單位進行。按照這樣的過程開展本文所述約30項實訓(xùn)活動,必將提高學(xué)生對軟件工程知識的認識和實際的動手能力。

參考文獻:

[1] 鄭大鵬,林國璋,張克軍. 一種創(chuàng)新的獨立學(xué)院軟件專業(yè)人才培養(yǎng)模式[J]. 計算機教育,2010(8):1-3.

[2] Roger S. Pressman. 軟件工程―實踐者的研究方法[M]. 4版. 北京:機械工業(yè)出版社,1999:22-49.

[3] Craig Larman. UML和模式應(yīng)用[M]. 3版. 北京:機械工業(yè)出版社,2008:13-20.

[4] Watts S. Humphrey. 小組軟件開發(fā)過程[M]. 北京:人民郵電出版社,2000:163-225.

[5] 微軟公司. MSF Team Model v.3.1[EB/OL]. [2010-11-06]. /msf:17-19.

[6] Ivar Jacobson,Grady Booch,James Rumbaugh. 統(tǒng)一軟件開發(fā)過程[M]. 北京:機械工業(yè)出版社,2002:3-11.

On Software Process of Software Engineering Comprehensive Training

ZHENG Dapeng, XIAO Youqing, ZHANG Xiaoyan, ZHANG Shenyong

(Zhuhai Campus, Beijing Institute of Technology, Zhuhai 519085, China)

篇7

軟件產(chǎn)業(yè)從上個世紀中期從零起步,在短短50年的時間里迅速發(fā)展成為推動人類社會發(fā)展的龍頭產(chǎn)業(yè)。在軟件產(chǎn)業(yè)迅速發(fā)展的這50多年的歷史中,人們對軟件的認識經(jīng)歷了一個由淺到深的過程,軟件工程(Software Engineering)的提出和完善就是這個認識不斷提高的結(jié)果。因為軟件開發(fā)是一項需要良好組織、嚴密管理且各方面人員配合協(xié)作的復(fù)雜工作,而軟件工程正是指導(dǎo)這項工程的一門科學(xué),軟件工程的成果能為軟件設(shè)計和開發(fā)人員提供思想方法和工具。

軟件工程的起源

軟件工程學(xué)科的出現(xiàn)直接原因是軟件危機。所謂軟件危機指的是在計算機軟件的開發(fā)和維護

過程中所遇到的一系列嚴重問題。概括來說,軟件危機包含兩方面問題:

第一,如何開發(fā)軟件以滿足不斷增長、日趨復(fù)雜的需求;

第二,如何維護數(shù)量不斷膨脹的軟件產(chǎn)品。

實際上,軟件產(chǎn)生不久,落后的軟件生產(chǎn)方式無法滿足迅速增長的計算機軟件需求這個矛盾就開始暴露出來,并導(dǎo)致軟件開發(fā)與維護過程中出現(xiàn)一系列嚴重問題的現(xiàn)象。最為突出的例子是美國IBM公司于1963年~1966年開發(fā)的IBM360系列機的操作系統(tǒng)。該項目的負責(zé)人Fred Brooks(F•D•希羅克斯)在總結(jié)時無比沉痛地說: “……正像一只逃亡的野獸落到泥潭中做垂死掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑?zāi)難……程序設(shè)計工作正像這樣一個泥潭……一批批程序員被迫在泥潭中拼命掙扎……誰也沒有料到問題竟會陷入這樣的困境……” IBM360操作系統(tǒng)的歷史教訓(xùn)已成為軟件開發(fā)項目中的典型事例被記入歷史史冊。

由于軟件危機的產(chǎn)生,迫使人們不得不研究、改變軟件開發(fā)的技術(shù)手段和管理方法,從此軟件生產(chǎn)進入軟件工程時代。

1968年北大西洋公約組織的計算機科學(xué)家在聯(lián)邦德國召開的國際學(xué)術(shù)會議上第一次提出了“軟件危機”(Software Crisis)這個詞,同時討論了如何擺脫“軟件危機”。在那次會議上第一次提出了軟件工程(Software Engineering)這個概念,從此一門新興的工程學(xué)科――軟件工程學(xué)應(yīng)運而生。作為一門旨在開發(fā)滿足用戶需求、及時交付、不超過預(yù)算和無故障的軟件的學(xué)科,軟件工程的主要對象是大型軟件。它的最終目的是擺脫手工生產(chǎn)軟件的狀況,逐步實現(xiàn)軟件開發(fā)和維護的自動化。

自從軟件工程概念提出以來,歷經(jīng)了幾十年的研究與實踐,雖然“軟件危機”沒得到徹底解決,但在軟件開發(fā)方法和技術(shù)方面已經(jīng)有了很大的進步。尤其應(yīng)該指出的是,自上個世紀80年代中期,人們已經(jīng)開始認識到,在軟件開發(fā)中最關(guān)鍵的問題是軟件開發(fā)組織不能很好地定義和管理其軟件過程,從而使一些好的開發(fā)方法和技術(shù)起不到所期望的作用,也就是說,在沒有很好定義和管理軟件過程的軟件開發(fā)中,開發(fā)組織不可能在好的軟件方法和工具中獲益。

軟件工程的內(nèi)容三段論

這里的三段論是指從內(nèi)容這個角度看軟件工程的三段理論。軟件工程是為克服軟件危機而提出的一個概念,并在實踐中不斷地探索它的原理、技術(shù)和方法。在此過程中,人們研究和借鑒了工程學(xué)的某些原理和方法,并形成了軟件工程學(xué)。軟件工程的目標是提高軟件的質(zhì)量與生產(chǎn)率,最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。既然軟件工程是“工程”,那么我們從工程的角度看一下軟件項目的實施過程(如圖1所示)。

客戶的需求啟動了一個軟件項目,為此我們需要先規(guī)劃這個項目,即完成項目計劃,然后根據(jù)這個項目計劃實施項目。項目實施的依據(jù)是需求,這個需求類似工程項目的圖紙,開發(fā)人員按照這個圖紙生產(chǎn)軟件,即設(shè)計和編碼,在開發(fā)生產(chǎn)線上將開發(fā)過程的半成品通過配置管理存儲和管理,然后進行必要的集成和測試,直到最后提交給客戶。在整個開發(fā)過程中需要進行項目跟蹤管理。軟件工程活動是“生產(chǎn)一個最終滿足需求且達到工程目標的軟件產(chǎn)品所需要的步驟”。這些活動主要包括開發(fā)類活動、管理類活動和過程類活動,這里將它定義為“軟件工程的三段論”或者“軟件工程的三線索”,即軟件項目管理、軟件項目開發(fā)、軟件過程改進。它們之間的關(guān)系可以用一個三角形表示(如圖2)。它們類似于相互支撐的三角形的三個邊,相互依賴,必不可少。

其中: 開發(fā)過程是軟件人員生產(chǎn)軟件的過程,例如需求分析、設(shè)計、編碼、測試等,相當于生產(chǎn)線上的生產(chǎn)過程;

管理過程是項目管理者規(guī)劃軟件開發(fā)、控制軟件開發(fā)的過程,相當于生產(chǎn)線上的管理過程,管理過程是伴隨開發(fā)過程進行的過程;

過程改進相當于對軟件開發(fā)過程和軟件管理過程的“工藝流程”進行管理和改進。如果沒有好的工藝生產(chǎn)不出好的產(chǎn)品,它包括對開發(fā)過程和管理過程的定義和改進。

為了保證軟件管理、軟件開發(fā)過程的有效性,應(yīng)該保證這些過程的高質(zhì)量和過程的持續(xù)改進。而軟件開發(fā)過程中腦力活動的“不可見性”大大增加了過程管理上的困難。因此軟件工程管理中的一個指導(dǎo)思想就是千方百計地使這些過程變?yōu)椤翱梢姷摹币约笆潞罂梢詸z查的記錄。只有從一開始就在開發(fā)過程中嚴格貫徹質(zhì)量管理,軟件產(chǎn)品的質(zhì)量才有保證。否則,開發(fā)工作一旦進行到后期,無論怎樣通過測試和修補漏洞,都會無濟于事。

韓萬江

北京郵電大學(xué)軟件學(xué)院副教授,主要研究方向為軟件工程、軟件項目管理及軟件測試等。著有《軟件工程案例教程》、《軟件項目管理案例教程》。

軟件工程的未來發(fā)展

軟件工程的研究熱點是隨著軟件技術(shù)的發(fā)展而不斷變化的。即便在軟件工程的領(lǐng)域內(nèi),研究熱點也在不斷轉(zhuǎn)移。

以往軟件工程一直不能像其他產(chǎn)品一樣做到標準化,隨著技術(shù)條件的不斷成熟、相應(yīng)標準的出臺,軟件人員已經(jīng)開始重視這方面的工作: 實際上可以將許多軟件工作分成許多部件去構(gòu)造,很有可能今后的軟件隊伍會分為兩個部分,一部分專門從事評估,另一部分專門從事集成,集成的對象就是軟構(gòu)件。

軟構(gòu)件的開發(fā)與運用已悄悄開始。在一些公共領(lǐng)域,例如軟件的用戶界面,通用軟構(gòu)件的使用已經(jīng)屢見不鮮。然而,對于各種專業(yè)領(lǐng)域來說,領(lǐng)域構(gòu)件的開發(fā)和使用還基本處于空白狀態(tài)。這一工作的進行意味著各行各業(yè)對本專業(yè)領(lǐng)域內(nèi)的知識形態(tài)加以歸納整理,然后以最新的軟件形式表達出來。如果全面鋪開,將是一件規(guī)模浩大的社會工程,需要各領(lǐng)域?qū)<液蛙浖<彝献鞑拍芡瓿伞R坏┸浖a(chǎn)的“構(gòu)件-集成”格局成為現(xiàn)實,各種應(yīng)用領(lǐng)域里的構(gòu)件的設(shè)計與生產(chǎn)將開辟出一個十分廣闊的新天地,產(chǎn)生出巨大的市場需求,而且軟構(gòu)件的使用可以滲透到符合軟構(gòu)件標準規(guī)范的所有系統(tǒng)中,

在軟件開發(fā)過程中人們開始研制和使用軟件工具,用以輔助進行軟件項目管理與技術(shù)生產(chǎn),人們還將軟件生命周期各階段使用的軟件工具有機地集合成為一個整體,形成能夠連續(xù)支持軟件開發(fā)與維護全過程的集成化軟件開發(fā)環(huán)境,以期從管理和技術(shù)兩方面解決軟件危機問題。

此外,人工智能與軟件工程的結(jié)合從上個世紀80年代末期便成為活躍的研究領(lǐng)域。基于程序變換、自動生成和可重用軟件等軟件新技術(shù)研究也已取得一定的進展,把程序設(shè)計自動化的進程向前推進了一步。在軟件工程理論的指導(dǎo)下,發(fā)達國家已經(jīng)建立起較為完備的軟件工業(yè)化生產(chǎn)體系,形成了強大的軟件生產(chǎn)能力。軟件標準化與可重用性也得到了工業(yè)界的高度重視,在避免重復(fù)勞動、緩解軟件危機方面起到了重要作用。

今天,軟件已經(jīng)普遍應(yīng)用于各個行業(yè),這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,導(dǎo)致開發(fā)隊伍的逐漸增大,從而使得軟件工程的作用也越來越明顯。但是,我們不能盲目崇拜軟件工程。實際上,不管有沒有軟件工程,不管是否存在一個萬能的框架系統(tǒng),我們的應(yīng)用系統(tǒng)仍然要做,各種各樣的軟件還是要開發(fā)。說到底,軟件系統(tǒng)是因為有需求才存在的。有了應(yīng)用領(lǐng)域軟件存在才有了意義。很多時候,我們可以看到國外有各種各樣的軟件和創(chuàng)新,而我們還面臨很多的問題,但我們不能說,只要解決軟件工程問題就能推進軟件產(chǎn)業(yè)。

(作者原文中有大量實例,限于篇幅,本文進行了刪減。讀者可以登錄.cn查看原文,或參考作者所撰寫的《軟件工程案例教程》、《軟件項目管理案例教程》。)

鏈接一:軟件開發(fā)的三個階段

第一個階段是20世紀50年代~60年代,為程序設(shè)計階段,基本是個體手工勞動的生產(chǎn)方式。這個時期,一個程序是為一個特定的目的編制的,軟件的通用性很有限,其開發(fā)往往帶有強烈的個人色彩。因為軟件設(shè)計是在某個人的頭腦中完成的一個隱藏的過程,而且,除了源代碼往往沒有軟件說明書等文檔,因此這個時期尚無軟件的概念,基本上只有程序、程序設(shè)計概念,不重視程序設(shè)計方法。軟件主要是用于科學(xué)計算,規(guī)模很小、采用簡單的工具(基本上采用低級語言),硬件的存儲容量小、運行可靠性差。

第二階段是60年代~70年代,為軟件設(shè)計階段,小組合作生產(chǎn)方式。在這一時期軟件開始作為一種產(chǎn)品被廣泛使用,出現(xiàn)了“軟件作坊”。這個階段大多采用高級語言開發(fā)工具,開始提出結(jié)構(gòu)化方法。硬件的速度、容量、工作可靠性有明顯提高,而且硬件的價格降低。人們開始使用產(chǎn)品軟件(可購買),從而建立了軟件的概念。程序員數(shù)量猛增,但是開發(fā)技術(shù)沒有新的突破,軟件開發(fā)的方法基本上仍然沿用早期的個體化軟件開發(fā)方式,軟件需求日趨復(fù)雜,維護的難度越來越大,開發(fā)成本令人吃驚得高,開發(fā)人員的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),失敗的項目越來越多。

第三個階段是從70年代至今,為軟件工程時代,是工程化的生產(chǎn)方式。這個階段的硬件向超高速、大容量、微型化以及網(wǎng)絡(luò)化方向發(fā)展,第三、四代程序設(shè)計語言出現(xiàn)。數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)等工具方法都得到應(yīng)用。軟件開發(fā)技術(shù)有很大進步,但仍未能獲得突破性進展,軟件開發(fā)技術(shù)的進步一直未能滿足發(fā)展的要求。軟件的數(shù)量急劇膨脹,同時,軟件開發(fā)人員發(fā)現(xiàn)軟件開發(fā)的難度越來越大,在軟件開發(fā)中遇到的問題找不到解決的辦法,最終導(dǎo)致了軟件危機。

鏈接二:軟件工程的定義

篇8

關(guān)鍵詞:系統(tǒng)軟件開發(fā);軟件工程技術(shù);特點分析;技術(shù)要求

進入21世紀以后,我國互聯(lián)網(wǎng)技術(shù)取得了飛躍式發(fā)展,相關(guān)的應(yīng)用軟件已經(jīng)被廣泛應(yīng)用商業(yè)、教育、銀行等領(lǐng)域,逐漸改善著人們的生活。在很多發(fā)達國家,系統(tǒng)軟件開發(fā)企業(yè)已經(jīng)成為支柱性產(chǎn)業(yè)。科學(xué)合理的軟件設(shè)計是提高生活、工作的首要前提。在信息快速發(fā)展的今天,系統(tǒng)軟件在人們生活生產(chǎn)中起到的作用越來越重要。基于此,本文首先分析出傳統(tǒng)軟件和系統(tǒng)軟件的區(qū)別,然后,闡述了軟件工程技術(shù)的特點和設(shè)計要求,最后,提出軟件工程管理的運用的方式,旨在促使系統(tǒng)工程軟件更加智能化、人性化。

一、系統(tǒng)軟件和傳統(tǒng)軟件不同之處

系統(tǒng)軟件具有開發(fā)時間短、需求不明確的特點,和傳統(tǒng)軟件的不同之處,主要體現(xiàn)在以下幾個方面:第一,系統(tǒng)軟件開發(fā)比較側(cè)重于信息含量,面向主要市場是文檔和電子產(chǎn)品,即動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁;第二,系統(tǒng)軟件在開發(fā)過程中比較重視視覺和感覺,比較強度客戶的舒適度。第三,系統(tǒng)軟件的用戶形式多樣,很多系統(tǒng)軟件在設(shè)計和開發(fā)過程中,必須考慮不同用戶的應(yīng)用技術(shù)和能力,擁有較為復(fù)雜的人機接口和用戶信息遞交;第四,系統(tǒng)軟件的內(nèi)容屬于驅(qū)動內(nèi)容,這和傳統(tǒng)軟件有本質(zhì)區(qū)別【1】。

二、系統(tǒng)軟件開發(fā)過程中軟件工程技術(shù)的特點

系統(tǒng)軟件開發(fā)過程中涉及到很多不同類型軟件工程技術(shù),而且對不同軟件工程技術(shù)的要求各不相同。最主要的是系統(tǒng)軟件在開發(fā)過程中必須著重考慮系統(tǒng)實現(xiàn)方面的工作,這就使得系統(tǒng)軟件開發(fā)具有極強的復(fù)雜性。而且系統(tǒng)軟件內(nèi)部模塊和模塊之間存在較高的耦合性,每個模塊之間都相互聯(lián)系,當某一個模塊發(fā)生變動時,帶來的后果往往多重的。所以,雖然系統(tǒng)軟件開發(fā)過程中軟件工程技術(shù)在前期設(shè)計過程中的目標比較明確和完善,但是在實際設(shè)計過程中要想完成此目標具有很大難度,需求經(jīng)過系統(tǒng)、規(guī)范、科學(xué)而漫長的過程才能實現(xiàn)。

三、系統(tǒng)軟件開發(fā)過程中對軟件工程技術(shù)的需求

由于系統(tǒng)軟件開發(fā)具有很強復(fù)雜性,保證軟件工程技術(shù)的科學(xué)性和合理性,對系統(tǒng)軟件的開發(fā)和利用有至關(guān)重要的作用。在控制其復(fù)雜性過程中,需要對系統(tǒng)軟件開發(fā)人員和材料進行嚴格控制。因此,軟件工程技術(shù)實際上指的是,在系統(tǒng)軟件開發(fā)過程中,借助工程化的管理模式,對系統(tǒng)軟件開發(fā)的全過程、全方位進行控制。相關(guān)實踐表明,應(yīng)用軟件工程技術(shù)對系統(tǒng)軟件開發(fā)過程中存在的問題,能進行更好控制和解決,從而有效促進系統(tǒng)軟件開發(fā)過程中既定目標的實現(xiàn)。

四、軟件開發(fā)技術(shù)和開發(fā)需求不匹配問題分析

在系統(tǒng)軟件開發(fā)過程中,隨著人們對軟件功能要求的提高,軟件開開發(fā)單位為了滿足人們多樣化的需求,推出了一系列具有實際意義的方式方法,其中最典型有三種,即:SASD法、JSD法、JSP法。這三種方法的應(yīng)用時間比較廣泛,但我國系統(tǒng)軟件開發(fā)過程中軟件工程技術(shù)起步比較晚,和美國、德國、法國等發(fā)達國家相比仍然存在較大差距。所以這三種方法能否滿足當前系統(tǒng)軟件開發(fā)的需求還需要進一步驗證和分析,在實際應(yīng)用過程中,軟件工程技術(shù)對系統(tǒng)軟件的開發(fā)具有較強約束性。基于此,傳統(tǒng)的軟件工程技術(shù)很難滿足我國系統(tǒng)軟件工程的需求。提高軟件開發(fā)技術(shù)和開發(fā)需求匹配關(guān)鍵不斷創(chuàng)新出現(xiàn)新的軟件工程技術(shù),從而提高和現(xiàn)有系統(tǒng)軟件開發(fā)的匹配度,進而達到系統(tǒng)軟件充分利用的目的【2】。

五、軟件工程技術(shù)

(一)系統(tǒng)軟件開發(fā)模型設(shè)計

就目前我國系統(tǒng)軟件的發(fā)展程度而言,對軟件工程技術(shù)的提出了更高要求,開發(fā)過程中涉及到三個部門,第一,系統(tǒng)軟件開發(fā)模型,對整個系統(tǒng)軟件的開發(fā)和研究,進行周期性的闡釋;第二,項目管理模型,是對系統(tǒng)軟件的基本過程和項目管理進工程化管理;第三,應(yīng)用組織模型,對系統(tǒng)軟件開發(fā)全過程進行影響和作用。

(二)軟件應(yīng)用程序的研發(fā)

軟件開發(fā)流程主要來源是迭代思想,在每一次迭代中,蘊涵開一個軟件可行版本活動,以及相應(yīng)的輔助工作。包括版本功能介紹、用戶說明。所以一整套完善系統(tǒng)應(yīng)用程序開發(fā)過程包含了:用戶的具體需求、針對性設(shè)計、測試、應(yīng)用等程序。在應(yīng)用開發(fā)過程中,又分為是預(yù)知需求分析、軟件具體設(shè)計、軟件性能檢測等流程。此過程中技術(shù)工程人員是整個系統(tǒng)軟件開發(fā)過程中技術(shù)保證,設(shè)計和檢測是保障整個開發(fā)過程能順利進行的基礎(chǔ)。這些因素相互協(xié)調(diào)發(fā)展,是提升用戶滿意度的基礎(chǔ)。

(三)軟件工程技術(shù)運用

科學(xué)合理的運用軟件工程技術(shù),能有效促進系統(tǒng)軟件開發(fā)的順利運行。進年來,我國社會科學(xué)技術(shù)和算計軟件技術(shù)快速發(fā)展,系統(tǒng)軟件開發(fā)團隊的技術(shù)和實力不斷提高,軟件工程技術(shù)取得長足發(fā)展,在系統(tǒng)軟件開發(fā)過程起到的作用也越來越大,貫穿于整個系統(tǒng)軟件開發(fā)過程中,包括:系統(tǒng)軟件在開發(fā)前的可行性分析評估、設(shè)計方案、具體操作流程,以及軟件開發(fā)后的檢測驗收過程中。

六、結(jié)束語

綜上所述,系統(tǒng)軟件開發(fā)過程中軟件工程技術(shù)應(yīng)用的合理與否,之間決定了整個系統(tǒng)軟件的質(zhì)量和使用價值。但我國軟件工程技術(shù),到目前為止還處于發(fā)展的初級階段,而的系統(tǒng)軟件具有很強的復(fù)雜性,這就對軟件工程技術(shù)提出了更高要求。本文結(jié)合理論實踐,針對的系統(tǒng)軟件開發(fā)的具體特點和流程模型設(shè)計,就系統(tǒng)軟件開發(fā)過程中的軟件工程技術(shù)進行深入分析,希望對我國系統(tǒng)軟件的開發(fā)和利用奠定良好基礎(chǔ)。

作者:黃逸之 單位:北京理工大學(xué)珠海學(xué)院計算機系

參考文獻

推薦期刊
九九热国产视频精品,免费国产不卡一级αⅴ片,欧美日韩蜜桃在线播放,精品国内自产拍99在线观看
午夜福利国产小视频在线 | 亚洲精品第一国产综合精品99 | 亚洲一区中文字幕制服丝袜 | 亚洲一欧美巨大中文字幕在线 | 亚洲日本va午夜中文字幕久久 | 亚洲字幕一区二区精品 |