軟件開發(fā)12頁
《軟件開發(fā)12頁》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件開發(fā)12頁(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件開發(fā) 軟件(Software)簡(jiǎn)單的說就是那些在計(jì)算機(jī)中能看的著,但摸不著的東西,概念性的說軟件也稱為“軟設(shè)備”,廣義地說軟件是指系統(tǒng)中的程序以及開發(fā)、使用程序所需要的所有文檔的集合。軟件分為系統(tǒng)軟件和應(yīng)用軟件。 軟件并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。 軟件被應(yīng)用于世界的各個(gè)領(lǐng)域,對(duì)人們的生活和工作都產(chǎn)生了深遠(yuǎn)的影響 目錄 軟件開發(fā)的內(nèi)容 1. 設(shè)計(jì) 2. 編程 3. 測(cè)試 4. 客戶 5. 開發(fā)人員 軟件開發(fā)過程 1. 分析 2. 設(shè)計(jì) 3. 編碼 4. 測(cè)試 5. 維護(hù) 軟件開發(fā)專業(yè)
2、 1. 專業(yè)培養(yǎng) 2. 就業(yè)方向 軟件開發(fā)流程 1. 流程的總括 2. 流程的舉例 3. 軟件開發(fā)中的注意事項(xiàng) 4. 軟件開發(fā)企業(yè)用人主要有以下幾個(gè)特征 軟件開發(fā)平臺(tái) 軟件開發(fā)-軟件開發(fā)中的注意事項(xiàng) 軟件開發(fā)的內(nèi)容 1. 設(shè)計(jì) 2. 編程 3. 測(cè)試 4. 客戶 5. 開發(fā)人員 軟件開發(fā)過程 1. 分析 2. 設(shè)計(jì) 3. 編碼 4. 測(cè)試 5. 維護(hù) 軟件開發(fā)專業(yè) 1. 專業(yè)培養(yǎng) 2. 就業(yè)方向 軟件開發(fā)流程 1. 流程的總括 2. 流程的舉例 3. 軟件開發(fā)中的注意事項(xiàng) 4. 軟件開發(fā)企
3、業(yè)用人主要有以下幾個(gè)特征 軟件開發(fā)平臺(tái) 軟件開發(fā)-軟件開發(fā)中的注意事項(xiàng) 展開 軟件開發(fā)的內(nèi)容 不僅僅是用戶需求,應(yīng)該是開發(fā)中遇到的所有的需求。比如,你首先要知道做這個(gè)項(xiàng)目是為了解決什么問題;測(cè)試案例中應(yīng)該輸入什么數(shù)據(jù)......為了清楚地知道這些需求,你經(jīng)常要和客戶、項(xiàng)目經(jīng)理以及項(xiàng)目伙伴交流。 設(shè)計(jì) 編碼前,肯定有個(gè)計(jì)劃告訴你要做什么,結(jié)構(gòu)是怎樣等等。你一定要按照這個(gè)來做,否則可能會(huì)一團(tuán)糟。 編程 如果在項(xiàng)目截止日,你的程序不能跑起來或達(dá)不到客戶的要求,你就拿不到錢。 測(cè)試 目的是讓你知道,什么時(shí)候算是完成了。如果你聰明,你就應(yīng)該先寫測(cè)試,這樣可以
4、及時(shí)知道你是否真地完成了。否則,你經(jīng)常會(huì)不知道,到底有哪些功能是真正完成了,離預(yù)期目標(biāo)還差多遠(yuǎn)。 軟件開發(fā)中,客戶和開發(fā)人員都有自己的基本權(quán)利和義務(wù)。 客戶 定義每個(gè)用戶需求的商業(yè)優(yōu)先級(jí); 制訂總體計(jì)劃,包括用多少投資、經(jīng)過多長(zhǎng)時(shí)間、達(dá)到什么目的; 在項(xiàng)目開發(fā)過程中的每個(gè)工作周,都能讓投資獲得最大的收益; 通過重復(fù)運(yùn)行你所指定的功能測(cè)試,準(zhǔn)確地掌握項(xiàng)目進(jìn)展情況; 能隨時(shí)改變需求、功能或優(yōu)先級(jí),同時(shí)避免昂貴的再投資;能夠根據(jù)各種變化及時(shí)調(diào)整項(xiàng)目計(jì)劃; 能夠隨時(shí)取消項(xiàng)目;項(xiàng)目取消時(shí),以前的開發(fā)工作不是一堆垃圾,已開發(fā)完的功能是合乎要求的,正
5、在進(jìn)行或未完成的的工作則應(yīng)該是不難接手的。 開發(fā)人員 知道要做什么,以及要優(yōu)先做什么; 工作有效率; 有問題或困難時(shí),能得到客戶、同事、上級(jí)的回答或幫助; 對(duì)工作做評(píng)估,并根據(jù)周圍情況的變化及時(shí)重新評(píng)估; 積極承擔(dān)工作,而不是消極接受分配; 一周40小時(shí)工作制,不加班。 軟件開發(fā)過程 軟件開發(fā)過程分為5個(gè)階段: 分析 軟件需求分析就是回答做什么的問題。它是一個(gè)對(duì)用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,
6、建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并最終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對(duì)各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測(cè)試計(jì)劃。 設(shè)計(jì) 軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過程、子程序、一段帶有程序說明的獨(dú)立的程序和數(shù)據(jù),
7、也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要任務(wù)就是設(shè)計(jì)模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計(jì)數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計(jì)方法。 編碼 軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的"源程序清單"。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。 當(dāng)前軟件開發(fā)中除在專用場(chǎng)合,已經(jīng)很少使用二十世紀(jì)80年代的高級(jí)語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)
8、環(huán)境大都合為一體,大大提高了開發(fā)的速度。 測(cè)試 軟件測(cè)試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測(cè)試用例(測(cè)試數(shù)據(jù)和預(yù)期的輸出結(jié)果組成了測(cè)試用例)。如何才能設(shè)計(jì)出一套出色的測(cè)試用例,關(guān)鍵在于理解測(cè)試方法。不同的測(cè)試方法有不同的測(cè)試用例設(shè)計(jì)方法。兩種常用的測(cè)試方法是白盒法測(cè)試對(duì)象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯(cuò)誤、結(jié)構(gòu)錯(cuò)誤和數(shù)據(jù)錯(cuò)誤。結(jié)構(gòu)錯(cuò)誤包括邏輯、數(shù)據(jù)流、初始化等錯(cuò)誤。用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。其中接口錯(cuò)誤包
9、括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯(cuò)誤。黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。 維護(hù) 維護(hù)是指在已完成對(duì)軟件的研制(分析、設(shè)計(jì)、編碼和測(cè)試)工作并交付使用以后,對(duì)軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對(duì)軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。 一個(gè)中等規(guī)模的軟件,如果研制階段需要一年至二年的時(shí)間,在它投入使用以后,其運(yùn)行或工作時(shí)間可能持續(xù)五年至十年。那么它的維護(hù)階段也是運(yùn)行的這五年至十年期間。在這段時(shí)間,人們幾乎需要著手解決研制階段所遇到的各種問題,同時(shí)還要解決某
10、些維護(hù)工作本身特有的問題。做好軟件維護(hù)工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴(kuò)展功能,提高性能,為用戶帶來明顯的經(jīng)濟(jì)效益。然而遺憾的是,對(duì)軟件維護(hù)工作的重視往往遠(yuǎn)不如對(duì)軟件研制工作的重視。而事實(shí)上,和軟件研制工作相比,軟件維護(hù)的工作量和成本都要大得多。 在實(shí)際開發(fā)過程中,軟件開發(fā)并不是從第一步進(jìn)行到最后一步,而是在任何階段,在進(jìn)入下一階段前一般都有一步或幾步的回溯。在測(cè)試過程中的問題可能要求修改設(shè)計(jì),用戶可能會(huì)提出一些需要來修改需求說明書等。 軟件開發(fā)專業(yè) 專業(yè)培養(yǎng) 計(jì)算機(jī):軟件開發(fā)專業(yè)主要培養(yǎng)德智體全面發(fā)展,具有一定計(jì)算機(jī)軟硬件維護(hù)、網(wǎng)絡(luò)組建、維護(hù)管理的
11、高級(jí)實(shí)用技術(shù)型人才。通過本專業(yè)的學(xué)習(xí),能熟練掌握常用的計(jì)算機(jī)軟件的使用、維護(hù)與技巧;在硬件方面學(xué)生應(yīng)了解計(jì)算機(jī)硬件的發(fā)展,熟練掌握計(jì)算機(jī)組裝的方法,能熟練運(yùn)用應(yīng)用軟件檢測(cè)計(jì)算機(jī)性能、故障的范圍所在,掌握硬件故障的一般處理方法;在網(wǎng)絡(luò)方面,學(xué)生應(yīng)掌握目前流行網(wǎng)絡(luò)的技術(shù)特點(diǎn),掌握網(wǎng)絡(luò)工程、網(wǎng)絡(luò)維護(hù)、網(wǎng)絡(luò)安全及應(yīng)用方面的知識(shí)。能勝任一般網(wǎng)絡(luò)工程方案的設(shè)計(jì)、組建、網(wǎng)絡(luò)維護(hù)、及簡(jiǎn)單網(wǎng)站的建設(shè)與維護(hù)。同時(shí),使學(xué)生了解由于IT技術(shù)的發(fā)展而引起的法律和道德方面的問題。 就業(yè)方向 本專業(yè)畢業(yè)生適合的工作崗位是計(jì)算機(jī)程序設(shè)計(jì)師。適合于熟練地按照工程化的思路進(jìn)行軟件編制、軟件測(cè)試的工作崗位,能擔(dān)任各種企事
12、業(yè)單位和各級(jí)工程建設(shè)部門、管理部門的計(jì)算機(jī)軟件和硬件維護(hù)、網(wǎng)絡(luò)的組建、維護(hù)等工作,也可從事計(jì)算機(jī)研究與應(yīng)用、軟件開發(fā)等方面的工作。就業(yè)范圍為:計(jì)算機(jī)軟件公司、具有軟件開發(fā)能力的大型企業(yè)及事業(yè)單位、大專院校和科研院所。 軟件開發(fā)流程 流程的總括 軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測(cè)試以及編寫、提交程序。 1 相關(guān)系統(tǒng)分析員和用戶初步了解需求,然后用WORD列出要開發(fā)的系統(tǒng)的大功能模塊,每個(gè)大功能模塊有哪些小功能模塊,對(duì)于有些需求比較明確相關(guān)的界面時(shí),在這一步里面可以初步定義好少量的界面。
13、 2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗(yàn)和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會(huì)清楚例用系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還列出相關(guān)的界面和界面功能。 3 系統(tǒng)分析員和用戶再次確認(rèn)需求。 4 系統(tǒng)分析員根據(jù)確認(rèn)的需求文檔所例用的界面和功能需求,用迭代的方式對(duì)每個(gè)界面或功能做系統(tǒng)的概要設(shè)計(jì)。 5 系統(tǒng)分析員把寫好的概要設(shè)計(jì)文檔給程序員,程序員根據(jù)所列出的功能一個(gè)一個(gè)的編寫。 6 測(cè)試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個(gè)一個(gè)的確認(rèn)每個(gè)功能,然后驗(yàn)收。 流程的舉例 1 某公司想找人訂做
14、一套人事管理軟件,從某種渠道上得知我們有提供這種服務(wù),所以聯(lián)系上了我們。 2 我們會(huì)派專門的軟件工程師到他們那里去了解我們要設(shè)計(jì)一個(gè)什么的東西給他們用,然后回來做個(gè)方案給他們,其中方案的內(nèi)容包括:我們開發(fā)出來的軟件大概的界面是怎樣?方便什么人使用?什么人可以使用什么功能?方便到什么程度?大概的硬件要求是怎樣等? 3 他們看了方案后,確定他們就是要做一套這樣的軟件,我就開始開發(fā)這套軟件。 4 我們把開發(fā)出來的軟件交用他們使用,其中在使用的過程中哪里使用不方便或哪里達(dá)不到要求,我們會(huì)第第一時(shí)間修改這些功能,直到他們要求的所有功能都能很完美的解決掉。 軟件開發(fā)中的注意事項(xiàng)
15、 1、項(xiàng)目設(shè)計(jì) 項(xiàng)目設(shè)計(jì)的主導(dǎo)思想,我覺得可以理解為兩種,一種是完全設(shè)計(jì),一個(gè)是簡(jiǎn)單設(shè)計(jì)。 完全設(shè)計(jì)是指在具體編寫代碼之前對(duì)軟件的各種方面都調(diào)查好,做好詳細(xì)的需求分析、編寫好全部的開發(fā)文檔,設(shè)計(jì)出程序全部流程后再開始寫代碼。 換句話說,就是全部的計(jì)劃好了,能看到最終的樣子,再開戰(zhàn)。這好像也是很多“軟件工程”書里要求的那樣。開始的時(shí)候,我覺得這種方法不錯(cuò)也。什么都計(jì)劃好了,照著做就是了。不過這里有個(gè)明顯的問題,就是誰來做這個(gè)完美的計(jì)劃?估計(jì)只有及其BT的人了,但是大部分人的想要完全設(shè)計(jì),并且沒有錯(cuò)誤,或者已經(jīng)有幾種后備的容錯(cuò)方案,并能準(zhǔn)確無誤的推行。以達(dá)到最終目標(biāo)。這樣的境
16、界,沒有很多年的工作經(jīng)歷是不可能的。我也沒有這樣的本事,所以我也就放棄了這種想法。 簡(jiǎn)單設(shè)計(jì):簡(jiǎn)單設(shè)計(jì)一種概念,一種可以接受的簡(jiǎn)單的設(shè)計(jì),最起碼數(shù)據(jù)庫已經(jīng)定下來,基本流程已經(jīng)確定的方案,來作為程序設(shè)計(jì)的開始,并隨時(shí)根據(jù)實(shí)際情況的進(jìn)展來修正具體的功能設(shè)計(jì),但這種功能修改不能是修改數(shù)據(jù)庫結(jié)構(gòu)。也就是說數(shù)據(jù)庫結(jié)構(gòu)是在編程之前經(jīng)過反復(fù)論證的。這種方法減少了前期設(shè)計(jì)的時(shí)間,把代碼編寫工作和部分設(shè)計(jì)工作放在了一起,實(shí)際縮短了項(xiàng)目開發(fā)的時(shí)間。如果說完全設(shè)計(jì)方法要求有很厲害的前期設(shè)計(jì)人員,那么簡(jiǎn)單設(shè)計(jì)要求有很有設(shè)計(jì)頭腦的編程人員。編程人員不僅僅是K代碼的人而且要負(fù)責(zé)程序架構(gòu)的設(shè)計(jì)。所以對(duì)程序員的要求就
17、很高了。 簡(jiǎn)單設(shè)計(jì)的成功的一個(gè)基點(diǎn)是編程人員設(shè)計(jì)的邏輯結(jié)構(gòu)簡(jiǎn)單并能根據(jù)需要來調(diào)整其邏輯結(jié)構(gòu),就是代碼結(jié)構(gòu)靈活,簡(jiǎn)單設(shè)計(jì)帶來的另外一個(gè)變化就是會(huì)議會(huì)比較多,編程人員之間的交流就變的很重要。現(xiàn)在一般的中小型軟件公司基本上都是采用簡(jiǎn)單設(shè)計(jì)的,除非那些很大型的軟件公司。 總結(jié),簡(jiǎn)單設(shè)計(jì)考驗(yàn)的是開發(fā)人員的能力。完全設(shè)計(jì)考驗(yàn)的是前期設(shè)計(jì)人員和整個(gè)項(xiàng)目組完整能力。(各種文檔的編寫,開發(fā)人員一定會(huì)要寫一部分的。) 2、設(shè)計(jì)變化和需求變化 開發(fā)人員最怕的是什么呢?設(shè)計(jì)變化,還是需求變化?我覺得需求變化是最最致命的。當(dāng)你的一個(gè)項(xiàng)目數(shù)據(jù)庫都定下來后,而且已經(jīng)開發(fā)了若干個(gè)工作日,突然接到甲方公
18、司提出,某個(gè)功能要改變,原先的需求分析要重新改,如果這個(gè)修改是涉及的數(shù)據(jù)庫的表結(jié)構(gòu)更改的話,那真是最致命的。這就意味著項(xiàng)目的某些部分得重新推倒重來,如果這個(gè)部分跟已完成的多個(gè)部分有牽連的話,那就后果更可怕了。所以當(dāng)碰到這種情況發(fā)生,作為項(xiàng)目經(jīng)理的你就應(yīng)該考慮先查責(zé)任人,究竟是自己的需求分析做的不夠好,還是客戶在認(rèn)同了需求分析后做出的修改,如果是后者的話,你完全可以要求客戶對(duì)他的這個(gè)修改負(fù)責(zé)任!那么,呵呵,客戶先生,對(duì)不起了,本次新增加的需求將歸入另外一個(gè)版本。如果是改變前面某個(gè)需求的定義,那么說不定就要推倒重來了,不過這個(gè)時(shí)候到不用太在意,畢竟錯(cuò)的是客戶。(項(xiàng)目正式開始前沒有沒有說清楚其需求)
19、。所以,各位看客,在需求分析做好后,在開工之前一定要叫客戶認(rèn)可簽字,并且在合同上要注明,當(dāng)由客戶原因引起的需求改變而造成開發(fā)成本的增加,客戶要為此買單地。 如果在需求不變的情況之下,設(shè)計(jì)發(fā)生了變化,這個(gè)僅僅是我們內(nèi)部之間的矛盾,商量一下就能解決。在簡(jiǎn)單設(shè)計(jì)中,因?yàn)榍捌诘脑O(shè)計(jì)是不完整的,那么當(dāng)進(jìn)入任何一個(gè)新的模塊進(jìn)行開發(fā)時(shí),都有可能引起設(shè)計(jì)的變化。開發(fā)人員的水平的高低就基本上決定了軟件的好壞。 3、代碼編寫 當(dāng)需求定下來數(shù)據(jù)庫也定下來后, 其實(shí)我們就可以進(jìn)行實(shí)質(zhì)性的編碼了,按照我的看法,一個(gè)人單獨(dú)編程最好,能隨時(shí)偷懶。(上網(wǎng),和MM聊聊),但是現(xiàn)在的軟件項(xiàng)目越來越大,工期
20、也越來越緊,事實(shí)上我們一個(gè)小組里面,一般有3-5程序員,所以我們要強(qiáng)調(diào)團(tuán)隊(duì)合作性。那么你寫的代碼使得別人要能夠看懂,我們必須在實(shí)際的編寫代碼過程中要有詳細(xì)的編碼規(guī)范,編碼規(guī)范在很多書籍里面都提到過。但最起碼以下的一些規(guī)范是我們必須要遵守的: 一)源程序文件結(jié)構(gòu): 每個(gè)程序文件應(yīng)由標(biāo)題、內(nèi)容和附加說明三部分組成。 ?。?)標(biāo)題:文件最前面的注釋說明,其內(nèi)容主要包括:程序名,作者,版權(quán)信息,簡(jiǎn)要說明 等,必要時(shí)應(yīng)有更詳盡的說明(將以此部分以空行隔開單獨(dú)注釋)。 ?。?)內(nèi)容控件注冊(cè)等函數(shù)應(yīng)放在內(nèi)容部分的最后,類的定義按 private 、 protected 、 pub
21、ilic 、 __pubished 的順序,并盡量保持每一部分只有一個(gè),各部分中按數(shù)據(jù)、函數(shù)、屬性、事件的順序。 ?。?)附加說明:文件末尾的補(bǔ)充說明,如參考資料等,若內(nèi)容不多也可放在標(biāo)題部分的最后。 二)界面設(shè)計(jì)風(fēng)格的一致性: 由于采用可視化編程,所有的界面均與Win32方式類似,相應(yīng)采用的控件等也大都為Windows操作系統(tǒng)下的標(biāo)準(zhǔn)控件,而且參考了其他一些市面上相關(guān)的企業(yè)內(nèi)部管理的應(yīng)用軟件。 基于簡(jiǎn)單易操作的原則,貼近用戶考慮,用戶界面采用Windows風(fēng)格的標(biāo)準(zhǔn)界面,操作方式亦同Windows風(fēng)格,這樣在實(shí)施過程,可以降低對(duì)客戶的培訓(xùn),也可以使用戶容易上手,
22、簡(jiǎn)單易學(xué)。 三)編輯風(fēng)格: ?。?)縮進(jìn):縮進(jìn)以 Tab 為單位,一個(gè) Tab 為四個(gè)空格大小。全局?jǐn)?shù)據(jù)、函數(shù) 原型、標(biāo)題、附加說明、函數(shù)說明、標(biāo)號(hào)等均頂格書寫。 ?。?)空格:數(shù)據(jù)和函數(shù)在其類型,修飾(如 __fastcall 等)名稱之間適當(dāng)空格并據(jù)情況對(duì) 齊。關(guān)鍵字原則上空一格,不論是否有括號(hào),對(duì)語句行后加的注釋應(yīng)用適當(dāng)空格與語句隔開并盡可能對(duì)齊。 (3)對(duì)齊:原則上關(guān)系密切的行應(yīng)對(duì)齊,對(duì)齊包括類型、修飾、名稱、參數(shù)等各部分對(duì)齊。 另每一行的長(zhǎng)度不應(yīng)超過屏幕太多,必要時(shí)適當(dāng)換行。 ?。?)空行:程序文件結(jié)構(gòu)各部分之間空兩行,若不必要也可只空一行,
23、各函數(shù)實(shí)現(xiàn)之間一般空兩行。 (5)注釋:對(duì)注釋有以下三點(diǎn)要求: A、必須是有意義; B、必須正確的描述了程序; C、必須是最新的。 注釋必不可少,但也不應(yīng)過多,以下是四種必要的注釋: 標(biāo)題、附加說明; 函數(shù)說明:對(duì)幾乎每個(gè)函數(shù)都應(yīng)有適當(dāng)?shù)恼f明,通常加在函數(shù)實(shí)現(xiàn)之前,在沒有函數(shù)實(shí)現(xiàn)部分的情況下則加在函數(shù)原型前,其內(nèi)容主要是函數(shù)的功能、目的、算法等說明,參數(shù)說明、返回 值說明等,必要時(shí)還要有一些如特別的軟硬件要求等說明; 在代碼不明晰或不可移植處應(yīng)有少量說明; 及少量的其它注釋。 四)命名規(guī)范: 堅(jiān)持采用匈牙利
24、變量命名慣例,所有標(biāo)識(shí)符一律用英文或英文縮寫,杜絕采用拼音,標(biāo)識(shí)符中每個(gè)單詞首字母大寫,縮寫詞匯一般全部大寫,只在必要時(shí)加“_”間隔詞匯。 4、BUG修補(bǔ) 程序出現(xiàn)了BUG誰來修補(bǔ)呢,嘿嘿嘿…… 最好的辦法是誰編寫誰修補(bǔ),誰改壞誰修補(bǔ)。一個(gè)人改壞的代碼一人去修。兩個(gè)人一起改壞的代碼兩人一起修。 5、開發(fā)人員的測(cè)試 開發(fā)人員的測(cè)試是保證代碼能正常運(yùn)行,在開發(fā)時(shí)候發(fā)現(xiàn)的錯(cuò)誤往往比較容易修正。(另外一個(gè)好處就是沒有人來罵你。因?yàn)橹挥心阕约褐?。但是一旦軟件到了測(cè)試小組那里出了問題,那么就多了很多時(shí)間來修正BUG,如果到了客戶哪里才發(fā)現(xiàn)的BUG,那么時(shí)間就更長(zhǎng)
25、了,開發(fā)人員本身受到的壓力也是到了最大話了??蛻?>公司->測(cè)試小組->開發(fā)人員。 這個(gè)完全是倒金字塔型的,承受能力差的一環(huán)很容易出事情的。 另外開發(fā)人員的測(cè)試除了保證代碼能正常運(yùn)行以外,還有一個(gè)很重要的方面就是要保證上次能正常運(yùn)行的代碼,這次還是能正常運(yùn)行。如果做不到這點(diǎn),那么BUG就不斷的會(huì)出現(xiàn),很多BUG也會(huì)反復(fù)出現(xiàn)。于是軟件看上去就有修補(bǔ)不完的BUG了。如果出現(xiàn)這種情況,那么開發(fā)人員有必要再教育。一般公司教育的方式有四種。第一種,扣工資,第二種,加班,反復(fù)加班+精神攻擊。 第三種,開除。第四種,調(diào)動(dòng)人員來幫助那個(gè)出了麻煩的家伙。 但愿看這個(gè)文章的人不要受到前面三種教育。 軟
26、件開發(fā)企業(yè)用人主要有以下幾個(gè)特征 1 外包開發(fā)行業(yè)快速發(fā)展,對(duì)“人才”在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來越高; 2 Java和.NET技術(shù)在市場(chǎng)上平分秋色,都有大量的崗位需求,同時(shí)值得慶幸的是二者在應(yīng)用層面上的技術(shù)差異越來越少; 3 軟件開發(fā)企業(yè)對(duì)開發(fā)人員的基本技術(shù)素養(yǎng)強(qiáng)調(diào)得越來越多,例如:面向?qū)ο蟮某绦蛟O(shè)計(jì)思想和代碼組織方法、HTML/CSS/JavaScript客戶端技術(shù); 4 為了保證質(zhì)量和工期,企業(yè)中大量使用各種框架技術(shù),要求開發(fā)人員至少熟悉一種框架技術(shù); 5 MIS、OA、ERP、CRM、系統(tǒng)集成、物流、進(jìn)銷存、電子政務(wù)、網(wǎng)站
27、建設(shè)這一類B/S系統(tǒng),成為軟件工程師需求最大的業(yè)務(wù)領(lǐng)域。 軟件開發(fā)平臺(tái) 軟件開發(fā)平臺(tái)源于繁瑣的實(shí)踐開發(fā)過程中。開發(fā)人員在實(shí)踐中將常用的函數(shù)、類、抽象、接口等進(jìn)行總結(jié)、封裝,成為了可以重復(fù)使用的“中間件”,而隨著“中間件”的成熟和通用,功能更強(qiáng)大、更能滿足企業(yè)級(jí)客戶需求的——軟件開平臺(tái)應(yīng)運(yùn)而生。 平臺(tái)是一段時(shí)間內(nèi)科研成果的匯聚,也是階段性平臺(tái)期的標(biāo)志,為行業(yè)進(jìn)入新的研發(fā)領(lǐng)域提供了基礎(chǔ)。由于平臺(tái)對(duì)企業(yè)核心競(jìng)爭(zhēng)力的提升非常明顯,目前國(guó)內(nèi)的管理軟件市場(chǎng),軟件開發(fā)平臺(tái)的應(yīng)用已經(jīng)成為一種趨勢(shì)。 目前國(guó)內(nèi)的軟件開發(fā)平臺(tái),除國(guó)際品牌如IBM,國(guó)內(nèi)平臺(tái)商比較成熟的有Justep、普元、
28、昕友億方、創(chuàng)恒信、北京百特安茂信息技術(shù)有限公司提供的VisualSet開發(fā)平臺(tái),以及山東金現(xiàn)代信息技術(shù)有限公司出品的輕騎兵軟件開發(fā)平臺(tái)等,部分管理軟件企業(yè)也開始借力平臺(tái)提升企業(yè)競(jìng)爭(zhēng)力,如用友。 由于開發(fā)環(huán)境、開發(fā)人員、功能定位、行業(yè)背景等的不同,不同品牌的平臺(tái)存在較大差別。以輕騎兵軟件開發(fā)平臺(tái)為例,其最大特點(diǎn)在于可視化的界面定制、方便快捷的流程配置、按需定義的報(bào)表定制、功能完善的二次開發(fā)支持。 軟件開發(fā)-軟件開發(fā)中的注意事項(xiàng) 1、項(xiàng)目設(shè)計(jì) 項(xiàng)目設(shè)計(jì)的主導(dǎo)思想,我覺得可以理解為兩種,一種是完全設(shè)計(jì),一個(gè)是簡(jiǎn)單設(shè)計(jì)。 完全設(shè)計(jì)是指在具體編寫代碼之前對(duì)軟件的各種方面
29、都調(diào)查好,做好詳細(xì)的需求分析、編寫好全部的開發(fā)文檔,設(shè)計(jì)出程序全部流程后再開始寫代碼。 換句話說,就是全部的計(jì)劃好了,能看到最終的樣子,再開戰(zhàn)。這好像也是很多“軟件工程”書里要求的那樣。開始的時(shí)候,我覺得這種方法不錯(cuò)也。什么都計(jì)劃好了,照著做就是了。不過這里有個(gè)明顯的問題,就是誰來做這個(gè)完美的計(jì)劃?估計(jì)只有及其BT的人了,但是大部分人的想要完全設(shè)計(jì),并且沒有錯(cuò)誤,或者已經(jīng)有幾種后備的容錯(cuò)方案,并能準(zhǔn)確無誤的推行。以達(dá)到最終目標(biāo)。這樣的境界,沒有很多年的工作經(jīng)歷是不可能的。我也沒有這樣的本事,所以我也就放棄了這種想法。 簡(jiǎn)單設(shè)計(jì):簡(jiǎn)單設(shè)計(jì)一種概念,一種可以接受的簡(jiǎn)單的設(shè)計(jì),最起碼數(shù)據(jù)庫已
30、經(jīng)定下來,基本流程已經(jīng)確定的方案,來作為程序設(shè)計(jì)的開始,并隨時(shí)根據(jù)實(shí)際情況的進(jìn)展來修正具體的功能設(shè)計(jì),但這種功能修改不能是修改數(shù)據(jù)庫結(jié)構(gòu)。也就是說數(shù)據(jù)庫結(jié)構(gòu)是在編程之前經(jīng)過反復(fù)論證的。這種方法減少了前期設(shè)計(jì)的時(shí)間,把代碼編寫工作和部分設(shè)計(jì)工作放在了一起,實(shí)際縮短了項(xiàng)目開發(fā)的時(shí)間。如果說完全設(shè)計(jì)方法要求有很厲害的前期設(shè)計(jì)人員,那么簡(jiǎn)單設(shè)計(jì)要求有很有設(shè)計(jì)頭腦的編程人員。編程人員不僅僅是K代碼的人而且要負(fù)責(zé)程序架構(gòu)的設(shè)計(jì)。所以對(duì)程序員的要求就很高了。 簡(jiǎn)單設(shè)計(jì)的成功的一個(gè)基點(diǎn)是編程人員設(shè)計(jì)的邏輯結(jié)構(gòu)簡(jiǎn)單并能根據(jù)需要來調(diào)整其邏輯結(jié)構(gòu),就是代碼結(jié)構(gòu)靈活,簡(jiǎn)單設(shè)計(jì)帶來的另外一個(gè)變化就是會(huì)議會(huì)比較多,編程人
31、員之間的交流就變的很重要?,F(xiàn)在一般的中小型軟件公司基本上都是采用簡(jiǎn)單設(shè)計(jì)的,除非那些很大型的軟件公司。 總結(jié),簡(jiǎn)單設(shè)計(jì)考驗(yàn)的是開發(fā)人員的能力。完全設(shè)計(jì)考驗(yàn)的是前期設(shè)計(jì)人員和整個(gè)項(xiàng)目組完整能力。(各種文檔的編寫,開發(fā)人員一定會(huì)要寫一部分的。) 2、設(shè)計(jì)變化和需求變化 開發(fā)人員最怕的是什么呢?設(shè)計(jì)變化,還是需求變化?我覺得需求變化是最最致命的。當(dāng)你的一個(gè)項(xiàng)目數(shù)據(jù)庫都定下來后,而且已經(jīng)開發(fā)了若干個(gè)工作日,突然接到甲方公司提出,某個(gè)功能要改變,原先的需求分析要重新改,如果這個(gè)修改是涉及的數(shù)據(jù)庫的表結(jié)構(gòu)更改的話,那真是最致命的。這就意味著項(xiàng)目的某些部分得重新推倒重來,如果這個(gè)部分
32、跟已完成的多個(gè)部分有牽連的話,那就后果更可怕了。所以當(dāng)碰到這種情況發(fā)生,作為項(xiàng)目經(jīng)理的你就應(yīng)該考慮先查責(zé)任人,究竟是自己的需求分析做的不夠好,還是客戶在認(rèn)同了需求分析后做出的修改,如果是后者的話,你完全可以要求客戶對(duì)他的這個(gè)修改負(fù)責(zé)任!那么,呵呵,客戶先生,對(duì)不起了,本次新增加的需求將歸入另外一個(gè)版本。如果是改變前面某個(gè)需求的定義,那么說不定就要推倒重來了,不過這個(gè)時(shí)候到不用太在意,畢竟錯(cuò)的是客戶。(項(xiàng)目正式開始前沒有沒有說清楚其需求)。所以,各位看客,在需求分析做好后,在開工之前一定要叫客戶認(rèn)可簽字,并且在合同上要注明,當(dāng)由客戶原因引起的需求改變而造成開發(fā)成本的增加,客戶要為此買單地。
33、 如果在需求不變的情況之下,設(shè)計(jì)發(fā)生了變化,這個(gè)僅僅是我們內(nèi)部之間的矛盾,商量一下就能解決。在簡(jiǎn)單設(shè)計(jì)中,因?yàn)榍捌诘脑O(shè)計(jì)是不完整的,那么當(dāng)進(jìn)入任何一個(gè)新的模塊進(jìn)行開發(fā)時(shí),都有可能引起設(shè)計(jì)的變化。開發(fā)人員的水平的高低就基本上決定了軟件的好壞。 3、代碼編寫 當(dāng)需求定下來數(shù)據(jù)庫也定下來后, 其實(shí)我們就可以進(jìn)行實(shí)質(zhì)性的編碼了,按照我的看法,一個(gè)人單獨(dú)編程最好,能隨時(shí)偷懶。(上網(wǎng),和MM聊聊),但是現(xiàn)在的軟件項(xiàng)目越來越大,工期也越來越緊,事實(shí)上我們一個(gè)小組里面,一般有3-5程序員,所以我們要強(qiáng)調(diào)團(tuán)隊(duì)合作性。那么你寫的代碼使得別人要能夠看懂,我們必須在實(shí)際的編寫代碼過程中要有詳細(xì)的編碼
34、規(guī)范,編碼規(guī)范在很多書籍里面都提到過。但最起碼以下的一些規(guī)范是我們必須要遵守的: 一)源程序文件結(jié)構(gòu): 每個(gè)程序文件應(yīng)由標(biāo)題、內(nèi)容和附加說明三部分組成。 ?。?)標(biāo)題:文件最前面的注釋說明,其內(nèi)容主要包括:程序名,作者,版權(quán)信息,簡(jiǎn)要說明 等,必要時(shí)應(yīng)有更詳盡的說明(將以此部分以空行隔開單獨(dú)注釋)。 (2)內(nèi)容控件注冊(cè)等函數(shù)應(yīng)放在內(nèi)容部分的最后,類 的定義按 private 、 protected 、 pubilic 、 __pubished 的順序,并盡量保持每一部分只有一個(gè),各部分中按數(shù)據(jù)、函數(shù)、屬性、事件的順序。 (3)附加說明:文件末尾的補(bǔ)充說明,
35、如參考資料等,若內(nèi)容不多也可放在標(biāo)題部分的最后。 二)界面設(shè)計(jì)風(fēng)格的一致性: 由于采用可視化編程,所有的界面均與Win32方式類似,相應(yīng)采用的控件等也大都為Windows操作系統(tǒng)下的標(biāo)準(zhǔn)控件,而且參考了其他一些市面上相關(guān)的企業(yè)內(nèi)部管理的應(yīng)用軟件。 基于簡(jiǎn)單易操作的原則,貼近用戶考慮,用戶界面采用Windows風(fēng)格的標(biāo)準(zhǔn)界面,操作方式亦同Windows風(fēng)格,這樣在實(shí)施過程,可以降低對(duì)客戶的培訓(xùn),也可以使用戶容易上手,簡(jiǎn)單易學(xué)。 三)編輯風(fēng)格: ?。?)縮進(jìn):縮進(jìn)以 Tab 為單位,一個(gè) Tab 為四個(gè)空格大小。全局?jǐn)?shù)據(jù)、函數(shù) 原型、標(biāo)題、附加說明、函數(shù)說明、
36、標(biāo)號(hào)等均頂格書寫。 ?。?)空格:數(shù)據(jù)和函數(shù)在其類型,修飾(如 __fastcall 等)名稱之間適當(dāng)空格并據(jù)情況對(duì) 齊。關(guān)鍵字原則上空一格,不論是否有括號(hào),對(duì)語句行后加的注釋應(yīng)用適當(dāng)空格與語句隔開并盡可能對(duì)齊。 ?。?)對(duì)齊:原則上關(guān)系密切的行應(yīng)對(duì)齊,對(duì)齊包括類型、修飾、名稱、參數(shù)等各部分對(duì)齊。 另每一行的長(zhǎng)度不應(yīng)超過屏幕太多,必要時(shí)適當(dāng)換行。 ?。?)空行:程序文件結(jié)構(gòu)各部分之間空兩行,若不必要也可只空一行,各函數(shù)實(shí)現(xiàn)之間一般空兩行。 ?。?)注釋:對(duì)注釋有以下三點(diǎn)要求: A、必須是有意義; B、必須正確的描述了程序; C、必須是最新
37、的。 注釋必不可少,但也不應(yīng)過多,以下是四種必要的注釋: 標(biāo)題、附加說明; 函數(shù)說明:對(duì)幾乎每個(gè)函數(shù)都應(yīng)有適當(dāng)?shù)恼f明,通常加在函數(shù)實(shí)現(xiàn)之前,在沒有函數(shù)實(shí)現(xiàn)部分的情況下則加在函數(shù)原型前,其內(nèi)容主要是函數(shù)的功能、目的、算法等說明,參數(shù)說明、返回 值說明等,必要時(shí)還要有一些如特別的軟硬件要求等說明; 在代碼不明晰或不可移植處應(yīng)有少量說明; 及少量的其它注釋。 四)命名規(guī)范: 堅(jiān)持采用匈牙利變量命名慣例,所有標(biāo)識(shí)符一律用英文或英文縮寫,杜絕采用拼音,標(biāo)識(shí)符中每個(gè)單詞首字母大寫,縮寫詞匯一般全部大寫,只在必要時(shí)加“_”間隔詞匯。 4、BUG
38、修補(bǔ) 程序出現(xiàn)了BUG誰來修補(bǔ)呢,嘿嘿嘿…… 最好的辦法是誰編寫誰修補(bǔ),誰改壞誰修補(bǔ)。一個(gè)人改壞的代碼一人去修。兩個(gè)人一起改壞的代碼兩人一起修。 5、開發(fā)人員的測(cè)試 開發(fā)人員的測(cè)試是保證代碼能正常運(yùn)行,在開發(fā)時(shí)候發(fā)現(xiàn)的錯(cuò)誤往往比較容易修正。(另外一個(gè)好處就是沒有人來罵你。因?yàn)橹挥心阕约褐?。但是一旦軟件到了測(cè)試小組那里出了問題,那么就多了很多時(shí)間來修正BUG,如果到了客戶哪里才發(fā)現(xiàn)的BUG,那么時(shí)間就更長(zhǎng)了,開發(fā)人員本身受到的壓力也是到了最大話了。客戶->公司->測(cè)試小組->開發(fā)人員。 這個(gè)完全是倒金字塔型的,承受能力差的一環(huán)很容易出事情的。 另外開發(fā)人員的測(cè)試除了保證代碼能正常運(yùn)行以外,還有一個(gè)很重要的方面就是要保證上次能正常運(yùn)行的代碼,這次還是能正常運(yùn)行。如果做不到這點(diǎn),那么BUG就不斷的會(huì)出現(xiàn),很多BUG也會(huì)反復(fù)出現(xiàn)。于是軟件看上去就有修補(bǔ)不完的BUG了。如果出現(xiàn)這種情況,那么開發(fā)人員有必要再教育。一般公司教育的方式有以下四種: 第一種,開會(huì)教育批評(píng), 第二種,扣工資, 第三種,加班,反復(fù)加班+精神攻擊, 第四種,開除。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六級(jí)上冊(cè)科學(xué)ppt課件-誰選擇了它們-教科版
- 護(hù)理核心制度培訓(xùn)一_圖文課件
- 部編《池子與河流》課件
- SWOT分析法(非常全面)課件
- 主題班會(huì)我的成長(zhǎng)目標(biāo)課件
- 城市交通擁堵及治理總結(jié)課件
- 輸血相關(guān)性急性肺損傷課件
- 議論文的謀篇布局與論點(diǎn)的提出ppt課件
- 六級(jí)上冊(cè)科學(xué)ppt課件-地球的近鄰——月球-冀人版
- 疾病預(yù)防、冬季保暖-課件
- 中考英語語法復(fù)習(xí)之狀語從句ppt課件集4
- 《百分?jǐn)?shù)的意義和讀寫》參考ppt課件
- 主題班會(huì)堅(jiān)持就是勝利課件
- 第二章--用人單位對(duì)大學(xué)生的要求概況ppt課件
- 教科版六年級(jí)科學(xué)上冊(cè)第三單元檢測(cè)卷(含答案)課件