[濟(jì)南軟件開發(fā)專題]濟(jì)南軟件開發(fā)的注意事項(xiàng)
2014-06-13 17:08:57 訪問:
濟(jì)南濟(jì)南軟件開發(fā)的注意事項(xiàng)
一、定義
濟(jì)南軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。濟(jì)南軟件開發(fā)是一項(xiàng)包括需求捕獲,需求分析,設(shè)計(jì),實(shí)現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用濟(jì)南軟件開發(fā)工具可以進(jìn)行開發(fā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件。 軟件并不僅是包括可以在盤算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被以為是軟件的一部分。 軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)協(xié)調(diào)測試以及編寫、提交程序。
二、五大注意事項(xiàng)
1、項(xiàng)目設(shè)計(jì)
項(xiàng)目設(shè)計(jì)的主導(dǎo)思維,我覺得可以懂得為兩種,一種是完全設(shè)計(jì),一個(gè)是簡單設(shè)計(jì)。
完全設(shè)計(jì)是指在詳細(xì)編寫代碼之前對軟件的各種方面都考察好,做好詳細(xì)的需要剖析、編寫好全部的開發(fā)文檔,設(shè)計(jì)出程序全部流程后再開始寫代碼。換句話說,就是全體的打算好了,能看到終極的樣子,再開火。這似乎也是許多“軟件工程”書里要求的那樣。開始的時(shí)候,我感到這種方法不錯(cuò)也。什么都方案好了,照著做就是了。不外這里有個(gè)顯明的問題,就是誰來做這個(gè)完善的規(guī)劃?估量只有及其BT的人了,然而大部分人的想要完全設(shè)計(jì),并且沒有過錯(cuò),或者已經(jīng)有多少種后備的容錯(cuò)方案,并能正確無誤的推行。以到達(dá)最終目的。這樣的境界,沒有良多年的工作閱歷是不可能的。我也不這樣的本領(lǐng),所以我也就廢棄了這種主意。
簡單設(shè)計(jì):簡單設(shè)計(jì)一種概念,一種能夠接收的簡單的設(shè)計(jì),最最少數(shù)據(jù)庫已經(jīng)定下來,根本流程已經(jīng)斷定的計(jì)劃,來作為程序設(shè)計(jì)的開端,并隨時(shí)依據(jù)實(shí)際情形的進(jìn)展來修改詳細(xì)的功能設(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ì)人員,那么簡單設(shè)計(jì)要求有很有設(shè)計(jì)腦筋的編程人員。編程人員不僅僅是K代碼的人而且要負(fù)責(zé)程序架構(gòu)的設(shè)計(jì)。所以對程序員的要求就很高了。簡單設(shè)計(jì)的勝利的一個(gè)基點(diǎn)是編程人員設(shè)計(jì)的邏輯結(jié)構(gòu)簡單并能根據(jù)須要來調(diào)劑其邏輯構(gòu)造,就是代碼結(jié)構(gòu)機(jī)動(dòng),簡單設(shè)計(jì)帶來的另外一個(gè)變更就是會議會比擬多,編程人員之間的交換就變的很主要。當(dāng)初個(gè)別的中小型濟(jì)南軟件公司基礎(chǔ)上都是采取簡單設(shè)計(jì)的,除非那些很大型的濟(jì)南軟件公司。
總結(jié),簡略設(shè)計(jì)考驗(yàn)的是開發(fā)人員的才能。完整設(shè)計(jì)考驗(yàn)的是前期設(shè)計(jì)職員跟全部名目組完全能力。(各種文檔的編寫,開發(fā)人員必定會要寫一局部的。)
2、設(shè)計(jì)變化和需求變化
開發(fā)人員最怕的是什么呢?設(shè)計(jì)變化,還是需求變化?我認(rèn)為需求變化是最最致命的。當(dāng)你的一個(gè)項(xiàng)目數(shù)據(jù)庫都定下來后,而且已經(jīng)開發(fā)了若干個(gè)工作日,忽然接到甲方公司提出,某個(gè)功能要轉(zhuǎn)變,本來的需求分析要從新改,如果這個(gè)修改是波及的數(shù)據(jù)庫的表結(jié)構(gòu)更改的話,那真是最致命的。這就象征著項(xiàng)目的某些部分得重新推倒重來,如果這個(gè)部分跟已實(shí)現(xiàn)的多個(gè)部分有連累的話,那就成果更恐怖了。所以當(dāng)遇到這種情況發(fā)生,作為項(xiàng)目經(jīng)理的你就應(yīng)當(dāng)考慮先查責(zé)任人,畢竟是自己的需求分析做的不夠好,仍是客戶在認(rèn)同了需求分析后做出的修改,如果是后者的話,你完全可以要求客戶對他的這個(gè)修改負(fù)義務(wù)!那么,呵呵,客戶先生,對不起了,本次新增長的需求將納入另外一個(gè)版本。如果是改變前面某個(gè)需求的定義,那么說不定就要推倒重來了,不過這個(gè)時(shí)候到不必太在意,究竟錯(cuò)的是客戶。(項(xiàng)目正式開始前沒有沒有說明白其需求)。所以,各位看客,在需求分析做好后,在動(dòng)工之前一定要叫客戶認(rèn)可簽字,并且在合同上要注明,當(dāng)由客戶起因引起的需求改變而造成開發(fā)本錢的增添,客戶要為此買單地。
如果在需求不變的情況之下,設(shè)計(jì)產(chǎn)生了變化,這個(gè)僅僅是咱們內(nèi)部之間的抵觸,磋商一下就能解決。在簡單設(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)行本質(zhì)性的編碼了,依照我的見解,一個(gè)人單獨(dú)編程最好,能隨時(shí)偷勤。(上網(wǎng),和MM聊聊),但是現(xiàn)在的軟件項(xiàng)目越來越大,工期也越來越緊,事實(shí)上我們一個(gè)小組里面,一般有3-5程序員,所以我們要強(qiáng)調(diào)團(tuán)隊(duì)配合性。那么你寫的代碼使得別人要可能看懂,我們必須在實(shí)際的編寫代碼過程中要有詳細(xì)的編碼規(guī)范,編碼規(guī)范在很多書籍里面都提到過。但最起碼以下的一些標(biāo)準(zhǔn)是我們必需要遵照的:
一)源程序言件結(jié)構(gòu):
每個(gè)程序文件應(yīng)由標(biāo)題、內(nèi)容和附加說明三部分組成。
(1)題目:文件最前面的注釋說明,其內(nèi)容主要包括:程序名,作者,版權(quán)信息,扼要說明等,必要時(shí)應(yīng)有更詳盡的說明(將以此部分以空行隔開獨(dú)自注釋)。
(2)內(nèi)容控件注冊等函數(shù)應(yīng)放在內(nèi)容部分的最后,類的定義按private、protected、pubilic、__pubished的順序,并盡量堅(jiān)持每一部分只有一個(gè),各部分中按數(shù)據(jù)、函數(shù)、屬性、事件的次序。
(3)附加說明:文件末尾的彌補(bǔ)說明,如參考材料等,若內(nèi)容未幾也可放在標(biāo)題部分的最后。
二)界面設(shè)計(jì)風(fēng)格的一致性:
因?yàn)椴捎每梢暬幊蹋械慕缑婢cWin32方式相似,相應(yīng)采用的控件等也大都為Windows操作體系下的標(biāo)準(zhǔn)控件,而且參考了其余一些市道上相干的企業(yè)內(nèi)部管理的運(yùn)用軟件。
基于簡單易操作的原則,貼近用戶斟酌,用戶界面采用Windows作風(fēng)的尺度界面,操作方法亦同Windows風(fēng)格,這樣在實(shí)行進(jìn)程,可以下降對客戶的培訓(xùn),也可以應(yīng)用戶容易上手,軟件公司,簡單易學(xué)。
三)編纂風(fēng)格:
(1)縮進(jìn):縮進(jìn)以Tab為單位,一個(gè)Tab為四個(gè)空格大小。全局?jǐn)?shù)據(jù)、函數(shù)原型、標(biāo)題、附加說明、函數(shù)說明、標(biāo)號等均頂格書寫。
(2)空格:數(shù)據(jù)和函數(shù)在其類型,修飾(如__fastcall等)名稱之間適當(dāng)空格并據(jù)情況對齊。要害字原則上空一格,不管是否有括號,對語句行后加的注釋利用適當(dāng)空格與語句隔開并盡可能對齊。
(3)對齊:準(zhǔn)則上關(guān)聯(lián)親密的行應(yīng)答齊,對齊包括類型、潤飾、名稱、參數(shù)等各部分對齊。另每一行的長度不應(yīng)超過屏幕太多,必要時(shí)適當(dāng)換行。
(4)空行:程序文件結(jié)構(gòu)各部分之間空兩行,若不用要也可只空一行,各函數(shù)實(shí)現(xiàn)之間普通空兩行。
(5)注釋:對注釋有以下三點(diǎn)要求:
A、必須是有意思;
B、必需準(zhǔn)確的描寫了程序;
C、必須是最新的。
正文必不可少,但也不應(yīng)過多,以下是四種必要的注解:
標(biāo)題、附加說明
函數(shù)說明:對簡直每個(gè)函數(shù)都應(yīng)有恰當(dāng)?shù)慕忉?,通常加在函?shù)實(shí)現(xiàn)之前,在沒有函數(shù)實(shí)現(xiàn)部分的情況下則加在函數(shù)原型前,其內(nèi)容重要是函數(shù)的功能、目標(biāo)、算法等說明,參數(shù)說明、返回值說明等,必要時(shí)還要有一些如特殊的軟硬件要求等說明;
在代碼不清晰或不可移植處應(yīng)有少量闡明及少量的其它解釋。
四)命名規(guī)范:
保持采用匈牙利變量命名通例,所有標(biāo)識符一律用英文或英文縮寫,杜絕采用拼音,標(biāo)識符中每個(gè)單詞首字母大寫,縮寫詞匯正常全部大寫,只在必要時(shí)加“_”距離詞匯。
4、BUG修補(bǔ)
程序呈現(xiàn)了BUG誰來修補(bǔ)呢,最好的措施是誰編寫誰修補(bǔ),誰改壞誰修補(bǔ)。一個(gè)人改壞的代碼一人去修。兩個(gè)人一起改壞的代碼兩人一起修。
5、開發(fā)人員的測試
開發(fā)人員的測試是保障代碼能畸形運(yùn)行,在開發(fā)時(shí)候發(fā)明的毛病往往比較容易修正。(另外一個(gè)利益就是沒有人來罵你。由于只有你本人曉得)。但是一旦軟件到了測試小組那里出了問題,那么就多了很多時(shí)間來修正BUG,如果到了客戶哪里才發(fā)現(xiàn)的BUG,那么時(shí)間就更長了,開發(fā)人員自身受到的壓力也是到了最大話了。客戶->公司->測試小組->開發(fā)人員。這個(gè)完全是倒金字塔型的,蒙受能力差的一環(huán)很輕易失事情的。
另外開發(fā)人員的測試除了保證代碼能正常運(yùn)行以外,還有一個(gè)很重要的方面就是要保證上次能正常運(yùn)行的代碼,這次還是能正常運(yùn)行。如果做不到這點(diǎn),那么BUG就一直的會涌現(xiàn),很多BUG也會反復(fù)出現(xiàn)。于是軟件看上去就有修補(bǔ)不完的BUG了。如果出現(xiàn)這種情況,那么開發(fā)人員有必要再教育。一般公司教育的方式有四種。第一種,扣工資,第二種,加班,反復(fù)加班+精力攻打。第三種,開革。第四種,調(diào)動(dòng)聽員來輔助那個(gè)出了麻煩的家伙。但愿看這個(gè)文章的人不要受到前面三種教導(dǎo)。
選購指南:
本公司主要為山東地區(qū)供應(yīng)各品種型的開發(fā),濟(jì)南桌面濟(jì)南軟件開發(fā),濟(jì)南網(wǎng)頁濟(jì)南軟件開發(fā),濟(jì)南APP濟(jì)南軟件開發(fā),濟(jì)南WinCE嵌入式濟(jì)南軟件開發(fā),具體包含如:濟(jì)南OA開發(fā)、濟(jì)南ERP開發(fā)、濟(jì)南財(cái)務(wù)濟(jì)南軟件開發(fā)、濟(jì)南HR濟(jì)南軟件開發(fā),可以滿足各種大中小型各類企業(yè)的管理需要。