『壹』 誰了解軟體開發的全過程啊,請高手指點
我提供一些軟體開發的流程,我舉一個例子:
你是一個軟體開發的老闆,我是一個軟體開發的員工,翻然 你的公司還有很多從事其他業務的人員,一天的工作開始了
一個客戶來到了我們的公司,首先由接待員接待,問請他要開發什麼樣的軟體(類型),並把他的問題提交給程序策劃人員,這還不夠,第二天,策劃人員要與客戶面談,內容就是軟體需要什麼樣的功能,並給出合理的建議,以及針對某一個功能進行評估,(是否能夠滿足,因為客戶的要求有的時候是不可能完成的,他畢竟是外行)。他了解了客戶的要求以後,並對該軟體進行詳細的分解,並最後決定是否接受該軟體的開發,分解的過程是這樣的:
1 列出該軟體的功能表:針對每一個問題,都有一個詳細的說明
2 根據功能表,制定出軟體的幾大模塊。
並切根據模塊的復雜程度,決定是否繼續劃分出更詳細的模塊
3 詳細分解模塊之間的關系,並畫出關系圖紙。我門叫他《程序的流程圖》
做好了以上的工作以後,就可以將各各模塊分發給普通的程序設計者,設計者們根據模塊的要求,設計自己的程序模塊,具體的工作是:
1 分解模塊的問題,並指定出可行的演算法。
2根據演算法,畫出流程圖,
3根據流程圖及演算法,編寫程序代碼
4上機運行。
5找出程序的錯誤。
6返回第3步,修改代碼,繼續第4步,5步
直到程序沒有錯誤,
每個程序員都這樣完成了自己的工作,
並把自己的模塊的 代碼,流程圖,及其他穩當提交給程序策劃人員,策劃人員接過代碼後編寫主要的函數(既主程序)目的是將各模塊主和在一起,形成一個完整的程序。在這一過程中也有返工和修改錯誤的可能。直到程序完好。
下面的工作就有測試人員完成了
要分別進行 嘿盒子測試,和白盒子測試。
黑盒子測試: 由非設計人員,提出一些極端的,苛刻的,以及錯誤的要求,看程序是否可以正常運行。如果不能,修該程序。
白盒子測試: 有程序設計者提供合理的,全面的要求,看程序是否可以正常運行,如果不能,修改。
經過測試,程序已經設計完畢。由接待人員把程序提交給客戶,並客戶調試,運行,滿意以後,交錢。
程序的文擋要保留好,因為客戶很可能繼續提出跟高的要求,一旦事情發生,程序員根據歷史文擋進行程序的功能擴蔥,這就是人們常見的版本,例如 photoshop v1.2 ,photoshop v2.0
等等,
這是從人員的角度開發程序的過程。
一個程序是如何產生的呢 答案如下
願代碼 -》編譯程序-》目標程序
原代碼:
根據程序設計語言編寫的文本
例
main()
{
printf("這就是一個程序,它的功能很簡單,就是在屏幕成列印這句話!");
return(0);
}
計算機硬體是看不懂這樣的字的,必須有相關的編譯程序翻譯成計算機硬體可以識別的 2進制文件例如
00110011 00111100 11001010 11001010
00001111 00010001 00011010 00101000
目標程序就是以上的 由 0 和 1 主成的目標程序,這樣的程序就可以使用了。
『貳』 現在軟體開發專業前景如何
1.從事軟體開發多年,如果不出什麼意外還會繼續玩下去,程序員說白了就是一個混口飯吃的職業,說的高大上一點就是一種興趣愛好,每天不敲幾行代碼心裡總會感覺欠缺點什麼東西,開發軟體寫代碼就是一種職業談不上什麼高大山。
倒是很多對這個行業不是很理解的人對於寫代碼感覺十分的好奇,覺得能寫代碼的不是一般人,現在全國有幾百萬人的程序員說明普及型還是非常高,不是什麼高大上的職業。
2.外行人都是如何認識程序員這個職業的,主要原因還是不了解,畢竟很多人覺得能夠用代碼控制一些硬體或者做出很智能的產品特別好奇,而且不懂行的人覺得每個程序員都是萬能的。
就連基本的修電腦以及破解QQ密碼這種事情也是程序員日常要做的事情聯系在一起,就現在每次回到老家第一件事情就是給親戚朋友修電腦,從心底里不想折騰電腦,在公司裡面這都是網管做的事情。
有事情電腦出問題了自己也懶得去定位問題了,直接讓網管過來給整理就可以了,術業有專攻不可能每件事情都做得非常出色。
如果你想開發小程序或者app的話,可以通過第三方專業開發平台,來幫助你實現開發需求:廈門在乎科技-專注廈門小程序定製開發、app開發、網站開發
『叄』 什麼是軟體開發
有人問我:「什麼是軟體開發?」。回答這個問題前,我們需要先理解什麼是軟體。
一、軟體定義
關於軟體,一些優秀的人已經給出了簡單易懂的定義,舉個例子:
軟體是計算機系統的一部分,它適配各種不同用途的機器。例如,通過同一台計算機但不同的軟體,我們可以玩游戲、計算繳稅、寫信或者寫書,以及獲得約會邀請的答復。
—— 傑拉爾德·溫伯格
這句話是作者解釋給他的朋友的,他的朋友是一名電腦小白。
有了上述定義,什麼是軟體開發也就顯而易見。
軟體開發研究如何讓運行在計算機里的不同系統解決人們在現實中遇到的問題。
我們經常見到這樣的句式,試圖一句話就把事情講得面面俱到。
不妨簡化一下。
軟體開發研究如何讓計算機解決問題。
目前看起來不錯。
倘若你聽過「一切問題都是人的問題」這句話,並且願意相信它,那我們就可以接著簡化。
軟體開發解決人的問題。
這個定義充滿了敷衍的味道。如果你敢向你的女友這么解釋,她大抵會提到「你是不不愛我了」。
回到正題,它好在足夠籠統,把所有的細節歸納為「人的問題」,一言以蔽之,至少不會有多大偏差。
關於什麼是「人的問題」,我們無法一一列舉。但通過下面的例子,也許可以窺探到一些奧秘:早在 1995 年,有人便覺得軟體開發要解決的問題陷入了困境。
我們遇到了前所未有的困難,不知道在做出電子表格(Excel)後,計算機還可以用來做什麼。
—— 查爾斯·西蒙尼
從今天來看,這個觀點頗失謙遜,軟體行業從來沒有止步於表格處理程序。當然,我們不是要批判什麼,它是用來引出以下軟體開發的三點特性。
「人的問題」不可預料。
世界在改變,人的需求也是一直變化的,我們不知道下一步會發生什麼。值得一提的是,有時我們甚至不知道過去發生了什麼。
「人的問題」具有延續性。
在 1977 年,人們開始用電子表格處理數據。在今天的辦公自動化領域,電子表格仍具有著不可替代的作用。這是值得慶幸的,總有些問題和解決方案會持續很長一段時間。
「人的問題」具有復雜性。
盡管軟體技術在當今的 IT 領域開花結果,人們探索出了各種各樣的成型解決方案,但開發者和開發團隊依舊面對著復雜的開發環境。
復雜性足夠我們花費一整節的內容來闡述它,歡迎閱讀下一節。
二、軟體復雜性
隨手翻開一本介紹軟體工程的書,你都會看到它會提及復雜性。軟體復雜性的本質是,現實世界是無比復雜的。至於現實為什麼是復雜的,不在本文討論的范疇。本文更關心的問題是:
是什麼讓軟體變復雜的?
我們在上文提到「軟體是運行在計算機里的系統」,這里直接給出系統的一般定義:
系統是對世界的一種觀點。
你可能一時無法接受這個它。
換種說法,系統是對世界的一種抽象。
抽象意味著要從繁復的具象世界裡剝絲抽繭,不同的抽象就會產生不同的系統。
觀點或者說抽象可以簡單也可以復雜。
一個軟體從無到有,越來越復雜,根本原因就在於特性不斷增加和改變,不同角度會產生不同的觀點。
舉個食品行業的例子。
一家公司以獨家配方生產一種食品,每個季度的銷售額上漲 10%。
管理層希望業績進一步提高,具體到研究部門,目標是調制出更好吃的配方。
研究團隊計劃每個月只改動一點點,一年過去了,不斷地有顧客投訴食品不再是原來的味道了。
公司董事決定開會。
「我們生產的食品更好吃了嗎?」
「當然,我們的銷售額增長達到了 30%。」
「但是我們的顧客不這樣說。」
「他們只是不願意改變!」
再舉個例子,打開你的手機,各類軟體源源不斷地彈出新聞資訊類消息。大部分軟體工具成熟以後,不再願意僅做好它的本職工作,當你使用一個小眾 APP 時,你可以親眼見證它從小而美到臃腫不堪的歷程。
這是復雜性的一面,面對它,我們唯一能夠做的就是「不要多餘的特性」,它有個經典表述:
不要過早的考慮優化。
回到上面的故事,也許那家公司什麼也不做,銷售額同樣會上漲。
你可能會質疑「說的輕巧,我們總不能什麼都不做?」
回答它,涉及到我們做出決定時繞不開的一個問題。
你願意付出什麼樣的代價?
付出什麼,就要准備好得到什麼。你願意付出多少薪資僱傭員工,你願意增加多少特性,你願意採用什麼樣的解決方案,你願意為這個 Bug 留出多少工作量。
拿出什麼樣的籌碼,是真實擺在我們眼前的問題。
四、什麼是軟體開發
現在,我們可以正式回答這個問題了。
首先,「預料」對方真正的目的是什麼?
1. 對方只是隨口一問。
2. 對方想打探你的薪資,然後向你介紹相親對象。
3. 對方對軟體行業這個話題感興趣,並想深入了解更多。
4. 其他可能性。
對於醉翁之意不在酒,你翻開朋友圈,閱讀一番《不得不看,職場新老手都有用的一百條話術!》,基本可以見招拆招了。
至於第三種情況,先給他來個含辭模糊的定義,比如
軟體開發通過設計、編碼、測試以及持續地維護解決人的需求。
一般地,對方發現自己聽得雲里霧里後,就會識趣的停止這個話題。但也有可能,尤其是碰到其他領域的工程師時,會引出更為具體的問題。
不幸的是,有時候問題根本就不存在,正如下面的寥寥數語,它會讓你所有準備好的說辭付之流水。
「工作忙嗎?」
「還行。」
「每天都幹啥?」
「主要是寫代碼。」
「不懂,聽說挺累的。」
「有時候是累,工作不都這樣么。」
「嘿,說的也是。」
希望對您有所幫助!~
『肆』 外行如何進入IT行業比如程序員
1.技術+技術(深入階段)
這算是一條純技術路線,具體又可以分3個方向:
技術(2年以上編程經驗)+技術(軟體測試,或系統分析師,或系統架構師)
有軟體開發的工作經驗,再加軟體測試,比剛開始就進入軟體測試行業的人要更具競爭優勢。軟體測試工作經驗越多越好,可以干到退休,不用擔心年齡問題。
如果選擇「系統分析師,系統架構師」,則首先要打好扎實的「理論基礎」(可以通過考證書,比如參加軟考),以保證自己「後勁力十足」,這樣等有了4,5年的工作經驗後,才有可能能沖上這個高端領域。平時工作中要不斷的鍛煉自己的「發散思維」,培養善於發現業務需求的「眼光」。
2.技術+管理 :比如 項目經理。
像雷軍說的那樣:「程序員象木工一樣,熟能生巧。程序員必須寫足夠代碼量(8萬行以上)的程序,才會有感覺,這是一個苦力活,沒有任何捷徑可走。」項目經理大多是從「優秀」的程序員里挑選出來,想走這條路,平時就要瘋狂的編碼,迅速累積豐富的編程經驗,然後再補充一些管理方面的知識。(本人打算走這條路,呵呵)
3.技術+銷售:比如 技術銷售工程師,技術支持工程師。
這類工作要有一定的技術背景(入門級也可以),具備較好的語言表達,溝通能力。工作比較輕松,月薪待遇主要看個人銷售業績等,個人收入差別可能比較大。
4.當培訓老師
如果你「樂於分享」工作經驗,傳授知識,或者覺得自己年齡比較大,精力不夠充沛,且往上升又比較困難的話,可以選擇去培訓機構當老師,就目前而言,當老師工作輕松,待遇也不錯。
5.創業
程序員創業除了需要有商業頭腦外,更需要具有較高的「膽商」(人有5商,包括智商情商),即有沒有膽量去做別人不敢做的事情(抓住商機)。
『伍』 ERP軟體開發工程師的主要工作是什麼你會選擇這個行業嗎
從事軟體開發多年,如果不出什麼意外還會繼續玩下去,軟體開發說白了就是一個混口飯吃的職業,說的高大上一點就是一種興趣愛好,每天不敲幾行代碼心裡總會感覺欠缺點什麼東西,開發軟體寫代碼就是一種職業談不上什麼高大山,倒是很多對這個行業不是很理解的人對於寫代碼感覺十分的好奇,覺得能寫代碼的不是一般人,現在全國有幾百萬人的程序員說明普及型還是非常高,不是什麼高大上的職業。
軟體開發之所以讓人覺得高大上,還有一個很重要原因是門檻高,不是隨便一個人就能從事軟體開發,主要和編程的生態鏈有關系,學習編程首先懂點英語,這點就能卡位住很多人,所以很多人喊著為什麼我們中國人就不能有自己的編程語言,現在有個易語言的中文編程語言,生態圈發展的很不理想,現在幾乎成為了開發游戲輔助和外掛的天堂了,任何一種編程語言都需要有其存在的必要性以及歷史背景。而且能夠在這個行業呆滿五年以上的數量會少很多,有很多人做不到幾年就退出了,覺得自己不適合或者覺得這個行業太苦太累了。
軟體開發本身就是一種職業由於普遍被大眾認知度不高,所以產生很多很神秘的遐想,特別是一些黑客電影的渲染導致這個行業顯得更加神秘無比,就個人來講就是一個寫代碼的工作而已,並且覺得感興趣,會一直做下去。
『陸』 外行人了解『關於安卓軟體的3個開發工具』
好的 我解釋一下: jdk 是java程序編譯的工具集,你需要配置到環境變數中,eclipse是集成開發環境也就是編寫程序的工具,sdk是幹嘛的呢?它是應用程序開發的工具包裡面含有各種介面API。
開發安卓 需要 : jdk+eclipse + sdk + adt
『柒』 一個外行人要進入it行業需掌握哪些技術
IT范圍非常廣泛,分為不同的領域,比如運行維護、軟體開發、編程,硬體維修等等,每個領域所需要的知識和技術是不同的,每個領域又分為好多小領域,比如運行維護又分為日常桌面類運維、網路類運維、系統類運維。要看你想往哪個方面發展了。建議你初期先了解一下每個領域具體都做些什麼,然後挑選你喜歡的領域深入學習。