學(xué)習(xí)軟件工程心得體會范文(13篇)

格式:DOC 上傳日期:2023-11-26 23:59:12
學(xué)習(xí)軟件工程心得體會范文(13篇)
時間:2023-11-26 23:59:12     小編:琴心月

總結(jié)心得體會有助于我們更好地認(rèn)識自己的優(yōu)勢和劣勢,為未來的發(fā)展做好準(zhǔn)備。寫心得體會時,在結(jié)構(gòu)上可以采用時間順序、事件遞進(jìn)或者問題引導(dǎo)的方式進(jìn)行組織。這些心得體會范文是各種不同領(lǐng)域和不同經(jīng)驗(yàn)的總結(jié)和歸納,值得大家一起來學(xué)習(xí)和分享。

學(xué)習(xí)軟件工程心得體會篇一

轉(zhuǎn)眼,出來社會都已大半年,已是半個社會人了。不能再向?qū)W生那樣,某些時候可以隨心隨意。頂崗實(shí)習(xí),為我們提供了一個很好的實(shí)踐機(jī)會,可以讓我們更好的把理論應(yīng)用于實(shí)踐,在實(shí)踐中領(lǐng)悟理論,更可以學(xué)習(xí)到很多書本上學(xué)習(xí)不到的、甚至比理論知識更實(shí)用的業(yè)務(wù)知識。而且,這些實(shí)習(xí)經(jīng)驗(yàn),無疑是我們畢業(yè)后就業(yè)的一大籌碼。作為一個成年人,作為一個社會職業(yè)人,任何時候都要守規(guī)矩,做好自己的本分,承擔(dān)起自己所需要承擔(dān)的責(zé)任。經(jīng)歷了2家公司的工作,我漸漸的認(rèn)識到,每一份工作或每一個工作環(huán)境都無法盡善盡美,但每一份工作中都有許多寶貴的經(jīng)驗(yàn)和資源,如失敗的沮喪、自我成長的喜悅、溫馨的工作伙伴、值得感謝的客戶等等,這些都是工作成功者必須體驗(yàn)的感受和必備的財富。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,就要懂得感恩”的道理,你一定會收獲很多很多。在你收獲很多很多的同時,你會發(fā)現(xiàn)自己已經(jīng)在鍛煉中變得勇敢,堅強(qiáng),樂觀,闊達(dá)。這樣的你,是不斷前進(jìn)的走在成功的路上的。

將本文的word文檔下載到電腦,方便收藏和打印。

學(xué)習(xí)軟件工程心得體會篇二

這門課的作用就是,在你真正見過豬以前,先教你怎么吃豬肉,怎么騎著豬跑。

軟件工程導(dǎo)論所講述的內(nèi)容,其實(shí)并沒有很多人想象中的那么重要。就像是一本教你如何游泳的書。確實(shí)是一種非常重要的技能,但實(shí)際上你如果不看書,在水里撲騰幾天也就會了,只是姿勢不那么標(biāo)準(zhǔn),游不了那么快。學(xué)會游泳非常重要,但其實(shí)并不是說你要學(xué)會這本書有多么重要。

他的內(nèi)容大部分都是一些總結(jié)出來的經(jīng)驗(yàn)和方法。如果沒有真正的試驗(yàn)過,很難有切身的體會。比如說你如果沒經(jīng)歷過整天用zip壓縮當(dāng)天代碼保存的工作,就不會知道版本控制有多么重要。還有那些設(shè)計模式。比如singleton,你也許會說,用個全局變量,只生成一個對象不就可以了。自己寫小項目固然可以,但軟件工程作為一種“工程”,是很難一個人包攬全部工作的。你要多項目之間配合,要多人維護(hù)同一部分代碼。你要有一種確定的手段,來保證你這個類只有一個對象。所以把它提煉出來,總結(jié)成一種模式。

至于學(xué)習(xí)上,除了完成規(guī)定的學(xué)習(xí)目標(biāo)外。我認(rèn)為學(xué)過這門課,至少應(yīng)該了解一個項目中會有哪些分工,大概是如何運(yùn)行的。各種設(shè)計模式的話,了解一下就可以了。只要你以后在工作中,能記起來有這么個東西,這種情況下,某種模式可能比較合適,具體細(xì)節(jié)到時候再查就行了。

這門課自己也說,是門導(dǎo)論而已。介紹一下你以后可能遇到的坑,以后再遇到那個填那個好了。

學(xué)習(xí)軟件工程心得體會篇三

我們沒有進(jìn)行過系統(tǒng)化軟件設(shè)計的教育和學(xué)習(xí),對如何進(jìn)行軟件的開發(fā)基本上就是想什么寫什么。根本沒有過系統(tǒng)化的設(shè)計。比如需求分析,可行性研究等。更不知道用什么模型來設(shè)計軟件。這在我們以后的工作中是完全不行的,沒有系統(tǒng)化的設(shè)計,是不可能滿足客戶的需求的。

胡老師讓我們分組進(jìn)行軟件互換的形式來進(jìn)行軟件的修改。其實(shí)胡老師就是想讓我們了解以后工作中,軟件是如何設(shè)計的和制作的。對于以前的編程,我們只能按照自己的想法,想一步做一步。根本沒有系統(tǒng)化的設(shè)計。通過對軟件工程導(dǎo)論這門課程的學(xué)習(xí),一遍學(xué)習(xí)一遍實(shí)驗(yàn),實(shí)踐與理論相結(jié)合。開始其實(shí)我根本不理解各種圖的作用,覺得它們根本沒有用,就是照貓畫虎,沒有任何的實(shí)際意義。但是通過后面的學(xué)習(xí)和理解,對他們有了獨(dú)特的理解和想法。比如對uml來說。它是一種標(biāo)準(zhǔn)化交流的語言,它可以讓開發(fā)人員與客戶之間輕松的交流。用圖的形式向客戶展示軟件設(shè)計的流程,從中傳遞信息。簡單的說就是客戶和設(shè)計人員交流的手段。

這學(xué)習(xí),不管是實(shí)驗(yàn)小組的實(shí)驗(yàn)還是老師您要求的程序,基本都是我一個人做的,所以對各種圖還是比較了解和掌握的。雖然對實(shí)驗(yàn)報告的制作感覺到十分的吃力,工作量很大,但是還是通過幾個晚上的專心學(xué)習(xí)和制作,最后還是完成了。但是好多圖畫的還是很有問題,沒有真正的完全理解和掌握。但是在后面的學(xué)習(xí)和復(fù)習(xí)中,有了更正。

下面我對實(shí)驗(yàn)進(jìn)行一下總結(jié)。首先是實(shí)驗(yàn)一結(jié)構(gòu)化分析和設(shè)計,主要理解dfd圖,數(shù)據(jù)字典,erd圖和問題描述進(jìn)行設(shè)計和學(xué)習(xí)。dfd圖主要分為三個方面,數(shù)據(jù)的源點(diǎn),數(shù)據(jù)流和數(shù)據(jù)存儲。它將信息流和數(shù)據(jù)從輸入移動到輸出的工程中所經(jīng)受的變化。簡單的說就是主體,動作和數(shù)據(jù)單元的問題。接下來是數(shù)據(jù)字典,主要進(jìn)行軟件操作單元的數(shù)據(jù)定義,格式化和功能說明。然后就是erd圖,根據(jù)短信系統(tǒng)的問題描述,可得到軟件實(shí)體,從而得到此圖。其次是實(shí)驗(yàn)二和三面向?qū)ο蠓治龊驮O(shè)計。主要進(jìn)行用例圖,場景描述,初始化類圖,協(xié)作圖的制作。先是從需求到業(yè)務(wù)用例圖,根據(jù)客戶需求(也就是我們軟件的需求)畫出用例圖。它的作用其實(shí)就是描述該實(shí)現(xiàn)什么業(yè)務(wù)或者說是功能。接下來就是場景描述,簡單來說就是軟件實(shí)際的操作的某個步驟的具體說明。跟著就是初始化類圖,重要作用就是顯示系統(tǒng)有哪些實(shí)體,實(shí)體的具體操作,實(shí)體間的關(guān)系。然后就是協(xié)作圖,主要作用是針對某個軟件的功能,進(jìn)行交互過程的解釋,簡單來說就是具體業(yè)務(wù)的具體操作,而且是所有涉及到的操作。動態(tài)模型和靜態(tài)模型的建立,在面向?qū)ο蟮南到y(tǒng)中,業(yè)務(wù)流程表現(xiàn)在為對象之間的交互,對動態(tài)模型和靜態(tài)模型分析和總結(jié),從而產(chǎn)生順序圖。面向?qū)ο笤O(shè)計就是對實(shí)體類進(jìn)行定義和說明,所有的類都是跟軟件里的類相對應(yīng)。就是真正的類。最后就是實(shí)驗(yàn)三編碼和測試,實(shí)驗(yàn)主要對測試和編碼進(jìn)行總結(jié)。從中總結(jié)制作過程和測試過程。

實(shí)驗(yàn)對我來說可能很辛苦,但是我從中學(xué)到了很多。了解了很多圖的作用,也了解了以后工作的具體流程,這對我們以后的實(shí)際工作提供很多幫助。對我來說辛苦著收獲著快樂著。跟您的交流中也學(xué)到了很多知識??傊液軡M足。

學(xué)習(xí)軟件工程心得體會篇四

軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因?yàn)橛X得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。

經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護(hù),如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。

在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團(tuán)隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。

上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實(shí)現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實(shí)現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。

其實(shí)開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實(shí)現(xiàn)的核心功能大概構(gòu)思一種或多種實(shí)現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實(shí)現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護(hù)這幾部分的工作的時候,最核心的就是文檔的編寫。

1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。

2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。

3.需求分析就是對客戶要求的功能的定義。

4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。

5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。

6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。

學(xué)習(xí)軟件工程心得體會篇五

軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關(guān)數(shù)據(jù)及其說明文檔。軟件工程(softwareengineering,簡稱為se)是針對軟件這一具有特殊性質(zhì)的產(chǎn)品的工程化方法。se涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來指導(dǎo)軟件人員的工作。任何事物都是從無到有的,軟件當(dāng)然也不例外。上世紀(jì)中期,軟件產(chǎn)業(yè)從零開始起步,經(jīng)過半個多世紀(jì)的發(fā)展,其大致經(jīng)歷的3個階段:程序設(shè)計階段、軟件設(shè)計階段和軟件工程時代,現(xiàn)已成為推動人類社會發(fā)展的龍頭產(chǎn)業(yè),隨著信息化時代的發(fā)展,軟件對人類社會也將越看來越重要。人們對軟件的認(rèn)識自然經(jīng)歷了一個由淺入深的過程,在得到巨大需求的同時,也遇到了一系列嚴(yán)重問題,即軟件危機(jī)。所謂軟件危機(jī),是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一些嚴(yán)重問題,其實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)趕不上需求的增長。概括的說包含兩方面的問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復(fù)雜的要求;二、如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。為研究和解決軟件危機(jī),一門新興的學(xué)科軟件工程,應(yīng)運(yùn)而生。

軟件工程的概念是為了有效地控制軟件危機(jī)的發(fā)生而被提出來的,它的中心目標(biāo)就是把軟件作為一種物理的工業(yè)產(chǎn)品來開發(fā),要求“采用工程化的原理與方法對軟件進(jìn)行計劃、開發(fā)和維護(hù)”,它的主要對象是大型軟件,它的最終目的是擺脫手工生產(chǎn)軟件的現(xiàn)狀,逐步實(shí)現(xiàn)軟件開發(fā)和維護(hù)的自動化。軟件工程的概念自提出來后,經(jīng)過幾十年的發(fā)展,雖然軟件危機(jī)沒有得到徹底的解決,但在軟件開發(fā)方法和技術(shù)方面已經(jīng)有了很大的進(jìn)步,提出了軟件工程知識體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。

軟件開發(fā)過程大致經(jīng)過7個階段:可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、提交與維護(hù)。接下來逐一分析本人見解:

一、可行性分析:顧名思義,就是看項目究竟“能不能做”。有3個方面:技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性。要確定項目,首先要客觀的、科學(xué)的了解項目的規(guī)模、難度和時間限制,才可以確定應(yīng)該投入多少人力、物力和財力去做這個項目,必須準(zhǔn)確的估計項目的規(guī)模與難度??错椖渴欠裼袃r值去做,如果沒有價值,就放棄;如果有價值,就要看目前的資源是否能滿足項目的開發(fā)。如果項目有價值,且有必需的資源,那么就可以確定能做這個項目了。

2、通過什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請教行家。需求分析是非常重要的階段,如果做不好的話,后果很麻煩。

三、概要設(shè)計:解決“怎么做”的問題。將需求描述的“做什么”問題變?yōu)橐粋€實(shí)施方案的創(chuàng)造性過程,使得整個項目在邏輯上和物理上能夠得意實(shí)現(xiàn)。概要設(shè)計是第一個開發(fā)活動,也是最重要的活動,是軟件項目實(shí)現(xiàn)的關(guān)鍵階段。設(shè)計質(zhì)量的高低直接決定了軟件項目的成敗,缺乏或者沒有軟件設(shè)計的過程會產(chǎn)生一個不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個良好的軟件設(shè)計是進(jìn)行快速軟件開發(fā)的根本,沒有良好的設(shè)計,會將時間花在不斷的調(diào)試上,無法添加新功能,修改時間越來越長,隨著給程序打上一個有一個的補(bǔ)丁,新的功能需要更多的代碼實(shí)現(xiàn),就變成一個惡性循環(huán)了。概要設(shè)計是軟件設(shè)計級別中的高級設(shè)計,是從需求出發(fā),描述了總體上系統(tǒng)架構(gòu)應(yīng)該包含的要素。概要設(shè)計盡可能模塊化,因此描述了各個模塊之間的關(guān)聯(lián),主要是根據(jù)需求規(guī)格或規(guī)格定義,合理、有效地實(shí)現(xiàn)產(chǎn)品規(guī)格中定義的各項需求,完成軟件模塊的劃分并描述模塊之間的關(guān)系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設(shè)計、總體結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計、網(wǎng)絡(luò)環(huán)境設(shè)計等,將產(chǎn)品分割成一些可以獨(dú)立設(shè)計和實(shí)現(xiàn)的部分并保證各個部分可以和諧的工作。此過程中畫數(shù)據(jù)流圖、ipo圖、e-r圖、界面設(shè)計等。

出程序的詳細(xì)規(guī)格說明,這種規(guī)格說明類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,程序員根據(jù)其中所包含的必要的細(xì)節(jié)寫出實(shí)際的程序代碼。用另一種方式說就是,詳細(xì)設(shè)計是將概要設(shè)計的框架內(nèi)容具體化、明細(xì)化,將概要設(shè)計轉(zhuǎn)化為可以操作的軟件模型,但在實(shí)際項目進(jìn)行過程中,依據(jù)項目的具體情況和項目要求,這個過程可能可以省略(邏輯上沒有省略,表現(xiàn)在概要設(shè)計階段或者編碼階段),直接按照概要設(shè)計進(jìn)行編碼;不過,個人認(rèn)為最好有,有詳細(xì)設(shè)計可以更好的保證編碼順利的進(jìn)行,可以預(yù)先掃清編碼過程中的障礙,提高代碼的質(zhì)量和編碼的效率。主要包括模塊描述、算法描述、數(shù)據(jù)描述,可以采用圖形、表格或者文字描述等方式表達(dá)出來。

代碼的時候,更不要錯過重構(gòu),另外,重構(gòu)可以和設(shè)計互補(bǔ)。還有一點(diǎn)值得注意,要在必要的時候部署編碼文檔。

六、測試:看軟件是否符合標(biāo)準(zhǔn)。軟件編碼完成之后,將軟件提交給用戶之前,需要對軟件進(jìn)行測試,這是保證軟件產(chǎn)品質(zhì)量的一個重要標(biāo)準(zhǔn),也是評估產(chǎn)品質(zhì)量的主要手段。軟件測試是從軟件工程中演化出來的一個分支,有著非常廣泛的內(nèi)容,并且隨著軟件產(chǎn)業(yè)的發(fā)展,它已經(jīng)變得越來越重要。軟件與生俱來就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進(jìn)行軟件測試是有必要的,測試是最有效的的排錯和防止缺陷和故障的手段。最原始的測試莫過于直接運(yùn)行軟件了,后來測試手段逐漸多樣化。測試手段有靜態(tài)測試、動態(tài)測試面向?qū)ο蟮臏y試、自動化測試等等之分。靜態(tài)測試或稱靜態(tài)分析是指一種不通過執(zhí)行程序來進(jìn)行測試的一種技術(shù),主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語法、檢查獨(dú)立語句的結(jié)構(gòu)和使用等,主要包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量等等,可以通過人工進(jìn)行,亦可借助工具(如:語法分析器)自動進(jìn)行。動態(tài)測試是運(yùn)行被測試的程序,通過輸入測試用例,對其運(yùn)行情況進(jìn)行分析,以達(dá)到檢測的目的,顯然動態(tài)測試封像我們通常意義上的“測試”。動態(tài)測試主要包括白盒測試、黑盒測試、灰盒測試(介于黑盒和白盒之間)。其他測試不再一一介紹。

打水漂了。為了保證成功地將我們開發(fā)的軟件提交給用戶,我們需要對用戶進(jìn)行培訓(xùn),同時提交必要的文檔及用戶手冊軟件。維護(hù)就不用多說了,就是售后服務(wù)了。維護(hù)需要分析人員、編碼人員和設(shè)計人員等角色的參與,有糾錯行維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)等。維護(hù)后,要寫軟件維護(hù)過程文檔,至少提交一個軟件維護(hù)記錄。以上是軟件工程及其幾個階段的介紹,知道怎樣開發(fā)軟件只是軟件工程的一部分,搞好團(tuán)隊合作也是很重要的。項目是一個很大的工程,需要一個團(tuán)隊的統(tǒng)籌規(guī)劃,團(tuán)結(jié)協(xié)作,集思廣益,舉一反三,才能夠按預(yù)期完成。

學(xué)習(xí)軟件工程心得體會篇六

軟件工程概論是一門引導(dǎo)人們正確開展軟件開發(fā)的學(xué)科,它包括軟件開發(fā)的常用流程、方法和工具等。我們是計算機(jī)專業(yè)的學(xué)生,而且都了解軟件開發(fā)的基礎(chǔ),但是能夠真正了解軟件工程概論的學(xué)生是相對比較少的。因此,這門課程將會是我們學(xué)習(xí)過的最重要的課程之一。

軟件工程概論具有如下幾個重要的內(nèi)容:軟件生命周期模型、軟件需求分析、軟件設(shè)計、軟件開發(fā)流程和軟件測試。其中軟件生命周期模型是最重要的內(nèi)容之一,它為開發(fā)過程提供了全方位的指導(dǎo),確保開發(fā)人員始終按照正確的流程進(jìn)行開發(fā)。這些內(nèi)容將會幫助我們了解整個開發(fā)過程,如何規(guī)劃項目并嚴(yán)格遵循項目的開發(fā)流程。

軟件工程概論是一個非常實(shí)用的課程,它為我們提供了很多關(guān)于如何正確開發(fā)軟件的知識和指導(dǎo)。同時也帶給我們很多啟示。首先,軟件開發(fā)不是孤立的,它是一個整體的系統(tǒng),任何一部分出現(xiàn)問題都會影響到整個系統(tǒng)。其次,軟件開發(fā)過程是非常復(fù)雜的,需要較高的技能和知識。因此人力成本將會是非常高的,同時對開發(fā)人員的素質(zhì)和能力也有很高的要求。

首先需要掌握全面的軟件工程概論知識,以此來指導(dǎo)整個開發(fā)過程。其次需要確定一個比較好的軟件生命周期模型,以確保開發(fā)過程的順利進(jìn)行,并嚴(yán)格按照開發(fā)流程來開發(fā)。同時需要掌握一些常用的軟件開發(fā)和管理工具,以提高開發(fā)效率和質(zhì)量。

尾段:總結(jié)。

通過學(xué)習(xí)軟件工程概論,我們深入了解了軟件開發(fā)過程的核心內(nèi)容和方法。這些知識將會對我們未來的職業(yè)生涯以及軟件開發(fā)工作有很大的指導(dǎo)意義。因此我們需要把所學(xué)的知識和方法運(yùn)用到實(shí)際的工作當(dāng)中去。同時,我們也要繼續(xù)學(xué)習(xí)和積累,以應(yīng)對日新月異的技術(shù)發(fā)展。

學(xué)習(xí)軟件工程心得體會篇七

答:軟件危機(jī)是指在計算機(jī)軟件開發(fā)和維護(hù)過程中所遇到的一系列的嚴(yán)重問題。

它的典型表現(xiàn):1.軟件開發(fā)成本高,成本難以控制。2.研究周期長,軟件開發(fā)進(jìn)度難以控制,周期拖得很長。3.正確性難以保證,軟件質(zhì)量差,可靠性難以保證。4.軟件維護(hù)困難,維護(hù)人員和維護(hù)費(fèi)用不斷增長。5.軟件發(fā)展跟不上硬件的發(fā)展和用戶的要求。

它出現(xiàn)的原因一方面是由于軟件生產(chǎn)本身存在著復(fù)雜性,另一方面是與軟件開發(fā)所使用的方法和技術(shù)有關(guān)。軟件不同于硬件,它是計算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。管理和控制軟件開發(fā)工程相當(dāng)困難,軟件是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。目前相當(dāng)多的軟件專業(yè)技術(shù)人員對軟件開發(fā)和維護(hù)還有不省糊涂觀念,在實(shí)踐過程中或多或少地采用了錯誤的方法和技術(shù),這是使軟件問題發(fā)展成為軟件危機(jī)的主要原因。

1.2什么是軟件工程?它有哪些本質(zhì)特性?怎樣用軟件工程消除軟件危機(jī)?

答:軟件工程是將系統(tǒng)化的,規(guī)范化的,可度量的方法應(yīng)用于軟件開發(fā),運(yùn)行和維護(hù)的過程,即將工程化應(yīng)用于軟件中。

它的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造2.軟件工程的中心課題是控制復(fù)雜性3.軟件經(jīng)?;?.開發(fā)軟件的效率非常重要5.和諧地合作是開發(fā)軟件的關(guān)鍵6.軟件必須有效地支持它的用戶7.在軟件工程領(lǐng)域中是由一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。

基本原理:1.用分階段的生命周期計劃嚴(yán)格管理2.堅持進(jìn)行階段評審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計的技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。

1.3什么是軟件?它有什么特點(diǎn)?

答:軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)結(jié)構(gòu)及其相關(guān)文檔的完整集合。

1.4什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?

答:軟件過程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。

軟件過程定義了運(yùn)用技術(shù)方法的順序,應(yīng)該交付的文檔資料,為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采用的管理措施,以及標(biāo)志完成了相應(yīng)開發(fā)活動的里程碑。軟件過程是軟件工程方法學(xué)的3個重要組成部分之一。軟件工程的基礎(chǔ)是軟件過程。

1.5什么是軟件生命周期模型?試比較瀑布模型、原型模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說明每種模型的適用范圍。

答:軟件生命周期模型是軟件開發(fā)全部過程,活動和任務(wù)的結(jié)構(gòu)框架,它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要完成的主要活動,任務(wù)和開發(fā)策略。也叫軟件開發(fā)模型。

瀑布模型優(yōu)點(diǎn):有利于大型軟件開發(fā)過程中人員的組織,管理,有利于軟件開發(fā)方法和工具的研究,從而提高了大型軟件項目開發(fā)的質(zhì)量和效率。

缺點(diǎn):1,開發(fā)過程一般不能逆轉(zhuǎn),否則代價太大2.實(shí)際的項目開發(fā)很難嚴(yán)格按。

照該模型進(jìn)行3.客戶往往很難清楚地給出所有的需求,而該模型卻要求如此4.軟件的實(shí)際情況必須到項目開發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。

適用范圍:1.用戶的需求非常清楚全面,且在開發(fā)過程中沒有或變化很少2.開發(fā)人員對軟件的應(yīng)用領(lǐng)域很熟悉3.用戶的使用環(huán)境非常穩(wěn)定4.開發(fā)工作隊用戶參與的要求很低。

原型模型優(yōu)點(diǎn):1.可以得到比較良好的需求定義,容易適應(yīng)需求的變化2.有利于開發(fā)與培訓(xùn)的同步3.開發(fā)費(fèi)用低,開發(fā)周期短且隊用戶更友好。

適用范圍:1.對所開發(fā)的領(lǐng)域比較熟悉而且有快速的原型開發(fā)工具2.項目投標(biāo)時,可以以原型模型作為軟件的開發(fā)模型3.進(jìn)行產(chǎn)品移植或升級時,或?qū)σ延挟a(chǎn)品原型進(jìn)行客戶化工作時,原型模型非常合適。

增量模型優(yōu)點(diǎn):1.采用增量模型的優(yōu)點(diǎn)是人員分配靈活,剛開始不用投入大量的人力資源。

2.如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個增量3.可先發(fā)部分功能給客戶,對客戶起到鎮(zhèn)靜劑的作用。

缺點(diǎn):1.并行開發(fā)構(gòu)件有可能遇到不能集成的風(fēng)險,軟件必須具備開放式的體系結(jié)構(gòu)2.增量模型的靈活性可以使其適應(yīng)這種變化的能力大于優(yōu)于瀑布模型和原型模型,但也很容易退化為邊做邊改模型,從而使軟件過程的控制失去整體性。

適用范圍:1.進(jìn)行已有產(chǎn)品升級或新版本開發(fā),增量模型是非常適合的2.對完成期限嚴(yán)格要求的產(chǎn)品,可以使用增量模型3.對所開發(fā)的領(lǐng)域比較熟悉而且已有原型系統(tǒng),增量模型也非常適合。

螺旋模型優(yōu)點(diǎn):1.實(shí)際上的靈活性,可以再項目的各個階級進(jìn)行變更2.以小的分段來構(gòu)建大型系統(tǒng),是成本計算變得簡單容易3.客戶始終參與每個階段的開發(fā),保證了項目不偏離正確方向以及項目的可控性4.隨著項目推進(jìn),客戶始終掌握項目的最新消息,從而是他或她能夠和管理層有效地交互。

缺點(diǎn):1.采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險評估經(jīng)驗(yàn)和專門知識,在風(fēng)險較大的項目開發(fā)中,如果未能夠及時標(biāo)識風(fēng)險,勢必造成重大損失2.過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。

適用范圍:只適合于大規(guī)模的軟件項目。

答:軟件工程是一門將理論和知識應(yīng)用于實(shí)踐的工程,它借鑒了傳統(tǒng)工程的原則和方法,以求高效地開發(fā)高質(zhì)量軟件。它是一種層次化技術(shù)。

意義:從歷史上講,軟件工程的作用,是為了克服上個世紀(jì)60年代出現(xiàn)的軟件危機(jī),這種危機(jī)表現(xiàn)為軟件開發(fā)的成本大、進(jìn)度慢、維護(hù)難和質(zhì)量得不到保障。從當(dāng)前來講,軟件工程的作用,就是告訴人們怎樣去開發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開發(fā)和管理有關(guān)的人員和過程上。

1.7軟件過程的通用過程框架包含哪兩類活動?

答:一類是框架活動,還有一類是保護(hù)性活動。

1.8描述基于構(gòu)件開發(fā)的思想以及目前的發(fā)展情況。

答:基于構(gòu)件開發(fā)強(qiáng)調(diào)將被設(shè)計的系統(tǒng)分解成功能的或邏輯的構(gòu)件,構(gòu)件用定義好的接口進(jìn)行通信。

它是現(xiàn)在軟件復(fù)理論實(shí)用化的研究熱點(diǎn),在構(gòu)件對象模型的支持下,通過復(fù)用已有的構(gòu)件,軟件開發(fā)者可以“即插即用”地快速構(gòu)造應(yīng)用軟件,這樣即可以節(jié)省時間和經(jīng)費(fèi),提高工作效率,也可以產(chǎn)生更加規(guī)范,更加可靠的應(yīng)用軟件。

1.9請簡要說明rup的9個規(guī)程(disciplines)及之間關(guān)系?

答:rup的9個規(guī)程為:業(yè)務(wù)建模,需求,分析與設(shè)計,實(shí)現(xiàn),測試,部署,配置與變更管理,項目管理以及環(huán)境。

對于一個大型項目,rup九個規(guī)程的活動不可或缺,但對于有些項目可能不需要經(jīng)過所有九個規(guī)程,在項目開發(fā)時需要對這些規(guī)程涉及的活動做具體的裁剪,以適應(yīng)具體項目的開發(fā)需要。

1.10說明面向切面編程的特點(diǎn),有什么優(yōu)勢?

答:該范型以一種稱為切面的語言構(gòu)造為基礎(chǔ),切面是一種新的模塊化機(jī)制,用來描述分散在對象、類或函數(shù)中分離出來可以大大增強(qiáng)程序的模塊性。

優(yōu)勢:他把特定領(lǐng)域問題的代碼從業(yè)務(wù)邏輯中獨(dú)立出來,業(yè)務(wù)邏輯的代碼中不再含有針對特定領(lǐng)域問題代碼的調(diào)用,業(yè)務(wù)邏輯同特定領(lǐng)域問題的關(guān)系通過切面來進(jìn)行封裝,維護(hù)。優(yōu)勢:面向切面編程的特點(diǎn)是針對業(yè)務(wù)處理過程中的切面提取,所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果,降低了耦合性。

1.11模型驅(qū)動工程中mda的基本思想是什么?

答:mda的基本思想是系統(tǒng)的功能性是用合適的規(guī)約語言以平臺無關(guān)的模型的方式定義,然后為實(shí)際的實(shí)現(xiàn)翻譯到一個或多個平臺相關(guān)的模型上。

chapter2。

2.1描述面向?qū)ο蟮幕靖拍詈退枷搿?/p>

一個實(shí)體都可以抽象為對象。

2.2面向?qū)ο蠓治鲈O(shè)計的基本思路和過程是怎樣的?

答:分析過程主要包括理解、表達(dá)和驗(yàn)證。設(shè)計是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程。

過程:識別系統(tǒng)的用例和角色,進(jìn)行系統(tǒng)分析并抽象出類,設(shè)計系統(tǒng)并設(shè)計系統(tǒng)中的類及其行為。

2.3面向?qū)ο蟪绦蛟O(shè)計中的概念主要包括哪些?分別闡述其主要思想。

答:對象:封裝了數(shù)據(jù)和操作這些數(shù)據(jù)的代碼的邏輯實(shí)體。

類:具有相同類型的對象的抽象。

封裝:保證軟件部分具有優(yōu)良的模塊性的基礎(chǔ)。

繼承:讓某個類型對象獲得另一個類型的對象特征。

多態(tài):使不同內(nèi)部結(jié)構(gòu)的對象可以共享相同的外部接口,減少代碼復(fù)雜度。

動態(tài)綁定:多態(tài)實(shí)現(xiàn)的具體形式,將一個過程調(diào)用與相應(yīng)代碼鏈接起來的行為。消息傳遞:使得對現(xiàn)實(shí)世界的描述更容易。

方法:定義一個類可以做的,但不一定去做的事。

2.4描述uml的主要概念和歷史。

答:uml是統(tǒng)一建模語言,用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。uml為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。

歷史:rumbaugh和booch將booch93和omt-2統(tǒng)一起來,發(fā)布了um0.8;后經(jīng)過booch,rumbaugh和jacobson的共同努力,發(fā)布了uml0.9和uml0.91,并將um重命名為uml。,rational組織成立了uml合作者聯(lián)盟,以完善、加強(qiáng)和促進(jìn)uml的定義工作。啟動了uml2.0標(biāo)準(zhǔn)的制定工作。

2.5rup是什么?應(yīng)用rup對軟件開發(fā)有什么意義?

答:rup(rationalunifiedprocess)是統(tǒng)一軟件開發(fā)過程,是一個面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。

應(yīng)用rup為軟件開發(fā)提供了一個模版,使得軟件開發(fā)過程規(guī)范化,統(tǒng)一化。

chapter3。

3.1為什么要進(jìn)行業(yè)務(wù)建模?業(yè)務(wù)建模適用什么場合的軟件項目開發(fā)?

業(yè)務(wù)知識而再進(jìn)行開發(fā)的,所以需要通過“業(yè)務(wù)建?!睂ⅰ皹I(yè)務(wù)需求”準(zhǔn)確地轉(zhuǎn)換為it技術(shù)人員所熟悉的“軟件需求”。

適用場合:規(guī)模較大的軟件項目開發(fā)。

3.2業(yè)務(wù)建模可以分哪些工作流進(jìn)行?

答:評估業(yè)務(wù)狀態(tài)、描述當(dāng)前業(yè)務(wù)、定義業(yè)務(wù)、探索流程自動化、開發(fā)領(lǐng)域模型。

3.3什么是領(lǐng)域模型?與業(yè)務(wù)模型的關(guān)系是什么?

答:領(lǐng)域模型:領(lǐng)域模型是描述業(yè)務(wù)用例實(shí)現(xiàn)的對象模型。它是對業(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ù)人員以及他們處理和使用的對象(“業(yè)務(wù)類和對象”)之間應(yīng)該具有的靜態(tài)和動態(tài)關(guān)系。它注重業(yè)務(wù)中承擔(dān)的角色及其當(dāng)前職責(zé)。這些模型類的對象組合在一起可以執(zhí)行所有的業(yè)務(wù)用例。

關(guān)系:開發(fā)領(lǐng)域模型是一個備選活動,領(lǐng)域模型是業(yè)務(wù)分析模型中獨(dú)立的一部分,注重于說明對于業(yè)務(wù)領(lǐng)域很重要的概念、產(chǎn)品、可交付成果和事件。這樣一個模型僅描述業(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ù)涉眾可能來自哪些方面?

答:業(yè)務(wù)涉眾:所有跟目標(biāo)業(yè)務(wù)有利害關(guān)系的人。

方面:可能來自目標(biāo)組織內(nèi)部及目標(biāo)組織外部且跟目標(biāo)組織有關(guān)系的人和組織。

3.6什么是業(yè)務(wù)愿景?怎么理解業(yè)務(wù)愿景的重要性?

答:業(yè)務(wù)愿景:定義業(yè)務(wù)建模工作所針對的一組目標(biāo)。

重要性:要了解組織的業(yè)務(wù)過程,對業(yè)務(wù)進(jìn)行建模,首先必須理解組織的共同愿景,業(yè)務(wù)建模時期的重要任務(wù)就是確定項目涉眾的共同愿景,而了解最有影響力的涉眾的愿望和目標(biāo)是非常重要的環(huán)節(jié)。所以業(yè)務(wù)愿景對整個業(yè)務(wù)建模過程來說是十分關(guān)鍵和重要的。

3.7業(yè)務(wù)建模的作用是什么?哪些人和組織是潛在的業(yè)務(wù)執(zhí)行者?

答:作用:

(1)了解目標(biāo)組織(將要在其中部署系統(tǒng)的組織)的結(jié)構(gòu)和機(jī)制;

(2)了解目標(biāo)組織中當(dāng)前存在的問題并確定潛在改進(jìn)的可能性;

(3)確保客戶、最終用戶、開發(fā)人員和其他各方就目標(biāo)組織達(dá)成共識;

(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)對于用例泛化關(guān)系,子用例的執(zhí)行取決于父用例(重用部分)的結(jié)構(gòu)和行為,而在包含關(guān)系中,基本用例的執(zhí)行只取決于包含用例(重用部分)所執(zhí)行的功能的結(jié)果。(2)在泛化關(guān)系中,子用例的用途和結(jié)構(gòu)是相似的,而在包含關(guān)系中,重用同一個包含用例的基本用例可能有完全不同的用途,但需求執(zhí)行相同的功能。

包含與擴(kuò)展的區(qū)別:(1)包含關(guān)系:如果基本用例的某個部分代表一個功能,而業(yè)務(wù)用例只依賴于本功能的結(jié)果,而不是產(chǎn)生結(jié)果的方法,那么可以將這部分分離出來,形成一個附加用例。使用包含關(guān)系,將附加部分明確包含于基本用例中。包含關(guān)系將基本用例和包含用例連接起來。

(2)擴(kuò)展關(guān)系:如果基本用例的一部分是可選的,或?qū)τ诶斫庠撚美闹饕康膩碚f不是必需的,那么可以將這部分分離出來,形成一個附加用例,以簡化基本用例的結(jié)構(gòu)。利用擴(kuò)展關(guān)系,將附加部分隱含地包含于基本用例中。擴(kuò)展關(guān)系將擴(kuò)展用例與基本用例連接起來。

3.10業(yè)務(wù)分析模型的作用是什么?與業(yè)務(wù)用例模型的之間是什么關(guān)系?

答:作用:業(yè)務(wù)分析模型描述通過與業(yè)務(wù)系統(tǒng)、業(yè)務(wù)工作者和業(yè)務(wù)實(shí)體交互來實(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ù)用例時由業(yè)務(wù)執(zhí)行者調(diào)用的外部業(yè)務(wù)服務(wù)。

關(guān)系:業(yè)務(wù)用例模型是從與客戶和業(yè)務(wù)流程對應(yīng)的業(yè)務(wù)執(zhí)行者和業(yè)務(wù)用例的角度,對業(yè)務(wù)進(jìn)行描述。業(yè)務(wù)用例模型包括工作流程說明,此說明確定完成了那些工作。所以業(yè)務(wù)用例模型描述在業(yè)務(wù)執(zhí)行者和業(yè)務(wù)之間發(fā)生了什么,對于業(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ù)工作者如何通過交戶來實(shí)現(xiàn)業(yè)務(wù)用例中所描述的行為。

3.11。

(c)。

2.以醫(yī)院為研究對象,請描述醫(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ù)員詢問客人需要什么茶水。準(zhǔn)備好茶水后,按“女士優(yōu)先,先。

賓后主”的原則從右邊為客人斟上茶水。

(2)將菜單打開第一頁,按照“女士優(yōu)先”原則,用雙手從客人右側(cè)將菜單送至客人手中,然后站在客人斜后方能觀察客人面部表情的地方,上身微躬。

2.推薦介紹酒店菜品。

(1)在客人點(diǎn)菜前,服務(wù)員應(yīng)留有時間讓客人翻看菜單。

(2)在客人翻看菜單時,應(yīng)及時向客人簡單介紹菜單上的菜,回答客人的詢問。

(3)向客人介紹廚師長今日特別推薦的菜品、其他的特色菜、暢銷菜和高檔菜等菜品,并介紹其樣式、味道、溫度和特點(diǎn)。

3.接受點(diǎn)菜。

(1)服務(wù)員先在點(diǎn)菜單上記下日期、本人姓名及臺號、就餐人數(shù)等。

(2)客人點(diǎn)菜時,應(yīng)注視客人,聽清客人點(diǎn)的菜名,適時幫助客人選擇菜品和主動推介菜品,準(zhǔn)確地記錄菜名。

(3)對于特殊菜品,應(yīng)介紹其特殊之處,并問清客人所需火候、配料及調(diào)料等。

(4)若客人用餐時間較緊,點(diǎn)的菜需時間較長,則應(yīng)及時向客人征求意見;若有客人點(diǎn)相同的菜式,如湯和羹或兩個酸甜味型的菜時,應(yīng)有禮貌地問客人是否需要更換菜式。

(5)若客人有特殊要求,應(yīng)在點(diǎn)菜單上清楚注明,并告知傳菜服務(wù)員。

4.復(fù)述點(diǎn)菜內(nèi)容。

(1)客人點(diǎn)菜完畢后,服務(wù)員應(yīng)清楚地重復(fù)一遍所點(diǎn)菜品內(nèi)容,并請客人確認(rèn)。

(2)復(fù)述完畢后,在點(diǎn)菜單的右上角寫明當(dāng)時的時間,以便查詢。

(3)收回菜單并向客人致謝,同時請客人稍等,說明大致的等候時間。

5.分送點(diǎn)菜單。

(1)服務(wù)員將點(diǎn)菜單的第一聯(lián)送至收銀處。

(2)將點(diǎn)菜單的第二聯(lián)送至廚房。

(3)將第三聯(lián)給客戶,第四聯(lián)交給傳菜員、值臺服務(wù)員留底備查。

根據(jù)案例的描述,請你完成下列任務(wù):

1.分析餐廳的點(diǎn)菜業(yè)務(wù),建立點(diǎn)菜業(yè)務(wù)模型。

這項業(yè)務(wù)的業(yè)務(wù)涉眾:外部涉眾:客人,

內(nèi)部涉眾:服務(wù)員,收銀處,廚房,值臺服務(wù)員。

分析點(diǎn)菜業(yè)務(wù)模型:

業(yè)務(wù)執(zhí)行者為:客人。

業(yè)務(wù)用例是:入座,推薦菜品,點(diǎn)菜,確認(rèn)內(nèi)容,分送菜單,上菜。

2.用活動圖描述客人點(diǎn)菜的活動。

3.分析點(diǎn)菜業(yè)務(wù)模型,找出有哪些業(yè)務(wù)工作者和業(yè)務(wù)實(shí)體,并用交互圖來說明之間的通信和交互關(guān)系。

業(yè)務(wù)工作者為:服務(wù)員,收銀處,廚房,值臺服務(wù)員。

業(yè)務(wù)實(shí)體為:菜單,點(diǎn)菜單。

chapter4。

4.1需求的類別有哪些?

答:需求可分為功能性需求和非功能性需求。

功能性需求規(guī)定了系統(tǒng)無需考慮物理約束而必須能夠執(zhí)行的動作,描述支持用戶目標(biāo)、任務(wù)或活動的系統(tǒng)行為(功能或服務(wù))。

非功能性需求是功能性需求之外的需求,包含質(zhì)量和約束,它們僅僅說明系統(tǒng)或系統(tǒng)環(huán)境的屬性。

4.2怎么理解文中fredbrooks關(guān)于需求的那段話?

構(gòu)建軟件系統(tǒng)最難的部分是確定要構(gòu)建什么(即系統(tǒng)需求)。相比其他工作,如果這個工作做錯,會嚴(yán)重影響將產(chǎn)生的系統(tǒng),也更難在以后矯正。

答:需求工作對于整個軟件系統(tǒng)來說是非常重要的,它是實(shí)現(xiàn)和測試的先啟階段,需求建模解釋如何理清涉眾的請求及如何把這些請求轉(zhuǎn)化為一組需求工作產(chǎn)品,確定要建系統(tǒng)的范圍,提供系統(tǒng)必須做的詳細(xì)要求。此階段是后續(xù)工作以及整個系統(tǒng)的基礎(chǔ)和關(guān)鍵,一旦這個階段出現(xiàn)問題,將會直接影響到后續(xù)工作的正常順利進(jìn)行,而如果想要在以后改,代價是非常大的,并且也難糾正。

4.3系統(tǒng)用例模型可以描述什么方面的需求?補(bǔ)充規(guī)約主要補(bǔ)充哪方面的需求?

答:系統(tǒng)用例模型可以描述設(shè)計軟件系統(tǒng)方面的`需求,參與者與軟件系統(tǒng)的交互,在系統(tǒng)用例說明中書寫足夠詳細(xì)的事件流。

補(bǔ)充歸約主要補(bǔ)充那些無法在用例中記錄的需求。包括:捕捉無用例歸約的功能性需求,捕捉系統(tǒng)資量,捕捉約束,捕捉符合性需求,捕捉文檔需求。

4.4什么是系統(tǒng)執(zhí)行者?如何尋找潛在的系統(tǒng)執(zhí)行者?

答:系統(tǒng)執(zhí)行者:是指與目標(biāo)系統(tǒng)交換數(shù)據(jù)的任何對象,是在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物。執(zhí)行者可以是用戶、外部硬件或其它系統(tǒng)。

滿足一個或多個上面這些范疇的任何個人、小組或事物有可能就是執(zhí)行者。

4.5如何理解系統(tǒng)執(zhí)行者與業(yè)務(wù)執(zhí)行者、業(yè)務(wù)工作者的關(guān)系?

答:業(yè)務(wù)執(zhí)行者是指某人或某物與業(yè)務(wù)進(jìn)行交互時所擔(dān)任的角色,它是指在業(yè)務(wù)之外和業(yè)務(wù)交互的人、組織或事物。

業(yè)務(wù)工作者代表在業(yè)務(wù)中進(jìn)行操作的人、軟件或硬件的抽象。它代表業(yè)務(wù)中的一個或一組角色。

系統(tǒng)執(zhí)行者:是指與目標(biāo)系統(tǒng)交換數(shù)據(jù)的任何對象,是在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物。執(zhí)行者可以是用戶、外部硬件或其它系統(tǒng)。

關(guān)系:系統(tǒng)執(zhí)行者是針對軟件系統(tǒng)來說明的,而業(yè)務(wù)執(zhí)行者和業(yè)務(wù)工作者是針對業(yè)務(wù)來說明的,系統(tǒng)執(zhí)行者和業(yè)務(wù)執(zhí)行者含義相似,只是所在的描述范疇不一樣。

4.6請分析用例中的包含關(guān)系和擴(kuò)展關(guān)系的相似與區(qū)別?

答:相似:都是如果用例包含的一段行為片段可以用于其他用例,則將這段行為片段歸到“包含用例”或“擴(kuò)展用例”中,形成一個新的用例,原始用例就成為基本用例,對“包含用例”和“擴(kuò)展用例”分別有包含關(guān)系和擴(kuò)展關(guān)系。

區(qū)別:(1)擴(kuò)展用例是可選的,而包含用例不是可選的;(2)基本用例沒有擴(kuò)展用例是可以完成的,但沒有包含用例則不能完成;(3)擴(kuò)展用例的執(zhí)行是有條件的,而包含用例沒有;(4)擴(kuò)展用例會改變基本用例的行為,而包含用例不會。

4.7簡單說明把用例組織到包中有什么好處。

答:用例包是用例、執(zhí)行者、關(guān)系、圖和其他包的集合,可以通過將用例模型分成更小的部分來結(jié)構(gòu)化用例模型。這樣可以使得具有大量元素的用例模型中的用例結(jié)構(gòu)化,同一包中的用例彼此之間都有某種關(guān)系,更加清楚明了,便于以后模型的分析和使用。

4.8用例詳細(xì)描述中有哪三種事件流,分別表示什么場景?

答:三種事件流:主事件流、分支事件流和異常事件流。

主事件流:在描述正常過程時列出執(zhí)行者和系統(tǒng)之間相互交互或?qū)υ挼膭幼餍蛄小.?dāng)這種對話結(jié)束時,執(zhí)行者也達(dá)到了預(yù)期的目的。

分支事件流:也可促進(jìn)成功地完成任務(wù),但它們代表了任務(wù)的細(xì)節(jié)或用于完成任務(wù)的途徑的變化部分。

異常事件流:不符合用例流正?;蚧拘袨椋鹑蝿?wù)不能順利完成。

4.9什么是軟件需求規(guī)約(srs)?

答:軟件需求規(guī)約是分析任務(wù)的最終產(chǎn)物,通過建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計約束的說明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對目標(biāo)軟件的各種需求。

4.10如何理解界面原型在需求建模中作用?

答:可以處理模糊需求,開發(fā)者和用戶可充分通信,降低開發(fā)風(fēng)險。

靜態(tài)界面原型:供分析人員與用戶進(jìn)行進(jìn)一步交流和溝通,通過這種可視化方法,使雙方逐步就明確系統(tǒng)需求達(dá)成共識。

交互式界面原型:便于用戶可以操作,展示實(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中,下面哪個語句是正確的?(多選題)(bcd)(a)a3可以使用uc4與系統(tǒng)交互。

(b)al可以使用ucl和uc4與系統(tǒng)交互。(c)a3,al與a2不同。

(d)uc3是沒有步驟的抽象用例。

3.如圖4.11-1所示,下面哪個語句是正確的?(多選題)(cd)(a)uc5是uc4的補(bǔ)充部分。(b)uc4是uc5的可選部分。(c)uc1是沒有用的。

(d)uc2是uc4的可選部分。(e)uc4是uc2的補(bǔ)充部分。

4.12綜合案例分析-餐廳智能移動終端無線點(diǎn)菜系統(tǒng)需求。

根據(jù)第3章的練習(xí)3.11綜合案例分析的業(yè)務(wù)描述,來分析點(diǎn)餐系統(tǒng)的需求。

傳送距離可達(dá)100米,室外傳送距離可送300米。根據(jù)案例的描述,請你完成下列任務(wù):

1.建立無線點(diǎn)菜系統(tǒng)的用例模型(找出所有的系統(tǒng)actor和usecase);

用例模型。

系統(tǒng)actor:服務(wù)員、客戶、經(jīng)理。

usecase:點(diǎn)菜服務(wù)、自助點(diǎn)菜、統(tǒng)計。

2.對用例進(jìn)行詳細(xì)描述,包括前置條件、后置條件,以及各事件流,并用泳道圖畫出用例對應(yīng)的事件流。前置條件:

服務(wù)員有掌上電腦系統(tǒng),廚房與前臺有打印機(jī),在傳輸距離之內(nèi)后置條件:

打印機(jī)打印所點(diǎn)菜單事件流:主事件流:1.顧客點(diǎn)菜;

2.服務(wù)員用掌上電腦及菜單;3.廚房和前臺打印機(jī)打印菜單分支事件流:無。

異常事件流:

步驟2后步驟3未接收,無法打印,返回步驟。

2

3).打印菜單用例描述:用例名稱:打印菜單。

用例描述:打印點(diǎn)菜內(nèi)容參與者:打印機(jī)前置條件:點(diǎn)菜完成。

后置條件:打印機(jī)打印菜單給后臺,廚房和前臺主事件流:1.系統(tǒng)發(fā)送點(diǎn)菜單至打印機(jī)。

2.打印機(jī)接收菜單3.打印機(jī)打印菜單分支事件流:無異常事件流:無泳道圖:

chapter5。

5.1如何理解分析與設(shè)計的聯(lián)系?

答:“分析”是指“做什么”,強(qiáng)調(diào)對問題的調(diào)研而不是如何確定解決方案,重點(diǎn)集中在需求和應(yīng)用領(lǐng)域上;而“設(shè)計”指“怎么做”,強(qiáng)調(diào)的是問題的邏輯解決方案,即系統(tǒng)怎樣才能滿足需求,重點(diǎn)轉(zhuǎn)移了要產(chǎn)生軟件的結(jié)構(gòu)上。但由于分析與設(shè)計是把用戶需求轉(zhuǎn)化為實(shí)現(xiàn)的橋梁,分析和設(shè)計自始至終可以用相同的技術(shù)和類似的表示方法,它們之間的界限很難劃清,且沒有太多意義。

5.2分析設(shè)計包括哪些工作流程?

答:分析和設(shè)計過程是一個不斷迭代優(yōu)化的過程。

包括:執(zhí)行體系結(jié)構(gòu)合成;定義候選體系結(jié)構(gòu);優(yōu)化體系結(jié)構(gòu);分析行為;設(shè)計構(gòu)件;設(shè)計數(shù)據(jù)庫;服務(wù)識別;服務(wù)規(guī)范。

5.3分析建模的元素分哪幾類?具體是什么?答:分析建模的元素分為四大類,分別是:(1)基于場景元素:

這類元素包括:用例文本、用例圖、活動圖和泳道圖等;(2)面向流的元素:

這類元素包括數(shù)據(jù)流圖、控制流圖、處理敘述等;(3)基于類的元素:

這類元素包括類圖、分析包、crc模型、通信圖等;(4)行為的元素:

這類元素包括狀態(tài)圖、順序圖等。

5.4分析模型的靜態(tài)模型的用途是什么?靜態(tài)模型的元素有哪些?

答:用途:通過分析,可以將業(yè)務(wù)需求模型和系統(tǒng)需求模型轉(zhuǎn)化為系統(tǒng)可以處理的對象模型,并給出對象的基本屬性和對象間相互關(guān)系。

分析模型中靜態(tài)模型主要的元素是基于類的元素,包括:分析包:模型中的包,表示層次結(jié)構(gòu)。類:模型中的類,由包所擁有。關(guān)系:模型中的關(guān)系,由包所擁有。

圖:模型中的類圖、協(xié)作(通信)圖,由包所擁有。

5.5動態(tài)模型的類被分為哪三類?分別在系統(tǒng)中承擔(dān)什么職責(zé)?答:邊界類、控制類和實(shí)體類。

邊界類:是用來對系統(tǒng)環(huán)境及其內(nèi)部工作之間的交互建模的類。這樣的交互涉及轉(zhuǎn)換和轉(zhuǎn)移事件,并注釋系統(tǒng)表示中的更改(例如界面)。

控制類:是用于對特定于一個或一些用例的控制行為建模的類。實(shí)體類:是用來對必須存儲的信息及關(guān)聯(lián)行為建模的類。

5.6按照設(shè)計模型的不同層次和功能,設(shè)計元素可以分哪些方面?

答:(1)體系結(jié)構(gòu)元素;(2)構(gòu)件級元素;(3)接口/界面元素:用戶界面、構(gòu)件接口、系統(tǒng)接口;(4)數(shù)據(jù)元素:數(shù)據(jù)庫設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計;(5)部署級元素。

5.7軟件模式有哪三個層次?分別說明之。

答:一般地,軟件模式可劃分為三個層次:體系結(jié)構(gòu)模式,設(shè)計模式和代碼模式。

體系結(jié)構(gòu)模式:描述軟件系統(tǒng)里的基本的結(jié)構(gòu)組織或綱要。體系結(jié)構(gòu)模式提供一些事先定義好的子系統(tǒng),指定它們的責(zé)任,并給出把它們組織在一起的法則和指南。

設(shè)計模型:提供一種提煉子系統(tǒng)或軟件系統(tǒng)中的構(gòu)件或者兩者之間關(guān)系的綱要設(shè)計。設(shè)計模型描述普遍存在的在相互通訊的構(gòu)件中重復(fù)出現(xiàn)的結(jié)構(gòu),這種結(jié)構(gòu)解決在一定的背景中的具有一般性的設(shè)計問題。

代碼模型:也稱“成例”、實(shí)現(xiàn)模式。是較低層次的模式,并與編程語言密切相關(guān)。代碼模型描述怎樣利用一個特定的編程語言的特點(diǎn)來實(shí)現(xiàn)一個構(gòu)件的某些特定的方面或關(guān)系。

5.8什么是軟件體系結(jié)構(gòu)?簡述軟件體系結(jié)構(gòu)的設(shè)計重要性。

答:軟件體系結(jié)構(gòu):是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。

重要性:軟件體系結(jié)構(gòu)設(shè)計是高階層的設(shè)計,定義了包(子系統(tǒng)),包括包之間的依賴關(guān)系和主要的通信機(jī)制。自然清晰和簡單的結(jié)構(gòu)是目標(biāo),避免幾乎沒有依賴或雙向依賴。

5.9試說明軟件體系結(jié)構(gòu)的演變過程。

答:(1)單機(jī)系統(tǒng):是指只需裝在一臺電腦上,同時只能一個用戶使用的系統(tǒng),沒有服務(wù)器概念,很多早期的軟件都是單機(jī)系統(tǒng),與分布式系統(tǒng)區(qū)別。

(2)客戶機(jī)/服務(wù)器(兩層)結(jié)構(gòu):由服務(wù)器提供應(yīng)用(數(shù)據(jù))服務(wù),多臺客戶機(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ù)問題。

(4)三層結(jié)構(gòu):三層結(jié)構(gòu)的客戶機(jī)/服務(wù)器模型是一種先進(jìn)的協(xié)同應(yīng)用程序開發(fā)模型,不是物理上,而是邏輯上將客戶機(jī)/服務(wù)器系統(tǒng)中各種各樣的部件劃分為三“層”服務(wù),它們共同組成一個應(yīng)用程序,這三層服務(wù)包括:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層。

5.10如何理解體系結(jié)構(gòu)風(fēng)格和模式的本質(zhì)?

答:體系結(jié)構(gòu)風(fēng)格:定義了結(jié)構(gòu)組織模式的系統(tǒng)族,用來表達(dá)一組協(xié)作的約束,使得對公共約束的特征進(jìn)行溝通變得更加容易,被用作一種進(jìn)行抽象的方法,而不是代表一種個性化的設(shè)計。

體系結(jié)構(gòu)模式:是對某類問題域給出的一套軟件結(jié)構(gòu)的解決方案,描述了軟件系統(tǒng)基本的結(jié)構(gòu)化組織方案,是處理特定問題的高效、成熟的模板。

5.11什么是軟件框架?與模式的區(qū)別是什么?

答:軟件框架:軟件開發(fā)過程中提取特定領(lǐng)域軟件的共性部分形成的體系結(jié)構(gòu),不同領(lǐng)域的軟件項目有著不同的框架模型。

區(qū)別:模式提供一種思想方法的指導(dǎo),應(yīng)用模式的指導(dǎo),可以幫助設(shè)計人員做出一個優(yōu)良的設(shè)計方案,達(dá)到事半功倍的效果。但模式不體現(xiàn)為程序,如mvc是一種體系結(jié)構(gòu)的模式,對于同一軟件體系結(jié)構(gòu),可以通過多種框架來實(shí)現(xiàn)。如struts是實(shí)現(xiàn)mvc模式的著名框架,但不是唯一的。

5.12rup的4+1視圖分別是什么?答:概括而言,rup的4+1視圖是:(1)邏輯視圖:設(shè)計的對象模型。

(2)進(jìn)程視圖:捕捉設(shè)計的并發(fā)和同步特征。

(3)實(shí)現(xiàn)視圖:描述了在開發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu)。

(4)部署視圖:描述了軟件到硬件的映射,反映了分布式特征。

(5)用例視圖:該視圖是其他視圖的冗余(因此“+1”)。它包含用例和場景。

5.13什么是設(shè)計模式?

答:設(shè)計模式:是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗(yàn)的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。毫無疑問,設(shè)計模式于己于他人于系統(tǒng)都是多贏的,設(shè)計模式使代碼編制真正工程化,設(shè)計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。

5.14簡要說明類的詳細(xì)設(shè)計分哪幾步來實(shí)現(xiàn)?

答:(1)使用設(shè)計模式和機(jī)制:使用適合設(shè)計的類或功能、符合項目設(shè)計指南的設(shè)計模式和機(jī)制。

(2)創(chuàng)建初始設(shè)計類:為指定為此任務(wù)輸入的分析類創(chuàng)建一個或多個初始設(shè)計類,并指定跟蹤依賴關(guān)系。包括設(shè)計邊界類、設(shè)計實(shí)體類和設(shè)計控制類。

(3)定義屬性:類的屬性為類實(shí)例提供信息存儲,并經(jīng)常用于代表類實(shí)例的狀態(tài)。類本身保持的任何信息都是通過其屬性完成的。

(4)確定持久類:需要在永久介質(zhì)上存儲其狀態(tài)的類被稱為持久類。

(5)定義操作:類的操作是類的行為特征或動態(tài)特征,表示類提供的服務(wù)。(6)定義方法:方法制定操作的實(shí)現(xiàn)。

(7)定義狀態(tài):對于一些操作,操作的行為取決于接受者對象所處的狀態(tài)。

5.15什么是實(shí)體類與持久類?說說兩者之間區(qū)別與聯(lián)系。

答:實(shí)體類:在分析期間,代表被操縱的信息單元。它們往往是被動的、持久的,并且可能被確定并與持久性分析機(jī)制相關(guān)聯(lián)。

持久類:需要在永久介質(zhì)上存儲其狀態(tài)的類。

區(qū)別和聯(lián)系:持久類是針對于hibernate對數(shù)據(jù)庫的映射來說的,持久類=實(shí)體類+xml或注解配置;而實(shí)體類就是一個javabean類,有屬性,get、set方法,以及一些簡單處理的方法。

5.16開發(fā)物理數(shù)據(jù)庫設(shè)計的詳細(xì)步驟有哪些?

答:(1)定義域;(2)創(chuàng)建初始物理數(shù)據(jù)庫設(shè)計元素;(3)定義引用表;(4)創(chuàng)建主鍵和唯一性約束;(5)定義數(shù)據(jù)和參照完整性實(shí)現(xiàn)規(guī)則;(6)將數(shù)據(jù)庫設(shè)計反向規(guī)范化來為性能進(jìn)行優(yōu)化;(7)優(yōu)化數(shù)據(jù)訪問;(8)定義存儲器特征;(9)設(shè)計存儲過程來將類行為分發(fā)給數(shù)據(jù)庫。

5.17進(jìn)行界面設(shè)計時分析用戶的特征有什么作用?

要。

與系統(tǒng)分析人員協(xié)作,確定是否需要對用戶(主要的執(zhí)行者)描述做出更改,來反映特征描述。

5.18選擇題。

(c)interfaceprojectscope。

5.19綜合案例分析-餐廳pda無線點(diǎn)菜系統(tǒng)分析與設(shè)計。

根據(jù)第4章餐廳pda無線點(diǎn)菜系統(tǒng)的需求,請分析設(shè)計相關(guān)系統(tǒng)。包括1.找出主要的概念實(shí)體,畫出實(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ù)庫表結(jié)構(gòu):

0105。

學(xué)習(xí)軟件工程心得體會篇八

軟件工程及未來發(fā)展趨勢心得體會軟件工程是一門研究用工程方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它的成果是為軟件設(shè)計和開發(fā)人員提供思想方法和工具。

商業(yè)形態(tài)從最開始的硬件輔助到代碼核心競爭力到后來的服務(wù)階段。30多年來,隨著軟件工程的研究和實(shí)踐取得了跨越性的進(jìn)步,it和制造業(yè)以及各種行業(yè)的結(jié)合,進(jìn)入軟件定義時代的階段。同時獲得了一些具有里程碑意義的進(jìn)展,盡管目前離徹底解決“軟件危機(jī)”還有一些差距,但軟件工程的方法對軟件產(chǎn)業(yè)的發(fā)展還是起到了很大的推動作用。軟件產(chǎn)業(yè)也邁入了高質(zhì)量發(fā)展的階段,并且有一定的成績。

20xx年中國軟件產(chǎn)業(yè)年會的召開以“軟件定義的時代-數(shù)字、融合與生態(tài)”為主題,中國工程院院士孫家廣在主旨演講中表示,“軟件是信息技術(shù)之魂,經(jīng)濟(jì)轉(zhuǎn)型之擎、網(wǎng)絡(luò)安全之盾、數(shù)字社會之基、大國博弈之焦、高質(zhì)量發(fā)展的抓手,軟件賦能、賦值、賦智作用日益明顯?!彼硎?,軟件開源是我國成為軟件強(qiáng)國的根本舉措和保障。中國工程院院士廖湘科也在報告中提出,工業(yè)軟件要向建設(shè)信息技術(shù)和先進(jìn)制造技術(shù)深度融合、控制管理整個生產(chǎn)模式的基礎(chǔ)軟件平臺發(fā)展。在真實(shí)世界感知的數(shù)據(jù)進(jìn)入到虛擬世界,進(jìn)行關(guān)聯(lián)和跨域關(guān)聯(lián)的分析,在進(jìn)行智能處理之后,再反饋到真實(shí)世界。運(yùn)行平臺基于云端的硬件結(jié)構(gòu),在未來設(shè)計軟件的過程中,我們要考慮的是不再針對一臺服務(wù)器設(shè)計軟件,在設(shè)計的時候需要考慮云端,在這樣的前提下去設(shè)計軟件??偟膩碚f,整個軟件體系就是一個生態(tài)鏈,市場通過軟件平臺來控制,所有的技術(shù)和商業(yè)模式的競爭都堆積在it軟件平臺,各個行業(yè)的it從業(yè)人員可以協(xié)同,硬件追求越來越快,軟件追求規(guī)模。生態(tài)鏈需要協(xié)同創(chuàng)新,學(xué)科交叉。軟件是靈魂的載體,它具體應(yīng)用在知識領(lǐng)域在生活智能方面的應(yīng)用。東軟集團(tuán)股份有限公司董事長兼ceo劉積仁作題為“軟件的賦能時代”,表明,企業(yè)也是軟件的載體。軟件在今后具有無限的發(fā)展空間,我們應(yīng)該為從事這個行業(yè)而感到幸運(yùn)。軟件在今后的發(fā)展中不僅僅表現(xiàn)的是licenseip的價值,軟件可以承載一個嶄新的創(chuàng)業(yè)的公司創(chuàng)造資本市場的奇跡。核心就是軟件表達(dá)的方式從我們單純賣解決方案、賣服務(wù),軟件從我們過去依賴于軟件工程師,最后我們要成為在新經(jīng)濟(jì)的發(fā)展、新消費(fèi)發(fā)展的一個新的平臺。

信息革命的核心體現(xiàn)在,集成電路是細(xì)胞,通訊網(wǎng)絡(luò)是動脈,計算機(jī)工具是大腦,信息資源是血漿,應(yīng)用需求是心臟,安全是免疫系統(tǒng),軟件是靈魂。軟件產(chǎn)業(yè)是第一大產(chǎn)業(yè),面向?qū)ο笫擒浖夹g(shù)的基本指導(dǎo)思想,它的發(fā)展過程從最初的個人技巧,到結(jié)構(gòu)化,再到最終的面向?qū)ο?,覆蓋范圍也發(fā)展到運(yùn)行技術(shù)、工具技術(shù)、到過程技術(shù)。軟件理論方法技術(shù)應(yīng)用于x應(yīng)用場景。應(yīng)用場景的'構(gòu)建主要是體現(xiàn)在,可感知+可編程+可計算+可調(diào)控等方面。軟件很大程度上改變了我們的生產(chǎn)生活方式,在現(xiàn)在社會中,對于軟件的開發(fā),我們不在只是單純的系統(tǒng)開發(fā),文檔手冊,還要考慮到所處的環(huán)境以及大數(shù)據(jù),智能算法等多方面的綜合考量。

軟件同時也在驅(qū)動著世界經(jīng)濟(jì)的變革。在世界經(jīng)濟(jì)全球化發(fā)展的趨勢下,軟件行業(yè)也在向全球化發(fā)展,在今天,軟件的開發(fā)也不再是一個國家或者一個行業(yè)自身的發(fā)展而是整個社會的發(fā)展趨勢。當(dāng)前軟件行業(yè)無論國內(nèi)還是國際上整體處于手工作坊式階段,以項目組或產(chǎn)品組為單位組織開發(fā)人員,圍繞一個項目或者一個產(chǎn)品的某一迭代版本進(jìn)行收工作業(yè)。其服務(wù)模式始終停留在并行開發(fā)多個無關(guān)的小型項目。對于這樣的情況,單單只是依靠某個國家自身的實(shí)力是很難實(shí)現(xiàn)軟件技術(shù)全面提升的。微觀層面來看,光學(xué)相機(jī)被數(shù)碼相機(jī)取代,移動磁盤、光盤基本上被u盤取代。智能手機(jī)的出現(xiàn)也帶來了it產(chǎn)業(yè)格局的重塑。it產(chǎn)業(yè)巨變的核心動力是用戶群體的快速增加以及it擴(kuò)散的范圍迅速。繼智能手機(jī)、平板電腦被軟件重新定義后,其他it產(chǎn)品也在不斷被軟件重新定義,增加一個操作系統(tǒng)之后,物理功能被無限的簡化,功能被無限的拓展,不斷地豐富。整個經(jīng)濟(jì)社會加快在網(wǎng)絡(luò)空間的映射,形成現(xiàn)實(shí)與網(wǎng)絡(luò)交融的數(shù)字世界。信息物理系統(tǒng)(cps)實(shí)現(xiàn)大型工程系統(tǒng)的實(shí)時感知、動態(tài)控制和信息服務(wù)。

數(shù)據(jù)表征、智能處理、軟件定義,三元融合將打造一個全新的世界。大數(shù)據(jù)在消費(fèi)it領(lǐng)域的作用更加明顯,只要用pc上網(wǎng)或者手機(jī)瀏覽信息,性別、年齡、愛好、蹤跡等等便被大數(shù)據(jù)刻畫,從而根據(jù)現(xiàn)有信息推斷出你可能要做的事??偟膩碚f,大數(shù)據(jù)不僅是傳統(tǒng)產(chǎn)業(yè)升級的助推器,同時也是新興產(chǎn)業(yè)的催化劑。軟件的定位已經(jīng)從服務(wù)軟件發(fā)展到定義硬件,也許在不久的將來,軟件不僅僅是改變世界,而是重新定義我們已知的世界,正如大數(shù)據(jù)的出現(xiàn),或許不久的將來,產(chǎn)品經(jīng)銷商會比我們更了解自己的需求。

隨著軟件市場的競爭壓力越來越大,我們所面臨的it環(huán)境更為復(fù)雜化,為了應(yīng)對來自各方面的挑戰(zhàn)問題,我們需要更多的創(chuàng)新能力和業(yè)務(wù)靈活性。提高模塊化思想,從根本上解決所面臨的問題。

學(xué)習(xí)軟件工程心得體會篇九

在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機(jī)的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進(jìn)行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(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ī)范說帶來的好處,并告誡我們將來一點(diǎn)要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進(jìn)行了介紹。第八章面向?qū)ο蠓治觯@一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進(jìn)行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點(diǎn)是對面向?qū)ο蠓治鰰r建立的對象模型進(jìn)行調(diào)整和細(xì)化。第十一章軟件維護(hù),本章主要介紹軟件維護(hù)的任務(wù)、軟件維護(hù)活動以及軟件維護(hù)方法進(jìn)行了介紹。

要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。可用性指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產(chǎn)一個最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實(shí)現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。

軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。

我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護(hù),進(jìn)而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。包括程序流程圖、n—s圖、pad圖、hipo圖。

程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達(dá)工具。它獨(dú)立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。

n—s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n—s圖。在n—s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。

pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。

hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。

hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。

還有測試方法:按照測試過程是否在實(shí)際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。

靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。

動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。

還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。

軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實(shí)際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實(shí)際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。

在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實(shí)只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進(jìn)度報告,項目開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗(yàn)收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。

而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因?yàn)檫@影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護(hù)又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。

在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。

在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開來,應(yīng)用于今后的實(shí)踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(jìn)。

學(xué)習(xí)軟件工程心得體會篇十

學(xué)習(xí)軟件工程一個學(xué)期以來,我在陳燁老師的教導(dǎo)下確實(shí)獲益匪淺。軟件工程這門課,讓我對軟件的認(rèn)識有了大大的提升,從一開始對軟件工程的一無所知,到現(xiàn)在一學(xué)期下來的不斷學(xué)習(xí),懂得了許多的知識。

軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),軟件工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和處理問題的過程,綜合解決問題。

在這段時間的學(xué)習(xí)中,我明白了一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告等多個文檔,而軟件的生存周期可分為八個階段,分別是問題定義,可行性研究,需求分析,概要設(shè)計,詳細(xì)設(shè)計,程序設(shè)計,測試,文檔,技術(shù)支持,售后服務(wù)。而可行性包括經(jīng)濟(jì),技術(shù),法律和社會。了解了許多軟件開發(fā)模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml對象面向?qū)ο蠼?,知道如何畫流圖,碩果累累。其實(shí)軟件和程序是兩個不同的概念,軟件除了程序還要有使用和維護(hù)該程序所需要的全部文檔。包括需求文檔、設(shè)計文檔、測試文檔、維護(hù)文檔以及使用手冊。

軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,需要很好的基礎(chǔ)知識的理解和掌握,所以說學(xué)好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結(jié)合實(shí)際,多思考,面對錯誤不要一范就問,要嘗試自己去解決,然后舉一反三。

軟件工程這門課在我們畢業(yè)之后,是我們實(shí)際要運(yùn)用的一項非常有用的技能,這門課讓我意識到理論學(xué)習(xí)很重要,而實(shí)踐更重要,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),只有實(shí)踐和理論相結(jié)合,才能使效益最大化。軟件工程的課雖然快要結(jié)束了,但是我對軟件工程的學(xué)習(xí)才剛剛開始,有了這些基本知識做鋪墊,在以后做項目的時候?qū)墙鉀Q問題的有效措施。

學(xué)習(xí)軟件工程心得體會篇十一

在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。

第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機(jī)的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。

第二章軟件工程方法與工具,這一章主要對軟件工程方法進(jìn)行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法?/p>

還引出了工具uml。

第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(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ī)范說帶來的好處,并告誡我們將來一點(diǎn)要形成好的編碼風(fēng)格。

第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。

第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進(jìn)行了介紹。

第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。

第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的'基本概念、典型風(fēng)格等進(jìn)行了講解。

第十章面向?qū)ο笤O(shè)計,本章的重點(diǎn)是對面向?qū)ο蠓治鰰r建立的對象模型進(jìn)行調(diào)整和細(xì)化。

第十一章軟件維護(hù),本章主要介紹軟件維護(hù)的任務(wù)、軟件維護(hù)活動以及軟件維護(hù)方法進(jìn)行了介紹。

要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。

正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。

可用性指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。

開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。

這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產(chǎn)一個最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。

軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。

它們覆蓋了需求、設(shè)計、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動。

需求活動包括問題分析和需求分析。

問題分析獲取需求定義,又稱軟件需求規(guī)約。

需求分析生成功能規(guī)約。

設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。

概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。

詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。

實(shí)現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。

確認(rèn)活動貫穿于整個開發(fā)過程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。

維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。

伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。

軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。

我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護(hù),進(jìn)而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。

包括程序流程圖、n-s圖、pad圖、hipo圖。

程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達(dá)工具。

它獨(dú)立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。

學(xué)習(xí)軟件工程心得體會篇十二

軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術(shù)的不斷發(fā)展,其職責(zé)也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經(jīng)驗(yàn)和心得的積累。在接下來的文字中,我將從個人視角談?wù)勛约涸谲浖_發(fā)過程中的心得體會。

第二段:選擇質(zhì)量。

在軟件開發(fā)的過程中,我最關(guān)注的是軟件的質(zhì)量。因?yàn)檐浖枰L期運(yùn)行,不僅要滿足用戶需求,還要兼顧安全性和可維護(hù)性等方面,這需要我們在開發(fā)過程中嚴(yán)格控制每一個環(huán)節(jié),做好每一個細(xì)節(jié)。因此,我在項目開發(fā)前會認(rèn)真分析需求和可能的風(fēng)險,對技術(shù)框架和工具的選擇非常謹(jǐn)慎。我也會定期進(jìn)行代碼復(fù)審和單元測試等工作,確保代碼質(zhì)量達(dá)標(biāo)。當(dāng)然,在不斷優(yōu)化的過程中,我也意識到代碼質(zhì)量的提高不僅僅在于個人級別,而更應(yīng)該顧及團(tuán)隊整體水平,因此深感技術(shù)學(xué)習(xí)和交流的重要性。只有不斷積累、分享,才能讓團(tuán)隊的發(fā)展更加健康和持久。

第三段:溝通協(xié)作。

作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產(chǎn)品經(jīng)理、UI設(shè)計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導(dǎo),以便更好地理解產(chǎn)品需求和用戶痛點(diǎn);要有清晰的表達(dá)能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團(tuán)隊合作,及時溝通和協(xié)調(diào)出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設(shè)計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負(fù)責(zé)人與團(tuán)隊的全面協(xié)作才能保證項目的順利完成。

第四段:學(xué)習(xí)成長。

軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術(shù)的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認(rèn)為軟件工程師需要具備持續(xù)學(xué)習(xí)的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術(shù),參加相關(guān)的技術(shù)社群和活動,不斷學(xué)習(xí)和嘗試新東西,以此來增強(qiáng)自己的核心競爭力和解決實(shí)際問題的能力。同樣,我也會時刻關(guān)注團(tuán)隊的成長和發(fā)展,希望能為團(tuán)隊帶來更多的經(jīng)驗(yàn)和技術(shù)積累。

第五段:總結(jié)回顧。

在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術(shù)領(lǐng)域還是在團(tuán)隊管理中,不停地學(xué)習(xí)和成長,分享并培育團(tuán)隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團(tuán)隊的能力和素質(zhì),做出更好的產(chǎn)品。取得成功需要獨(dú)立思考和勇于探索,但更需要承認(rèn)團(tuán)隊的重要性,在各方面展現(xiàn)出自己領(lǐng)導(dǎo)團(tuán)隊的能力和擔(dān)當(dāng)。在今后的工作和生活中,我也將持續(xù)關(guān)注自己的成長需求,堅定地走好自己的職業(yè)道路。

學(xué)習(xí)軟件工程心得體會篇十三

學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實(shí)例,讓理論和實(shí)踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實(shí)在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度。

可用性指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產(chǎn)一個最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實(shí)現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。

pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實(shí)際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。

軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實(shí)際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實(shí)際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。

在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實(shí)只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進(jìn)度報告,項目開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗(yàn)收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。

而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因?yàn)檫@影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護(hù)又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。

在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開來,應(yīng)用于今后的實(shí)踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(jìn)。

【本文地址:http://mlvmservice.com/zuowen/15451846.html】

全文閱讀已結(jié)束,如果需要下載本文請點(diǎn)擊

下載此文檔