- 相關(guān)推薦
軟件設(shè)計(jì)師
前言:軟件技術(shù)發(fā)展到今天,分工越來(lái)越細(xì)。程序員做為一個(gè)通用稱謂已經(jīng)無(wú)法確切定義各種工作的性質(zhì)和特點(diǎn)。因?yàn)檐浖_(kāi)發(fā)中各種職責(zé)區(qū)分不清,無(wú)論是剛剛寫(xiě)代碼的新手還是具有多年經(jīng)驗(yàn)的老手,一概被扣上程序員的通用名稱,這也使得很多進(jìn)入這個(gè)領(lǐng)域的軟件開(kāi)發(fā)人員無(wú)法制訂自己未來(lái)的職業(yè)發(fā)展之路。
軟件設(shè)計(jì)師包括軟件系統(tǒng)設(shè)計(jì)師(System Designer)和軟件架構(gòu)設(shè)計(jì)師(Architect)。系統(tǒng)設(shè)計(jì)師應(yīng)對(duì)"系統(tǒng)結(jié)構(gòu)"所使用的軟件技術(shù)非常了解,自身具備良好編程技巧,才能成為優(yōu)秀的系統(tǒng)設(shè)計(jì)師。系統(tǒng)設(shè)計(jì)師的職責(zé)是把結(jié)構(gòu)模型對(duì)應(yīng)到實(shí)現(xiàn)模型上,從概念到實(shí)現(xiàn)期間規(guī)劃和組合模型的優(yōu)劣是決定軟件系統(tǒng)設(shè)計(jì)師好壞的標(biāo)準(zhǔn)。
而軟件架構(gòu)設(shè)計(jì)師是程序員技術(shù)方向的最終歸屬,也是成長(zhǎng)鏈中最神圣的一環(huán),架構(gòu)設(shè)計(jì)師的貢獻(xiàn)最大。架構(gòu)設(shè)計(jì)師徹底擺脫了語(yǔ)言的束縛,知道軟件發(fā)展趨勢(shì)。他們會(huì)開(kāi)發(fā)新一代產(chǎn)品或者制定新一代產(chǎn)品的方案。軟件架構(gòu)設(shè)計(jì)是面向未來(lái)的。全球大規(guī)模的軟件公司并不多,很重要的一個(gè)原因是軟件產(chǎn)品的發(fā)展都滯后于市場(chǎng)需求,即有需求后再研發(fā)產(chǎn)品,而不是預(yù)見(jiàn)需求,預(yù)先設(shè)計(jì),因此往往軟件設(shè)計(jì)局部是合理的,但從整體的角度看卻不合理。要解決這些問(wèn)題就要看軟件架構(gòu)設(shè)計(jì)師的能力了。
從軟件開(kāi)發(fā)歷史看,軟件設(shè)計(jì)經(jīng)歷了很多階段。最早是結(jié)構(gòu)化設(shè)計(jì),只是把復(fù)雜的問(wèn)題逐層分解,通過(guò)流程圖形式將任務(wù)逐級(jí)細(xì)化;后來(lái)出現(xiàn)面向?qū)ο笤O(shè)計(jì),從底層進(jìn)行對(duì)象封裝、繼承、多態(tài),這時(shí)更多的是考慮代碼重用,面向的主要是類和對(duì)象。接下來(lái)出現(xiàn)組件設(shè)計(jì),這主要是面向應(yīng)用方面。這三種都是面向功能的設(shè)計(jì)。
從EJB、COBRA技術(shù)出現(xiàn)之后,人們開(kāi)始基于框架進(jìn)行設(shè)計(jì),也就是架構(gòu)設(shè)計(jì)。繼續(xù)發(fā)展,就是基于規(guī)則的設(shè)計(jì)了,比如基于模塊和工作流的設(shè)計(jì),這時(shí)主要將客戶化做的更詳細(xì)以及考慮開(kāi)放性、可擴(kuò)展性、可靠性、效率方面的問(wèn)題。
百分網(wǎng)工作
隨著大型軟件開(kāi)發(fā)越來(lái)越多,整體把握軟件架構(gòu)變的越來(lái)越重要。尤其當(dāng)用戶需求并不明確的情況下,就要開(kāi)始做軟件,如何防止交付的軟件產(chǎn)品與用戶的要求距離很遠(yuǎn),這就需要軟件系統(tǒng)設(shè)計(jì)師進(jìn)行恰當(dāng)?shù)脑O(shè)計(jì)。
在應(yīng)用軟件開(kāi)發(fā)中,軟件設(shè)計(jì)師擔(dān)當(dāng)承上啟下的角色,也就是把用戶的需求,基于應(yīng)用的問(wèn)題變成計(jì)算機(jī)系統(tǒng)中可以解決的問(wèn)題。設(shè)計(jì)可以分為功能上的設(shè)計(jì)和技術(shù)體系上的設(shè)計(jì),但在實(shí)際工作中,這兩者很難區(qū)分清晰。
彭六三談到,NC(用友大型ERP系統(tǒng))是通過(guò)總體設(shè)計(jì)組這個(gè)團(tuán)隊(duì)共同完成軟件設(shè)計(jì)的。首先要進(jìn)行產(chǎn)品定義,規(guī)定產(chǎn)品要做什么,以及相關(guān)的市嘗產(chǎn)品周期和前景等問(wèn)題,產(chǎn)品所應(yīng)用的技術(shù)方向也會(huì)有一些描述。接下來(lái)是總體設(shè)計(jì),總體設(shè)計(jì)要考慮技術(shù)架構(gòu)以及與應(yīng)用有關(guān)的問(wèn)題。像跨地域的大型產(chǎn)品肯定要選擇B/S架構(gòu)。每個(gè)模塊中功能節(jié)點(diǎn)也要定義,應(yīng)用組件和描述的數(shù)據(jù)模型也要做出來(lái),諸如形成哪些標(biāo)準(zhǔn)平臺(tái),軟件如何分布都屬于總體設(shè)計(jì)的范疇?傮w設(shè)計(jì)再向下細(xì)分就是詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)完成之后才是編寫(xiě)代碼。
用友軟件副總工程師彭六三
對(duì)于軟件設(shè)計(jì),廖恒毅有自己的觀點(diǎn)。他認(rèn)為軟件設(shè)計(jì)師如果面對(duì)很復(fù)雜的設(shè)計(jì),即便將架構(gòu)設(shè)計(jì)出來(lái),讓其他人去實(shí)現(xiàn)也是很困難的。他認(rèn)為自然語(yǔ)言不如程序語(yǔ)言表達(dá)的清晰,喜歡先用代碼的方式把整個(gè)框架架構(gòu)好,并編寫(xiě)基本的組件和接口代碼。這樣其他的程序員就可以很方便的復(fù)用自己的基礎(chǔ)組件,并利用預(yù)留的接口添寫(xiě)完整的代碼。做為軟件設(shè)計(jì)師,他能夠提供一個(gè)平臺(tái)性的開(kāi)發(fā)環(huán)境,讓其他程序員方便的進(jìn)行擴(kuò)展開(kāi)發(fā)。這不僅降低了開(kāi)發(fā)難度,而且節(jié)省了大量的重復(fù)勞動(dòng)。復(fù)用模塊也可以提高系統(tǒng)的穩(wěn)定性,因?yàn)檫@是經(jīng)過(guò)多次測(cè)試的代碼
百分網(wǎng)企業(yè)用人的主要的以下特征
1 外包開(kāi)發(fā)行業(yè)快速發(fā)展,對(duì)“人才”在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來(lái)越高;
2 Java和.NET技術(shù)在市場(chǎng)上平分秋色,都有大量的崗位需求,同時(shí)值得慶幸的是二者在應(yīng)用層面上的技術(shù)差異越來(lái)越少;
3 軟件開(kāi)發(fā)企業(yè)對(duì)開(kāi)發(fā)人員的基本技術(shù)素養(yǎng)強(qiáng)調(diào)得越來(lái)越多,例如:面向?qū)ο蟮某绦蛟O(shè)計(jì)思想和代碼組織方法、HTML/CSS/JavaScript客戶端技術(shù);
4 為了保證質(zhì)量和工期,企業(yè)中大量使用各種框架技術(shù),要求開(kāi)發(fā)人員至少熟悉一種框架技術(shù);
5 MIS、OA、ERP、CRM、系統(tǒng)集成、物流、進(jìn)銷存、電子政務(wù)、網(wǎng)站建設(shè)這一類B/S系統(tǒng),成為軟件工程師需求最大的業(yè)務(wù)領(lǐng)域。
【軟件設(shè)計(jì)師】相關(guān)文章:
認(rèn)知畫(huà)圖軟件教學(xué)設(shè)計(jì)10-26
常用辦公軟件技巧大全02-25
常用辦公軟件小技巧08-18
常用的網(wǎng)頁(yè)設(shè)計(jì)軟件有哪些01-19
十種網(wǎng)頁(yè)設(shè)計(jì)軟件01-25
易改英語(yǔ)寫(xiě)作軟件介紹01-25
word辦公軟件常用的小技巧08-18
常用辦公軟件快捷鍵02-18