沒有人從一開始就知道如何做,你需要的只是開始竿滨。
我希望你們也可以找到屬于自己的勇氣佳恬,使你們的生命成為一個(gè)祝福∮谟危——馬克·扎克伯格
常見團(tuán)隊(duì)分工
軟件開發(fā)生命周期詳解(上)
軟件生命周期的七個(gè)階段
1毁葱、問題的定義及規(guī)劃
此階段是軟件開發(fā)方與需求方共同討論,主要確定軟件的開發(fā)目標(biāo)及其可行性贰剥。
2倾剿、需求分析
在確定軟件開發(fā)可行的情況下,對(duì)軟件需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)分析蚌成。需求分析階段是一個(gè)很重要的階段前痘,這一階段做得好,將為整個(gè)軟件開發(fā)項(xiàng)目的成功打下良好的基礎(chǔ)担忧。"唯一不變的是變化本身芹缔。",同樣需求也是在整個(gè)軟件開發(fā)過程中不斷變化和深入的瓶盛,因此我們必須制定需求變更計(jì)劃來應(yīng)付這種變化最欠,以保護(hù)整個(gè)項(xiàng)目的順利進(jìn)行。
3惩猫、軟件設(shè)計(jì)
此階段主要根據(jù)需求分析的結(jié)果芝硬,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì)轧房,數(shù)據(jù)庫設(shè)計(jì)等等拌阴。軟件設(shè)計(jì)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。好的軟件設(shè)計(jì)將為軟件程序編寫打下良好的基礎(chǔ)锯厢。
[圖片上傳中...(image-4a0e7a-1526552171126-8)]
4皮官、程序編碼
此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可運(yùn)行的程序代碼脯倒。在程序編碼中必須要制定統(tǒng)一实辑,符合標(biāo)準(zhǔn)的編寫規(guī)范。以保證程序的可讀性藻丢,易維護(hù)性剪撬,提高程序的運(yùn)行效率。
5悠反、軟件測(cè)試
在軟件設(shè)計(jì)完成后要經(jīng)過嚴(yán)密的測(cè)試残黑,以發(fā)現(xiàn)軟件在整個(gè)設(shè)計(jì)過程中存在的問題并加以糾正馍佑。整個(gè)測(cè)試過程主要分單元測(cè)試、組裝測(cè)試以及系統(tǒng)測(cè)試三個(gè)階段進(jìn)行梨水。測(cè)試的方法主要有白盒測(cè)試和黑盒測(cè)試兩種拭荤。在測(cè)試過程中需要建立詳細(xì)的測(cè)試計(jì)劃并嚴(yán)格按照測(cè)試計(jì)劃進(jìn)行測(cè)試,以減少測(cè)試的隨意性疫诽。
6舅世、系統(tǒng)轉(zhuǎn)換
將作業(yè)由舊系統(tǒng)轉(zhuǎn)換新系統(tǒng),也就是說運(yùn)行系統(tǒng)的方法奇徒,轉(zhuǎn)換方法有平行雏亚、分批、分發(fā)摩钙、立即罢低、試驗(yàn)五種轉(zhuǎn)換方法。
7胖笛、運(yùn)行維護(hù)
軟件維護(hù)是軟件生命周期中持續(xù)時(shí)間最長的階段网持。在軟件開發(fā)完成并投入使用后,由于多方面的原因匀钧,軟件不能繼續(xù)適應(yīng)用戶的要求翎碑。要延續(xù)軟件的使用壽命,就必須對(duì)軟件進(jìn)行維護(hù)之斯。軟件的維護(hù)包括糾錯(cuò)性維護(hù)和改進(jìn)性維護(hù)兩個(gè)方面日杈。
軟件生命周期模型
任何軟件都是從最模糊的概念開始的:為某個(gè)公司設(shè)計(jì)辦公的流程處理、設(shè)計(jì)一種商務(wù)信函打印系統(tǒng)并投放市場(chǎng)佑刷。這個(gè)概念是不清晰的莉擒,但卻是最高層的業(yè)務(wù)需求的原型。這個(gè)概念都會(huì)伴隨著一個(gè)目的瘫絮,例如在一個(gè)“銀行押匯系統(tǒng)”的目的是提高工作的效率涨冀。這個(gè)目的將會(huì)成為系統(tǒng)的核心思想,系統(tǒng)成敗的評(píng)判標(biāo)準(zhǔn)麦萤。
從概念提出的那一刻開始鹿鳖,軟件產(chǎn)品就進(jìn)入了軟件生命周期。在經(jīng)歷需求壮莹、分析翅帜、設(shè)計(jì)、實(shí)現(xiàn)命满、部署后涝滴,軟件將被使用并進(jìn)入維護(hù)階段,直到最后由于缺少維護(hù)費(fèi)用而逐漸消亡。這樣的一個(gè)過程歼疮,稱為“生命周期模型”(Life Cycle Model)杂抽。
典型的幾種生命周期模型包括瀑布模型、迭代模型韩脏、快速原型模型缩麸。
瀑布模型(Waterfall Model)首先由溫斯頓·羅伊斯(WinstonRoyce)提出。該模型由于酷似瀑布聞名赡矢。在該模型中匙睹,首先確定需求,并接受客戶和軟件質(zhì)量保證(SQA)小組的驗(yàn)證济竹。然后擬定規(guī)格說明痕檬,同樣通過驗(yàn)證后,進(jìn)入計(jì)劃階段…可以看出送浊,瀑布模型中至關(guān)重要的一點(diǎn)是只有當(dāng)一個(gè)階段的文檔已經(jīng)編制好并獲得軟件質(zhì)量保證小組的認(rèn)可才可以進(jìn)入下一個(gè)階段梦谜。這樣,瀑布模型通過強(qiáng)制性的要求提供規(guī)約文檔來確保每個(gè)階段都能很好的完成任務(wù)袭景。但是實(shí)際上往往難以辦到唁桩,因?yàn)檎麄€(gè)的模型幾乎都是以文檔驅(qū)動(dòng)的,這對(duì)于非專業(yè)的用戶來說是難以閱讀和理解的耸棒。想象一下荒澡,你去買衣服的時(shí)候,售貨員給你出示的是一本厚厚的服裝規(guī)格說明与殃,你會(huì)有什么樣的感觸单山。雖然瀑布模型有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷幅疼。
迭代模型是RUP(Rational UnifiedProcess米奸,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型爽篷。在RUP中悴晰,迭代被定義為:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動(dòng)和要使用該發(fā)布必需的所有其他外圍元素逐工。所以铡溪,在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:(至少包括)需求工作流程泪喊、分析設(shè)計(jì)工作流程棕硫、實(shí)施工作流程和測(cè)試工作流程。實(shí)質(zhì)上窘俺,它類似小型的瀑布式項(xiàng)目饲帅。RUP認(rèn)為,所有的階段(需求及其它)都可以細(xì)分為迭代瘤泪。每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品灶泵,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。迭代的思想如下圖所示对途。
迭代和瀑布的最大的差別就在于風(fēng)險(xiǎn)的暴露時(shí)間上赦邻。任何項(xiàng)目都會(huì)涉及到一定的風(fēng)險(xiǎn)。如果能在生命周期中盡早確保避免了風(fēng)險(xiǎn)实檀,那么您的計(jì)劃自然會(huì)更趨精確惶洲。有許多風(fēng)險(xiǎn)直到已準(zhǔn)備集成系統(tǒng)時(shí)才被發(fā)現(xiàn)。不管開發(fā)團(tuán)隊(duì)經(jīng)驗(yàn)如何膳犹,都絕不可能預(yù)知所有的風(fēng)險(xiǎn)恬吕。二者的區(qū)別如下圖所示:
由于瀑布模型的特點(diǎn)(文檔是主體),很多的問題在最后才會(huì)暴露出來须床,為了解決這些問題的風(fēng)險(xiǎn)是巨大的铐料。“在迭代式生命周期中豺旬,您需要根據(jù)主要風(fēng)險(xiǎn)列表選擇要在迭代中開發(fā)的新的增量?jī)?nèi)容钠惩。每次迭代完成時(shí)都會(huì)生成一個(gè)經(jīng)過測(cè)試的可執(zhí)行文件,這樣就可以核實(shí)是否已經(jīng)降低了目標(biāo)風(fēng)險(xiǎn)族阅÷耍”
快速原型模型在功能上等價(jià)于產(chǎn)品的一個(gè)子集。注意坦刀,這里說的是功能上愧沟。瀑布模型的缺點(diǎn)就在于不夠直觀,快速原型法就解決了這個(gè)問題鲤遥。一般來說央渣,根據(jù)客戶的需要在很短的時(shí)間內(nèi)解決用戶最迫切需要,完成一個(gè)可以演示的產(chǎn)品渴频。這個(gè)產(chǎn)品只是實(shí)現(xiàn)部分的功能(最重要的)芽丹。它最重要的目的是為了確定用戶的真正需求。在我的經(jīng)驗(yàn)中卜朗,這種方法非常的有效拔第,原先對(duì)計(jì)算機(jī)沒有絲毫概念的用戶在你的原型面前往往口若懸河,有些觀點(diǎn)讓你都覺得非常的吃驚场钉。在得到用戶的需求之后蚊俺,原型將被拋棄。因?yàn)樵烷_發(fā)的速度很快逛万,設(shè)計(jì)方面是幾乎沒有考慮的泳猬,如果保留原型的話,在隨后的開發(fā)中會(huì)為此付出極大的代價(jià)。至于保留原型方面得封,也是有一種叫做增量模型是這么做的埋心,但這種模型并不為大家所接受。
事實(shí)上忙上,其實(shí)現(xiàn)在的軟件組織中很少說標(biāo)準(zhǔn)的采用那一種模型的拷呆。模型和實(shí)用還是有很大的區(qū)別。
軟件生命周期模型的發(fā)展實(shí)際上是體現(xiàn)了軟件工程理論的發(fā)展疫粥。在最早的時(shí)候茬斧,軟件的生命周期處于無序、混亂的情況梗逮。一些人為了能夠控制軟件的開發(fā)過程项秉,就把軟件開發(fā)嚴(yán)格的區(qū)分為多個(gè)不同的階段,并在階段間加上嚴(yán)格的審查慷彤。這就是瀑布模型產(chǎn)生的起因伙狐。瀑布模型體現(xiàn)了人們對(duì)軟件過程的一個(gè)希望:嚴(yán)格控制、確保質(zhì)量瞬欧〈海可惜的是,現(xiàn)實(shí)往往是殘酷的艘虎。瀑布模型根本達(dá)不到這個(gè)過高的要求唉侄,因?yàn)檐浖倪^程往往難于預(yù)測(cè)。反而導(dǎo)致了其它的負(fù)面影響野建,例如大量的文檔属划、繁瑣的審批。因此人們就開始嘗試著用其它的方法來改進(jìn)或替代瀑布方法候生。例如把過程細(xì)分來增加過程的可預(yù)測(cè)性同眯。
行測(cè)筆試題
1. 圖形推理
從所給四個(gè)選項(xiàng)中,選擇最合適的一個(gè)填入問號(hào)處唯鸭,使之符合之前4個(gè)圖形的變化規(guī)律:
[圖片上傳中...(image-6b7f0c-1526552171123-1)]
A. ①②④须蜗,③⑤⑥
B. ①③⑥,②④⑤
C. ①③⑤目溉,②④⑥
D. ①⑤⑥明肮,②③④
參考答案
【解析】A。
觀察發(fā)現(xiàn)缭付,①②④圖形均由一個(gè)外框圖形柿估,內(nèi)部包含4個(gè)獨(dú)立元素,且獨(dú)立元素間不存在包含等關(guān)系陷猫,而③⑤⑥圖形中外框圖形內(nèi)部包含4個(gè)圖形秫舌,且內(nèi)部的兩個(gè)圖形又被其中一個(gè)圖形包含的妖,圖形分為內(nèi)中外三層,存在包含關(guān)系足陨。故本題正確答案為A嫂粟。
2. 數(shù)列推理題
3,27钠右,5,125忘蟹,6飒房,216,7媚值,()
A.224 B.343 C.517 D.695
參考答案
【解析】答案為B狠毯。
考慮分組討論。但是如果按照奇偶項(xiàng)分褥芒,沒有明顯規(guī)律嚼松。我們可以發(fā)現(xiàn),這組數(shù)列中有很多立方數(shù)字锰扶,可以按照兩兩一組分献酗,(3,27)(5,125)(6,216),每一組中第二個(gè)數(shù)字均為第一個(gè)數(shù)字的立方坷牛,所以答案為7的立方罕偎,應(yīng)選B。
.
3.語言理解題
生物鐘基因是控制生物鐘的特殊基因京闰,它們相互作用控制其他基因時(shí)而活躍時(shí)而沉寂颜及,形成睡眠節(jié)奏□彘梗科學(xué)家實(shí)驗(yàn)發(fā)現(xiàn)俏站,長時(shí)間照明會(huì)擾亂幼鼠腦細(xì)胞中調(diào)節(jié)睡眠與蘇醒節(jié)律的生物鐘。一些醫(yī)院的嬰兒護(hù)理室為方便照料新生兒痊土,習(xí)慣把他們安置在長時(shí)間有照明的環(huán)境中肄扎,科學(xué)家擔(dān)心這種長明環(huán)境可能導(dǎo)致新生兒睡眠和蘇醒的節(jié)律發(fā)生紊亂。
下列哪項(xiàng)為真赁酝,可以成為科學(xué)家擔(dān)心的前提條件?( )
A.很多嬰兒只在護(hù)理室中短期停留就會(huì)交到父母身邊
B.用于照射幼鼠的光線與嬰兒護(hù)理室的光線強(qiáng)度相同
C.人體內(nèi)生物鐘機(jī)制與實(shí)驗(yàn)所用老鼠基本相同
D.被長時(shí)間照明擾亂了生物鐘的幼鼠即便被放回到正常環(huán)境也很難恢復(fù)
參考答案
【解析】C反浓。
長明環(huán)境可能導(dǎo)致新生兒睡眠和蘇醒的節(jié)律發(fā)生紊亂。其論據(jù)是:長時(shí)間照明會(huì)擾亂幼鼠腦細(xì)胞中調(diào)節(jié)睡眠與蘇醒節(jié)律的生物鐘;所以要使科學(xué)家的擔(dān)心成立就要在兩者間建立聯(lián)系赞哗。C項(xiàng)指出人體內(nèi)生物鐘機(jī)制與實(shí)驗(yàn)所用老鼠基本相同雷则,屬于搭橋的方法,是前提肪笋。AD兩項(xiàng)只涉及一個(gè)方面不能建立起聯(lián)系月劈。B項(xiàng)雖然幼鼠和嬰兒均提及度迂,但如果人體的生物鐘機(jī)制與老鼠的不同,那么科學(xué)家的擔(dān)心也是多余的猜揪。故選C惭墓。
大廠暑期實(shí)習(xí)的招聘已到中后期,大部分的同學(xué)手中還沒有offer而姐,一部分的同學(xué)在備胎池中煎熬著腊凶。但是,那一小部分已經(jīng)拿到offer的同學(xué)拴念,不一定就在輕輕松松的玩耍钧萍,人家說不定比你更努力。幸運(yùn)總是會(huì)眷顧有準(zhǔn)備的人政鼠,小伙伴們风瘦,跟著【19應(yīng)屆生】學(xué)習(xí)產(chǎn)品知識(shí),我們一起加油吧~公般!