企業(yè)軟件的開發(fā)流程是什么?
在企業(yè)中,整個的開發(fā)的過程,從頭到尾,大致可以分成五個大的階段,分別是需求,設(shè)計(jì),編碼,測試,交付這五個階段,這當(dāng)中,位于軟件公司內(nèi)部管理的過程,詳細(xì)劃分又可以分為7步,如下所列:
相關(guān)系統(tǒng)分析員向用戶初步了解需求,然后用WORD列出要開發(fā)的系統(tǒng)的大功能模塊,每個大功能模塊有哪些小功能模塊,對于有些需求比較明確相關(guān)的界面時,在這一步里面可以初步定義好少量的界面。
系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗(yàn)和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會清楚利用系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還列出相關(guān)的界面和界面功能。
開發(fā)者需要對軟件系統(tǒng)進(jìn)行概要設(shè)計(jì),即系統(tǒng)設(shè)計(jì)。概要設(shè)計(jì)需要對軟件系統(tǒng)的設(shè)計(jì) 進(jìn)行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、 運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯處理設(shè)計(jì)等,為軟件的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。
在概要設(shè)計(jì)的基礎(chǔ)上,開發(fā)者需要進(jìn)行軟件系統(tǒng)的詳細(xì)設(shè)計(jì)。在詳細(xì)設(shè)計(jì)中,描述實(shí) 現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結(jié)構(gòu)、類的層次結(jié)構(gòu)及調(diào)用關(guān)系,需要說明軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設(shè)計(jì)考慮,以便進(jìn)行編碼和測試。
軟件開發(fā)的流程都有哪些步驟呢?
軟件開發(fā)的流程都有哪些步驟
1計(jì)劃
對所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會因素等3個方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究報(bào)告,探討解決問題的方案,并對可供使用的資源(如計(jì)算機(jī)硬件、系統(tǒng)軟件、人力等)成本,可取得的效益和開發(fā)進(jìn)度作出估計(jì),制訂完成開發(fā)任務(wù)的實(shí)施計(jì)劃。
2分析做軟件致電壹伍扒+++壹壹叁叁++++駟柒駟駟
軟件需求分析就是對開發(fā)什么樣的軟件的一個系統(tǒng)的分析與設(shè)想。它是一個對用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。
3設(shè)計(jì)做軟件致電壹伍扒+++壹壹叁叁++++駟柒駟駟
軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元。
4編碼
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。
5測試
軟件測試的目的是以較小的代價發(fā)現(xiàn)盡可能多的錯誤。要實(shí)現(xiàn)這個目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計(jì)出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計(jì)方法。
6維護(hù)
維護(hù)是指在已完成對軟件的研制(分析、設(shè)計(jì)、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動。即根據(jù)軟件運(yùn)行的情況,對軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。
軟件開發(fā)是指一個軟件項(xiàng)目的開發(fā),如市場調(diào)查,需求分析,可行性分析,初步設(shè)計(jì),詳細(xì)設(shè)計(jì),形成文檔,建立初步模型,編寫詳細(xì)代碼,測試修改,發(fā)布等。
軟件是怎么樣開發(fā)出來的
第一個步驟是市場調(diào)研,技術(shù)和市場要結(jié)合才能體現(xiàn)最大價值。
第二個步驟是需求分析,這個階段需要出三樣?xùn)|西,用戶視圖,數(shù)據(jù)詞典和用戶操作手 冊。
用戶視圖 是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這里面包含了 很多操作方面的流程和條件。
數(shù)據(jù)詞典 是指明數(shù)據(jù)邏輯關(guān)系并加以整理的東東,完成了數(shù)據(jù)詞典,數(shù)據(jù)庫的設(shè)計(jì)就完成了一半多。
用戶操作手冊是指明了操作流程的說明書。
請注意,用戶操作流程和用戶視圖是由需求決定的,因此應(yīng)該在軟件設(shè)計(jì)之前完成,完成這些,就為程序研發(fā)提供了約束和準(zhǔn)繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發(fā)工作和實(shí)際需求往往因此產(chǎn)生隔閡脫節(jié)的現(xiàn)象。
需求分析,除了以上工作,筆者以為作為項(xiàng)目設(shè)計(jì)者應(yīng)當(dāng)完整的做出項(xiàng)目的性能需求說明 書,因?yàn)橥阅苄枨笾挥卸夹g(shù)的人才可能理解,這就需要技術(shù)專家和需求方(客戶或公司市場部門)能夠有真正的溝通和了解。
第三個步驟是概要設(shè)計(jì),將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。
作為快速原型設(shè)計(jì)方法,完成概要設(shè)計(jì)就可以進(jìn)入編碼階段了,通常采用這種方法是因?yàn)樯婕暗难邪l(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來無法給出明確的詳細(xì)設(shè)計(jì)說明書,但是 并不是說詳細(xì)設(shè)計(jì)說明書不重要,事實(shí)上快速原型法在完成原型代碼后,根據(jù)評測結(jié)果和 經(jīng)驗(yàn)教訓(xùn)的總結(jié),還要重新進(jìn)行詳細(xì)設(shè)計(jì)的步驟。
第四個步驟是詳細(xì)設(shè)計(jì),這是考驗(yàn)技術(shù)專家設(shè)計(jì)思維的重要關(guān)卡,詳細(xì)設(shè)計(jì)說明書應(yīng)當(dāng)把 具體的模塊以最’干凈’的方式(黑箱結(jié)構(gòu))提供給編碼者,使得系統(tǒng)整體模塊化達(dá)到最 大;一份好的詳細(xì)設(shè)計(jì)說明書,可以使編碼的復(fù)雜性減低到最低,實(shí)際上,嚴(yán)格的講詳細(xì) 設(shè)計(jì)說明書應(yīng)當(dāng)把每個函數(shù)的每個參數(shù)的定義都精精細(xì)細(xì)的提供出來,從需求分析到概要 設(shè)計(jì)到完成詳細(xì)設(shè)計(jì)說明書,一個軟件項(xiàng)目就應(yīng)當(dāng)說完成了一半了。換言之,一個大型軟 件系統(tǒng)在完成了一半的時候,其實(shí)還沒有開始一行代碼工作。
那些把作軟件的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。
第五個步驟是編碼,在規(guī)范化的研發(fā)流程中,編碼工作在整個項(xiàng)目流程里最多不會超過1/ 2,通常在1/3的時間,所謂磨刀不誤砍柴功,設(shè)計(jì)過程完成的好,編碼效率就會極大提 高,編碼時不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都 出現(xiàn)過。
編碼時的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對于程序員而言,bug永 遠(yuǎn)存在,你必須永遠(yuǎn)面對這個問題,大名鼎鼎的微軟,可曾有連續(xù)三個月不發(fā)補(bǔ)丁的時候 嗎?從來沒有!
第六個步驟是測試
測試有很多種:
按照測試執(zhí)行方,可以分為內(nèi)部測試和外部測試
按照測試范圍,可以分為模塊測試和整體聯(lián)調(diào)
按照測試條件,可以分為正常操作情況測試和異常情況測試
按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試
以上都很好理解,不再解釋。
總之,測試同樣是項(xiàng)目研發(fā)中一個相當(dāng)重要的步驟,對于一個大型軟件,3個月到1年的外部測試都是正常的,因?yàn)橛肋h(yuǎn)都會又不可預(yù)料的問題存在。
完成測試后,完成驗(yàn)收并完成最后的一些幫助文檔,整體項(xiàng)目才算告一段落,當(dāng)然日后少不了升級,修補(bǔ)等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運(yùn)營 狀況并持續(xù)修補(bǔ)升級,直到這個軟件被徹底淘汰為止。
什么是軟件開發(fā)的核心問題
按照軟件工程鼻祖,《人月神話》作者 Brooks 在“沒有銀彈——軟件工程中的根本和次要問題”一章中闡述的思想,軟件開發(fā)的核心問題就是如何從概念上對一個復(fù)雜的業(yè)務(wù)系統(tǒng)進(jìn)行建模。這個建模是含義廣泛的,不僅僅包括對象建模,還包括數(shù)據(jù)建模、算法建模等等一系列的內(nèi)容。總而言之是要先找到解決復(fù)雜問題的突破口(先要搞明白需要做什么,然后再考慮如何做)。至于采用什么表示方法(簡單文本、UML 圖、E-R 圖)、采用什么高級語言、是否一定要用面向?qū)ο?、使用什么開發(fā)工具都是次要的問題。
軟件開發(fā)方法
軟件開發(fā)方法(Software Development Method)是指軟件開發(fā)過程所遵循的辦法和步驟。
軟件開發(fā)活動的目的是有效地得到一些工作產(chǎn)物,也就是一個運(yùn)行的系統(tǒng)及其支持文檔,并且滿足有關(guān)的質(zhì)量要求。軟件開發(fā)是一種非常復(fù)雜的腦力勞動,所以經(jīng)常更多討論的是軟件開發(fā)方法學(xué),指的是規(guī)則、方法和工具的集成,既支持開發(fā),也支持以后的演變過程(交付運(yùn)行后,系統(tǒng)還會變化,或是為了改錯,或是為了功能的增減)。
關(guān)于組成軟件開發(fā)和系統(tǒng)演化的活動有著各種模型(參見軟件生存周期,軟件開發(fā)模型,軟件過程),但是典型地都包含了以下的過程或活動:分析、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)(測試驗(yàn)收)、演化(維護(hù))。
有些軟件開發(fā)方法是專門針對某一開發(fā)階段的,屬于局部性的軟件開發(fā)方法。
特別是軟件開發(fā)的實(shí)踐表明,在開發(fā)的早期階段多做努力,在后來的測試和維護(hù)階段就會使費(fèi)用較大地得以縮減。因此,針對分析和設(shè)計(jì)階段的軟件開發(fā)方法特別受到重視。其它階段的方法,從程序設(shè)計(jì)發(fā)展的初期起就是研究的重點(diǎn),
已經(jīng)發(fā)展得比較成熟(參見程序設(shè)計(jì),維護(hù)過程)。除了分階段的局部性軟件開發(fā)方法之外,還有覆蓋開發(fā)全過程的全局性方法,尤為軟件開發(fā)方法學(xué)注意的重點(diǎn)。
對軟件開發(fā)方法的一般要求:當(dāng)提出一種軟件開發(fā)方法時,應(yīng)該考慮許多因素,包括:
①覆蓋開發(fā)全過程,并且便于在各階段間的過渡;
②便于在開發(fā)各階段中有關(guān)人員之間的通信;
③支持有效的解決問題的
④支持系統(tǒng)設(shè)計(jì)和開發(fā)的各種不同途徑;
⑤在開發(fā)過程中支持軟件正確性的校驗(yàn)和驗(yàn)證;
⑥便于在系統(tǒng)需求中列入設(shè)計(jì)、實(shí)際和性能的約束;
⑦支持設(shè)計(jì)師和其他技術(shù)人員的智力勞動;
⑧在系統(tǒng)的整個生存周期都支持它的演化;
⑨受自動化工具的支持。此外,在開發(fā)的所有階段,有關(guān)的軟件產(chǎn)物都應(yīng)該是可見和可控的;軟件開發(fā)方法應(yīng)該可教學(xué)、可轉(zhuǎn)移,還應(yīng)該是開放的,即可以容納新的技術(shù)、管理方法和新工具,并且與已有的標(biāo)準(zhǔn)相適應(yīng)。
參考:http://www.blog.edu.cn/user5/280156/archives/2008/2090192.shtml
產(chǎn)品經(jīng)理在接到產(chǎn)品項(xiàng)目要跟客戶詳細(xì)溝通確認(rèn)需求細(xì)節(jié),畫出思維道路,捋清邏輯關(guān)系,畫出原型圖,UI設(shè)計(jì)出設(shè)計(jì)圖,開發(fā)技術(shù)團(tuán)隊(duì)進(jìn)行分工開發(fā),測試團(tuán)隊(duì)進(jìn)行測試,測試沒問題,運(yùn)營團(tuán)隊(duì)就進(jìn)行上線推廣,注意用戶提亞反饋,再進(jìn)行完善
計(jì)算機(jī)IT開發(fā)行業(yè)一直是比較熱門的行業(yè),想選擇學(xué)習(xí)一門計(jì)算機(jī)技術(shù),首先要找到適合自己的方向,只要努力去學(xué),有足夠的意志力,找一個合適的平臺,系統(tǒng)的學(xué)習(xí)一下,還是會有很大的收獲。
如果你想要專業(yè)的學(xué)習(xí)開發(fā),更多需要的是付出時間和精力,一般在2w左右。應(yīng)該根據(jù)自己的實(shí)際需求去實(shí)地看一下,先好好試聽之后,再選擇適合自己的。只要努力學(xué)到真東西,前途自然不會差。
軟件開發(fā)一般分為五個階段:
1.問題的定義及規(guī)劃
此階段是軟件開發(fā)與需求放共同討論,主要確定軟件的開發(fā)目標(biāo)及其可行性。
2.需求分析
在確定軟件開發(fā)可行性的情況下,對軟件需要實(shí)現(xiàn)的各個功能進(jìn)行詳細(xì)需求分析。需求分析階段是一個很重要的階段,這一階段做的好,將為整個軟件項(xiàng)目的開發(fā)打下良好的基礎(chǔ)?!拔ㄒ徊蛔兊氖亲兓旧怼?,同樣軟件需求也是在軟件愛你開發(fā)過程中不斷變化和深入的,因此,我們必須定制需求變更計(jì)劃來應(yīng)付這種變化,以保護(hù)整個項(xiàng)目的正常進(jìn)行。
3.軟件設(shè)計(jì)
此階段中偶要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等。軟件設(shè)計(jì)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。還的軟件設(shè)計(jì)將為軟件程序編寫打下良好的基礎(chǔ)。
4.程序編碼
此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)化為計(jì)算機(jī)可運(yùn)行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標(biāo)準(zhǔn)的編寫規(guī)范。以保證程序的可讀性、易維護(hù)性。提高程序的運(yùn)行效率。
5.軟件測試
在軟件設(shè)計(jì)完成之后要進(jìn)行嚴(yán)密的測試,一發(fā)現(xiàn)軟件在整個軟件設(shè)計(jì)過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進(jìn)行。測試方法主要有白盒測試和黑盒測試。
如何開設(shè)軟件開發(fā)公司?需要做好什么方面的準(zhǔn)備工作?
如何做好ERP的項(xiàng)目實(shí)施工作,這個要依據(jù)你的軟件開發(fā)目標(biāo)來確定了。如果是由公司的員工及軟件公司按公司目前 的流程來編寫的話,如果就目前的要求來實(shí)施,達(dá)到目的,就算是成功實(shí)施了。因?yàn)槊恳淮蔚倪M(jìn)步都是一個階段一個階段來完成的。
在工作中,發(fā)現(xiàn)某些功能也想用軟件來實(shí)現(xiàn),但開始沒有想到,你會感覺軟件沒有做好,這種想法是進(jìn)入了一個實(shí)施的誤區(qū)。
試想一下,還是用現(xiàn)成的軟件,不要做開發(fā)的軟件,實(shí)施成功可能性會大很多的。這是我個人做軟件實(shí)施的體會。有機(jī)會可QQ:378952138 或QQ郵箱。
你的核心人員啊,辦公地點(diǎn)啊,工商注冊,稅務(wù)登記,發(fā)票,注冊類型,資金!
相關(guān)推薦:
上訴的期限(上訴期的期限是多久)
離婚起訴找律師多少錢(離婚官司律師收費(fèi)標(biāo)準(zhǔn))
老公家庭暴力怎么處理(老公家庭暴力怎么治他)
侮辱誹謗警察能不管嗎(故意罵人警察應(yīng)該怎么樣處理)
行政拘留是刑事處罰嗎(行政拘留是否是刑事處罰)