⑴ 我想開個軟體開發公司,怎麼做
首先:
你有固定或者長期合作的客戶群嗎?
你有開發團隊嗎?
你有資金嗎?
創業開頭是最難的。
有編程經驗的會去一個新公司嗎,我覺得,很少,如果你要招聘,那麼應屆畢業生是合適的人選,關鍵問題,你付出的要比他們要多的多,因為,公司是你自己的,又有哪一個軟體工程師和你一個心態,除非你們很要好,他占點股份。
軟體開發的生命周期,要做軟體公司必須正規化,合理化,現代化。
注意的問題:前期培養或者你帶一些有軟體開發基礎的員工,有經驗的工程師就不必了。
還要注意廣告效益
每一周對員工的意見和建議進行總合。掌握員工的發展動態,說白了就是防止員工跳槽
合同,軟體開發需求分析一定要明確
在開公司時多張幾個心眼,預防上當受騙。
⑵ 怎樣自學軟體開發
寫在開始之前:應該學習哪種語言,我覺得應該根據你的工作需要或者說你的發展方向而定。基本上兩大類吧:C/C++和Java。比如,如果你要做企業級應用的你應該學習Java和C#;如果你想做嵌入式,那麼應該學好C語言;其他情況下,在你不知道要做什麼之前你可以選擇學習C/C++。學會這兩大類中的一類,對於你學習其他語言都將是比較輕松,包括腳本語言,動態語言……
1、我的入門是從學習C語言開始的(其實課程是C++),這是我們學校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間後,我就發現自己的基礎掌握比她好,當然理解深度沒她好),因此,我認為對於完全沒有基礎的人而言,聽別人講比較容易入門。當時的教材是學校自己編的,挺爛的。
建議一(以C/C++為例),對於剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應該也可以了(藍色的)。說明一下:堅決不同意直接看K&R的《The C programming language》,這本書絕對不是初學者可以看懂的,裡面講語法的並不多,語法都是合在程序裡面講。不過這本書非常好,入門以後一定要看的一本書。
當然可以從C++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C++(紅色的,清華大學出版),這本書第一版不是ISO C++,不過比較經典,作者現在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》。《Acclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內的書好好看,看的差不多了,國外的經典書籍隨便看就會覺得很有味道,否則你可能會很受打擊。
入門的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議後面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學的差不多了,我覺得可以把模板、STL、泛型編程結合起來學習,這個又是一個很大的工作量了,又得下很大的功夫。所以說,C++博大精深啊。
建議二、學習過程中要結合簡單的演算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應該做點大一點的項目,最好是控制台程序。或者你已經著手學習win32、MFC或linux,你也可以結合平台做點小的項目。
2、第一階段是最苦的,接下來相對就知道應該怎麼去學習了。這時候假設你已經有了扎實的c++基礎。這是你可以選擇也應該選擇發展方向了,做企業級應用,還是系統開發,嵌入式設計或者游戲開發……
那時我其實並沒有考慮那麼多,因為我不是學計算機的,因此我就把參加一些計算機之類的考試當作學習目標。我當時其實C++語言基礎已經很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結果上機都沒有通過。我很郁悶,二級的時候是我不知道怎麼樣進那個DOS界面把題目調出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環,結果那破機器竟然承受不了。後來一亂就毀了(當然主要是上機太少了)。不過我那些上機都沒有去補考。二級和三級的時候是自恃水平已經遠遠超過考試要求了(^_^,見笑了,可能是因為等級考試還是比較簡單的),四級的時候則因為自己已經通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)。
建議三:定位學習方向(見附錄一)並好好學習計算機基礎知識。在你還不確定學習方向,或者你還在大學本科期間,那麼我認為應該先把計算機的基礎知識好好學習一下。我認為計算機必學的基礎課程而且要精學——首先是數據結構,其次是操作系統、軟體工程,資料庫。這四門課不管你將來想從事哪個方向的基本上都會用到。當然,有時間的話,其他基礎課都是應該掌握的,離散數學、組成原理、體系結構、網路、編譯原理甚至跨學科的。方向是很重要的,因為知識其實是無限的,一個小小的領域就夠你研究很久了。本科生可能還沒有什麼方向的感覺,但是到了研究生你一定要清楚自己到底想要做什麼,要往哪個方面發展,不要盲目學,瞎學亂學,否則最後可能看似什麼都會,其實什麼都不會。
我也曾經學習過Java一段時間,這篇文章既然是談編程語言的入門學習,我也簡單說一說。因為有了比較C++扎實的語言基礎,所以Java學起來比較輕松。我先找了國內一本薄薄的教材很快看了一遍(幾乎都理解,但是只看了一遍),空閑的時間配合清華張孝詳老師的java視頻。以後其實才算我真正要開始入門JAVA的學習,我用了是《core java》中文第六版(本來想用候捷翻譯的第二版的《Thinking in Java》,發現被同學弄丟了),這本書我差不多用了20天才把裡面的知識都搞懂,當然包括程序風格的模擬,最重要的時我把有關GUI編程的那三章裡面的程序例子幾乎可以默寫出來(當然,那是因為我理解了,其實這樣就變成了我的知識了),裡面的API我也記得差不多了。(說明:Java裡面的GUI編程沒什麼用處了,建議大家先跳過,GUI不是Java的長處,如果以後需要的話再查手冊或者再記憶學習)。
其實學習了C++以後,學習Java是比較容易了,但是建議不要兩種都學啦,他們的用途是不一樣的,你應該熟悉其中一種,更重要的是熟悉其應用領域所需要的專業知識甚至平台,以及使用他們的企業,有創業計劃的還應該考慮一下他們的應用領域,最重要的是思考他們的潛在的應用領域。
對於初級的學習就講到這里,接下去的學習其實都是高級部分,先不介紹了,因為:一、我自己都還沒有學懂,這里亂吹會誤人子弟。 二、高級東西的學習很多,有很多選擇,又需要很多繁瑣的知識,可能也一下子沒辦法講清楚。---------
⑶ 怎麼樣開發一個軟體
能否開發出一個好的軟體,關鍵是看軟體開發前期所做的工作,重點是這個軟體有沒有一個好的 軟體開發流程,因為一個好的軟體開發流程關繫到到這個軟體的成敗和最後能達到一個什麼的效果;下面我們就來說一下一個好的軟體需要有哪些軟體開發流程,也可以說軟體開發流程分為哪幾個階段:
第一個階段是市場調研:技術和市場要結合才能體現最大價值。
第二個階段是需求分析:這個階段需要出三樣東西,用戶視圖,數據詞典和用戶操作手冊。用戶視圖是該軟體用戶(包括終端用戶和管理用戶)所能看到的頁面樣 式,這裡麵包含了很多操作方面的流程和條件。數據詞典是指明數據邏輯關系並加以整理的東東,完成了數據詞典,資料庫的設計就完成了一半多。用戶操作手冊是 指明了操作流程的說明書。請注意,用戶操作流程和用戶視圖是由需求決定的,因此應該在軟體設計之前完成,完成這些,就為程序研發提供了約束和准繩,很遺憾 太多公司都不是這樣做的,因果顛倒,順序不分,開發工作和實際需求往往因此產生隔閡脫節的現象。需求分析,除了以上工作,筆者以為作為項目設計者應當完整 的做出項目的性能需求說明書,因為往往性能需求只有懂技術的人才可能理解,這就需要技術專家和需求方(客戶或公司市場部門)能夠有真正的溝通和了解。
第三個階段是概要設計:將系統功能模塊初步劃分,並給出合理的研發流程和資源要求。作為快速原型設計方法,完成概要設計就可以進入編碼階段了,通常採用這 種方法是因為涉及的研發任務屬於新領域,技術主管人員一上來無法給出明確的詳細設計說明書,但是並不是說詳細設計說明書不重要,事實上快速原型法在完成原 型代碼後,根據評測結果和經驗教訓的總結,還要重新進行詳細設計的步驟。
第四個階段是詳細設計:這是考驗技術專家設計思維的重要關卡,詳細設計說明書應當把具體的模塊以最『干凈』的方式(黑箱結構)提供給編碼者,使得系統整體 模塊化達到最大;一份好的詳細設計說明書,可以使編碼的復雜性減低到最低,實際上,嚴格的講詳細設計說明書應當把每個函數的每個參數的定義都精精細細的提 供出來,從需求分析到概要設計到完成詳細設計說明書,一個軟體項目就應當說完成了一半了。換言之,一個大型軟體系統在完成了一半的時候,其實還沒有開始一 行代碼工作。那些把作軟體的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。
第五個階段是編碼:在規范化的研發流程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編 碼效率就會極大提高,編碼時不同模塊之間的進度協調和協作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等 待,這種問題在很多研發過程中都出現過。我們在編碼的時候一定要軟體開發的 代碼規范編碼時的相互溝通和應急的解決手段都是相當重要的,對於程序員而言,bug永遠存在,你必須永遠面對這個問題,大 名鼎鼎的微軟,可曾有連續三個月不發補丁的時候嗎?從來沒有!
第六個階段是軟體測試有很多種:按照測試執行方,可以分為內部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯調;按照測試條件,可以分為正常操 作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋。總之,測試同樣是項目研發中一個相當重要的步 驟,對於一個大型軟體,3個月到1年的外部測試都是正常的,因為永遠都會又不可預料的問題存在。完成測試後,完成驗收並完成最後的一些幫助文檔,整體項目 才算告一段落,當然日後少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟體的運營狀況並持續修補升級,直到這個軟體被徹底淘汰 為止。
總結,前四個階段在軟體開發過程中占的比重比較大,真正編碼的時間是非常短的,只有市場調研做好,能有一個明確的方案,設計出詳細合理的開發步驟;我們在 進行編碼的時候才能很順利,開發出來的軟體才有價值。有的軟體在沒有開發出來,還沒有上線就註定不行了,所以說軟體開發流程對於能否開發出一個好的軟體是 非常重要的。
希望對您有所幫助!~
⑷ 軟體開發如何開始學習
1、基礎
這是每個開發者的起點。開發者剛剛學會了某種語言, 比如C語言,學習了基本的數據結構和演算法,並通過一些練習對知識點進行鞏固。這些練習主要以課後練習為主,是一些簡單的基礎概念的練習,比如列印輸出、接收用戶的輸入、數組的遍歷、排序,或者鏈表等。接下來是做一些簡單的項目,這些項目沒有復雜的演算法和高深的領域知識,比如數據的統計分析、產品的售後管理系統等。這些項目雖然簡單,卻是一個真實完整的項目。不僅練習了開發者對語言的應用能力,也體會了軟體開發的全生命周期,即軟體工程,從項目的需求分析,到設計開發,到軟體發布和項目驗收,最後到軟體的維護。通過簡單的項目,掌握了對語言的駕馭能力,並熟悉了軟體工程。隨著能力的提升,慢慢地就會接觸更復雜的項目,使自己能力得到進一步的鞏固和提升。能力的提升方麵包括:對語言的應用得心應手,對軟體的設計駕輕就熟。接觸並熟悉更多的語言,如動態語言Pyhton、腳本語言Bash、新興語言Golang、Swift等。通過語言間的對比,對語言的優勢和缺點又比較清晰的了解,從而在項目中合理選擇語言。2、架構設計和系統分析,隨著項目越做越多,會發現多數是在重復,到了一個瓶頸。這是可能要閱讀大量的書籍,向軟體架構和系統分析轉型。在設計軟體時,要多留意架構設計。軟體架構可以通過演化得到。但是若能看得更遠,提前做些設計,會事半功倍。這個階段,可能要花大量的時間在業務領域。因為軟體技術已經暫時不需投入太多精力了,也有時間關注業務領域了。熟悉業務領域,能分析用戶的需求和約束條件,寫出信息系統需求規格說明書,制訂項目開發計劃等,能根據實際工作環境,評估和選用適宜的開發方法和工具;能按照標准規范編寫系統分析、設計文檔等。在實際項目中鍛煉系統架構和系統分析能力。
⑸ 軟體怎麼開發
軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。 軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試,然後進行編寫再提交程序。
⑹ 怎樣學軟體開發
可以找個培訓機構進行學習,培訓機構的課程還是很全面的,都會定期的更新課程,保障都是IT行業所需要的。
可以了解一下北大青鳥佳音校區,有優秀的教學經驗和師資團隊,校園環境和硬體設施也是非常好的,可以到校區實地考察,讓專業老師給你詳細的講解一下軟體開發方面的信息,也可以聽一下免費的試聽課程,可以聽了課程之後在做決定。
⑺ 軟體開發怎麼做內容分享
需求:不僅僅是用戶需求,應該是開發中遇到的所有的需求。比如,你首先要知道做這個項目是為了解決什麼問題;測試案例中應該輸入什麼數據……為了清楚地知道這些需求,你經常要和客戶、項目經理等交流。
設計:編碼前,肯定有個計劃告訴你要做什麼,結構是怎樣等等。你一定要按照這個來做,否則可能會一團糟。
編程:如果在項目截止日,你的程序不能跑起來或達不到客戶的要求,你就拿不到錢。
測試:目的是讓你知道,什麼時候算是完成了。如果你聰明,你就應該先寫測試,這樣可以及時知道你是否真地完成了。否則,你經常會不知道,到底有哪些功能是真正完成了,離預期目標還差多遠。
軟體開發中,客戶和開發人員都有自己的基本權利和義務。
客戶:
定義每個用戶需求的商業優先順序;
制訂總體計劃,包括用多少投資、經過多長時間、達到什麼目的;
在項目開發過程中的每個工作周,都能讓投資獲得最大的收益;
通過重復運行你所指定的功能測試,准確地掌握項目進展情況;
能隨時改變需求、功能或優先順序,同時避免昂貴的再投資;能夠根據各種變化及時調整項目計劃;
能夠隨時取消項目;項目取消時,以前的開發工作不是一堆垃圾,已開發完的功能是合乎要求的,正在進行或未完成的的工作則應該是不難接手的。
開發人員:
知道要做什麼,以及要優先做什麼;
工作有效率;
有問題或困難時,能得到客戶、同事、上級的回答或幫助;
對工作做評估,並根據周圍情況的變化及時重新評估;
積極承擔工作,而不是消極接受分配;
一周40小時工作制,不加班。
⑻ 我該怎樣才能做軟體開發
我剛畢業,在做嵌入軟體,其實我的專業是電子信息科學與技術,只學過C語言,別的就是數據結構了。但是我現在的工作其實和硬體關系基本上不大,主要是關於網路的開發。其實你是學機械自動化的,PCB啊,之類的硬體知識應該不錯吧,其實這樣的話你可以去應聘嵌入軟體工程師啊,或則底層驅動開發。不一定要做純軟體的。
關鍵你要把自己的簡歷中關於軟體的東西說的詳細點,自己做過什麼軟體項目或者會哪些軟體方面的東西。你不寫別人肯定不知道。
再有就是大公司可能不會需要你這樣的人做軟體,他們要得是經驗豐富的,你可以去小公司試試。
⑼ 如何做好軟體開發
看你需要哪方面的軟體?