QQ軟件怎么開發(fā)出來的,具體怎樣一個流程
懸賞分:20|
其 他 回 答共3條
1樓
想要開發(fā)軟件你就一定要懂開發(fā)語言啊,比如說java,c++等的一些軟件開發(fā)語言,這些技術(shù)知識你必須掌握,這樣你才可以自己開發(fā)東西啊,至于大家都喜歡的你就要做市場調(diào)查了,其實只要大部分人喜歡就可以了,不會是人人都會認同你的~呵呵,這個社會不會有絕對的事!
2樓
QQ軟件最好用C++ 語言開發(fā)。最大的可能是VC++。DEVC++和QT的可能性比較小,因為在linux下沒有看到過官方的QQ版本。所用的語言是C++這個強大的面向?qū)ο蟮木幊陶Z言,現(xiàn)在一般用的C++編譯具是微軟件公司的Visaul C++ 6.0或是Visaul C++.net以及BORLAND公司的C++ Bulider,在這幾款中C++ Bulider相對來說容易上手一點,C++編程對于初學(xué)者確實比較難學(xué),如果你想在相對較短的時間內(nèi)編出類似QQ的程序,那你可以選擇VB這類學(xué)著容易的語言。QQ軟件是由深圳騰迅公司開發(fā)出來的,所用的語言是C++這個強大的面向?qū)ο蟮木幊陶Z言,現(xiàn)在一般用的C++編譯具是微軟件公司的Visaul C++ 6.0或是Visaul C++.net以及寶蘭公司的C++ Bulider,在這幾款中C++ Bulider相對來說容易上手一點,C++編程對于初學(xué)者確實比較難學(xué),如果你想在相對較短的時間內(nèi)編出類似QQ的程序,那你可以選擇VB這類學(xué)著容易的語言。當(dāng)然其他的如Java、Delphi也能做出這樣的軟件。你可以根據(jù)自己的基礎(chǔ)和愛好選擇一門編程語言,這里提醒一下,學(xué)一門編程語言,可不像是學(xué)一個photoshop類的應(yīng)用軟件那么簡單,你需要埋下頭,做好吃苦的準備,扎扎實實學(xué)下去。
軟件設(shè)計思路和方法的一般過程,包括設(shè)計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。第一步:需求調(diào)研分析第二步:概要設(shè)計第三步:詳細設(shè)計第四步:編碼第五步:測試第五步:軟件交付準備第六步:驗收
軟件分為為應(yīng)用型和非應(yīng)用型:應(yīng)用型就是指:一般我們?nèi)粘V兴玫降哪切┎僮鬈浖龋ū热纾河螒蜍浖龋7菓?yīng)用型指的是:比如PC機的操作系統(tǒng)等。不管是應(yīng)用型還是非應(yīng)用型的,他的開發(fā)過程都是一樣的:需求分析( 1.概要設(shè)計 2.詳細設(shè)計 3.設(shè)計調(diào)查)軟件預(yù)算、數(shù)據(jù)建模、實際開發(fā)、單元測試、集成測試、項目驗收等流程。
軟件開發(fā)流程(Software development process)
軟件設(shè)計思路和方法的一般過程,包括設(shè)計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。
1 相關(guān)系統(tǒng)分析員和用戶初步了解需求,然后用WORD列出要開發(fā)的系統(tǒng)的大功能模塊,每個大功能模塊有哪些小功能模塊,對于有些需求比較明確相關(guān)的界面時,在這一步里面可以初步定義好少量的界面。
2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會清楚例用系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還例出相關(guān)的界面和界面功能。
3 系統(tǒng)分析員和用戶再次確認需求。
4 系統(tǒng)分析員根據(jù)確認的需求文檔所例用的界面和功能需求,用迭代的方式對每個界面或功能做系統(tǒng)的概要設(shè)計。
5 系統(tǒng)分析員把寫好的概要設(shè)計文檔給程序員,程序員根據(jù)所例出的功能一個一個的編寫。
6 測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個一個的確認每個功能,然后驗收。
舉個例子來看:
1 某公司想找人訂做一套人事管理軟件,從某種渠道上得知我們有提供這種服務(wù),所以聯(lián)系上了我們。
2 我們會派專門的軟件工程師到他們那里去了解我們要設(shè)計一個什么的東西給他們用,然后回來做個方案給他們,其中方案的內(nèi)容包括:我們開發(fā)出來的軟件大概的界面是怎樣?方便什么人使用?什么人可以使用什么功能?方便到什么程度?大概的硬件要求是怎樣等?
3 他們看了方案后,確定他們就是要做一套這樣的軟件,我就開始開發(fā)這套軟件。
4 我們把開發(fā)出來的軟件交用他們使用,其中在使用的過程中哪里使用不方便或哪里達不到要求,我們會第第一時間修改這些功能,直到他們要求的所有功能都能很完美的解決掉。軟件開發(fā)的內(nèi)容是:需求、設(shè)計、編程和測試!需求:不僅僅是用戶需求,應(yīng)該是開發(fā)中遇到的所有的需求。比如,你首先要知道做這個項目是為了解決什么問題;測試案例中應(yīng)該輸入什么數(shù)據(jù)...為了清楚地知道這些需求,你經(jīng)常要和客戶、項目經(jīng)理等交流。
設(shè)計:編碼前,肯定有個計劃告訴你要做什么,結(jié)構(gòu)是怎樣等等。你一定要按照這個來做,否則可能會一團糟。
編程:如果在項目截止日,你的程序不能跑起來或達不到客戶的要求,你就拿不到錢。
測試:目的是讓你知道,什么時候算是完成了。如果你聰明,你就應(yīng)該先寫測試,這樣可以及時知道你是否真地完成了。否則,你經(jīng)常會不知道,到底有哪些功能是真正完成了,離預(yù)期目標還差多遠。
軟件開發(fā)中,客戶和開發(fā)人員都有自己的基本權(quán)利和義務(wù)。
客戶:
定義每個用戶需求的商業(yè)優(yōu)先級;
制訂總體計劃,包括用多少投資、經(jīng)過多長時間、達到什么目的;
在項目開發(fā)過程中的每個工作周,都能讓投資獲得最大的收益;
通過重復(fù)運行你所指定的功能測試,準確地掌握項目進展情況;
能隨時改變需求、功能或優(yōu)先級,同時避免昂貴的再投資;能夠根據(jù)各種變化及時調(diào)整項目計劃;
能夠隨時取消項目;項目取消時,以前的開發(fā)工作不是一堆垃圾,已開發(fā)完的功能是合乎要求的,正在進行或未完成的的工作則應(yīng)該是不難接手的。開發(fā)人員:
知道要做什么,以及要優(yōu)先做什么;
工作有效率;
有問題或困難時,能得到客戶、同事、上級的回答或幫助;
對工作做評估,并根據(jù)周圍情況的變化及時重新評估;
積極承擔(dān)工作,而不是消極接受分配;
一周40小時工作制,不加班。
軟件開發(fā)過程可以包括以下6個階段:
計劃
對所要解決的問題進行總體定義,包括了解用戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等3個方面研究并論證本軟件項目的可行性,編寫可行性研究報告,探討解決問題的方案,并對可供使用的資源(如計算機硬件、系統(tǒng)軟件、人力等)成本,可取得的效益和開發(fā)進度作出估計。制訂完成開發(fā)任務(wù)的實施計劃。
分析
軟件需求分析就是回答做什么的問題。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并最終得到用戶的認可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個系統(tǒng)分解成若干個子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對各子系統(tǒng)進行具體設(shè)計定義,編寫軟件概要設(shè)計和詳細設(shè)計說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計說明書,組裝測試計劃。
設(shè)計
軟件設(shè)計可以分為概要設(shè)計和詳細設(shè)計兩個階段。實際上軟件設(shè)計的主要任務(wù)就是將軟件分解成模塊是指能實現(xiàn)某個功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€函數(shù)、過程、子程序、一段帶有程序說明的獨立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進行模塊設(shè)計。概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法。
編碼
軟件編碼是指把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序,即寫成以某一程序設(shè)計語言表示的"源程序清單"。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。
當(dāng)前軟件開發(fā)中除在專用場合,已經(jīng)很少使用二十世紀80年代的高級語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,大大提高了開發(fā)的速度。
測試
軟件測試的目的是以較小的代價發(fā)現(xiàn)盡可能多的錯誤。要實現(xiàn)這個目標的關(guān)鍵在于設(shè)計一套出色的測試用例(測試數(shù)據(jù)和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯誤、結(jié)構(gòu)錯誤和數(shù)據(jù)錯誤。結(jié)構(gòu)錯誤包括邏輯、數(shù)據(jù)流、初始化等錯誤。用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯誤。其中接口錯誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯誤。黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。
維護
維護是旨在已完成對軟件的研制(分析、設(shè)計、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進行的一些軟件工程的活動。即根據(jù)軟件運行的情況,對軟件進行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運行中發(fā)現(xiàn)的錯誤。編寫軟件問題報告、軟件修改報告。
一個中等規(guī)模的軟件,如果研制階段需要一年至二年的時間,在它投入使用以后,其運行或工作時間可能持續(xù)五年至十年。那么它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要著手解決研制階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟件維護工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴展功能,提高性能,為用戶帶來明顯的經(jīng)濟效益。然而遺憾的是,對軟件維護工作的重視往往遠不如對軟件研制工作的重視。而事實上,和軟件研制工作相比,軟件維護的工作量和成本都要大得多。
在實際開發(fā)過程中,軟件開發(fā)并不是從第一步進行到最后一步,而是在任何階段,在進入下一階段前一般都有一步或幾步的回溯。在測試過程中的問題可能要求修改設(shè)計,用戶可能會提出一些需要來修改需求說明書等。
3樓
概要設(shè)計——詳細設(shè)計——編碼——單元測試——集成測試——系統(tǒng)測試——維護 需求確認:需求規(guī)格說明書 概要設(shè)計:系統(tǒng)用例圖,用例場景 詳細設(shè)計:系統(tǒng)設(shè)計報告,數(shù)據(jù)庫設(shè)計報告 測試:測試用例報告主要的流程就是這些,有不懂的可以加我扣扣!
知識庫標簽:
|列兵
我來回答這個問題
立即登陸回答獲取會員積分,提高用戶級別