心得體會(huì)是個(gè)人在實(shí)踐中所獲得的經(jīng)驗(yàn)和感悟,是對(duì)自己的經(jīng)歷進(jìn)行反思和總結(jié)的一種方式。通過(guò)寫心得體會(huì),我們可以將自己的思考和領(lǐng)悟記錄下來(lái),以便在今后的學(xué)習(xí)和工作中加以借鑒和應(yīng)用。我覺(jué)得寫寫心得體會(huì)是一種很好的提升自我的方式,可以幫助我們更好地認(rèn)識(shí)自己,改進(jìn)自己。在寫心得體會(huì)時(shí),我們可以通過(guò)具體的案例和實(shí)踐來(lái)支撐我們的觀點(diǎn)和結(jié)論。接下來(lái),我們一起閱讀一些寫得很好的心得體會(huì)范文。
學(xué)習(xí)軟件工程的心得體會(huì)篇一
軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關(guān)數(shù)據(jù)及其說(shuō)明文檔。軟件工程(softwareengineering,簡(jiǎn)稱為se)是針對(duì)軟件這一具有特殊性質(zhì)的產(chǎn)品的工程化方法。se涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來(lái)指導(dǎo)軟件人員的工作。任何事物都是從無(wú)到有的,軟件當(dāng)然也不例外。上世紀(jì)中期,軟件產(chǎn)業(yè)從零開(kāi)始起步,經(jīng)過(guò)半個(gè)多世紀(jì)的發(fā)展,其大致經(jīng)歷的3個(gè)階段:程序設(shè)計(jì)階段、軟件設(shè)計(jì)階段和軟件工程時(shí)代,現(xiàn)已成為推動(dòng)人類社會(huì)發(fā)展的龍頭產(chǎn)業(yè),隨著信息化時(shí)代的發(fā)展,軟件對(duì)人類社會(huì)也將越看來(lái)越重要。人們對(duì)軟件的認(rèn)識(shí)自然經(jīng)歷了一個(gè)由淺入深的過(guò)程,在得到巨大需求的同時(shí),也遇到了一系列嚴(yán)重問(wèn)題,即軟件危機(jī)。所謂軟件危機(jī),是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一些嚴(yán)重問(wèn)題,其實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)趕不上需求的增長(zhǎng)。概括的說(shuō)包含兩方面的問(wèn)題:一、如何開(kāi)發(fā)軟件,以滿足不斷增長(zhǎng),日趨復(fù)雜的要求;二、如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。為研究和解決軟件危機(jī),一門新興的學(xué)科軟件工程,應(yīng)運(yùn)而生。
軟件工程的概念是為了有效地控制軟件危機(jī)的發(fā)生而被提出來(lái)的,它的中心目標(biāo)就是把軟件作為一種物理的工業(yè)產(chǎn)品來(lái)開(kāi)發(fā),要求“采用工程化的原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù)”,它的主要對(duì)象是大型軟件,它的最終目的是擺脫手工生產(chǎn)軟件的現(xiàn)狀,逐步實(shí)現(xiàn)軟件開(kāi)發(fā)和維護(hù)的自動(dòng)化。軟件工程的概念自提出來(lái)后,經(jīng)過(guò)幾十年的發(fā)展,雖然軟件危機(jī)沒(méi)有得到徹底的解決,但在軟件開(kāi)發(fā)方法和技術(shù)方面已經(jīng)有了很大的進(jìn)步,提出了軟件工程知識(shí)體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。
軟件開(kāi)發(fā)過(guò)程大致經(jīng)過(guò)7個(gè)階段:可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、提交與維護(hù)。接下來(lái)逐一分析本人見(jiàn)解:
一、可行性分析:顧名思義,就是看項(xiàng)目究竟“能不能做”。有3個(gè)方面:技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性。要確定項(xiàng)目,首先要客觀的、科學(xué)的了解項(xiàng)目的規(guī)模、難度和時(shí)間限制,才可以確定應(yīng)該投入多少人力、物力和財(cái)力去做這個(gè)項(xiàng)目,必須準(zhǔn)確的估計(jì)項(xiàng)目的規(guī)模與難度??错?xiàng)目是否有價(jià)值去做,如果沒(méi)有價(jià)值,就放棄;如果有價(jià)值,就要看目前的資源是否能滿足項(xiàng)目的開(kāi)發(fā)。如果項(xiàng)目有價(jià)值,且有必需的資源,那么就可以確定能做這個(gè)項(xiàng)目了。
2、通過(guò)什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請(qǐng)教行家。需求分析是非常重要的階段,如果做不好的話,后果很麻煩。
三、概要設(shè)計(jì):解決“怎么做”的問(wèn)題。將需求描述的“做什么”問(wèn)題變?yōu)橐粋€(gè)實(shí)施方案的創(chuàng)造性過(guò)程,使得整個(gè)項(xiàng)目在邏輯上和物理上能夠得意實(shí)現(xiàn)。概要設(shè)計(jì)是第一個(gè)開(kāi)發(fā)活動(dòng),也是最重要的活動(dòng),是軟件項(xiàng)目實(shí)現(xiàn)的關(guān)鍵階段。設(shè)計(jì)質(zhì)量的高低直接決定了軟件項(xiàng)目的成敗,缺乏或者沒(méi)有軟件設(shè)計(jì)的過(guò)程會(huì)產(chǎn)生一個(gè)不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個(gè)良好的軟件設(shè)計(jì)是進(jìn)行快速軟件開(kāi)發(fā)的根本,沒(méi)有良好的設(shè)計(jì),會(huì)將時(shí)間花在不斷的調(diào)試上,無(wú)法添加新功能,修改時(shí)間越來(lái)越長(zhǎng),隨著給程序打上一個(gè)有一個(gè)的補(bǔ)丁,新的功能需要更多的代碼實(shí)現(xiàn),就變成一個(gè)惡性循環(huán)了。概要設(shè)計(jì)是軟件設(shè)計(jì)級(jí)別中的高級(jí)設(shè)計(jì),是從需求出發(fā),描述了總體上系統(tǒng)架構(gòu)應(yīng)該包含的要素。概要設(shè)計(jì)盡可能模塊化,因此描述了各個(gè)模塊之間的關(guān)聯(lián),主要是根據(jù)需求規(guī)格或規(guī)格定義,合理、有效地實(shí)現(xiàn)產(chǎn)品規(guī)格中定義的各項(xiàng)需求,完成軟件模塊的劃分并描述模塊之間的關(guān)系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設(shè)計(jì)、總體結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、接口設(shè)計(jì)、網(wǎng)絡(luò)環(huán)境設(shè)計(jì)等,將產(chǎn)品分割成一些可以獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)的部分并保證各個(gè)部分可以和諧的工作。此過(guò)程中畫(huà)數(shù)據(jù)流圖、ipo圖、e-r圖、界面設(shè)計(jì)等。
出程序的詳細(xì)規(guī)格說(shuō)明,這種規(guī)格說(shuō)明類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,程序員根據(jù)其中所包含的必要的細(xì)節(jié)寫出實(shí)際的程序代碼。用另一種方式說(shuō)就是,詳細(xì)設(shè)計(jì)是將概要設(shè)計(jì)的框架內(nèi)容具體化、明細(xì)化,將概要設(shè)計(jì)轉(zhuǎn)化為可以操作的軟件模型,但在實(shí)際項(xiàng)目進(jìn)行過(guò)程中,依據(jù)項(xiàng)目的具體情況和項(xiàng)目要求,這個(gè)過(guò)程可能可以省略(邏輯上沒(méi)有省略,表現(xiàn)在概要設(shè)計(jì)階段或者編碼階段),直接按照概要設(shè)計(jì)進(jìn)行編碼;不過(guò),個(gè)人認(rèn)為最好有,有詳細(xì)設(shè)計(jì)可以更好的保證編碼順利的進(jìn)行,可以預(yù)先掃清編碼過(guò)程中的障礙,提高代碼的質(zhì)量和編碼的效率。主要包括模塊描述、算法描述、數(shù)據(jù)描述,可以采用圖形、表格或者文字描述等方式表達(dá)出來(lái)。
代碼的時(shí)候,更不要錯(cuò)過(guò)重構(gòu),另外,重構(gòu)可以和設(shè)計(jì)互補(bǔ)。還有一點(diǎn)值得注意,要在必要的時(shí)候部署編碼文檔。
六、測(cè)試:看軟件是否符合標(biāo)準(zhǔn)。軟件編碼完成之后,將軟件提交給用戶之前,需要對(duì)軟件進(jìn)行測(cè)試,這是保證軟件產(chǎn)品質(zhì)量的一個(gè)重要標(biāo)準(zhǔn),也是評(píng)估產(chǎn)品質(zhì)量的主要手段。軟件測(cè)試是從軟件工程中演化出來(lái)的一個(gè)分支,有著非常廣泛的內(nèi)容,并且隨著軟件產(chǎn)業(yè)的發(fā)展,它已經(jīng)變得越來(lái)越重要。軟件與生俱來(lái)就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進(jìn)行軟件測(cè)試是有必要的,測(cè)試是最有效的的排錯(cuò)和防止缺陷和故障的手段。最原始的測(cè)試莫過(guò)于直接運(yùn)行軟件了,后來(lái)測(cè)試手段逐漸多樣化。測(cè)試手段有靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試面向?qū)ο蟮臏y(cè)試、自動(dòng)化測(cè)試等等之分。靜態(tài)測(cè)試或稱靜態(tài)分析是指一種不通過(guò)執(zhí)行程序來(lái)進(jìn)行測(cè)試的一種技術(shù),主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語(yǔ)法、檢查獨(dú)立語(yǔ)句的結(jié)構(gòu)和使用等,主要包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量等等,可以通過(guò)人工進(jìn)行,亦可借助工具(如:語(yǔ)法分析器)自動(dòng)進(jìn)行。動(dòng)態(tài)測(cè)試是運(yùn)行被測(cè)試的程序,通過(guò)輸入測(cè)試用例,對(duì)其運(yùn)行情況進(jìn)行分析,以達(dá)到檢測(cè)的目的,顯然動(dòng)態(tài)測(cè)試封像我們通常意義上的“測(cè)試”。動(dòng)態(tài)測(cè)試主要包括白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試(介于黑盒和白盒之間)。其他測(cè)試不再一一介紹。
打水漂了。為了保證成功地將我們開(kāi)發(fā)的軟件提交給用戶,我們需要對(duì)用戶進(jìn)行培訓(xùn),同時(shí)提交必要的文檔及用戶手冊(cè)軟件。維護(hù)就不用多說(shuō)了,就是售后服務(wù)了。維護(hù)需要分析人員、編碼人員和設(shè)計(jì)人員等角色的參與,有糾錯(cuò)行維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)等。維護(hù)后,要寫軟件維護(hù)過(guò)程文檔,至少提交一個(gè)軟件維護(hù)記錄。以上是軟件工程及其幾個(gè)階段的介紹,知道怎樣開(kāi)發(fā)軟件只是軟件工程的一部分,搞好團(tuán)隊(duì)合作也是很重要的。項(xiàng)目是一個(gè)很大的工程,需要一個(gè)團(tuán)隊(duì)的統(tǒng)籌規(guī)劃,團(tuán)結(jié)協(xié)作,集思廣益,舉一反三,才能夠按預(yù)期完成。
學(xué)習(xí)軟件工程的心得體會(huì)篇二
作為一名軟件工程專業(yè)的學(xué)生,我在近期學(xué)習(xí)的“軟件工程概論”課程中有了很多收獲和體會(huì)。通過(guò)這門課程,我更加深刻地認(rèn)識(shí)到了軟件工程的重要性和其領(lǐng)域的多樣性。在日后的學(xué)習(xí)和實(shí)踐工作中,我將會(huì)更加努力地掌握相關(guān)知識(shí),提升自己的技能和綜合素質(zhì),做一個(gè)優(yōu)秀的軟件工程師。
二、軟件工程概論的課程內(nèi)容
本次軟件工程概論的課程主要從軟件過(guò)程、軟件生命周期、軟件質(zhì)量、軟件工程方法學(xué)等方面進(jìn)行了系統(tǒng)的介紹和講解。在學(xué)習(xí)過(guò)程中,我們通過(guò)理論學(xué)習(xí)和實(shí)際案例演示等多種方式,深入了解了軟件開(kāi)發(fā)的全過(guò)程,明確了軟件需求分析、軟件設(shè)計(jì)、編碼與測(cè)試、維護(hù)等各個(gè)環(huán)節(jié)的重要性。同時(shí),學(xué)習(xí)了如何控制項(xiàng)目中的工期、成本和質(zhì)量,如何保證項(xiàng)目進(jìn)度和質(zhì)量的有效管理,以及如何開(kāi)展有效的軟件開(kāi)發(fā)工作。
三、我對(duì)軟件工程概論的理解
在學(xué)習(xí)軟件工程概論的課程中,我更加深刻地認(rèn)識(shí)到了軟件工程的重要性和復(fù)雜性。我們需要在整個(gè)軟件開(kāi)發(fā)的過(guò)程中,進(jìn)行需求分析、系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試等一系列的工作,確保軟件系統(tǒng)能夠滿足預(yù)期目標(biāo)。同時(shí),我們也需要關(guān)注軟件的維護(hù)和更新,隨時(shí)根據(jù)需求進(jìn)行優(yōu)化和改進(jìn)。在實(shí)踐的過(guò)程中,我們還需要進(jìn)行團(tuán)隊(duì)協(xié)作,有效地管理項(xiàng)目進(jìn)度和質(zhì)量等方面的問(wèn)題。只有當(dāng)我們充分理解軟件的復(fù)雜性,并且有一套有效的軟件開(kāi)發(fā)及管理模式時(shí),才能夠順利地推進(jìn)項(xiàng)目工作,取得良好的效果。
四、對(duì)學(xué)習(xí)軟件工程概論的啟示
學(xué)習(xí)軟件工程概論,不僅能夠?qū)W習(xí)到知識(shí),更能夠培養(yǎng)我們的素質(zhì)和能力。我們通過(guò)學(xué)習(xí)軟件開(kāi)發(fā)的流程和方法,養(yǎng)成了系統(tǒng)化的思維方式,能夠更好地理解問(wèn)題和解決問(wèn)題。同時(shí),我們也學(xué)習(xí)到了互聯(lián)網(wǎng)時(shí)代的軟件開(kāi)發(fā)模式和管理方式,使我們更加適應(yīng)互聯(lián)網(wǎng)時(shí)代的工作環(huán)境。此外,我們對(duì)團(tuán)隊(duì)協(xié)作、進(jìn)度管理和質(zhì)量控制等方面的問(wèn)題也有了更深入的認(rèn)識(shí)。這些都將為我們?nèi)蘸蟮膶W(xué)習(xí)和工作提供極大的幫助。
五、結(jié)語(yǔ)
軟件工程概論的學(xué)習(xí),使我對(duì)軟件工程有了更深入的了解。我了解了軟件開(kāi)發(fā)的全過(guò)程和軟件項(xiàng)目管理的重要性;同時(shí),我養(yǎng)成了系統(tǒng)化的思維方式,能夠更好地應(yīng)對(duì)未來(lái)的學(xué)習(xí)和工作。在以后的學(xué)習(xí)和實(shí)踐工作中,我將會(huì)更加努力地掌握相關(guān)知識(shí),提升自己的技能和綜合素質(zhì),成為一名優(yōu)秀的軟件工程師。
學(xué)習(xí)軟件工程的心得體會(huì)篇三
軟件工程心得體會(huì)未接觸軟件工程之前一直都很想學(xué)這門課程,因?yàn)橛X(jué)得這門課很牛,是那些有工程師稱號(hào)的高手才擺弄的東西。學(xué)了一個(gè)學(xué)期的軟件工程課,終于知道了個(gè)軟件工程的大概。學(xué)的時(shí)候總覺(jué)得很抽象,理解起來(lái)好像不難,但總是摸不著頭腦一種很茫然的感覺(jué)。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個(gè)收獲是,知道了二者的不同之處。以前做過(guò)的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個(gè)軟件的說(shuō)明,看來(lái)已經(jīng)很接近作坊了。不過(guò)大的項(xiàng)目沒(méi)有接觸過(guò),用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過(guò)倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊(duì)開(kāi)發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對(duì)于軟件開(kāi)發(fā)的5個(gè)重要組成部分:需求分析,設(shè)計(jì),編碼,調(diào)試,維護(hù),如何組織這5個(gè)部分的工作,以及如何完成每一個(gè)工作。吾生也有涯,而知也無(wú)涯,學(xué)習(xí)永無(wú)止境。起初,對(duì)軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過(guò)程中,知道了團(tuán)隊(duì)合作十分重要,爭(zhēng)議固然存在,但通過(guò)討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊(duì)成員中能力各有高下,互相尊重,各取所長(zhǎng),不宜妄自菲薄。組長(zhǎng)多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識(shí),順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實(shí)現(xiàn)“軟件制造業(yè)”的社會(huì)化,工業(yè)化大生產(chǎn),提高其勞動(dòng)生產(chǎn)效率。只有如此,軟件業(yè)才能實(shí)現(xiàn)社會(huì)化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒(méi)有管理的設(shè)計(jì)是失敗和混亂的設(shè)計(jì),沒(méi)有設(shè)計(jì)指導(dǎo)的編程是無(wú)序的忙碌的。根據(jù)開(kāi)發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開(kāi)發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(jiàn)(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實(shí)開(kāi)發(fā)軟件,就像是解決一個(gè)邏輯問(wèn)題。想想自己平時(shí)是怎樣寫程序的。首先是要有一個(gè)想法,即我寫的這個(gè)程序是要干什么的;然后就是對(duì)要實(shí)現(xiàn)的核心功能大概構(gòu)思一種或多種實(shí)現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來(lái)就是將涉及的各種主要或次要功能分成各個(gè)模塊;最后就是分模塊來(lái)編碼和debug。在我看來(lái),除了第一步外,其余的步驟應(yīng)該是一個(gè)循環(huán)的過(guò)程。在編碼的過(guò)程中,你總是需要不斷地回過(guò)頭來(lái)修改原先的模塊設(shè)計(jì),甚至最初選定的實(shí)現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計(jì),編碼,調(diào)試,維護(hù)這幾部分的工作的時(shí)候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項(xiàng)目能不能干的分析結(jié)果。
2.項(xiàng)目描述這是在決定立項(xiàng)以后,對(duì)當(dāng)前項(xiàng)目的一份扼要說(shuō)明。
3.需求分析就是對(duì)客戶要求的功能的定義。
4.軟件設(shè)計(jì)這就是對(duì)程序的每一個(gè)模塊的詳細(xì)設(shè)計(jì)的說(shuō)明文檔。
5.開(kāi)發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開(kāi)發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時(shí)突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動(dòng)等,還要對(duì)上述這些修改變動(dòng)作些說(shuō)明。
6.測(cè)試分析用于指出程序存在或潛在的缺陷和錯(cuò)誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會(huì)篇四
摘要:針對(duì)浙江省服務(wù)外包軟件業(yè)的發(fā)展與高校在軟件工程專業(yè)特色培養(yǎng)之間的矛盾,分析浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院在以“服務(wù)外包”為特色的軟件工程專業(yè)建設(shè)方面的優(yōu)勢(shì),提出以強(qiáng)化“服務(wù)外包”特色,培養(yǎng)復(fù)合型、實(shí)用型軟件工程高級(jí)技術(shù)人才為目標(biāo)的優(yōu)勢(shì)專業(yè)建設(shè)總體規(guī)劃和主要建設(shè)方案。
關(guān)鍵詞:優(yōu)勢(shì)專業(yè);服務(wù)外包;軟件工程;建設(shè)方案
高校畢業(yè)生專業(yè)結(jié)構(gòu)失衡,與社會(huì)對(duì)計(jì)算機(jī)應(yīng)用需求及最新科技發(fā)展脫軌,是目前在計(jì)算機(jī)類專業(yè)人才培養(yǎng)中遇到的主要問(wèn)題之一。近年來(lái),隨著浙江省和長(zhǎng)三角地區(qū)信息產(chǎn)業(yè)的蓬勃發(fā)展,高素質(zhì)軟件人才,特別是軟件服務(wù)外包產(chǎn)業(yè)的人才缺口正在不斷加大。針對(duì)這一現(xiàn)象,浙江工業(yè)大學(xué)經(jīng)過(guò)認(rèn)真的市場(chǎng)調(diào)研、認(rèn)證和規(guī)劃后提出要以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強(qiáng)化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強(qiáng)個(gè)性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才,這對(duì)緩解實(shí)際需求矛盾,提高人才培養(yǎng)質(zhì)量,優(yōu)化專業(yè)結(jié)構(gòu)具有十分重要的意義。
1服務(wù)外包專業(yè)建設(shè)
1.1服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r
作為現(xiàn)代服務(wù)業(yè)的一個(gè)重要組成部分,服務(wù)外包產(chǎn)業(yè)具有以下特點(diǎn):信息技術(shù)含量高、附加值大、國(guó)際化水平高、環(huán)境污染少、能耗低、人力資源密集。浙江省的服務(wù)外包產(chǎn)業(yè)目前正處于剛起步的重要階段。浙江省服務(wù)外包合同的執(zhí)行總額約為110億美元,其中杭州市作為浙江省“中國(guó)服務(wù)外包示范城市”,其20離岸服務(wù)外包合同的執(zhí)行總額達(dá)到了15.5億美元,在全國(guó)21個(gè)示范城市中位居第四。服務(wù)外包區(qū)域發(fā)展逐漸形成以杭州市為中心,寧波、嘉興、金華、紹興、臺(tái)州、湖州等共同發(fā)展的新格局。年浙江省服務(wù)外包企業(yè)達(dá)到1480家,其中新增企業(yè)670家,增幅位居全國(guó)前列,同時(shí),服務(wù)外包從業(yè)人員也達(dá)到了18萬(wàn)人。
《浙江省服務(wù)外包產(chǎn)業(yè)“十二五”發(fā)展規(guī)劃》明確指出:浙江省要建設(shè)成為全國(guó)服務(wù)外包產(chǎn)業(yè)發(fā)展的先進(jìn)省份,并打造出“浙江服務(wù)”的整體品牌。該規(guī)劃確定了“至全省服務(wù)外包合同執(zhí)行總額突破200億美元”的經(jīng)濟(jì)目標(biāo),且至20浙江省服務(wù)外包從業(yè)的人數(shù)預(yù)計(jì)達(dá)到30萬(wàn)人,同時(shí)年均新增的直接就業(yè)人數(shù)將會(huì)突破3萬(wàn)人。
服務(wù)外包產(chǎn)業(yè)是人才驅(qū)動(dòng)型產(chǎn)業(yè)。計(jì)算機(jī)類專業(yè)作為高校開(kāi)設(shè)普及率較高的專業(yè),在服務(wù)外包軟件人才的培養(yǎng)上還存在巨大的缺口。隨著產(chǎn)業(yè)的發(fā)展,服務(wù)外包實(shí)用型人才要具有復(fù)合型、跨行業(yè)、外語(yǔ)溝通能力強(qiáng)的特點(diǎn),其人才數(shù)量遠(yuǎn)遠(yuǎn)不能滿足需求。為保持該產(chǎn)業(yè)的持續(xù)發(fā)展,加快轉(zhuǎn)變經(jīng)濟(jì)發(fā)展方式,促進(jìn)經(jīng)濟(jì)轉(zhuǎn)型升級(jí),國(guó)家有關(guān)部門先后制定了一系列推動(dòng)高校計(jì)算機(jī)學(xué)院培養(yǎng)服務(wù)外包人才的政策,從而進(jìn)一步提升高校畢業(yè)生的綜合能力、就業(yè)率和就業(yè)質(zhì)量。
1.2培養(yǎng)服務(wù)外包行業(yè)人才的優(yōu)勢(shì)
為適應(yīng)軟件服務(wù)外包產(chǎn)業(yè)的發(fā)展需求,浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)已申請(qǐng)建立以“服務(wù)外包”為特色的浙江省高等學(xué)校優(yōu)勢(shì)專業(yè),且在服務(wù)外包行業(yè)人才培養(yǎng)上有以下優(yōu)勢(shì)。
1)已建立創(chuàng)新型人才培養(yǎng)模式。
計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院正在積極地以國(guó)家級(jí)人才培養(yǎng)模式創(chuàng)新實(shí)驗(yàn)區(qū)(技術(shù)與藝術(shù)相結(jié)合的數(shù)字媒體跨學(xué)科人才培養(yǎng)模式創(chuàng)新實(shí)驗(yàn)區(qū))的建設(shè)為契機(jī),探索實(shí)踐產(chǎn)學(xué)“雙螺旋”驅(qū)動(dòng)的高質(zhì)量軟件人才培養(yǎng),以工程實(shí)踐與創(chuàng)新能力為核心,從而形成特色鮮明的軟件工程創(chuàng)新型人才培養(yǎng)模式。
2)具有高水平專、兼職教師隊(duì)伍。
浙江工業(yè)大學(xué)軟件工程專業(yè)已經(jīng)建成了一支由專任教師、企業(yè)兼職教師、軟件領(lǐng)域知名教育與學(xué)術(shù)專家組成的120多人的教師隊(duì)伍。
3)共建了教學(xué)改革與實(shí)踐教學(xué)聯(lián)合體。
浙江省教育廳和杭州市高新技術(shù)產(chǎn)業(yè)開(kāi)發(fā)區(qū)共建軟件學(xué)院,并共同成立了浙江工業(yè)大學(xué)軟件學(xué)院校企合作委員會(huì)。該委員會(huì)擁有理事單位近70家,會(huì)員單位包括眾多國(guó)內(nèi)外知名it企業(yè)。在此基礎(chǔ)上,校企共建了教學(xué)改革聯(lián)合體,共同確定了人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容。學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué)。學(xué)生的實(shí)習(xí)和畢業(yè)設(shè)計(jì)等實(shí)踐環(huán)節(jié)全部進(jìn)入企業(yè)進(jìn)行。
4)已建成軟件工程專業(yè)核心精品課程。
根據(jù)軟件工程課程體系框架,學(xué)校已建成1門國(guó)家級(jí)精品課程、4門省級(jí)精品課程及5門校級(jí)精品課程,其中核心學(xué)科基礎(chǔ)課程(如c++程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)原理及運(yùn)用、計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)等)已全部建成省級(jí)精品課程。
5)專業(yè)人才培養(yǎng)質(zhì)量和社會(huì)認(rèn)可度高。
浙江工業(yè)大學(xué)軟件工程專業(yè)已培養(yǎng)了6屆畢業(yè)生,共1590人,其中有600人進(jìn)入服務(wù)外包企業(yè)就職。專業(yè)教學(xué)效果良好,獲得用人單位的極大認(rèn)可。還有一批學(xué)生獲得了國(guó)際國(guó)內(nèi)多項(xiàng)高水平的獎(jiǎng)項(xiàng)。例如,acm隊(duì)在世界總決賽上獲前20名,acm隊(duì)獲得亞洲預(yù)選賽3金1銀的成績(jī),并再次人選全球總決賽。在第三屆中國(guó)大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽中,計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院選派的兩支隊(duì)伍均突破重重選拔,晉級(jí)決賽答辯環(huán)節(jié),分別獲得了二等獎(jiǎng)和三等獎(jiǎng)的不菲戰(zhàn)績(jī)。
2專業(yè)特色規(guī)劃和建設(shè)思路
經(jīng)過(guò)多次論證,浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)將總體規(guī)劃設(shè)定為:經(jīng)過(guò)特色專業(yè)的建設(shè),以先進(jìn)的教育思想和理念為指導(dǎo),以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強(qiáng)化“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”的專業(yè)特色,在人才培養(yǎng)模式創(chuàng)新、教學(xué)團(tuán)隊(duì)建設(shè)、課程與資源建設(shè)、教學(xué)方法改革、實(shí)踐教學(xué)與平臺(tái)建設(shè)、教學(xué)管理以及國(guó)際合作等方面取得標(biāo)志性的教學(xué)成果,將浙江工業(yè)大學(xué)軟件工程專業(yè)打造成實(shí)訓(xùn)基地完備、師資力量雄厚、教學(xué)質(zhì)量一流、課程體系先進(jìn)、專業(yè)特色鮮明、行業(yè)和社會(huì)評(píng)價(jià)優(yōu)良的特色專業(yè),建設(shè)成省內(nèi)一流、國(guó)內(nèi)知名的復(fù)合型、實(shí)用型軟件工程高級(jí)技術(shù)人才的培養(yǎng)基地和國(guó)內(nèi)外具有一定影響的計(jì)算機(jī)軟件產(chǎn)學(xué)研基地。
2.1“產(chǎn)學(xué)研用”結(jié)合辦學(xué)校企聯(lián)合將教學(xué)改革與實(shí)踐教學(xué)相聯(lián)合,共同確定人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容,學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué);同時(shí)將學(xué)生的實(shí)習(xí)和畢業(yè)設(shè)計(jì)等實(shí)踐環(huán)節(jié)全方位嵌入企業(yè)項(xiàng)目,通過(guò)任務(wù)驅(qū)動(dòng)、案例驅(qū)動(dòng)、項(xiàng)目驅(qū)動(dòng),讓學(xué)生融入教師科研和企業(yè)工程項(xiàng)目,做到做中學(xué),學(xué)致用,形成產(chǎn)學(xué)研用結(jié)合辦學(xué)的特色。
2.2分層分類精細(xì)培養(yǎng)
學(xué)校以培養(yǎng)軟件“服務(wù)外包”人才為突破口,在人才培養(yǎng)模式改革、研究型教學(xué)方法改革、課程建設(shè)和實(shí)踐平臺(tái)建設(shè)中,堅(jiān)持以軟件研發(fā)實(shí)踐和創(chuàng)新能力的培養(yǎng)為核心,強(qiáng)化個(gè)性,分層分類精細(xì)培養(yǎng)復(fù)合型、實(shí)用型軟件工程高級(jí)技術(shù)人才。
3優(yōu)勢(shì)專業(yè)建設(shè)總體方案
3.1完善人才培養(yǎng)方案
學(xué)院根據(jù)“夯實(shí)基礎(chǔ)、拓寬口徑、強(qiáng)化個(gè)性、善于創(chuàng)新”的指導(dǎo)思想,采用多層次、多方向、寬口徑的課程教學(xué)體系,進(jìn)一步完善專業(yè)教育學(xué)分制和產(chǎn)學(xué)研一體化聯(lián)合培養(yǎng)方案;采用“嵌入式人才培養(yǎng)模式”,對(duì)學(xué)生進(jìn)行“定制式”培養(yǎng),包括軟件服務(wù)外包知名企業(yè)實(shí)施聯(lián)合培養(yǎng)和服務(wù)外包培訓(xùn)班等形式;完善專業(yè)主修方向及多個(gè)輔修方向相結(jié)合的機(jī)制,引進(jìn)國(guó)外優(yōu)秀師資和系列雙語(yǔ)教學(xué)課程,制定對(duì)日服務(wù)外包和對(duì)歐美服務(wù)外包兩種計(jì)劃,提供相當(dāng)數(shù)量的選修課程。
3.2構(gòu)建特色專業(yè)的課程體系
學(xué)院加強(qiáng)學(xué)科基礎(chǔ)教學(xué),與服務(wù)外包企業(yè)聯(lián)合構(gòu)建“服務(wù)外包聯(lián)盟”,共同確立多層次的課程體系;提供新型、實(shí)用的學(xué)科方向課和新技術(shù)講座;搭建軟件服務(wù)外包實(shí)訓(xùn)基地、創(chuàng)業(yè)孵化中心;開(kāi)設(shè)各類大型實(shí)驗(yàn)、軟件工程綜合實(shí)習(xí)等實(shí)踐環(huán)節(jié)強(qiáng)化實(shí)踐訓(xùn)練。實(shí)行的新課程體系由軟件工程領(lǐng)域的核心課程、引進(jìn)國(guó)際先進(jìn)的課程、校企合作聯(lián)合開(kāi)發(fā)的面向服務(wù)外包課程組成。圖1所示為軟件工程專業(yè)課程體系。
我們要著重加強(qiáng)實(shí)踐教學(xué)在課程體系中的比重,增加實(shí)用性課程和實(shí)踐環(huán)節(jié)的比重,增加項(xiàng)目實(shí)踐的時(shí)間,擴(kuò)展服務(wù)外包案例分析教學(xué)內(nèi)容,同時(shí)著力強(qiáng)化“分段制、融入型”實(shí)習(xí),明確產(chǎn)學(xué)研在教學(xué)上的合作機(jī)制,提升設(shè)計(jì)性、綜合性實(shí)驗(yàn)課程比例,提高畢業(yè)設(shè)計(jì)水平。
3.3改革課程教學(xué)內(nèi)容,加強(qiáng)新教材建設(shè)
學(xué)院對(duì)現(xiàn)有的課程內(nèi)容進(jìn)行改革,并根據(jù)歷年來(lái)學(xué)生對(duì)教材的反饋情況以及教師教材的使用情況,精心選擇優(yōu)秀教材。教材由同課程的多名教師討論決定,并由課程團(tuán)隊(duì)責(zé)任教師進(jìn)行把關(guān),要保證教材內(nèi)容時(shí)刻跟隨相關(guān)產(chǎn)業(yè)和領(lǐng)域的發(fā)展。學(xué)院還組織教師積累經(jīng)驗(yàn),結(jié)合軟件服務(wù)外包編寫教材。教材內(nèi)容要反映產(chǎn)業(yè)和領(lǐng)域發(fā)生的.變化。此外,學(xué)院還引進(jìn)相應(yīng)的國(guó)外原版教材,通過(guò)雙語(yǔ)教學(xué)提高學(xué)生對(duì)最新軟件開(kāi)發(fā)理論和技術(shù)的了解,提高外語(yǔ)應(yīng)用能力,培養(yǎng)能在國(guó)際化環(huán)境中工作的高層次軟件專業(yè)人才。
3.4改革教師培養(yǎng)和使用機(jī)制,加強(qiáng)教師隊(duì)伍建設(shè)
學(xué)校秉承建設(shè)專、兼職教師隊(duì)伍相結(jié)合的方針及特色,完善學(xué)科帶頭人、專業(yè)負(fù)責(zé)人制度,以培養(yǎng)骨干教師和中青年學(xué)科帶頭人為重點(diǎn),通過(guò)引進(jìn)、培養(yǎng)、補(bǔ)充等多種方式,建設(shè)精干高效、富有活力、素質(zhì)良好、結(jié)構(gòu)優(yōu)化的高素質(zhì)專職教師隊(duì)伍。另外,學(xué)校還加強(qiáng)面向服務(wù)外包方向的師資培訓(xùn),增強(qiáng)校內(nèi)教師指導(dǎo)專業(yè)技術(shù)能力,重點(diǎn)培育教學(xué)骨干、教學(xué)帶頭人、教學(xué)名師、教學(xué)團(tuán)隊(duì)。
學(xué)校從國(guó)內(nèi)外知名服務(wù)外包軟件企業(yè)的高層主管和技術(shù)骨干、國(guó)內(nèi)外相關(guān)學(xué)科中聘任兼職教師,聘請(qǐng)外國(guó)知名專家、學(xué)者授課或講座,保證專業(yè)建設(shè)始終與社會(huì)需求接軌,提升專業(yè)培養(yǎng)質(zhì)量。
3.5完善實(shí)踐教學(xué)及實(shí)習(xí)基地建設(shè)
在學(xué)校的傳統(tǒng)教學(xué)實(shí)驗(yàn)室的基礎(chǔ)上,我們通過(guò)校企合作和校企共建教學(xué)改革與建設(shè)聯(lián)合體,形成“服務(wù)外包聯(lián)盟”,建立服務(wù)外包企業(yè)實(shí)驗(yàn)基地、校內(nèi)實(shí)習(xí)基地和軟件園的開(kāi)放式實(shí)踐基地,開(kāi)展創(chuàng)業(yè)創(chuàng)新預(yù)孵化基地、大學(xué)生服務(wù)外包創(chuàng)業(yè)預(yù)孵化基地的建設(shè),做好實(shí)驗(yàn)室建設(shè)規(guī)劃和“服務(wù)外包校內(nèi)實(shí)訓(xùn)中心”建設(shè)工作,形成專業(yè)良好的實(shí)踐教學(xué)條件。
此外,學(xué)院還會(huì)完善分層分類的專業(yè)實(shí)驗(yàn)教學(xué)體系的建設(shè)。圖2所示為分層分類多元化的實(shí)驗(yàn)教學(xué)方法。由此看出,該教學(xué)體系著重專業(yè)實(shí)驗(yàn)教學(xué)中復(fù)合型、實(shí)用型人才的工程實(shí)踐能力培養(yǎng),依據(jù)學(xué)科基礎(chǔ)技能、專業(yè)基本技能、專業(yè)綜合技能和工程實(shí)踐能力劃分層次,采用課內(nèi)實(shí)驗(yàn)、綜合實(shí)踐、課程設(shè)計(jì)、開(kāi)放項(xiàng)目、科研創(chuàng)新項(xiàng)目、科研勤工、學(xué)科專業(yè)競(jìng)賽等課內(nèi)外結(jié)合形式,劃分實(shí)驗(yàn)班、一體化專業(yè)、服務(wù)外包專業(yè)模塊班等不同學(xué)生對(duì)象,依托實(shí)驗(yàn)教學(xué)體系實(shí)施分層分類精細(xì)化培養(yǎng),采取任務(wù)驅(qū)動(dòng)、問(wèn)題驅(qū)動(dòng)、案例驅(qū)動(dòng)和項(xiàng)目驅(qū)動(dòng)4種基本方法,適應(yīng)不同實(shí)驗(yàn)課程的需要,實(shí)施多元化的實(shí)驗(yàn)教學(xué)方法。
3.6加強(qiáng)學(xué)競(jìng)賽平臺(tái)的建設(shè),完善學(xué)生科技創(chuàng)新體系
學(xué)院舉辦課程競(jìng)賽,開(kāi)展自主實(shí)驗(yàn),積極組織、鼓勵(lì)學(xué)生參加各種校內(nèi)外科技競(jìng)賽,通過(guò)加強(qiáng)競(jìng)賽網(wǎng)站建設(shè)和賽事承辦,進(jìn)一步加深校企合作模式,加大宣傳力度,讓更多的高校和企業(yè)參與競(jìng)賽的各項(xiàng)活動(dòng),突出產(chǎn)學(xué)研用相結(jié)合培養(yǎng)軟件工程人才的特色,進(jìn)一步完善學(xué)生科技創(chuàng)新體系,促進(jìn)學(xué)生參與創(chuàng)新創(chuàng)業(yè),獲得更多更好的成績(jī)。
學(xué)院借助浙江工業(yè)大學(xué)在后acm競(jìng)賽中3年獲得進(jìn)入全球總賽的契機(jī),加強(qiáng)了acm競(jìng)賽的平臺(tái)建設(shè),完善了教練團(tuán)隊(duì)和集訓(xùn)制度,鼓勵(lì)學(xué)生通過(guò)競(jìng)賽和國(guó)際聯(lián)系,通過(guò)人選全球總決賽和全球名校的學(xué)生平等競(jìng)爭(zhēng),取得佳績(jī),彰顯浙江工業(yè)大學(xué)專業(yè)建設(shè)人才培養(yǎng)成效。
3.7教學(xué)管理與運(yùn)行機(jī)制的研究與建設(shè)
學(xué)院針對(duì)服務(wù)外包專業(yè)建設(shè),建立和完善相應(yīng)教學(xué)管理組織、教學(xué)質(zhì)量保證體系,通過(guò)完備的規(guī)章制度和教學(xué)規(guī)范,以及對(duì)規(guī)章制度執(zhí)行情況的例行監(jiān)督和反饋機(jī)制,有效管理教學(xué),提高教學(xué)質(zhì)量。
(1)建設(shè)由政府職能部門、行業(yè)管理部門、有代表性的企業(yè)和學(xué)校主管部門組成的專業(yè)建設(shè)顧問(wèn)組,成立軟件服務(wù)外包專業(yè)建設(shè)咨詢委員會(huì),指導(dǎo)專業(yè)建設(shè)的定位與方向。
(2)建設(shè)以杭州骨干軟件企業(yè)為主組成的校企合作委員會(huì),共建服務(wù)外包實(shí)踐基地,完成學(xué)生實(shí)習(xí)和畢業(yè)設(shè)計(jì)的教學(xué)工作。
(3)建設(shè)由國(guó)際國(guó)內(nèi)知名軟件技術(shù)教育專家、軟件設(shè)計(jì)與開(kāi)發(fā)專家組成的教學(xué)指導(dǎo)與教師培養(yǎng)委員會(huì),聯(lián)合服務(wù)外包企業(yè),指導(dǎo)課程體系、課程內(nèi)容的建設(shè)和教師隊(duì)伍的建設(shè)。
4)進(jìn)行服務(wù)外包教學(xué)管理、教學(xué)工作規(guī)范、實(shí)習(xí)環(huán)節(jié)質(zhì)量評(píng)定方法和監(jiān)督反饋機(jī)制的建設(shè)。
4結(jié)語(yǔ)
針對(duì)計(jì)算機(jī)人才培養(yǎng)質(zhì)量與社會(huì)需求和最新科技發(fā)展脫軌問(wèn)題,筆者詳細(xì)分析了服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r及浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院在服務(wù)外包行業(yè)人才培養(yǎng)中的優(yōu)勢(shì),提出了以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強(qiáng)化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強(qiáng)個(gè)性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才的方案。通過(guò)今后幾年的不斷努力實(shí)踐,我們希望能取得軟件工程專業(yè)建設(shè)的成效,滿足社會(huì)對(duì)軟件人才的需求,并為其他高校軟件工程人才的培養(yǎng)和專業(yè)建設(shè)起到示范和帶動(dòng)作用。
學(xué)習(xí)軟件工程的心得體會(huì)篇五
1.1什么是軟件危機(jī)?它有哪些典型表現(xiàn)?為什么會(huì)出現(xiàn)軟件危機(jī)?
答:軟件危機(jī)是指在計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列的嚴(yán)重問(wèn)題。
它的典型表現(xiàn):1.軟件開(kāi)發(fā)成本高,成本難以控制。2.研究周期長(zhǎng),軟件開(kāi)發(fā)進(jìn)度難以控制,周期拖得很長(zhǎng)。3.正確性難以保證,軟件質(zhì)量差,可靠性難以保證。4.軟件維護(hù)困難,維護(hù)人員和維護(hù)費(fèi)用不斷增長(zhǎng)。5.軟件發(fā)展跟不上硬件的發(fā)展和用戶的要求。
它出現(xiàn)的原因一方面是由于軟件生產(chǎn)本身存在著復(fù)雜性,另一方面是與軟件開(kāi)發(fā)所使用的方法和技術(shù)有關(guān)。軟件不同于硬件,它是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。管理和控制軟件開(kāi)發(fā)工程相當(dāng)困難,軟件是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。目前相當(dāng)多的軟件專業(yè)技術(shù)人員對(duì)軟件開(kāi)發(fā)和維護(hù)還有不省糊涂觀念,在實(shí)踐過(guò)程中或多或少地采用了錯(cuò)誤的方法和技術(shù),這是使軟件問(wèn)題發(fā)展成為軟件危機(jī)的主要原因。
1.2什么是軟件工程?它有哪些本質(zhì)特性?怎樣用軟件工程消除軟件危機(jī)?
答:軟件工程是將系統(tǒng)化的,規(guī)范化的,可度量的方法應(yīng)用于軟件開(kāi)發(fā),運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件中。
它的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造2.軟件工程的中心課題是控制復(fù)雜性3.軟件經(jīng)?;?.開(kāi)發(fā)軟件的效率非常重要5.和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵6.軟件必須有效地支持它的用戶7.在軟件工程領(lǐng)域中是由一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。
基本原理:1.用分階段的生命周期計(jì)劃嚴(yán)格管理2.堅(jiān)持進(jìn)行階段評(píng)審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計(jì)的技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開(kāi)發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。
1.3什么是軟件?它有什么特點(diǎn)?
答:軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)結(jié)構(gòu)及其相關(guān)文檔的完整集合。
1.4什么是軟件過(guò)程?它與軟件工程方法學(xué)有何關(guān)系?
答:軟件過(guò)程是為了開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。
軟件過(guò)程定義了運(yùn)用技術(shù)方法的順序,應(yīng)該交付的文檔資料,為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采用的管理措施,以及標(biāo)志完成了相應(yīng)開(kāi)發(fā)活動(dòng)的里程碑。軟件過(guò)程是軟件工程方法學(xué)的3個(gè)重要組成部分之一。軟件工程的基礎(chǔ)是軟件過(guò)程。
1.5什么是軟件生命周期模型?試比較瀑布模型、原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說(shuō)明每種模型的適用范圍。
答:軟件生命周期模型是軟件開(kāi)發(fā)全部過(guò)程,活動(dòng)和任務(wù)的結(jié)構(gòu)框架,它能直觀表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定要完成的主要活動(dòng),任務(wù)和開(kāi)發(fā)策略。也叫軟件開(kāi)發(fā)模型。
瀑布模型優(yōu)點(diǎn):有利于大型軟件開(kāi)發(fā)過(guò)程中人員的組織,管理,有利于軟件開(kāi)發(fā)方法和工具的研究,從而提高了大型軟件項(xiàng)目開(kāi)發(fā)的質(zhì)量和效率。
缺點(diǎn):1,開(kāi)發(fā)過(guò)程一般不能逆轉(zhuǎn),否則代價(jià)太大2.實(shí)際的項(xiàng)目開(kāi)發(fā)很難嚴(yán)格按
照該模型進(jìn)行3.客戶往往很難清楚地給出所有的需求,而該模型卻要求如此4.軟件的實(shí)際情況必須到項(xiàng)目開(kāi)發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。
適用范圍:1.用戶的需求非常清楚全面,且在開(kāi)發(fā)過(guò)程中沒(méi)有或變化很少2.開(kāi)發(fā)人員對(duì)軟件的應(yīng)用領(lǐng)域很熟悉3.用戶的使用環(huán)境非常穩(wěn)定4.開(kāi)發(fā)工作隊(duì)用戶參與的要求很低。
原型模型優(yōu)點(diǎn):1.可以得到比較良好的需求定義,容易適應(yīng)需求的變化2.有利于開(kāi)發(fā)與培訓(xùn)的同步3.開(kāi)發(fā)費(fèi)用低,開(kāi)發(fā)周期短且隊(duì)用戶更友好。
適用范圍:1.對(duì)所開(kāi)發(fā)的領(lǐng)域比較熟悉而且有快速的原型開(kāi)發(fā)工具2.項(xiàng)目投標(biāo)時(shí),可以以原型模型作為軟件的開(kāi)發(fā)模型3.進(jìn)行產(chǎn)品移植或升級(jí)時(shí),或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶化工作時(shí),原型模型非常合適。
增量模型優(yōu)點(diǎn):1.采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開(kāi)始不用投入大量的人力資源
2.如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個(gè)增量3.可先發(fā)部分功能給客戶,對(duì)客戶起到鎮(zhèn)靜劑的作用。
缺點(diǎn):1.并行開(kāi)發(fā)構(gòu)件有可能遇到不能集成的風(fēng)險(xiǎn),軟件必須具備開(kāi)放式的體系結(jié)構(gòu)2.增量模型的靈活性可以使其適應(yīng)這種變化的能力大于優(yōu)于瀑布模型和原型模型,但也很容易退化為邊做邊改模型,從而使軟件過(guò)程的控制失去整體性。
適用范圍:1.進(jìn)行已有產(chǎn)品升級(jí)或新版本開(kāi)發(fā),增量模型是非常適合的2.對(duì)完成期限嚴(yán)格要求的產(chǎn)品,可以使用增量模型3.對(duì)所開(kāi)發(fā)的領(lǐng)域比較熟悉而且已有原型系統(tǒng),增量模型也非常適合。
螺旋模型優(yōu)點(diǎn):1.實(shí)際上的靈活性,可以再項(xiàng)目的各個(gè)階級(jí)進(jìn)行變更2.以小的分段來(lái)構(gòu)建大型系統(tǒng),是成本計(jì)算變得簡(jiǎn)單容易3.客戶始終參與每個(gè)階段的開(kāi)發(fā),保證了項(xiàng)目不偏離正確方向以及項(xiàng)目的可控性4.隨著項(xiàng)目推進(jìn),客戶始終掌握項(xiàng)目的最新消息,從而是他或她能夠和管理層有效地交互。
缺點(diǎn):1.采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),在風(fēng)險(xiǎn)較大的項(xiàng)目開(kāi)發(fā)中,如果未能夠及時(shí)標(biāo)識(shí)風(fēng)險(xiǎn),勢(shì)必造成重大損失2.過(guò)多的迭代次數(shù)會(huì)增加開(kāi)發(fā)成本,延遲提交時(shí)間。
適用范圍:只適合于大規(guī)模的軟件項(xiàng)目。
1.6怎么理解軟件工程的概念及其意義?
答:軟件工程是一門將理論和知識(shí)應(yīng)用于實(shí)踐的工程,它借鑒了傳統(tǒng)工程的原則和方法,以求高效地開(kāi)發(fā)高質(zhì)量軟件。它是一種層次化技術(shù)。
意義:從歷史上講,軟件工程的作用,是為了克服上個(gè)世紀(jì)60年代出現(xiàn)的軟件危機(jī),這種危機(jī)表現(xiàn)為軟件開(kāi)發(fā)的成本大、進(jìn)度慢、維護(hù)難和質(zhì)量得不到保障。從當(dāng)前來(lái)講,軟件工程的作用,就是告訴人們?cè)鯓尤ラ_(kāi)發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開(kāi)發(fā)和管理有關(guān)的人員和過(guò)程上。
1.7軟件過(guò)程的通用過(guò)程框架包含哪兩類活動(dòng)?
答:一類是框架活動(dòng),還有一類是保護(hù)性活動(dòng)。
1.8描述基于構(gòu)件開(kāi)發(fā)的思想以及目前的發(fā)展情況。
答:基于構(gòu)件開(kāi)發(fā)強(qiáng)調(diào)將被設(shè)計(jì)的系統(tǒng)分解成功能的或邏輯的構(gòu)件,構(gòu)件用定義好的接口進(jìn)行通信。
它是現(xiàn)在軟件復(fù)理論實(shí)用化的研究熱點(diǎn),在構(gòu)件對(duì)象模型的支持下,通過(guò)復(fù)用已有的構(gòu)件,軟件開(kāi)發(fā)者可以“即插即用”地快速構(gòu)造應(yīng)用軟件,這樣即可以節(jié)省時(shí)間和經(jīng)費(fèi),提高工作效率,也可以產(chǎn)生更加規(guī)范,更加可靠的應(yīng)用軟件。
1.9請(qǐng)簡(jiǎn)要說(shuō)明rup的9個(gè)規(guī)程(disciplines)及之間關(guān)系?
答:rup的9個(gè)規(guī)程為:業(yè)務(wù)建模,需求,分析與設(shè)計(jì),實(shí)現(xiàn),測(cè)試,部署,配置與變更管理,項(xiàng)目管理以及環(huán)境。
對(duì)于一個(gè)大型項(xiàng)目,rup九個(gè)規(guī)程的活動(dòng)不可或缺,但對(duì)于有些項(xiàng)目可能不需要經(jīng)過(guò)所有九個(gè)規(guī)程,在項(xiàng)目開(kāi)發(fā)時(shí)需要對(duì)這些規(guī)程涉及的活動(dòng)做具體的裁剪,以適應(yīng)具體項(xiàng)目的開(kāi)發(fā)需要。
1.10說(shuō)明面向切面編程的特點(diǎn),有什么優(yōu)勢(shì)?
答:該范型以一種稱為切面的語(yǔ)言構(gòu)造為基礎(chǔ),切面是一種新的模塊化機(jī)制,用來(lái)描述分散在對(duì)象、類或函數(shù)中分離出來(lái)可以大大增強(qiáng)程序的模塊性。
優(yōu)勢(shì):他把特定領(lǐng)域問(wèn)題的代碼從業(yè)務(wù)邏輯中獨(dú)立出來(lái),業(yè)務(wù)邏輯的代碼中不再含有針對(duì)特定領(lǐng)域問(wèn)題代碼的調(diào)用,業(yè)務(wù)邏輯同特定領(lǐng)域問(wèn)題的關(guān)系通過(guò)切面來(lái)進(jìn)行封裝,維護(hù)。優(yōu)勢(shì):面向切面編程的特點(diǎn)是針對(duì)業(yè)務(wù)處理過(guò)程中的切面提取,所面對(duì)的是處理過(guò)程中的某個(gè)步驟或階段,以獲得邏輯過(guò)程中各部分之間低耦合性的隔離效果,降低了耦合性。
1.11模型驅(qū)動(dòng)工程中mda的基本思想是什么?
答:mda的基本思想是系統(tǒng)的功能性是用合適的規(guī)約語(yǔ)言以平臺(tái)無(wú)關(guān)的模型的方式定義,然后為實(shí)際的實(shí)現(xiàn)翻譯到一個(gè)或多個(gè)平臺(tái)相關(guān)的模型上。
chapter2
2.1描述面向?qū)ο蟮幕靖拍詈退枷搿?/p>
一個(gè)實(shí)體都可以抽象為對(duì)象。
2.2面向?qū)ο蠓治鲈O(shè)計(jì)的基本思路和過(guò)程是怎樣的?
答:分析過(guò)程主要包括理解、表達(dá)和驗(yàn)證。設(shè)計(jì)是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過(guò)程。
過(guò)程:識(shí)別系統(tǒng)的用例和角色,進(jìn)行系統(tǒng)分析并抽象出類,設(shè)計(jì)系統(tǒng)并設(shè)計(jì)系統(tǒng)中的類及其行為。
2.3面向?qū)ο蟪绦蛟O(shè)計(jì)中的概念主要包括哪些?分別闡述其主要思想。
答:對(duì)象:封裝了數(shù)據(jù)和操作這些數(shù)據(jù)的代碼的邏輯實(shí)體。
類:具有相同類型的對(duì)象的抽象。
封裝:保證軟件部分具有優(yōu)良的模塊性的基礎(chǔ)。
繼承:讓某個(gè)類型對(duì)象獲得另一個(gè)類型的對(duì)象特征。
多態(tài):使不同內(nèi)部結(jié)構(gòu)的對(duì)象可以共享相同的外部接口,減少代碼復(fù)雜度。
動(dòng)態(tài)綁定:多態(tài)實(shí)現(xiàn)的具體形式,將一個(gè)過(guò)程調(diào)用與相應(yīng)代碼鏈接起來(lái)的行為。消息傳遞:使得對(duì)現(xiàn)實(shí)世界的描述更容易。
方法:定義一個(gè)類可以做的,但不一定去做的事。
2.4描述uml的主要概念和歷史。
答:uml是統(tǒng)一建模語(yǔ)言,用來(lái)對(duì)軟件密集系統(tǒng)進(jìn)行可視化建模的一種語(yǔ)言。uml為面向?qū)ο箝_(kāi)發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言。
歷史:rumbaugh和booch將booch93和omt-2統(tǒng)一起來(lái),發(fā)布了um0.8;后經(jīng)過(guò)booch,rumbaugh和jacobson的共同努力,發(fā)布了uml0.9和uml0.91,并將um重命名為uml。,rational組織成立了uml合作者聯(lián)盟,以完善、加強(qiáng)和促進(jìn)uml的定義工作。啟動(dòng)了uml2.0標(biāo)準(zhǔn)的制定工作。
2.5rup是什么?應(yīng)用rup對(duì)軟件開(kāi)發(fā)有什么意義?
答:rup(rationalunifiedprocess)是統(tǒng)一軟件開(kāi)發(fā)過(guò)程,是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開(kāi)發(fā)方法論。
應(yīng)用rup為軟件開(kāi)發(fā)提供了一個(gè)模版,使得軟件開(kāi)發(fā)過(guò)程規(guī)范化,統(tǒng)一化。
chapter3
3.1為什么要進(jìn)行業(yè)務(wù)建模?業(yè)務(wù)建模適用什么場(chǎng)合的軟件項(xiàng)目開(kāi)發(fā)?
業(yè)務(wù)知識(shí)而再進(jìn)行開(kāi)發(fā)的,所以需要通過(guò)“業(yè)務(wù)建?!睂ⅰ皹I(yè)務(wù)需求”準(zhǔn)確地轉(zhuǎn)換為it技術(shù)人員所熟悉的“軟件需求”。
適用場(chǎng)合:規(guī)模較大的軟件項(xiàng)目開(kāi)發(fā)。
3.2業(yè)務(wù)建??梢苑帜男┕ぷ髁鬟M(jìn)行?
答:評(píng)估業(yè)務(wù)狀態(tài)、描述當(dāng)前業(yè)務(wù)、定義業(yè)務(wù)、探索流程自動(dòng)化、開(kāi)發(fā)領(lǐng)域模型。
3.3什么是領(lǐng)域模型?與業(yè)務(wù)模型的關(guān)系是什么?
答:領(lǐng)域模型:領(lǐng)域模型是描述業(yè)務(wù)用例實(shí)現(xiàn)的對(duì)象模型。它是對(duì)業(yè)務(wù)角色和業(yè)務(wù)實(shí)體之間應(yīng)該如何聯(lián)系和協(xié)作以執(zhí)行業(yè)務(wù)的一種抽象。領(lǐng)域模型從業(yè)務(wù)角色內(nèi)部的觀點(diǎn)定義了業(yè)務(wù)用例。該模型為產(chǎn)生預(yù)期效果確定了業(yè)務(wù)人員以及他們處理和使用的對(duì)象(“業(yè)務(wù)類和對(duì)象”)之間應(yīng)該具有的靜態(tài)和動(dòng)態(tài)關(guān)系。它注重業(yè)務(wù)中承擔(dān)的角色及其當(dāng)前職責(zé)。這些模型類的對(duì)象組合在一起可以執(zhí)行所有的業(yè)務(wù)用例。
關(guān)系:開(kāi)發(fā)領(lǐng)域模型是一個(gè)備選活動(dòng),領(lǐng)域模型是業(yè)務(wù)分析模型中獨(dú)立的一部分,注重于說(shuō)明對(duì)于業(yè)務(wù)領(lǐng)域很重要的概念、產(chǎn)品、可交付成果和事件。這樣一個(gè)模型僅描述業(yè)務(wù)中的重要信息,并不包括人員承擔(dān)的職責(zé)。
3.4什么是系統(tǒng)上下文?明確目標(biāo)系統(tǒng)的上下文有什么意義?
答:系統(tǒng)上下文:指的是目標(biāo)系統(tǒng)、與之交互的用戶和外部系統(tǒng)。
意義:業(yè)務(wù)建模作為軟件需求的前一階段,了解目標(biāo)系統(tǒng)的上下文是很有必要的,便于確定目標(biāo)組織和業(yè)務(wù)范圍。
3.5什么是業(yè)務(wù)涉眾?業(yè)務(wù)涉眾可能來(lái)自哪些方面?
答:業(yè)務(wù)涉眾:所有跟目標(biāo)業(yè)務(wù)有利害關(guān)系的人。
方面:可能來(lái)自目標(biāo)組織內(nèi)部及目標(biāo)組織外部且跟目標(biāo)組織有關(guān)系的人和組織。
3.6什么是業(yè)務(wù)愿景?怎么理解業(yè)務(wù)愿景的重要性?
答:業(yè)務(wù)愿景:定義業(yè)務(wù)建模工作所針對(duì)的一組目標(biāo)。
重要性:要了解組織的業(yè)務(wù)過(guò)程,對(duì)業(yè)務(wù)進(jìn)行建模,首先必須理解組織的共同愿景,業(yè)務(wù)建模時(shí)期的重要任務(wù)就是確定項(xiàng)目涉眾的共同愿景,而了解最有影響力的涉眾的愿望和目標(biāo)是非常重要的環(huán)節(jié)。所以業(yè)務(wù)愿景對(duì)整個(gè)業(yè)務(wù)建模過(guò)程來(lái)說(shuō)是十分關(guān)鍵和重要的。
3.7業(yè)務(wù)建模的作用是什么?哪些人和組織是潛在的業(yè)務(wù)執(zhí)行者?
答:作用:
(1)了解目標(biāo)組織(將要在其中部署系統(tǒng)的組織)的結(jié)構(gòu)和機(jī)制;
(2)了解目標(biāo)組織中當(dāng)前存在的問(wèn)題并確定潛在改進(jìn)的可能性;
(3)確??蛻簟⒆罱K用戶、開(kāi)發(fā)人員和其他各方就目標(biāo)組織達(dá)成共識(shí);
(4)導(dǎo)出支持目標(biāo)組織所需的系統(tǒng)需求;
(5)了解要部署的軟件系統(tǒng)將如何融入組織。
潛在的業(yè)務(wù)執(zhí)行者:客戶、合作伙伴、供應(yīng)商、權(quán)威機(jī)構(gòu)(法律、法規(guī)等制訂機(jī)構(gòu))、子公司、所有者和投資者、業(yè)務(wù)以外的信息系統(tǒng)等。
3.8結(jié)構(gòu)化業(yè)務(wù)用例的三種關(guān)系是什么?
答:三種關(guān)系:包含關(guān)系、擴(kuò)展關(guān)系、泛化關(guān)系。
3.9業(yè)務(wù)用例的包含與擴(kuò)展關(guān)系、包含與泛化的區(qū)別是什么?
答:包含與泛化的區(qū)別:(1)對(duì)于用例泛化關(guān)系,子用例的執(zhí)行取決于父用例(重用部分)的結(jié)構(gòu)和行為,而在包含關(guān)系中,基本用例的執(zhí)行只取決于包含用例(重用部分)所執(zhí)行的功能的結(jié)果。(2)在泛化關(guān)系中,子用例的用途和結(jié)構(gòu)是相似的,而在包含關(guān)系中,重用同一個(gè)包含用例的基本用例可能有完全不同的用途,但需求執(zhí)行相同的功能。
包含與擴(kuò)展的區(qū)別:(1)包含關(guān)系:如果基本用例的某個(gè)部分代表一個(gè)功能,而業(yè)務(wù)用例只依賴于本功能的結(jié)果,而不是產(chǎn)生結(jié)果的方法,那么可以將這部分分離出來(lái),形成一個(gè)附加用例。使用包含關(guān)系,將附加部分明確包含于基本用例中。包含關(guān)系將基本用例和包含用例連接起來(lái)。
(2)擴(kuò)展關(guān)系:如果基本用例的一部分是可選的,或?qū)τ诶斫庠撚美闹饕康膩?lái)說(shuō)不是必需的,那么可以將這部分分離出來(lái),形成一個(gè)附加用例,以簡(jiǎn)化基本用例的結(jié)構(gòu)。利用擴(kuò)展關(guān)系,將附加部分隱含地包含于基本用例中。擴(kuò)展關(guān)系將擴(kuò)展用例與基本用例連接起來(lái)。
3.10業(yè)務(wù)分析模型的作用是什么?與業(yè)務(wù)用例模型的之間是什么關(guān)系?
答:作用:業(yè)務(wù)分析模型描述通過(guò)與業(yè)務(wù)系統(tǒng)、業(yè)務(wù)工作者和業(yè)務(wù)實(shí)體交互來(lái)實(shí)現(xiàn)業(yè)務(wù)用例。它充當(dāng)了為了執(zhí)行業(yè)務(wù)用例而所需業(yè)務(wù)系統(tǒng)、業(yè)務(wù)工作者和業(yè)務(wù)實(shí)體之間的相關(guān)和協(xié)作方式的抽象。它還定義了在執(zhí)行業(yè)務(wù)用例時(shí)由業(yè)務(wù)執(zhí)行者調(diào)用的外部業(yè)務(wù)服務(wù)。
關(guān)系:業(yè)務(wù)用例模型是從與客戶和業(yè)務(wù)流程對(duì)應(yīng)的業(yè)務(wù)執(zhí)行者和業(yè)務(wù)用例的角度,對(duì)業(yè)務(wù)進(jìn)行描述。業(yè)務(wù)用例模型包括工作流程說(shuō)明,此說(shuō)明確定完成了那些工作。所以業(yè)務(wù)用例模型描述在業(yè)務(wù)執(zhí)行者和業(yè)務(wù)之間發(fā)生了什么,對(duì)于業(yè)務(wù)結(jié)構(gòu)或如何實(shí)現(xiàn)業(yè)務(wù)用例不作任何假設(shè)。而業(yè)務(wù)分析模型就是用于描述如何執(zhí)行業(yè)務(wù)用例,并具體定義業(yè)務(wù)提供的服務(wù),內(nèi)部業(yè)務(wù)工作者及其使用的信息,將它們的結(jié)構(gòu)化組織描述為獨(dú)立的單元,定義業(yè)務(wù)工作者如何通過(guò)交戶來(lái)實(shí)現(xiàn)業(yè)務(wù)用例中所描述的行為。
3.11
(c)
2.以醫(yī)院為研究對(duì)象,請(qǐng)描述醫(yī)生、病歷的性質(zhì)分別是()
(a)businessactor、businessworker
(b)businessworker、businessactor
(c)businessactor、businessentity
(d)businessworker、businessentity
3.12綜合案例分析-餐廳點(diǎn)菜業(yè)務(wù)分析
某餐廳的點(diǎn)菜服務(wù)流程與規(guī)范如下:
1.遞上菜單
(1)客人入座后,服務(wù)員詢問(wèn)客人需要什么茶水。準(zhǔn)備好茶水后,按“女士?jī)?yōu)先,先
賓后主”的原則從右邊為客人斟上茶水。
(2)將菜單打開(kāi)第一頁(yè),按照“女士?jī)?yōu)先”原則,用雙手從客人右側(cè)將菜單送至客人手中,然后站在客人斜后方能觀察客人面部表情的地方,上身微躬。
2.推薦介紹酒店菜品
(1)在客人點(diǎn)菜前,服務(wù)員應(yīng)留有時(shí)間讓客人翻看菜單。
(2)在客人翻看菜單時(shí),應(yīng)及時(shí)向客人簡(jiǎn)單介紹菜單上的菜,回答客人的詢問(wèn)。
(3)向客人介紹廚師長(zhǎng)今日特別推薦的菜品、其他的特色菜、暢銷菜和高檔菜等菜品,并介紹其樣式、味道、溫度和特點(diǎn)。
3.接受點(diǎn)菜
(1)服務(wù)員先在點(diǎn)菜單上記下日期、本人姓名及臺(tái)號(hào)、就餐人數(shù)等。
(2)客人點(diǎn)菜時(shí),應(yīng)注視客人,聽(tīng)清客人點(diǎn)的菜名,適時(shí)幫助客人選擇菜品和主動(dòng)推介菜品,準(zhǔn)確地記錄菜名。
(3)對(duì)于特殊菜品,應(yīng)介紹其特殊之處,并問(wèn)清客人所需火候、配料及調(diào)料等。
(4)若客人用餐時(shí)間較緊,點(diǎn)的菜需時(shí)間較長(zhǎng),則應(yīng)及時(shí)向客人征求意見(jiàn);若有客人點(diǎn)相同的菜式,如湯和羹或兩個(gè)酸甜味型的菜時(shí),應(yīng)有禮貌地問(wèn)客人是否需要更換菜式。
(5)若客人有特殊要求,應(yīng)在點(diǎn)菜單上清楚注明,并告知傳菜服務(wù)員。
4.復(fù)述點(diǎn)菜內(nèi)容
(1)客人點(diǎn)菜完畢后,服務(wù)員應(yīng)清楚地重復(fù)一遍所點(diǎn)菜品內(nèi)容,并請(qǐng)客人確認(rèn)。
(2)復(fù)述完畢后,在點(diǎn)菜單的右上角寫明當(dāng)時(shí)的時(shí)間,以便查詢。
(3)收回菜單并向客人致謝,同時(shí)請(qǐng)客人稍等,說(shuō)明大致的等候時(shí)間。
5.分送點(diǎn)菜單
(1)服務(wù)員將點(diǎn)菜單的第一聯(lián)送至收銀處。
(2)將點(diǎn)菜單的第二聯(lián)送至廚房。
(3)將第三聯(lián)給客戶,第四聯(lián)交給傳菜員、值臺(tái)服務(wù)員留底備查。
根據(jù)案例的描述,請(qǐng)你完成下列任務(wù):
1.分析餐廳的點(diǎn)菜業(yè)務(wù),建立點(diǎn)菜業(yè)務(wù)模型。
這項(xiàng)業(yè)務(wù)的業(yè)務(wù)涉眾:外部涉眾:客人,
內(nèi)部涉眾:服務(wù)員,收銀處,廚房,值臺(tái)服務(wù)員
分析點(diǎn)菜業(yè)務(wù)模型:
業(yè)務(wù)執(zhí)行者為:客人
業(yè)務(wù)用例是:入座,推薦菜品,點(diǎn)菜,確認(rèn)內(nèi)容,分送菜單,上菜
2.用活動(dòng)圖描述客人點(diǎn)菜的活動(dòng)。
3.分析點(diǎn)菜業(yè)務(wù)模型,找出有哪些業(yè)務(wù)工作者和業(yè)務(wù)實(shí)體,并用交互圖來(lái)說(shuō)明之間的通信和交互關(guān)系。
業(yè)務(wù)工作者為:服務(wù)員,收銀處,廚房,值臺(tái)服務(wù)員
業(yè)務(wù)實(shí)體為:菜單,點(diǎn)菜單
chapter4
4.1需求的類別有哪些?
答:需求可分為功能性需求和非功能性需求。
功能性需求規(guī)定了系統(tǒng)無(wú)需考慮物理約束而必須能夠執(zhí)行的動(dòng)作,描述支持用戶目標(biāo)、任務(wù)或活動(dòng)的系統(tǒng)行為(功能或服務(wù))。
非功能性需求是功能性需求之外的需求,包含質(zhì)量和約束,它們僅僅說(shuō)明系統(tǒng)或系統(tǒng)環(huán)境的屬性。
4.2怎么理解文中fredbrooks關(guān)于需求的那段話?
構(gòu)建軟件系統(tǒng)最難的部分是確定要構(gòu)建什么(即系統(tǒng)需求)。相比其他工作,如果這個(gè)工作做錯(cuò),會(huì)嚴(yán)重影響將產(chǎn)生的系統(tǒng),也更難在以后矯正。
答:需求工作對(duì)于整個(gè)軟件系統(tǒng)來(lái)說(shuō)是非常重要的,它是實(shí)現(xiàn)和測(cè)試的先啟階段,需求建模解釋如何理清涉眾的請(qǐng)求及如何把這些請(qǐng)求轉(zhuǎn)化為一組需求工作產(chǎn)品,確定要建系統(tǒng)的范圍,提供系統(tǒng)必須做的詳細(xì)要求。此階段是后續(xù)工作以及整個(gè)系統(tǒng)的基礎(chǔ)和關(guān)鍵,一旦這個(gè)階段出現(xiàn)問(wèn)題,將會(huì)直接影響到后續(xù)工作的正常順利進(jìn)行,而如果想要在以后改,代價(jià)是非常大的,并且也難糾正。
4.3系統(tǒng)用例模型可以描述什么方面的需求?補(bǔ)充規(guī)約主要補(bǔ)充哪方面的需求?
答:系統(tǒng)用例模型可以描述設(shè)計(jì)軟件系統(tǒng)方面的`需求,參與者與軟件系統(tǒng)的交互,在系統(tǒng)用例說(shuō)明中書(shū)寫足夠詳細(xì)的事件流。
補(bǔ)充歸約主要補(bǔ)充那些無(wú)法在用例中記錄的需求。包括:捕捉無(wú)用例歸約的功能性需求,捕捉系統(tǒng)資量,捕捉約束,捕捉符合性需求,捕捉文檔需求。
4.4什么是系統(tǒng)執(zhí)行者?如何尋找潛在的系統(tǒng)執(zhí)行者?
答:系統(tǒng)執(zhí)行者:是指與目標(biāo)系統(tǒng)交換數(shù)據(jù)的任何對(duì)象,是在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物。執(zhí)行者可以是用戶、外部硬件或其它系統(tǒng)。
滿足一個(gè)或多個(gè)上面這些范疇的任何個(gè)人、小組或事物有可能就是執(zhí)行者。
4.5如何理解系統(tǒng)執(zhí)行者與業(yè)務(wù)執(zhí)行者、業(yè)務(wù)工作者的關(guān)系?
答:業(yè)務(wù)執(zhí)行者是指某人或某物與業(yè)務(wù)進(jìn)行交互時(shí)所擔(dān)任的角色,它是指在業(yè)務(wù)之外和業(yè)務(wù)交互的人、組織或事物。
業(yè)務(wù)工作者代表在業(yè)務(wù)中進(jìn)行操作的人、軟件或硬件的抽象。它代表業(yè)務(wù)中的一個(gè)或一組角色。
系統(tǒng)執(zhí)行者:是指與目標(biāo)系統(tǒng)交換數(shù)據(jù)的任何對(duì)象,是在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物。執(zhí)行者可以是用戶、外部硬件或其它系統(tǒng)。
關(guān)系:系統(tǒng)執(zhí)行者是針對(duì)軟件系統(tǒng)來(lái)說(shuō)明的,而業(yè)務(wù)執(zhí)行者和業(yè)務(wù)工作者是針對(duì)業(yè)務(wù)來(lái)說(shuō)明的,系統(tǒng)執(zhí)行者和業(yè)務(wù)執(zhí)行者含義相似,只是所在的描述范疇不一樣。
4.6請(qǐng)分析用例中的包含關(guān)系和擴(kuò)展關(guān)系的相似與區(qū)別?
答:相似:都是如果用例包含的一段行為片段可以用于其他用例,則將這段行為片段歸到“包含用例”或“擴(kuò)展用例”中,形成一個(gè)新的用例,原始用例就成為基本用例,對(duì)“包含用例”和“擴(kuò)展用例”分別有包含關(guān)系和擴(kuò)展關(guān)系。
區(qū)別:(1)擴(kuò)展用例是可選的,而包含用例不是可選的;(2)基本用例沒(méi)有擴(kuò)展用例是可以完成的,但沒(méi)有包含用例則不能完成;(3)擴(kuò)展用例的執(zhí)行是有條件的,而包含用例沒(méi)有;(4)擴(kuò)展用例會(huì)改變基本用例的行為,而包含用例不會(huì)。
4.7簡(jiǎn)單說(shuō)明把用例組織到包中有什么好處。
答:用例包是用例、執(zhí)行者、關(guān)系、圖和其他包的集合,可以通過(guò)將用例模型分成更小的部分來(lái)結(jié)構(gòu)化用例模型。這樣可以使得具有大量元素的用例模型中的用例結(jié)構(gòu)化,同一包中的用例彼此之間都有某種關(guān)系,更加清楚明了,便于以后模型的分析和使用。
4.8用例詳細(xì)描述中有哪三種事件流,分別表示什么場(chǎng)景?
答:三種事件流:主事件流、分支事件流和異常事件流。
主事件流:在描述正常過(guò)程時(shí)列出執(zhí)行者和系統(tǒng)之間相互交互或?qū)υ挼膭?dòng)作序列。當(dāng)這種對(duì)話結(jié)束時(shí),執(zhí)行者也達(dá)到了預(yù)期的目的。
分支事件流:也可促進(jìn)成功地完成任務(wù),但它們代表了任務(wù)的細(xì)節(jié)或用于完成任務(wù)的途徑的變化部分。
異常事件流:不符合用例流正?;蚧拘袨?,引起任務(wù)不能順利完成。
4.9什么是軟件需求規(guī)約(srs)?
答:軟件需求規(guī)約是分析任務(wù)的最終產(chǎn)物,通過(guò)建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說(shuō)明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。
4.10如何理解界面原型在需求建模中作用?
答:可以處理模糊需求,開(kāi)發(fā)者和用戶可充分通信,降低開(kāi)發(fā)風(fēng)險(xiǎn)。
靜態(tài)界面原型:供分析人員與用戶進(jìn)行進(jìn)一步交流和溝通,通過(guò)這種可視化方法,使雙方逐步就明確系統(tǒng)需求達(dá)成共識(shí)。
交互式界面原型:便于用戶可以操作,展示實(shí)際系統(tǒng)效果。
4.11選擇題
1.如圖4.11-1所示.a1、a2和a3是什么?(單選題)(c)
(a)role
(b)actress
(c)actor
(d)user
2.如圖4.11-1中,下面哪個(gè)語(yǔ)句是正確的?(多選題)(bcd)(a)a3可以使用uc4與系統(tǒng)交互。
(b)al可以使用ucl和uc4與系統(tǒng)交互。(c)a3,al與a2不同。
(d)uc3是沒(méi)有步驟的抽象用例。
3.如圖4.11-1所示,下面哪個(gè)語(yǔ)句是正確的?(多選題)(cd)(a)uc5是uc4的補(bǔ)充部分。(b)uc4是uc5的可選部分。(c)uc1是沒(méi)有用的。
(d)uc2是uc4的可選部分。(e)uc4是uc2的補(bǔ)充部分。
4.12綜合案例分析-餐廳智能移動(dòng)終端無(wú)線點(diǎn)菜系統(tǒng)需求
根據(jù)第3章的練習(xí)3.11綜合案例分析的業(yè)務(wù)描述,來(lái)分析點(diǎn)餐系統(tǒng)的需求。
傳送距離可達(dá)100米,室外傳送距離可送300米。根據(jù)案例的描述,請(qǐng)你完成下列任務(wù):
1.建立無(wú)線點(diǎn)菜系統(tǒng)的用例模型(找出所有的系統(tǒng)actor和usecase);
用例模型
系統(tǒng)actor:服務(wù)員、客戶、經(jīng)理
usecase:點(diǎn)菜服務(wù)、自助點(diǎn)菜、統(tǒng)計(jì)
2.對(duì)用例進(jìn)行詳細(xì)描述,包括前置條件、后置條件,以及各事件流,并用泳道圖畫(huà)出用例對(duì)應(yīng)的事件流。前置條件:
服務(wù)員有掌上電腦系統(tǒng),廚房與前臺(tái)有打印機(jī),在傳輸距離之內(nèi)后置條件:
打印機(jī)打印所點(diǎn)菜單事件流:主事件流:1.顧客點(diǎn)菜;
2.服務(wù)員用掌上電腦及菜單;3.廚房和前臺(tái)打印機(jī)打印菜單分支事件流:無(wú)
異常事件流:
步驟2后步驟3未接收,無(wú)法打印,返回步驟
2
3).打印菜單用例描述:用例名稱:打印菜單
用例描述:打印點(diǎn)菜內(nèi)容參與者:打印機(jī)前置條件:點(diǎn)菜完成
后置條件:打印機(jī)打印菜單給后臺(tái),廚房和前臺(tái)主事件流:1.系統(tǒng)發(fā)送點(diǎn)菜單至打印機(jī)
2.打印機(jī)接收菜單3.打印機(jī)打印菜單分支事件流:無(wú)異常事件流:無(wú)泳道圖:
chapter5
5.1如何理解分析與設(shè)計(jì)的聯(lián)系?
答:“分析”是指“做什么”,強(qiáng)調(diào)對(duì)問(wèn)題的調(diào)研而不是如何確定解決方案,重點(diǎn)集中在需求和應(yīng)用領(lǐng)域上;而“設(shè)計(jì)”指“怎么做”,強(qiáng)調(diào)的是問(wèn)題的邏輯解決方案,即系統(tǒng)怎樣才能滿足需求,重點(diǎn)轉(zhuǎn)移了要產(chǎn)生軟件的結(jié)構(gòu)上。但由于分析與設(shè)計(jì)是把用戶需求轉(zhuǎn)化為實(shí)現(xiàn)的橋梁,分析和設(shè)計(jì)自始至終可以用相同的技術(shù)和類似的表示方法,它們之間的界限很難劃清,且沒(méi)有太多意義。
5.2分析設(shè)計(jì)包括哪些工作流程?
答:分析和設(shè)計(jì)過(guò)程是一個(gè)不斷迭代優(yōu)化的過(guò)程。
包括:執(zhí)行體系結(jié)構(gòu)合成;定義候選體系結(jié)構(gòu);優(yōu)化體系結(jié)構(gòu);分析行為;設(shè)計(jì)構(gòu)件;設(shè)計(jì)數(shù)據(jù)庫(kù);服務(wù)識(shí)別;服務(wù)規(guī)范。
5.3分析建模的元素分哪幾類?具體是什么?答:分析建模的元素分為四大類,分別是:(1)基于場(chǎng)景元素:
這類元素包括:用例文本、用例圖、活動(dòng)圖和泳道圖等;(2)面向流的元素:
這類元素包括數(shù)據(jù)流圖、控制流圖、處理敘述等;(3)基于類的元素:
這類元素包括類圖、分析包、crc模型、通信圖等;(4)行為的元素:
這類元素包括狀態(tài)圖、順序圖等。
5.4分析模型的靜態(tài)模型的用途是什么?靜態(tài)模型的元素有哪些?
答:用途:通過(guò)分析,可以將業(yè)務(wù)需求模型和系統(tǒng)需求模型轉(zhuǎn)化為系統(tǒng)可以處理的對(duì)象模型,并給出對(duì)象的基本屬性和對(duì)象間相互關(guān)系。
分析模型中靜態(tài)模型主要的元素是基于類的元素,包括:分析包:模型中的包,表示層次結(jié)構(gòu)。類:模型中的類,由包所擁有。關(guān)系:模型中的關(guān)系,由包所擁有。
圖:模型中的類圖、協(xié)作(通信)圖,由包所擁有。
5.5動(dòng)態(tài)模型的類被分為哪三類?分別在系統(tǒng)中承擔(dān)什么職責(zé)?答:邊界類、控制類和實(shí)體類。
邊界類:是用來(lái)對(duì)系統(tǒng)環(huán)境及其內(nèi)部工作之間的交互建模的類。這樣的交互涉及轉(zhuǎn)換和轉(zhuǎn)移事件,并注釋系統(tǒng)表示中的更改(例如界面)。
控制類:是用于對(duì)特定于一個(gè)或一些用例的控制行為建模的類。實(shí)體類:是用來(lái)對(duì)必須存儲(chǔ)的信息及關(guān)聯(lián)行為建模的類。
5.6按照設(shè)計(jì)模型的不同層次和功能,設(shè)計(jì)元素可以分哪些方面?
答:(1)體系結(jié)構(gòu)元素;(2)構(gòu)件級(jí)元素;(3)接口/界面元素:用戶界面、構(gòu)件接口、系統(tǒng)接口;(4)數(shù)據(jù)元素:數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);(5)部署級(jí)元素。
5.7軟件模式有哪三個(gè)層次?分別說(shuō)明之。
答:一般地,軟件模式可劃分為三個(gè)層次:體系結(jié)構(gòu)模式,設(shè)計(jì)模式和代碼模式。
體系結(jié)構(gòu)模式:描述軟件系統(tǒng)里的基本的結(jié)構(gòu)組織或綱要。體系結(jié)構(gòu)模式提供一些事先定義好的子系統(tǒng),指定它們的責(zé)任,并給出把它們組織在一起的法則和指南。
設(shè)計(jì)模型:提供一種提煉子系統(tǒng)或軟件系統(tǒng)中的構(gòu)件或者兩者之間關(guān)系的綱要設(shè)計(jì)。設(shè)計(jì)模型描述普遍存在的在相互通訊的構(gòu)件中重復(fù)出現(xiàn)的結(jié)構(gòu),這種結(jié)構(gòu)解決在一定的背景中的具有一般性的設(shè)計(jì)問(wèn)題。
代碼模型:也稱“成例”、實(shí)現(xiàn)模式。是較低層次的模式,并與編程語(yǔ)言密切相關(guān)。代碼模型描述怎樣利用一個(gè)特定的編程語(yǔ)言的特點(diǎn)來(lái)實(shí)現(xiàn)一個(gè)構(gòu)件的某些特定的方面或關(guān)系。
5.8什么是軟件體系結(jié)構(gòu)?簡(jiǎn)述軟件體系結(jié)構(gòu)的設(shè)計(jì)重要性。
答:軟件體系結(jié)構(gòu):是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來(lái)。這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。
重要性:軟件體系結(jié)構(gòu)設(shè)計(jì)是高階層的設(shè)計(jì),定義了包(子系統(tǒng)),包括包之間的依賴關(guān)系和主要的通信機(jī)制。自然清晰和簡(jiǎn)單的結(jié)構(gòu)是目標(biāo),避免幾乎沒(méi)有依賴或雙向依賴。
5.9試說(shuō)明軟件體系結(jié)構(gòu)的演變過(guò)程。
答:(1)單機(jī)系統(tǒng):是指只需裝在一臺(tái)電腦上,同時(shí)只能一個(gè)用戶使用的系統(tǒng),沒(méi)有服務(wù)器概念,很多早期的軟件都是單機(jī)系統(tǒng),與分布式系統(tǒng)區(qū)別。
(2)客戶機(jī)/服務(wù)器(兩層)結(jié)構(gòu):由服務(wù)器提供應(yīng)用(數(shù)據(jù))服務(wù),多臺(tái)客戶機(jī)進(jìn)行連接。
(3)瀏覽器/服務(wù)器(b/s)結(jié)構(gòu):在當(dāng)前internet/intranet領(lǐng)域,“瀏覽器/服務(wù)器”結(jié)構(gòu)是非常流行的客戶機(jī)/服務(wù)器結(jié)構(gòu)。這種結(jié)構(gòu)最大的優(yōu)點(diǎn)是:客戶機(jī)統(tǒng)一采用瀏覽器,這不僅讓用戶使用方便,而且使得客戶機(jī)不存在安裝維護(hù)問(wèn)題。
(4)三層結(jié)構(gòu):三層結(jié)構(gòu)的客戶機(jī)/服務(wù)器模型是一種先進(jìn)的協(xié)同應(yīng)用程序開(kāi)發(fā)模型,不是物理上,而是邏輯上將客戶機(jī)/服務(wù)器系統(tǒng)中各種各樣的部件劃分為三“層”服務(wù),它們共同組成一個(gè)應(yīng)用程序,這三層服務(wù)包括:數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層和表示層。
5.10如何理解體系結(jié)構(gòu)風(fēng)格和模式的本質(zhì)?
答:體系結(jié)構(gòu)風(fēng)格:定義了結(jié)構(gòu)組織模式的系統(tǒng)族,用來(lái)表達(dá)一組協(xié)作的約束,使得對(duì)公共約束的特征進(jìn)行溝通變得更加容易,被用作一種進(jìn)行抽象的方法,而不是代表一種個(gè)性化的設(shè)計(jì)。
體系結(jié)構(gòu)模式:是對(duì)某類問(wèn)題域給出的一套軟件結(jié)構(gòu)的解決方案,描述了軟件系統(tǒng)基本的結(jié)構(gòu)化組織方案,是處理特定問(wèn)題的高效、成熟的模板。
5.11什么是軟件框架?與模式的區(qū)別是什么?
答:軟件框架:軟件開(kāi)發(fā)過(guò)程中提取特定領(lǐng)域軟件的共性部分形成的體系結(jié)構(gòu),不同領(lǐng)域的軟件項(xiàng)目有著不同的框架模型。
區(qū)別:模式提供一種思想方法的指導(dǎo),應(yīng)用模式的指導(dǎo),可以幫助設(shè)計(jì)人員做出一個(gè)優(yōu)良的設(shè)計(jì)方案,達(dá)到事半功倍的效果。但模式不體現(xiàn)為程序,如mvc是一種體系結(jié)構(gòu)的模式,對(duì)于同一軟件體系結(jié)構(gòu),可以通過(guò)多種框架來(lái)實(shí)現(xiàn)。如struts是實(shí)現(xiàn)mvc模式的著名框架,但不是唯一的。
5.12rup的4+1視圖分別是什么?答:概括而言,rup的4+1視圖是:(1)邏輯視圖:設(shè)計(jì)的對(duì)象模型。
(2)進(jìn)程視圖:捕捉設(shè)計(jì)的并發(fā)和同步特征。
(3)實(shí)現(xiàn)視圖:描述了在開(kāi)發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu)。
(4)部署視圖:描述了軟件到硬件的映射,反映了分布式特征。
(5)用例視圖:該視圖是其他視圖的冗余(因此“+1”)。它包含用例和場(chǎng)景。
5.13什么是設(shè)計(jì)模式?
答:設(shè)計(jì)模式:是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。毫無(wú)疑問(wèn),設(shè)計(jì)模式于己于他人于系統(tǒng)都是多贏的,設(shè)計(jì)模式使代碼編制真正工程化,設(shè)計(jì)模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。
5.14簡(jiǎn)要說(shuō)明類的詳細(xì)設(shè)計(jì)分哪幾步來(lái)實(shí)現(xiàn)?
答:(1)使用設(shè)計(jì)模式和機(jī)制:使用適合設(shè)計(jì)的類或功能、符合項(xiàng)目設(shè)計(jì)指南的設(shè)計(jì)模式和機(jī)制。
(2)創(chuàng)建初始設(shè)計(jì)類:為指定為此任務(wù)輸入的分析類創(chuàng)建一個(gè)或多個(gè)初始設(shè)計(jì)類,并指定跟蹤依賴關(guān)系。包括設(shè)計(jì)邊界類、設(shè)計(jì)實(shí)體類和設(shè)計(jì)控制類。
(3)定義屬性:類的屬性為類實(shí)例提供信息存儲(chǔ),并經(jīng)常用于代表類實(shí)例的狀態(tài)。類本身保持的任何信息都是通過(guò)其屬性完成的。
(4)確定持久類:需要在永久介質(zhì)上存儲(chǔ)其狀態(tài)的類被稱為持久類。
(5)定義操作:類的操作是類的行為特征或動(dòng)態(tài)特征,表示類提供的服務(wù)。(6)定義方法:方法制定操作的實(shí)現(xiàn)。
(7)定義狀態(tài):對(duì)于一些操作,操作的行為取決于接受者對(duì)象所處的狀態(tài)。
5.15什么是實(shí)體類與持久類?說(shuō)說(shuō)兩者之間區(qū)別與聯(lián)系。
答:實(shí)體類:在分析期間,代表被操縱的信息單元。它們往往是被動(dòng)的、持久的,并且可能被確定并與持久性分析機(jī)制相關(guān)聯(lián)。
持久類:需要在永久介質(zhì)上存儲(chǔ)其狀態(tài)的類。
區(qū)別和聯(lián)系:持久類是針對(duì)于hibernate對(duì)數(shù)據(jù)庫(kù)的映射來(lái)說(shuō)的,持久類=實(shí)體類+xml或注解配置;而實(shí)體類就是一個(gè)javabean類,有屬性,get、set方法,以及一些簡(jiǎn)單處理的方法。
5.16開(kāi)發(fā)物理數(shù)據(jù)庫(kù)設(shè)計(jì)的詳細(xì)步驟有哪些?
答:(1)定義域;(2)創(chuàng)建初始物理數(shù)據(jù)庫(kù)設(shè)計(jì)元素;(3)定義引用表;(4)創(chuàng)建主鍵和唯一性約束;(5)定義數(shù)據(jù)和參照完整性實(shí)現(xiàn)規(guī)則;(6)將數(shù)據(jù)庫(kù)設(shè)計(jì)反向規(guī)范化來(lái)為性能進(jìn)行優(yōu)化;(7)優(yōu)化數(shù)據(jù)訪問(wèn);(8)定義存儲(chǔ)器特征;(9)設(shè)計(jì)存儲(chǔ)過(guò)程來(lái)將類行為分發(fā)給數(shù)據(jù)庫(kù)。
5.17進(jìn)行界面設(shè)計(jì)時(shí)分析用戶的特征有什么作用?
要。
與系統(tǒng)分析人員協(xié)作,確定是否需要對(duì)用戶(主要的執(zhí)行者)描述做出更改,來(lái)反映特征描述。
5.18選擇題
(c)interfaceprojectscope
5.19綜合案例分析-餐廳pda無(wú)線點(diǎn)菜系統(tǒng)分析與設(shè)計(jì)
根據(jù)第4章餐廳pda無(wú)線點(diǎn)菜系統(tǒng)的需求,請(qǐng)分析設(shè)計(jì)相關(guān)系統(tǒng)。包括1.找出主要的概念實(shí)體,畫(huà)出實(shí)體類圖。
答:1.主要的概念實(shí)體:客人,點(diǎn)菜單,點(diǎn)菜記錄,打印機(jī),服務(wù)員,菜品分類
實(shí)體類圖:
2.
3.實(shí)體類操作:1)客人:輸入已點(diǎn)菜品
2)點(diǎn)菜記錄:記錄已點(diǎn)菜品();確認(rèn)點(diǎn)菜記錄();發(fā)送點(diǎn)菜記錄()3)打印機(jī):打印點(diǎn)菜記錄()
類圖:
4.界面:
5.數(shù)據(jù)庫(kù)表結(jié)構(gòu):
.01.05
學(xué)習(xí)軟件工程的心得體會(huì)篇六
這門課的作用就是,在你真正見(jiàn)過(guò)豬以前,先教你怎么吃豬肉,怎么騎著豬跑。
軟件工程導(dǎo)論所講述的內(nèi)容,其實(shí)并沒(méi)有很多人想象中的那么重要。就像是一本教你如何游泳的書(shū)。確實(shí)是一種非常重要的技能,但實(shí)際上你如果不看書(shū),在水里撲騰幾天也就會(huì)了,只是姿勢(shì)不那么標(biāo)準(zhǔn),游不了那么快。學(xué)會(huì)游泳非常重要,但其實(shí)并不是說(shuō)你要學(xué)會(huì)這本書(shū)有多么重要。
他的內(nèi)容大部分都是一些總結(jié)出來(lái)的經(jīng)驗(yàn)和方法。如果沒(méi)有真正的試驗(yàn)過(guò),很難有切身的體會(huì)。比如說(shuō)你如果沒(méi)經(jīng)歷過(guò)整天用zip壓縮當(dāng)天代碼保存的工作,就不會(huì)知道版本控制有多么重要。還有那些設(shè)計(jì)模式。比如singleton,你也許會(huì)說(shuō),用個(gè)全局變量,只生成一個(gè)對(duì)象不就可以了。自己寫小項(xiàng)目固然可以,但軟件工程作為一種“工程”,是很難一個(gè)人包攬全部工作的。你要多項(xiàng)目之間配合,要多人維護(hù)同一部分代碼。你要有一種確定的手段,來(lái)保證你這個(gè)類只有一個(gè)對(duì)象。所以把它提煉出來(lái),總結(jié)成一種模式。
至于學(xué)習(xí)上,除了完成規(guī)定的學(xué)習(xí)目標(biāo)外。我認(rèn)為學(xué)過(guò)這門課,至少應(yīng)該了解一個(gè)項(xiàng)目中會(huì)有哪些分工,大概是如何運(yùn)行的。各種設(shè)計(jì)模式的話,了解一下就可以了。只要你以后在工作中,能記起來(lái)有這么個(gè)東西,這種情況下,某種模式可能比較合適,具體細(xì)節(jié)到時(shí)候再查就行了。
這門課自己也說(shuō),是門導(dǎo)論而已。介紹一下你以后可能遇到的坑,以后再遇到那個(gè)填那個(gè)好了。
學(xué)習(xí)軟件工程的心得體會(huì)篇七
軟件工程概論是一門引導(dǎo)人們正確開(kāi)展軟件開(kāi)發(fā)的學(xué)科,它包括軟件開(kāi)發(fā)的常用流程、方法和工具等。我們是計(jì)算機(jī)專業(yè)的學(xué)生,而且都了解軟件開(kāi)發(fā)的基礎(chǔ),但是能夠真正了解軟件工程概論的學(xué)生是相對(duì)比較少的。因此,這門課程將會(huì)是我們學(xué)習(xí)過(guò)的最重要的課程之一。
次段:軟件工程概論的重要內(nèi)容
軟件工程概論具有如下幾個(gè)重要的內(nèi)容:軟件生命周期模型、軟件需求分析、軟件設(shè)計(jì)、軟件開(kāi)發(fā)流程和軟件測(cè)試。其中軟件生命周期模型是最重要的內(nèi)容之一,它為開(kāi)發(fā)過(guò)程提供了全方位的指導(dǎo),確保開(kāi)發(fā)人員始終按照正確的流程進(jìn)行開(kāi)發(fā)。這些內(nèi)容將會(huì)幫助我們了解整個(gè)開(kāi)發(fā)過(guò)程,如何規(guī)劃項(xiàng)目并嚴(yán)格遵循項(xiàng)目的開(kāi)發(fā)流程。
第三段:軟件工程概論帶給我們的啟示
軟件工程概論是一個(gè)非常實(shí)用的課程,它為我們提供了很多關(guān)于如何正確開(kāi)發(fā)軟件的知識(shí)和指導(dǎo)。同時(shí)也帶給我們很多啟示。首先,軟件開(kāi)發(fā)不是孤立的,它是一個(gè)整體的系統(tǒng),任何一部分出現(xiàn)問(wèn)題都會(huì)影響到整個(gè)系統(tǒng)。其次,軟件開(kāi)發(fā)過(guò)程是非常復(fù)雜的,需要較高的技能和知識(shí)。因此人力成本將會(huì)是非常高的,同時(shí)對(duì)開(kāi)發(fā)人員的素質(zhì)和能力也有很高的要求。
第四段:如何應(yīng)用軟件工程概論在實(shí)際工作中
首先需要掌握全面的軟件工程概論知識(shí),以此來(lái)指導(dǎo)整個(gè)開(kāi)發(fā)過(guò)程。其次需要確定一個(gè)比較好的軟件生命周期模型,以確保開(kāi)發(fā)過(guò)程的順利進(jìn)行,并嚴(yán)格按照開(kāi)發(fā)流程來(lái)開(kāi)發(fā)。同時(shí)需要掌握一些常用的軟件開(kāi)發(fā)和管理工具,以提高開(kāi)發(fā)效率和質(zhì)量。
尾段:總結(jié)
通過(guò)學(xué)習(xí)軟件工程概論,我們深入了解了軟件開(kāi)發(fā)過(guò)程的核心內(nèi)容和方法。這些知識(shí)將會(huì)對(duì)我們未來(lái)的職業(yè)生涯以及軟件開(kāi)發(fā)工作有很大的指導(dǎo)意義。因此我們需要把所學(xué)的知識(shí)和方法運(yùn)用到實(shí)際的工作當(dāng)中去。同時(shí),我們也要繼續(xù)學(xué)習(xí)和積累,以應(yīng)對(duì)日新月異的技術(shù)發(fā)展。
學(xué)習(xí)軟件工程的心得體會(huì)篇八
未接觸軟件工程之前一直都很想學(xué)這門課程,因?yàn)橛X(jué)得這門課很牛,是那些有工程師稱號(hào)的高手才擺弄的東西。學(xué)了一個(gè)學(xué)期的軟件工程課,終于知道了個(gè)軟件工程的大概。學(xué)的時(shí)候總覺(jué)得很抽象,理解起來(lái)好像不難,但總是摸不著頭腦一種很茫然的感覺(jué)。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個(gè)收獲是,知道了二者的不同之處。以前做過(guò)的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個(gè)軟件的說(shuō)明,看來(lái)已經(jīng)很接近作坊了。不過(guò)大的項(xiàng)目沒(méi)有接觸過(guò),用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過(guò)倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊(duì)開(kāi)發(fā),以提高軟件質(zhì)量和程序員工作效率為目的'的規(guī)范。其核心就是,對(duì)于軟件開(kāi)發(fā)的5個(gè)重要組成部分:需求分析,設(shè)計(jì),編碼,調(diào)試,維護(hù),如何組織這5個(gè)部分的工作,以及如何完成每一個(gè)工作。吾生也有涯,而知也無(wú)涯,學(xué)習(xí)永無(wú)止境。起初,對(duì)軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過(guò)程中,知道了團(tuán)隊(duì)合作十分重要,爭(zhēng)議固然存在,但通過(guò)討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊(duì)成員中能力各有高下,互相尊重,各取所長(zhǎng),不宜妄自菲薄。組長(zhǎng)多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識(shí),順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實(shí)現(xiàn)“軟件制造業(yè)”的社會(huì)化,工業(yè)化大生產(chǎn),提高其勞動(dòng)生產(chǎn)效率。只有如此,軟件業(yè)才能實(shí)現(xiàn)社會(huì)化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒(méi)有管理的設(shè)計(jì)是失敗和混亂的設(shè)計(jì),沒(méi)有設(shè)計(jì)指導(dǎo)的編程是無(wú)序的忙碌的。根據(jù)開(kāi)發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開(kāi)發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(jiàn)(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實(shí)開(kāi)發(fā)軟件,就像是解決一個(gè)邏輯問(wèn)題。想想自己平時(shí)是怎樣寫程序的。首先是要有一個(gè)想法,即我寫的這個(gè)程序是要干什么的;然后就是對(duì)要實(shí)現(xiàn)的核心功能大概構(gòu)思一種或多種實(shí)現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來(lái)就是將涉及的各種主要或次要功能分成各個(gè)模塊;最后就是分模塊來(lái)編碼和debug。在我看來(lái),除了第一步外,其余的步驟應(yīng)該是一個(gè)循環(huán)的過(guò)程。在編碼的過(guò)程中,你總是需要不斷地回過(guò)頭來(lái)修改原先的模塊設(shè)計(jì),甚至最初選定的實(shí)現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計(jì),編碼,調(diào)試,維護(hù)這幾部分的工作的時(shí)候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項(xiàng)目能不能干的分析結(jié)果。
2.項(xiàng)目描述這是在決定立項(xiàng)以后,對(duì)當(dāng)前項(xiàng)目的一份扼要說(shuō)明。
3.需求分析就是對(duì)客戶要求的功能的定義。
4.軟件設(shè)計(jì)這就是對(duì)程序的每一個(gè)模塊的詳細(xì)設(shè)計(jì)的說(shuō)明文檔。
5.開(kāi)發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開(kāi)發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時(shí)突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動(dòng)等,還要對(duì)上述這些修改變動(dòng)作些說(shuō)明。
6.測(cè)試分析用于指出程序存在或潛在的缺陷和錯(cuò)誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會(huì)篇九
對(duì)于一個(gè)軟件系統(tǒng)的開(kāi)發(fā),第一步就是問(wèn)題定義,了解所開(kāi)發(fā)系統(tǒng)的行業(yè)背景,制定計(jì)劃。當(dāng)我們計(jì)劃確定以后就要對(duì)項(xiàng)目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個(gè)方面著手。就比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的行業(yè)背景說(shuō)明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說(shuō)明、應(yīng)用背景、未來(lái)發(fā)展趨勢(shì)以及相關(guān)應(yīng)用案例等四個(gè)方面,項(xiàng)目團(tuán)隊(duì)中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對(duì)將要開(kāi)發(fā)系統(tǒng)的進(jìn)行定義等工作。
原來(lái)我們寫這類文檔的時(shí)候就是草草了事,不會(huì)做得這么詳細(xì),而這次看到大型項(xiàng)目的行業(yè)背景說(shuō)明也是這么詳細(xì),也讓自己認(rèn)識(shí)到不管是軟件開(kāi)發(fā)的那個(gè)階段都要認(rèn)真對(duì)待,這些瑣碎的文檔都是后期開(kāi)發(fā)項(xiàng)目的支撐,只要它們做的透徹,后面的開(kāi)發(fā)工作才能更順利的進(jìn)行。
第二、項(xiàng)目需求說(shuō)明方面
這部分項(xiàng)目需求說(shuō)明就是軟件定義時(shí)期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說(shuō)明,即為《物聯(lián)網(wǎng)物流倉(cāng)儲(chǔ)管理系統(tǒng)》項(xiàng)目需求說(shuō)明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項(xiàng)目時(shí)寫的需求規(guī)格說(shuō)明書(shū)就非常不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來(lái)它不是很重要,寫文檔的時(shí)候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒(méi)有把自己項(xiàng)目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗(yàn)教訓(xùn)我會(huì)對(duì)這部分更加重視。
第三、系統(tǒng)概要設(shè)計(jì)方面
這部分內(nèi)容分說(shuō)的是軟件設(shè)計(jì)時(shí)期的概要設(shè)計(jì)階段,該階段的主要目的就是實(shí)現(xiàn)系統(tǒng)的功能、設(shè)計(jì)軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計(jì)階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對(duì)比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個(gè)階段還會(huì)具體畫(huà)出e-r圖、數(shù)據(jù)流圖等方面的設(shè)計(jì)。
比如《物聯(lián)網(wǎng)物流倉(cāng)庫(kù)管理系統(tǒng)》的系統(tǒng)概要設(shè)計(jì)從項(xiàng)目概述、設(shè)計(jì)約束、功能單元與功能模塊設(shè)計(jì)、數(shù)據(jù)e-r圖設(shè)計(jì)、總體設(shè)計(jì)、界面設(shè)計(jì)等六個(gè)方面介紹,通過(guò)讀這個(gè)文檔,我覺(jué)得最重要的還是總體設(shè)計(jì),分別從邏輯架構(gòu)設(shè)計(jì)、物理架構(gòu)設(shè)計(jì)、技術(shù)架構(gòu)設(shè)計(jì)設(shè)計(jì)系統(tǒng)。在這個(gè)階段中模塊要做到高內(nèi)聚低耦合,這樣開(kāi)發(fā)出來(lái)的系統(tǒng)才會(huì)具有更高的獨(dú)立性。
在原來(lái)做項(xiàng)目時(shí)沒(méi)有編寫過(guò)這類文檔,在該階段只是畫(huà)了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對(duì)該類文檔尚未重視。通過(guò)張老師的講解和自己的學(xué)習(xí),我相信在以后做項(xiàng)目的時(shí)候一定會(huì)注意到這類文檔的編寫。
第四、詳細(xì)設(shè)計(jì)與分析方面
詳細(xì)設(shè)計(jì)階段就是把概要設(shè)計(jì)階段的每個(gè)模塊進(jìn)一步設(shè)計(jì),確定每個(gè)模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個(gè)階段還是需要我們?cè)O(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明,而不是編寫程序。在詳細(xì)設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)人員可以通過(guò)使用程序流程圖、盒圖、pad圖等過(guò)程設(shè)計(jì)的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)工具進(jìn)一步設(shè)計(jì)系統(tǒng)相關(guān)接口,主要包括界面設(shè)計(jì)接口、業(yè)務(wù)單設(shè)計(jì)接口、單元模塊設(shè)計(jì)接口等,這些對(duì)于以后的編碼工作都是極其重要的。
第五、編碼和測(cè)試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計(jì)時(shí)期要按部就班的做,文檔一定要按要求書(shū)寫,不能偷懶也不能草草書(shū)寫。對(duì)于編碼也要有相應(yīng)的文檔書(shū)寫規(guī)范,要使源程序代碼的邏輯簡(jiǎn)明清晰、易讀易懂。這樣盡管我們不是設(shè)計(jì)系統(tǒng)的人員,當(dāng)看到源程序代碼的時(shí)候也能容易讀懂代碼的意思。
其次就是測(cè)試的內(nèi)容,從測(cè)試的文檔中我們可以得出,其實(shí)測(cè)試在軟件開(kāi)發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問(wèn)題并排除其中的潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測(cè)試人員也要有很高的技術(shù)水平。
學(xué)習(xí)軟件工程的心得體會(huì)篇十
時(shí)間過(guò)的很快,轉(zhuǎn)眼間已經(jīng)實(shí)習(xí)將近5個(gè)月,其中有2個(gè)月是屬于完全被流放的。最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開(kāi)發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機(jī)軟件的腳本測(cè)試?,F(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測(cè)試經(jīng)驗(yàn)。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測(cè)試
一直以來(lái),我都認(rèn)為測(cè)試是脫離了軟件工程范圍的工作,不以為屑。但在實(shí)際情況中,測(cè)試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測(cè)試人員不懂編碼,他們靠的是日以累計(jì)的經(jīng)驗(yàn)總結(jié)和想象力。而要做到高級(jí)測(cè)試工程師,則一定要懂編碼,因?yàn)檫@是你完全掌握整個(gè)系統(tǒng)的方方面面具體運(yùn)作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測(cè)試經(jīng)驗(yàn)。實(shí)際項(xiàng)目中,編碼時(shí)間一般只占30%左右,真正耗費(fèi)時(shí)間的是it階段的找bug與對(duì)應(yīng)bug,此階段基本評(píng)定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實(shí)際做起來(lái),卻不知從何下手,
有位同事告訴我:代碼看幾遍都沒(méi)用,要去抄,例如一個(gè)查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會(huì)覺(jué)得很簡(jiǎn)單,但實(shí)際情況卻往往報(bào)一堆異常,配置問(wèn)題涉及到方方面面,以及數(shù)據(jù)庫(kù)字段,傳值問(wèn)題等等,一大堆對(duì)于新人來(lái)說(shuō)很郁悶的問(wèn)題。但不用怕,只要學(xué)會(huì)調(diào)試,一個(gè)個(gè)問(wèn)題去追蹤,一個(gè)個(gè)去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時(shí)間內(nèi)就看到問(wèn)題點(diǎn)在那,放下斷點(diǎn)去追蹤,出去找工作,絕對(duì)沒(méi)問(wèn)題。出現(xiàn)問(wèn)題的時(shí)候,不要光看代碼,要用實(shí)際行動(dòng)去追蹤運(yùn)行期間的具體值,那是最好途徑。eclipse是個(gè)很爽的ide,這點(diǎn)做的很好。例如頁(yè)面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫(kù)查詢語(yǔ)句去下手,設(shè)置斷點(diǎn),一步一步stepover,讓sql字段(存取最終sql語(yǔ)句的字符串)運(yùn)行到有值,inspect進(jìn)去看,如果還看不出來(lái),就點(diǎn)擊它,copy后在sql客戶端去實(shí)際運(yùn)行,看看實(shí)際查詢出來(lái)的表是什么,如果是對(duì)的,有可能就是頁(yè)面調(diào)用的錯(cuò)誤或者action邏輯的傳值問(wèn)題。
頁(yè)面錯(cuò)誤的調(diào)試,基本方法是用右鍵點(diǎn)擊實(shí)際網(wǎng)頁(yè)查看源代碼,copy到editplus,就能看到具體錯(cuò)誤發(fā)生在那幾行。通常有幾種常見(jiàn)的錯(cuò)誤,例如:缺少對(duì)象這種很多時(shí)候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語(yǔ)句加保護(hù)。追蹤的方法基本就是用alert語(yǔ)句,放在有可能出錯(cuò)的地方。
4、一些習(xí)慣
遇到問(wèn)題先自己思考,無(wú)從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會(huì)了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書(shū)多的多。
解決了一個(gè)問(wèn)題后,要去究根問(wèn)底去找到問(wèn)題產(chǎn)生的起因,以防你下次遇到類似的問(wèn)題再浪費(fèi)同樣的時(shí)間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過(guò)一個(gè)高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來(lái)很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會(huì)對(duì)你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠(chéng)都有了,路也比較好走了。
[]
學(xué)習(xí)軟件工程的心得體會(huì)篇十一
曾經(jīng)看過(guò)一本書(shū)叫《道法自然》,內(nèi)容略記得一二,但我最欣賞的是它的.書(shū)名。軟件設(shè)計(jì)沒(méi)什么太神秘有東西,只要用心體會(huì),其實(shí)一切都很自然。軟件的設(shè)計(jì)之“道”,也不在于設(shè)計(jì)有多么的華麗、精巧,而在于其樸實(shí)、自然,最終達(dá)到“以無(wú)招勝有招”,進(jìn)入一個(gè)全新的境界。
一、軟件設(shè)計(jì)理論的層次
以我的拙見(jiàn),軟件設(shè)計(jì)領(lǐng)域中的各種概念,可以分為以下幾個(gè)層次來(lái)進(jìn)行理解:
1、軟件設(shè)計(jì)的目的:重用性、擴(kuò)展性。
這是最高的層次,是應(yīng)對(duì)軟件危機(jī)的需要。
2、設(shè)計(jì)原則:低耦合、高聚合。
各種軟件設(shè)計(jì)的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設(shè)計(jì)模式,其根本的目的其實(shí)只是為了降低耦合這么簡(jiǎn)單。因?yàn)橹挥械婉詈喜拍芨玫倪m應(yīng)變化,更好的重用和擴(kuò)展。
3、實(shí)現(xiàn)方法:運(yùn)用設(shè)計(jì)模式封裝變化、降低耦合。
設(shè)計(jì)模式只是用來(lái)“封裝變化、降低耦合”的工具而已。它是面向?qū)ο笤O(shè)計(jì)時(shí)代的產(chǎn)物,其本質(zhì)就是充分運(yùn)用面向?qū)ο蟮娜齻€(gè)特性,即:封裝、繼承和多態(tài),進(jìn)行靈活的組合運(yùn)用。
二、關(guān)于耦合
1、耦合的粒度
耦合無(wú)論如何也是不可避免的。當(dāng)我們實(shí)現(xiàn)接口、繼承父類的時(shí)候,就會(huì)不可避免的產(chǎn)生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認(rèn)為應(yīng)以模塊的重用粒度為準(zhǔn)。盡量解除重用模塊或?qū)ο笾g的耦合。而重用模塊之內(nèi)的耦合,應(yīng)屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說(shuō)為什么各種設(shè)計(jì)模式能達(dá)到解耦的目的呢?我覺(jué)得有以下幾個(gè)思路:
(1)將具體的東西抽象處理
(2)將分散的東西集中處理
而面向?qū)ο笾械慕涌?、繼承正為我們提供了這樣的一種機(jī)制。通過(guò)訪問(wèn)接口或基類或抽象類,而不是具體的實(shí)現(xiàn)類,從而與具體的實(shí)現(xiàn)類達(dá)到了解耦的目的。我們還可以設(shè)計(jì)一些控制類,像潤(rùn)滑劑一樣,協(xié)調(diào)各實(shí)現(xiàn)類之間的訪問(wèn),也可以達(dá)到耦的目的。
事實(shí)上,各種設(shè)計(jì)模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對(duì)象時(shí)產(chǎn)生的耦合,實(shí)際上是解除對(duì)類稱名的依賴,而結(jié)構(gòu)型和行為型是為了解除對(duì)象屬性或方法的直接調(diào)用。不管什么設(shè)計(jì)模式,都是將對(duì)具體實(shí)現(xiàn)類的訪問(wèn)提升為對(duì)接口、基類或用于協(xié)調(diào)的控制類的訪問(wèn)。
三、關(guān)于接口
這一節(jié)更具體,談一談接口,因?yàn)槭褂媒涌谑擒浖O(shè)計(jì)的重要手段,但已經(jīng)不屬于“道”了。
1、接口與繼承
接口描述的是對(duì)象某一個(gè)方面行為特征。使用接口與使用繼承關(guān)系各有優(yōu)缺點(diǎn),使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因?yàn)樗獬俗宇惻c父類之間的高度耦合,它體現(xiàn)在靈活擴(kuò)展的精神。
2、接口與純虛類
接口存在的理由就是它更加靈活,關(guān)系簡(jiǎn)單,易于理解。比如一個(gè)類可以實(shí)現(xiàn)十幾個(gè)甚至幾十個(gè)接口,但一般開(kāi)發(fā)工具只支持單繼承(由于多繼承太容易導(dǎo)致混亂和沖突),如果要繼承十幾層,系統(tǒng)結(jié)構(gòu)想必會(huì)無(wú)法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結(jié)合使用,可以產(chǎn)生強(qiáng)大的威力,這也是許多設(shè)計(jì)模式的“殺手锏”。
以上算是總結(jié)一下自己的心得??隙ㄓ胁簧倨嬷?,請(qǐng)各位指教。
學(xué)習(xí)軟件工程的心得體會(huì)篇十二
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實(shí)例,讓理論和實(shí)踐得到了很好的結(jié)合。整一個(gè)學(xué)期下來(lái),總的來(lái)說(shuō)還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實(shí)在我看來(lái),軟件工程與其說(shuō)是一門課程,不如說(shuō)是一門思想。是一個(gè)如何去分析和處理問(wèn)題的過(guò)程,應(yīng)該說(shuō)其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個(gè)綜合的一個(gè)能夠解決問(wèn)題的思想集合。
要學(xué)習(xí)軟件工程,學(xué)會(huì)如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過(guò)程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開(kāi)銷合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。
軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說(shuō)明及加工描述。實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。 軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國(guó)ibm公司在軟件設(shè)計(jì)中使用的主要表達(dá)工具。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個(gè)模塊,均可用一張ipo圖來(lái)描述。ipo 圖由輸入、處理和輸出三個(gè)框組成,需要時(shí)還可以增加一個(gè)數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測(cè)試方法:按照測(cè)試過(guò)程是否在實(shí)際應(yīng)用環(huán)境中來(lái)分,有靜態(tài)分析與動(dòng)態(tài)測(cè)試。測(cè)試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測(cè)軟件,可對(duì)需求分析說(shuō)明書(shū)、軟件設(shè)計(jì)說(shuō)明書(shū)、源程序做結(jié)構(gòu)檢查、流程分析、符號(hào)執(zhí)行來(lái)找出軟件錯(cuò)誤。動(dòng)態(tài)測(cè)試技術(shù):當(dāng)把程序作為一個(gè)函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語(yǔ)言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會(huì)慢慢的完善的。
軟件工程對(duì)于初學(xué)者來(lái)說(shuō),知識(shí)基礎(chǔ)較薄弱,對(duì)一些應(yīng)用操作、概念、工具方法等理解起來(lái)較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書(shū)籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過(guò)程中要注意多看多練要注意結(jié)合實(shí)際,更要多思考,面對(duì)錯(cuò)誤不要一范就問(wèn),要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅(jiān)戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實(shí)際工作出發(fā),有針對(duì)性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們?cè)趯W(xué)習(xí)面向?qū)ο蠓治龅臅r(shí)候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語(yǔ)言時(shí),要看看與c語(yǔ)言的聯(lián)系,多思多想,把從各個(gè)科目學(xué)到的知識(shí)通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡(jiǎn)單,在開(kāi)發(fā)軟件的過(guò)程中,編寫代碼的工作量其實(shí)只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個(gè)完整的項(xiàng)目規(guī)劃須包括,軟件的定義,可行性分析報(bào)告,項(xiàng)目開(kāi)發(fā)計(jì)劃,軟件需求說(shuō)明書(shū),概要設(shè)計(jì)說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū),用戶操作手冊(cè),測(cè)試計(jì)劃,測(cè)試分析報(bào)告,開(kāi)發(fā)進(jìn)度報(bào)告,項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告,軟件維護(hù)手冊(cè),軟件問(wèn)題報(bào)告,軟件修改報(bào)告,等多個(gè)文檔,每個(gè)文檔都要上級(jí)驗(yàn)收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個(gè)目的的關(guān)鍵,既研究如何用最小的開(kāi)銷做出生存期較長(zhǎng)的軟件,再加上各個(gè)階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開(kāi)發(fā)軟件這個(gè)浩大的工程的一個(gè)小小的過(guò)程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因?yàn)檫@影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無(wú)規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護(hù)又從何談起呢所以,我們?cè)诮窈蟮膶W(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過(guò)程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無(wú)序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計(jì)和問(wèn)題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書(shū)、多思考、多練習(xí)、多討論,不斷熟悉書(shū)本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開(kāi)來(lái),應(yīng)用于今后的實(shí)踐。不斷鍛煉自己,向一名合格的程序設(shè)計(jì)師邁進(jìn)。
學(xué)習(xí)軟件工程的心得體會(huì)篇十三
學(xué)習(xí)軟件工程一個(gè)學(xué)期以來(lái),我在陳燁老師的教導(dǎo)下確實(shí)獲益匪淺。軟件工程這門課,讓我對(duì)軟件的認(rèn)識(shí)有了大大的提升,從一開(kāi)始對(duì)軟件工程的一無(wú)所知,到現(xiàn)在一學(xué)期下來(lái)的不斷學(xué)習(xí),懂得了許多的知識(shí)。
軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),軟件工程與其說(shuō)是一門課程,不如說(shuō)是一門思想。讓我懂得如何去分析和處理問(wèn)題的過(guò)程,綜合解決問(wèn)題。
在這段時(shí)間的學(xué)習(xí)中,我明白了一個(gè)完整的項(xiàng)目規(guī)劃須包括,軟件的定義,可行性分析報(bào)告,項(xiàng)目開(kāi)發(fā)計(jì)劃,軟件需求說(shuō)明書(shū),概要設(shè)計(jì)說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū),用戶操作手冊(cè),測(cè)試計(jì)劃,測(cè)試分析報(bào)告等多個(gè)文檔,而軟件的生存周期可分為八個(gè)階段,分別是問(wèn)題定義,可行性研究,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),程序設(shè)計(jì),測(cè)試,文檔,技術(shù)支持,售后服務(wù)。而可行性包括經(jīng)濟(jì),技術(shù),法律和社會(huì)。了解了許多軟件開(kāi)發(fā)模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml對(duì)象面向?qū)ο蠼#廊绾萎?huà)流圖,碩果累累。其實(shí)軟件和程序是兩個(gè)不同的概念,軟件除了程序還要有使用和維護(hù)該程序所需要的全部文檔。包括需求文檔、設(shè)計(jì)文檔、測(cè)試文檔、維護(hù)文檔以及使用手冊(cè)。
軟件工程對(duì)于初學(xué)者來(lái)說(shuō),知識(shí)基礎(chǔ)較薄弱,對(duì)一些應(yīng)用操作、概念、工具方法等理解起來(lái)較為困難,需要很好的基礎(chǔ)知識(shí)的理解和掌握,所以說(shuō)學(xué)好軟件工程不是僅僅書(shū)多看幾遍就可以成功,而是要多注意結(jié)合實(shí)際,多思考,面對(duì)錯(cuò)誤不要一范就問(wèn),要嘗試自己去解決,然后舉一反三。
軟件工程這門課在我們畢業(yè)之后,是我們實(shí)際要運(yùn)用的一項(xiàng)非常有用的技能,這門課讓我意識(shí)到理論學(xué)習(xí)很重要,而實(shí)踐更重要,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),只有實(shí)踐和理論相結(jié)合,才能使效益最大化。軟件工程的課雖然快要結(jié)束了,但是我對(duì)軟件工程的學(xué)習(xí)才剛剛開(kāi)始,有了這些基本知識(shí)做鋪墊,在以后做項(xiàng)目的時(shí)候?qū)?huì)是解決問(wèn)題的有效措施。
學(xué)習(xí)軟件工程的心得體會(huì)篇十四
作為軟件工程師,我一直對(duì)自己在軟件開(kāi)發(fā)領(lǐng)域的發(fā)展感到自豪。近年來(lái),我一直致力于提高自己的技能,并在實(shí)踐中不斷探索和學(xué)習(xí)。在這個(gè)過(guò)程中,我收獲了許多寶貴的經(jīng)驗(yàn)和體會(huì),讓我更好地理解了軟件工程師的角色和職責(zé),特別是在團(tuán)隊(duì)合作方面的重要性。
第二段:個(gè)人成長(zhǎng)
我的軟件開(kāi)發(fā)之路始于大學(xué)時(shí)期學(xué)習(xí)編程語(yǔ)言,并在一家創(chuàng)業(yè)公司中獲得了第一份實(shí)習(xí)工作。在這一階段,我經(jīng)歷了許多挑戰(zhàn)和學(xué)習(xí)機(jī)會(huì),計(jì)劃和設(shè)計(jì)軟件解決方案成為我的長(zhǎng)項(xiàng)。在后來(lái)的工作中,我不斷提高自己的團(tuán)隊(duì)合作技能,學(xué)會(huì)協(xié)調(diào)和溝通,特別是在多功能項(xiàng)目中尤為重要。
第三段:貢獻(xiàn)團(tuán)隊(duì)
作為軟件工程師,我有責(zé)任在團(tuán)隊(duì)中發(fā)揮重要作用,同時(shí)也需要學(xué)會(huì)尊重其他專業(yè)人員的意見(jiàn)和建議。我的目標(biāo)是成為一名優(yōu)秀的團(tuán)隊(duì)成員,通過(guò)協(xié)作和討論尋求最優(yōu)解決方案。在項(xiàng)目中,我總是盡力爭(zhēng)取更高的質(zhì)量和效率,發(fā)現(xiàn)和解決問(wèn)題,對(duì)團(tuán)隊(duì)的發(fā)展做出貢獻(xiàn)。
第四段:重視學(xué)習(xí)
隨著軟件技術(shù)的不斷發(fā)展,我們必須與時(shí)俱進(jìn),不斷學(xué)習(xí)新知識(shí)和技能。我經(jīng)常參加工作坊、研討會(huì)等活動(dòng),與同行交流經(jīng)驗(yàn),并積極閱讀相關(guān)書(shū)籍和文章。通過(guò)不斷學(xué)習(xí),我擴(kuò)大了自己的技能和知識(shí)范圍,更好地服務(wù)于團(tuán)隊(duì)和客戶。
第五段:結(jié)語(yǔ)
軟件工程師的工作需要我們具備多種技能和素養(yǎng),而不僅僅是編程。我們需要協(xié)作,溝通和解決問(wèn)題能力,同時(shí)也需要開(kāi)放心態(tài)和持續(xù)學(xué)習(xí)的意愿。我相信通過(guò)不斷的積累經(jīng)驗(yàn)和體會(huì),我們將不斷提高自身能力,為軟件行業(yè)的發(fā)展做出更大的貢獻(xiàn)。
學(xué)習(xí)軟件工程的心得體會(huì)篇十五
軟件工程師作為現(xiàn)代社會(huì)中越來(lái)越重要的職業(yè)之一,隨著信息技術(shù)的不斷發(fā)展,其職責(zé)也越來(lái)越廣泛和重要。作為一名軟件工程師,我在這個(gè)行業(yè)里摸爬滾打多年,深感自己的成長(zhǎng)離不開(kāi)各種經(jīng)驗(yàn)和心得的積累。在接下來(lái)的文字中,我將從個(gè)人視角談?wù)勛约涸谲浖_(kāi)發(fā)過(guò)程中的心得體會(huì)。
第二段:選擇質(zhì)量
在軟件開(kāi)發(fā)的過(guò)程中,我最關(guān)注的是軟件的質(zhì)量。因?yàn)檐浖枰L(zhǎng)期運(yùn)行,不僅要滿足用戶需求,還要兼顧安全性和可維護(hù)性等方面,這需要我們?cè)陂_(kāi)發(fā)過(guò)程中嚴(yán)格控制每一個(gè)環(huán)節(jié),做好每一個(gè)細(xì)節(jié)。因此,我在項(xiàng)目開(kāi)發(fā)前會(huì)認(rèn)真分析需求和可能的風(fēng)險(xiǎn),對(duì)技術(shù)框架和工具的選擇非常謹(jǐn)慎。我也會(huì)定期進(jìn)行代碼復(fù)審和單元測(cè)試等工作,確保代碼質(zhì)量達(dá)標(biāo)。當(dāng)然,在不斷優(yōu)化的過(guò)程中,我也意識(shí)到代碼質(zhì)量的提高不僅僅在于個(gè)人級(jí)別,而更應(yīng)該顧及團(tuán)隊(duì)整體水平,因此深感技術(shù)學(xué)習(xí)和交流的重要性。只有不斷積累、分享,才能讓團(tuán)隊(duì)的發(fā)展更加健康和持久。
第三段:溝通協(xié)作
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產(chǎn)品經(jīng)理、UI設(shè)計(jì)師、測(cè)試工程師等各個(gè)角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽(tīng)和引導(dǎo),以便更好地理解產(chǎn)品需求和用戶痛點(diǎn);要有清晰的表達(dá)能力,能夠清楚地向其他角色描述自己的想法和意圖;在開(kāi)發(fā)過(guò)程中,也要非常注重團(tuán)隊(duì)合作,及時(shí)溝通和協(xié)調(diào)出現(xiàn)的問(wèn)題。整個(gè)軟件開(kāi)發(fā)過(guò)程需要涵蓋從需求分析、規(guī)劃和設(shè)計(jì),再到編碼、測(cè)試和上線等各個(gè)環(huán)節(jié),期間需要負(fù)責(zé)人與團(tuán)隊(duì)的全面協(xié)作才能保證項(xiàng)目的順利完成。
第四段:學(xué)習(xí)成長(zhǎng)
軟件開(kāi)發(fā)是一個(gè)知識(shí)密集型的工作,要時(shí)刻緊跟技術(shù)的發(fā)展趨勢(shì)才能在激烈的競(jìng)爭(zhēng)中取得優(yōu)勢(shì)。因此,我認(rèn)為軟件工程師需要具備持續(xù)學(xué)習(xí)的能力和自我提升的意識(shí)。我會(huì)在業(yè)余時(shí)間去了解新的技術(shù),參加相關(guān)的技術(shù)社群和活動(dòng),不斷學(xué)習(xí)和嘗試新東西,以此來(lái)增強(qiáng)自己的核心競(jìng)爭(zhēng)力和解決實(shí)際問(wèn)題的能力。同樣,我也會(huì)時(shí)刻關(guān)注團(tuán)隊(duì)的成長(zhǎng)和發(fā)展,希望能為團(tuán)隊(duì)帶來(lái)更多的經(jīng)驗(yàn)和技術(shù)積累。
第五段:總結(jié)回顧
在軟件開(kāi)發(fā)的過(guò)程中,我覺(jué)得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無(wú)論是在技術(shù)領(lǐng)域還是在團(tuán)隊(duì)管理中,不停地學(xué)習(xí)和成長(zhǎng),分享并培育團(tuán)隊(duì)的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團(tuán)隊(duì)的能力和素質(zhì),做出更好的產(chǎn)品。取得成功需要獨(dú)立思考和勇于探索,但更需要承認(rèn)團(tuán)隊(duì)的重要性,在各方面展現(xiàn)出自己領(lǐng)導(dǎo)團(tuán)隊(duì)的能力和擔(dān)當(dāng)。在今后的工作和生活中,我也將持續(xù)關(guān)注自己的成長(zhǎng)需求,堅(jiān)定地走好自己的職業(yè)道路。
學(xué)習(xí)軟件工程的心得體會(huì)篇十六
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機(jī)的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對(duì)軟件工程方法進(jìn)行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法?/p>
還引出了工具uml。
第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫(huà)分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點(diǎn)。
第四章結(jié)構(gòu)化分析方法,這一章重點(diǎn)講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進(jìn)。
第五章編碼,這一章重點(diǎn)講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說(shuō)帶來(lái)的好處,并告誡我們將來(lái)一點(diǎn)要形成好的編碼風(fēng)格。
第六章軟件測(cè)試方法,本章講解了軟件測(cè)試相關(guān)的概念及重要性,軟件測(cè)試與開(kāi)發(fā)各個(gè)階段的關(guān)系;還介紹了白盒測(cè)試技術(shù)以及黑河測(cè)試技術(shù)。
第七章統(tǒng)一建模語(yǔ)言u(píng)ml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時(shí)用到的各種圖進(jìn)行了介紹。
第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動(dòng)態(tài)模型。
第九章軟件體系結(jié)構(gòu)與設(shè)計(jì)模式,本章對(duì)軟件體系結(jié)構(gòu)的'基本概念、典型風(fēng)格等進(jìn)行了講解。
第十章面向?qū)ο笤O(shè)計(jì),本章的重點(diǎn)是對(duì)面向?qū)ο蠓治鰰r(shí)建立的對(duì)象模型進(jìn)行調(diào)整和細(xì)化。
第十一章軟件維護(hù),本章主要介紹軟件維護(hù)的任務(wù)、軟件維護(hù)活動(dòng)以及軟件維護(hù)方法進(jìn)行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會(huì)如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過(guò)程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷合宜的產(chǎn)品。
正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。
開(kāi)銷合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷滿足用戶要求的程度。
這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。
軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。
軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程。
它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。
需求活動(dòng)包括問(wèn)題分析和需求分析。
問(wèn)題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。
詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說(shuō)明及加工描述。
實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。
確認(rèn)活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。
維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。
伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。
軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計(jì)的方法,其原則是過(guò)程描述是否易于理解、復(fù)審和維護(hù),進(jìn)而過(guò)程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計(jì)與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開(kāi)發(fā)者最熟悉的一種算法表達(dá)工具。
它獨(dú)立于任何一種程序設(shè)計(jì)語(yǔ)言,比較直觀和清晰地描述過(guò)程的控制流程,易于學(xué)習(xí)掌握。
【本文地址:http://mlvmservice.com/zuowen/4069004.html】