第一篇:項目管理的基本思想在軟件工程課程教學(xué)
目錄
一、引言
二、課程特點及項目管理核心概念
三、項目管理的重要思想
四、過程管理應(yīng)用于組織教學(xué)的方法
五、結(jié)語 參考文獻 摘要 關(guān)鍵詞
一、引言
軟件工程是計算機相關(guān)專業(yè)一門重要專業(yè)必修課程,具有很強的實踐性。軟件工程中的技術(shù)、方法和原理往往比較復(fù)雜,難以掌握,從而導(dǎo)致學(xué)生在學(xué)的過程中極易產(chǎn)生枯燥乏味的感覺和學(xué)不會、不想學(xué)的思想,教師也會覺得該課程教起來相當困難,要想達到較好的教學(xué)效果、培養(yǎng)學(xué)生較強的實踐能力十分困難。筆者在講授軟件工程專業(yè)課程時,將軟件工程中項目管理的原理和方法應(yīng)用于軟件工程教學(xué),注重學(xué)生人員的組織、任務(wù)劃分、學(xué)習(xí)過程管理以及結(jié)果考核,在教學(xué)內(nèi)容、教學(xué)方法和手段以及考核等方面進行了一些嘗試和探究,取得了很好的效果。
二、課程特點及項目管理核心概念 1.軟件工程課程特點
本課程是為了解決軟件開發(fā)和維護過程中所遇到的一系列嚴重問題,而產(chǎn)生的一門新興的工程型學(xué)科,目的在于提高軟件的質(zhì)量與生產(chǎn)率,最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。軟件工程課程中所討論的原理、方法和技術(shù)來源于軟件開發(fā)和維護的實踐和經(jīng)驗,并且是經(jīng)過時間的檢驗而證明是正確的或者是當前最好的技術(shù)和方法,具有抽象性、復(fù)雜性和高度的時效性。正因如此,軟件工程課程不同于一般的計算機專業(yè)課程,它具有自身的特點。
(1)綜合性。軟件項目開發(fā)是一項綜合的系統(tǒng)工程,是對所學(xué)專業(yè)知識和能力的綜合運用,包括:程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫等,同時,還涉及工程學(xué)、管理學(xué)、經(jīng)濟學(xué)、數(shù)學(xué)、心理學(xué)等多個領(lǐng)域的知識。
(2)時效性。隨著IT行業(yè)的飛速發(fā)展,新的軟件工程的原理、方法和工具也是層出不窮。為了使學(xué)生所學(xué)的軟件工程知識和技能在軟件行業(yè)中能真正發(fā)揮作用,因此,在授課時,除了講解基本概念、原理和方法外,更重要的是,對一些不再流行的方法和技術(shù)需要進行大量的裁減,而補充一些最新的方法和技術(shù),以適應(yīng)技術(shù)的發(fā)展。
(3)實踐性。軟件工程包括大量的軟件開發(fā)實踐的經(jīng)驗和教訓(xùn),具有很強的實踐性。因此,在教學(xué)過程中,不僅要注重基本的概念、原理和方法,而且要進行具體的軟件開發(fā)實踐活動,這樣才能將理論與實踐相結(jié)合,使學(xué)生真正學(xué)以致用。2.項目管理的核心概念
軟件項目管理主要包括4個要素:人員(People)、產(chǎn)品(Product)、過程(Process)和項目(Project),正好構(gòu)成軟件項目管理的“4P”要素。
(1)人員。相對于開發(fā)工具和技術(shù)來說,軟件人員的素質(zhì)和組織管理顯得尤為重要。對于大型的軟件項目更是需要整個團隊的共同努力和協(xié)作,因此對開發(fā)人員的組織和管理將是一項十分重要的工作,組織和管理的好壞直接影響到整個項目的成敗。
(2)產(chǎn)品。作為軟件項目的最終目標,必須在規(guī)定的時間和預(yù)算內(nèi)完成產(chǎn)品。經(jīng)驗表明,影響軟件產(chǎn)品的主要因素是軟件需求的不確定和需求規(guī)格說明的不準確。
(3)過程。軟件產(chǎn)品從無到有,需要經(jīng)過一系列復(fù)雜的過程,對這些過程中所使用的技術(shù)、方法、活動和工具進行有效的管理、跟蹤和控制,必要時進行有效復(fù)用,是管理學(xué)中的一個重要目標。
(4)項目。為了實現(xiàn)項目的目標,項目管理者需要在有限的資源約束下,運用系統(tǒng)的觀點、方法和理論,對軟件項目的全過程進行計劃、組織、協(xié)調(diào)、控制和評價。
三、項目管理的重要思想
所謂的軟件項目管理,就是指通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以便在預(yù)定成本和期限內(nèi)開發(fā)出符合客戶需求的軟件。[1]其重要思想在于:開展任何活動,必須在事前進行認真計劃和規(guī)劃,在執(zhí)行過程中進行過程跟蹤和控制,在活動完成后進行相應(yīng)的質(zhì)量評價。
在計劃時期,首要的任務(wù)是要明確當前活動的目標,據(jù)此設(shè)計活動的具體過程、步驟、人員組織形式以及監(jiān)控和評價方式。在活動的執(zhí)行過程中,要有相應(yīng)的評價指標,據(jù)此對活動過程的各個環(huán)節(jié)進行有效地監(jiān)控和管理。在結(jié)束階段,要對活動的執(zhí)行情況進行質(zhì)量的評審,確保得到的是合格的中間產(chǎn)品,或者說,達到了預(yù)先設(shè)定的活動目標。
四、過程管理應(yīng)用于組織教學(xué)的方法 在軟件工程課程的教學(xué)實踐活動中,根據(jù)軟件項目管理中的核心概念和重要思想來設(shè)計教學(xué)內(nèi)容和方法,一方面,教學(xué)本身體現(xiàn)了軟件工程思想,另一方面,使得教學(xué)活動易于設(shè)計和實現(xiàn),同時增加了教學(xué)的趣味性和教學(xué)質(zhì)量的可管理性。1.教學(xué)設(shè)計的指導(dǎo)原則
根據(jù)項目管理的核心概念和基本思想,在我們的實踐教學(xué)活動中,制定了以下教學(xué)指導(dǎo)原則。
(1)學(xué)時比例:講授和實踐比例達到1:1,對于一次2學(xué)時的課程,講授和課堂實踐各占一半;(2)組織形式:針對實踐環(huán)節(jié),教師充當客戶,學(xué)生以自愿形式組成開發(fā)團隊,每組5~6人,每組推選組長一名,成員要有不同的分工和角色,包括項目組長、編碼員、測試員、分析員、設(shè)計員、質(zhì)檢員等角色;
(3)實踐題目:為了強化實踐訓(xùn)練的目的,實踐性環(huán)節(jié)分為課堂實踐和課后綜合訓(xùn)練:課后綜合訓(xùn)練,以一個完整的軟件項目作為實訓(xùn)內(nèi)容,與教學(xué)進度相應(yīng),進行任務(wù)的階段劃分和實施。課堂實踐以小型的單元實踐為主,題目要有相對獨立性,避免前后依賴,增加可操作性,類型可以包括分析型、設(shè)計型、訓(xùn)練型、討論以及爭議性的話題等。選題必須切合學(xué)生的專業(yè)背景和實際情況,且具有一定的實踐價值和社會意義。
(4)管理與考核:管理過程采用模擬公司的分級管理方式,各個小組組長向教師負責(zé)項目的完成和進展,而組內(nèi)每個成員向小組組長負責(zé)自己所擔(dān)當角色的任務(wù)完成??己丝刹捎枚喾N形式,如答辯、交叉考核、展示、提問或者綜合評審等。2.具體實施方案(1)教學(xué)內(nèi)容規(guī)劃 在正式課程開始教學(xué)之前,需要根據(jù)教學(xué)計劃和大綱進行認真的教學(xué)規(guī)劃,包括學(xué)時分配、教學(xué)進度安排、階段性教學(xué)目標和實踐內(nèi)容的設(shè)計,如表1所示。在正式教學(xué)之前,將此教學(xué)
第二篇:軟件工程課程
軟件工程專業(yè)本科生課程設(shè)置
時間:2009-03-22 08:47 來源: 作者: 點擊:1059
學(xué)院在課程體系制定、課程計劃安排上制定了嚴格的規(guī)定與規(guī)范的操作程序。課程體系、教學(xué)計劃由學(xué)院主管院長負責(zé),對國內(nèi)外大學(xué)、大型IT企業(yè)進行調(diào)研、分析,確定社會對人才的需求和人才知識、能力、素質(zhì)的構(gòu)成,而后由主管院長召集相關(guān)教師起草方案,再經(jīng)學(xué)院教學(xué)指導(dǎo)委員會專家和企業(yè)專家進行論證,并報學(xué)校教務(wù)處審核、批準,由此形成本科生、碩士研究生的培養(yǎng)方案。同時,根據(jù)學(xué)科發(fā)展和社會需求的變化,學(xué)院通過增加或變更選修課、開設(shè)講座等方式動態(tài)調(diào)整。目前,軟件學(xué)院主要課程設(shè)置按課程體系關(guān)鍵域分類如下。
1)數(shù)學(xué)基礎(chǔ)(本科):大學(xué)數(shù)學(xué)I、概率論與數(shù)理統(tǒng)計、數(shù)值分析、離散數(shù)學(xué)等。
2)軟件基礎(chǔ)(本科):數(shù)據(jù)結(jié)構(gòu)、匯編語言程序設(shè)計、面向?qū)ο缶幊膛c設(shè)計、可視化程序設(shè)計基礎(chǔ)、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、C/C++程序設(shè)計、算法分析與設(shè)計、編譯原理、軟件工程等。
3)硬件基礎(chǔ)(本科):數(shù)字電子技術(shù)、計算機系統(tǒng)基礎(chǔ)、數(shù)字通信原理、微機原理與技術(shù)、計算機網(wǎng)絡(luò)原理等。
4)專業(yè)技術(shù)(本科):大型數(shù)據(jù)庫技術(shù)、軟件體系結(jié)構(gòu)、系統(tǒng)級編程技術(shù)、數(shù)據(jù)挖掘、嵌入式系統(tǒng)、J2EE應(yīng)用開發(fā)、.NET架構(gòu)軟件開發(fā)、設(shè)計模式、建模與測試、信息安全、軟件開發(fā)案例分析、并行程序設(shè)計、多媒體技術(shù)及應(yīng)用、網(wǎng)絡(luò)與分布式計算、計算機圖形學(xué)等。
5)工程管理(本科):軟件開發(fā)項目管理、軟件質(zhì)量管理與控制、企業(yè)管理、網(wǎng)絡(luò)營銷、商務(wù)談判技巧、軟件度量及應(yīng)用、心理學(xué)、商務(wù)英語等。
6)數(shù)學(xué)基礎(chǔ)(雙證碩士):應(yīng)用統(tǒng)計、組合數(shù)學(xué)、應(yīng)用數(shù)學(xué)方法等。
7)軟件理論基礎(chǔ)(雙證碩士):現(xiàn)代軟件工程、面向?qū)ο笈c構(gòu)件技術(shù)、高等計算機算法、移動計算等。
8)數(shù)學(xué)基礎(chǔ)(工程碩士):運籌學(xué)、工程數(shù)學(xué)基礎(chǔ)、應(yīng)用數(shù)學(xué)方法等。
9)軟件理論基礎(chǔ)(工程碩士):分布式系統(tǒng)、現(xiàn)代軟件工程、軟件重用與構(gòu)件技術(shù)、軟件工程實例分析等。
第三篇:軟件工程課程心得
軟件工程項目總結(jié)
在我們整個軟件工程過程中,我體會到了許多,也學(xué)到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由七個成員組成,在相互商量后我們也確定了我們組的項目,是做一個校園 b2c電子商務(wù)網(wǎng)站。我們也隨即做了分工,由于我們團隊只有我和另一名成員有類似的項目開發(fā)經(jīng)驗,所以我們便要擔(dān)負起更重的任務(wù)。最后由于在整個團隊中,對于界面開發(fā)這一塊只有我的開發(fā)經(jīng)驗較深,所以我便擔(dān)任了主要的界面設(shè)計人員。我們的項目也正式開始了。
需求調(diào)研和分析對于軟件開發(fā)過程至關(guān)重要。我們在開發(fā)時如果不進行調(diào)研和分析,那么對于后來的項目進展將產(chǎn)生致命的后果。我們在項目的開發(fā)中便遇到了這樣的問題。老師作為我們的客戶,他對這個校園 b2c電子商務(wù)網(wǎng)站的要求便是我們必須了解的,我們也必須以客戶的要求為根本構(gòu)建我們的這個系統(tǒng)。我們開始自己隨意的計劃整個網(wǎng)站的設(shè)計,然后報給老師,老師作為一個客戶并不是全部認同,隨后我們也必須按著客戶的要求更改我們的設(shè)計報告。我也明白了,再做一個系統(tǒng)時,必須隨時和客戶保持溝通,隨時了解他們需要什么,他們想要什么功能。如果我們不去和客戶溝通,不去調(diào)研客戶的需求,做出來的系統(tǒng)即使在我們看來是一個很好,很完美的產(chǎn)品,但是如果客戶不認同,那么我們所做的一切都是徒勞,還要返工去修改,費時費力。所以在做任何一個項目時,前期的需求調(diào)研和需求分析都是必須的,這是在做一個項目的基本,是關(guān)系成敗的重要一環(huán)。
對于一個項目,它的需求設(shè)計也非常重要。在我們的校園 b2c電子商務(wù)網(wǎng)站開發(fā)的過程中,遇到了一些問題,如客戶提交購買確認后,我們?nèi)绾未_定應(yīng)該以什么方式將貨物給客戶,還有以什么確定貨物的送達地點,客戶的訂單在哪里處理,訂單以什么方式驚醒處理,在管理員應(yīng)該實現(xiàn)的功能上反復(fù)增刪等,這些問題很多都是由于設(shè)計不夠清晰,不夠完善而導(dǎo)致的。出現(xiàn)的這些問題很多都是非常棘手的,我們?yōu)榱私鉀Q這些棘手的問題浪費了大量的時間,我們不得不在工程代碼上改了又改,在數(shù)據(jù)庫里增表、刪表、加數(shù)據(jù)、減數(shù)據(jù),當然,在文檔里也要做出相應(yīng)的修改以適應(yīng)新的功能。還好,我們能及時地發(fā)現(xiàn)問題,通過相互
溝通討論,問題也得到了解決。通過總結(jié),我們也意識到,我們大家在做需求分析和進行需求了解時僅僅考慮了一些基本的功能,而至于管理員和客戶之間的聯(lián)系,以及具體的一些流程我們都沒有深究,而導(dǎo)致我們到后期花費了大量的時間用于修復(fù)之前沒有考慮周全而帶來的問題。如果我們的需求設(shè)計能夠比較清晰和完善,那么我們在開發(fā)過程中便會很明白的知道我們應(yīng)該實現(xiàn)什么樣的功能,在數(shù)據(jù)庫里應(yīng)該怎樣建表,以什么方式插入數(shù)據(jù),從而可以避免反復(fù)修改工程的問題,也能避免出現(xiàn)可能毀壞整個工程的問題。整個工程的需求設(shè)計對于一個項目的順利進展至關(guān)重要。
對于文檔在軟件工程中的作用,我在這次項目開發(fā)過程中有了更加深刻的理解。文檔在軟件開發(fā)過程中是很有用的,文檔是一項必不可少的東西,但文檔也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確開發(fā)過程中為什么要寫這些文檔,文檔的最根本的作用是為了更好的溝通。一個項目或產(chǎn)品可能需要延續(xù)很長的時間,開發(fā)過程中可能需要很多的環(huán)節(jié),可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個共同的聲音。文檔只不過是一個準繩,將開發(fā)中的各個樹枝樹葉扶正。如果,這個準繩太多太緊,大樹可能會發(fā)育的很高很直,但是就是有些畸形,如果這個準繩太少太松,大樹可能就會變成灌木叢。文檔的多少、繁簡是有度的,絕對不能說越多越好。我覺得,文檔需要說明解決問題的方法而不是解決問題的理論,因為解決問題的理論是在文檔形成中做到的。文檔完整即可,每一份文檔說明一個問題,無需將多個文檔的內(nèi)容放在一個文檔的里面。除了重要階段形成文檔,其它部分都只是討論或者說是想法。不要讓文檔成為累贅,如果真是這樣,我認為就是該考慮寫這些文檔的必要性的時候了。我們在文檔的時候,一定要明白為什么要寫這些。
在整個項目開發(fā)過程中,我們也同時遇到了許多程序接口問題,頁面和功能相結(jié)合的問題,數(shù)據(jù)庫建表的問題,這些問題都是源于我們項目小組成員之間的溝通不足。我深刻認識到,在項目開發(fā)時,項目小組中各個成員之間的相互溝通是非常重要的。如果我們要在功能方面作出修改,那么程序人員和頁面人員及數(shù)據(jù)庫人員就必須相互溝通,共同對整個程序作出相應(yīng)的修改,這樣才能避免最終整合時出現(xiàn)問題。
在這十個周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現(xiàn)開發(fā)出所用的軟件。但現(xiàn)在我明白了,軟件工程的作用,就是告訴人們怎樣去開發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開發(fā)和管理有關(guān)的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統(tǒng)分析->建模->概要設(shè)計->詳細設(shè)計->編碼->測試->維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
在這次項目里我完成了許多工作,在界面設(shè)計上我完成了,首頁、全部的商品頁面、全部的用戶頁面及部分管理員頁面的制作,在后期項目整合過程中修改了功能和界面結(jié)合時出現(xiàn)的bug,還有數(shù)據(jù)庫插入數(shù)據(jù)及解決數(shù)據(jù)庫集中整合時出現(xiàn)的問題。這些工作我都順利完成了,雖然并不能算是非常的出色,但也算是盡力了?,F(xiàn)在看到自己辛勞的成果,我感到很欣慰。
當然,在這次項目過程中我也發(fā)現(xiàn)了自己的一些問題。如現(xiàn)在的網(wǎng)站開發(fā)技術(shù)還不夠強,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發(fā)中能做得更好。
第四篇:軟件工程課程總結(jié)
軟件工程課程總結(jié)
學(xué)習(xí)軟件工程這門課程已經(jīng)有一個學(xué)期了,整整一個學(xué)期下來,應(yīng)該說還是有許多值得肯定的地方的。其實在我看來,軟件工程與其說是一門課程,不如說是一門思想,是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的能夠解決問題的思想集合。
學(xué)習(xí)軟件工程能夠加強人的整體思維能力,對人的綜合素質(zhì)有所提高,培養(yǎng)良好的分析規(guī)劃和團隊意識。學(xué)習(xí)了軟件工程,我們可以在給定成本、進度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟件產(chǎn)品。追求這些目標有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護的困難。
在這學(xué)期的軟件工程課上,我每次都認真聽老師講課,跟著老師的腳步,領(lǐng)悟老師的思想,學(xué)習(xí)態(tài)度還算認真。一剛開始還覺得這門課有點枯燥乏味,但后來靜下心來看這本書感覺書上的知識對以后無論是在生活、學(xué)習(xí)還是在工作上都有很大的好處,對自身也是一種完善,因為這里面的思想博大精深,值得學(xué)習(xí)。從此我就認真地學(xué)習(xí)這門課程。盡管在學(xué)習(xí)的過程中遇到了很多困難,但經(jīng)過與老師和同學(xué)的積極交流終于把問題解決了,從中學(xué)到了更深層次的知識,而這些知識又是對書本知識的補充,對學(xué)習(xí)書本知識有很大的好處。當然,學(xué)習(xí)理論知識就是用來指導(dǎo)實踐的,也只有把理論知識運用到實踐才能充分發(fā)揮理論的作用。所以在業(yè)余時間,我們嘗試著把所有知識串起來,并根據(jù)自身的實踐經(jīng)驗完成了相關(guān)的系統(tǒng)分析報告,讓知識能更加駐留我心。
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十章的內(nèi)容。第一章軟件工程概述,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn)。了解軟件工程的的工作對象、發(fā)展背景、內(nèi)容、目標。還介紹了三個常用的軟件工具Microsoft Visio、PowerDesigner和Rational Rose。第二章軟件開發(fā)過程模式,這一章主要讓我們了解軟件生存周期,認識到了軟件開發(fā)過程,熟悉了幾種常用的軟件過程模式的特點與用途。此章介紹了6種模式:瀑布模式、原型進化模式、增量模式、螺旋模式、迭代模式和組件復(fù)用模式。第三章軟件項目管理,本章詳細介紹了項目管理內(nèi)容(對項目的管理、對項目成果的管理),讓我們學(xué)會如何制定項目計劃,并學(xué)習(xí)使用甘特圖、任務(wù)網(wǎng)絡(luò)圖(由Microsoft Project創(chuàng)建)制定項目計劃。第四章計算機系統(tǒng)工程,這一章讓我們熟悉如何從全局的計算機系統(tǒng)角度考察軟件問題,熟悉如何對軟件項目做可行性分析。該章還涉及系統(tǒng)初步建模,其中的系統(tǒng)框架圖、系統(tǒng)流程圖,可由Microsoft Visio中的基本流程圖創(chuàng)建。第五需求分析,這一章重點講解了需求分析任務(wù)及過程,讓我們學(xué)會如何獲取業(yè)務(wù)需求、建立業(yè)務(wù)模型、進行需求驗證。可通過Microsoft Visio中的組織圖創(chuàng)建業(yè)務(wù)樹,通過Rational Rose創(chuàng)建業(yè)務(wù)用例、業(yè)務(wù)活動。第六章結(jié)構(gòu)化分析建模,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。說明了建立分析建模的原因和方法。我們可通過PowerDesigner創(chuàng)建實體聯(lián)系圖,通過Microsoft Visio創(chuàng)建數(shù)據(jù)流圖,通過Rational Rose創(chuàng)建事件狀態(tài)圖。第七章基于UML的面向?qū)ο蠓治鼋?,本章詳細介紹了UML的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹??赏ㄟ^Rational Rose進行面向?qū)ο蠓治鼋?。第八章概要設(shè)計,這一章主要講解了概要設(shè)計任務(wù)及過程,介紹了系統(tǒng)構(gòu)架、數(shù)據(jù)結(jié)構(gòu)、程序結(jié)構(gòu)等概要設(shè)計內(nèi)容。第九章結(jié)構(gòu)化設(shè)計建模,本章介紹了結(jié)構(gòu)化設(shè)計建模的工具,讓我們學(xué)會如何基于數(shù)據(jù)流進行程序結(jié)構(gòu)映射和如何對程序結(jié)構(gòu)進行優(yōu)化。該章中的程序結(jié)構(gòu)圖由Microsoft Visio創(chuàng)建。第十章基于UML的面向?qū)ο笤O(shè)計建模,本章講解了面向?qū)ο笤O(shè)計建模內(nèi)容,讓我們學(xué)習(xí)使用UML建立面向?qū)ο笤O(shè)計模型(邏輯結(jié)構(gòu)、動態(tài)過程、物理裝配與部署)。通過Rational Rose進行設(shè)計建模。
學(xué)習(xí)了這門課程之后,我發(fā)現(xiàn)無論是在上課,還是在學(xué)校里面做學(xué)生工作,技術(shù)性的工作就好比變魔術(shù)。其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單,這個可以說就是技術(shù)的魅力了。就比如說軟件工程中所謂的需求獲取,從字面上來看好像是一件很難的事,而其實就是一個談判,辯論,交流的過程,只不過這個交流過程可能針對性比較強。所以說軟件工程就是對生活的平凡小事的升華,它來自于生活卻高于生活。當我們在畢業(yè)之后,軟件工程是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,即使我們是從事其它行業(yè),不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應(yīng)該說這就是這門課的價值所在,它讓我們既學(xué)會了管理又學(xué)會了技術(shù)。
在整個學(xué)期的學(xué)習(xí)過程中,我收獲了不少,能夠解決一些較為簡單的問題,在建模方面的能力有所加強。原來一直以為學(xué)好這門課程最重要的是會編寫程序,其實則不然。我了解到軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括:軟件的定義、可行性分析報告、項目開發(fā)計劃、軟件需求說明書、概要設(shè)計說明書、詳細設(shè)計說明書、用戶操作手冊、測試計劃、測試分析報告、開發(fā)進度報告、項目開發(fā)總結(jié)報告、軟件維護手冊、軟件問題報告、軟件修改報告等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。當然自己也有很多的不足之處,比如自己動手操作能力比較弱,實踐經(jīng)驗匱乏,思維不緊密,不注重細節(jié),耐心不夠,每次遇到問題就去問老師,實戰(zhàn)精神不強,所以導(dǎo)致很多知識學(xué)得也只是模模糊糊的。所以在以后的學(xué)習(xí)中我要加強自身綜合素質(zhì)的培養(yǎng),要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決,這樣才能學(xué)到這門課程的精華。我覺得學(xué)好軟件工程首先要明白自己的學(xué)習(xí)目標究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性地在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)語言時,要看看與C語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識融匯貫通。
在本學(xué)期我們班每位同學(xué)都做了管理信息系統(tǒng)分析報告,其中就用到了軟件工程中的不少知識。比如項目來源,項目任務(wù),項目規(guī)劃,系統(tǒng)需求分析,系統(tǒng)結(jié)構(gòu)設(shè)計,系統(tǒng)詳細設(shè)計,系統(tǒng)測試,系統(tǒng)維護等等。而我做的是酒店客房管理信息系統(tǒng)的分析報告,其中涉及到了以上幾個方面,需要明確任務(wù)目標,準備相應(yīng)的項目資源,對項目實施合理的規(guī)劃,進行業(yè)務(wù)需求和功能需求分析,制定出數(shù)據(jù)字典,設(shè)計出軟件結(jié)構(gòu),并對其進行詳細設(shè)計,比如算法設(shè)計,數(shù)據(jù)庫設(shè)計和界面設(shè)計。畫出進度安排表,組織結(jié)構(gòu)圖,業(yè)務(wù)流程圖,數(shù)據(jù)流圖,利用UML建模畫出圖形,通過這些圖形能更直觀地看出各個實體之間的關(guān)系,對系統(tǒng)有個比較整體的體現(xiàn)。
總之,在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,成為社會的可用之才,回饋社會。
第五篇:軟件工程課程心得
軟件工程設(shè)計總結(jié)
在我們整個軟件工程過程中,我體會到了許多,也學(xué)到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由七個成員組成,在相互商量后我們也確定了我們組的項目,是做一個圖書管理系統(tǒng)。我們也隨即做了分工,由于我們團隊只有我和另一名成員有類似的項目開發(fā)經(jīng)驗,所以我們便要擔(dān)負起更重的任務(wù)。最后由于在整個團隊中,對于界面開發(fā)這一塊只有我的開發(fā)經(jīng)驗較深,所以我便擔(dān)任了主要的界面設(shè)計人員。我們的項目也正式開始了。
對于文檔在軟件工程中的作用,我在這次項目開發(fā)過程中有了更加深刻的理解。文檔在軟件開發(fā)過程中是很有用的,文檔是一項必不可少的東西,但文檔也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確開發(fā)過程中為什么要寫這些文檔,文檔的最根本的作用是為了更好的溝通。一個項目或產(chǎn)品可能需要延續(xù)很長的時間,開發(fā)過程中可能需要很多的環(huán)節(jié),可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個共同的聲音。文檔完整即可,每一份文檔說明一個問題,無需將多個文檔的內(nèi)容放在一個文檔的里面。除了重要階段形成文檔,其它部分都只是討論或者說是想法。不要讓文檔成為累贅,如果真是這樣,我認為就是該考慮寫這些文檔的必要性的時候了。我們在文檔的時候,一定要明白為什么要寫這些。
在這一周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現(xiàn)開發(fā)出所用的軟件。但現(xiàn)在我明白了,軟件工程的作用,就是告訴人們怎樣去開發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開發(fā)和管理有關(guān)的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統(tǒng)分析->建模->概要設(shè)計->詳細設(shè)計->編碼->測試->維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
當然,在這次項目過程中我也發(fā)現(xiàn)了自己的一些問題。如現(xiàn)在的網(wǎng)站開發(fā)技術(shù)還不夠強,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發(fā)中能做得更好。