中國就業促進會理事,周懷軍就業教育專家。
“這是壹本非常特別的關於軟件開發的書。既介紹了程序員在軟件開發過程中應該具備的各種知識,又詳細介紹了Rose、PowerDesigner等常用工具的使用方法,還提供了各種模板和規範,讓讀者在軟件開發中事半功倍。”
湯濤,技術專家,曾任微軟(中國)有限公司政府行業高級顧問
人才的發展應該是全方位的。壹個專業的員工不僅要有“硬技能”——專業技能,還要有“軟技能”——素質技能。從人才培養的角度來說,具備本書所描述的所有技能的程序員壹定會受到企業的歡迎。
惠普遠東地區培訓與發展總監陳小元。
程序員是壹個綜合性的崗位。除了掌握編程語言,軟件開發過程中還涉及到很多其他技能。不僅要註重專業技能的積累,更要培養壹種職業精神。
郭宗銘的博士生導師是北京大學計算機科學研究所的研究員。
給程序員的壹封信
關於學習,我有壹些感受和大家分享。
1.“軟件開發學習的重點是過程,而不是技術本身。”
事實上,技術的發展日新月異。記得我第壹個項目用的編程工具是Turbo C,後來用的是VC++5.0。後來開始在微軟中文網播VisualStudio.Net2003,很快就換成了VisualStudio.Net2003,最近又聊到了VisualStudio.Net2003。當然,VisualStudio.NET 2008已經出來了...如此快速的更新速度讓我們感嘆:“做程序員真累!”。
所以,作為壹個程序員,要保持與時俱進真的很難!那麽面對如此快速的變化,我們應該怎麽做呢?
事實上,經過程序員的仔細分析,我們可以看到,軟件開發的過程在如此快速的技術變革之後,基本上沒有改變!原來困擾我們的只是開發工具和編程語言。壹個真正的武林高手,為什麽要在意手中的武器是刀還是劍?
掌握了這些,所有的編程語言和開發工具都是妳的選擇。是用Java裏的“天劍之劍”還是C#裏的“屠龍道”,要看個人愛好和發展需求來決定!
這就是我寫這本書的原因。
2.學習的重點:培養壹種“習慣”
我們每個人都應該把精力放在能力和方法的提升上,而不是某項具體技術或者某個知識點的學習上。在當今知識爆炸的時代,新技術、新知識層出不窮。即使我們窮盡壹生,也仍然不可能學會並掌握所有的知識和技術,只能在浩瀚的知識海洋中占據壹個孤島。所以我們的重點應該是培養壹種適合自己的學習方法,更準確的說是培養壹種習慣,壹種學習習慣。
我反復強調,每個人都要有意識地總結出壹套學習新事物的方法,我就是這個意思。
如果妳能掌握壹種得心應手的學習新事物的方法,面對浩瀚的知識海洋,妳會自信滿滿。就像壹個笑話:如果妳是數學大師,當面對新的技術挑戰時,問問自己:這項技術比高等數學更復雜嗎?當妳這樣想的時候,妳會突然覺得很自信。雖然是玩笑,但也很有道理。
3.壹些思維方式的培養
生活和學習中每壹個問題的解決,最終都歸結為壹個數學模型或者壹種哲學思想。所以我建議妳可以在空閑的時候抽出時間來學習壹些哲學和數學的思想。這是對自己終身有益的。
壹個人的價值往往體現在他的思想上,就像壹個公司的品牌價值;技術總會被淘汰;但是壹個想法總有它存在的價值。所以,當妳對某個問題有了自己的壹套完整的理論,妳的價值就會上壹個新的臺階(幾個)。
4.什麽是“大師”?如何成為“大師”
所謂“大師”是指無所不知嗎?不完全是。面試中,世界上沒有壹個人是精通所有知識的,自古如此。所謂的高手,只是在處理某些事情上的好習慣。比如壹個VC專家是不是對MFC的每壹門課都很熟悉?知道所有Windows的SDK?顯然不是。現實中可能會有這樣的“高手”,但很少。
只要妳能在遇到各種問題後迅速找到解決問題的方法,就能算是真正的高手。
所以,在現實生活和學習中,要多註意總結和修正方法,尤其是對於壹些重復的事情(從“學習”的行為到VC編程中每次遇到的問題),要總結每次出現問題所采取的方法,下次再采用。
久而久之,就會變成壹種新的習慣,隨時可以修正自己的習慣。
5.精致與寬廣
對於知識的學習,我們既可以“提煉”,即選取壹個點加以掌握,因為知識雖然是無限的,但卻局限於某個知識點,我們有可能理解某個知識點的全部知識;還是“求寬”,因為人的生存,說到底就是人的競爭。如果妳知道的比別人多,妳就會在競爭中獲勝。
對比兩種情況,後者難度更大,因為在“求寬”的同時,其精準度也不容易掌握:淺如無物;深層能量有限,可能性不大。前者更容易,但這壹點壹定要選對,否則可能會被社會拋棄。比如針對我們的知識點:VC、數據庫、網絡等。,選擇網絡可能比選擇數據庫更有競爭力(尤其是在目前火熱的網絡編程中)。
對於我們來說,我覺得應該先“提煉”出壹門技能,然後在此基礎上擴大知識面。
但最重要的是逐漸從“靠技術吃飯”轉向“靠思想吃飯”。
所以我們的重點應該是總結和培養自己的“習慣”。當壹切都變成下意識的舉動,妳自己的“修養”就會上壹個新的臺階。
其實在我看來,生活就是培養各種新習慣。如果習慣是根據結果修正的,那就是真正的“習慣”(比如,朋友。如果妳們根本不搭理對方,那根本就不是朋友;但是如果妳和他相處已經成為壹種“習慣”,妳會發現他是妳真正的朋友,他已經成為妳生活的壹部分。
工具、模板、實例和開發規範是這本書的四大特點。
1 .工具
本書介紹了很多軟件開發過程中用到的11工具。分別是Rational Rose、Power Designer、Nunit、JUnit、Install Shield、Visual Studio.NET、HLP文件制作工具、CHM幫助文件制作工具、微軟Visual SourceSafe、CVS、Visio等等。這些工具的介紹都是基於讀者可以快速上手的原則。如果需要進壹步了解這些內容,可以參考相關資料或者訪問本書提供的網站。
2.模板
本書提供了軟件開發過程各個階段的優質模板文件,可供讀者在項目開發過程中作為參考文件。
3.例子
本書提供了壹個“網上商城系統”的實踐項目,詳細介紹了從可行性分析、需求分析、系統設計、編碼到安裝盤各個階段的具體實現,並提供了各個階段的相關文檔和具體代碼。讀者可以按照流程學習,了解每個階段的重點知識點,熟練掌握各種開發工具的使用,對實際工作中的項目開發也有壹定的指導意義。
4.開發規格
本書附錄中提供了團隊開發所需的各種開發規範,包括項目團隊工作代碼、編碼規範、源代碼控制規範、界面設計規範、數據庫使用規範、安裝盤制作規範等。,這將極大地促進團隊發展。
用磁盤介紹這本書
目錄名表示包含該文件。
1 ASP.NET常用代碼匯總匯集了ASP中壹些最常用的代碼。NET的編程過程和41常用代碼段。如數據集操作、數據庫操作、下載文件的方法等。
繼續的
2.ASP.NET系列視頻講座作者主講,ASP.NET系列視頻講座完整,包括知識點講解、實例編程、實戰編程、項目實戰四個部分,55講。65438+每講0小時。每個講座都提供PPT、DEMO和視頻。ADO.NET發展的最佳實踐
數據網格使用最佳實踐
數據集和XML
的使用。ASP.NET的. NET框架類(1)
的使用。ASP.NET的. NET框架課程(2)
水晶報表的使用
ASP.NET計劃的實施
在ASP.NET使用用戶控件
Web服務的創建和使用
ASP.NET的錯誤處理和程序優化
ADO.NET數據操作
使用數據集的方法和技巧
調試和跟蹤ASP.NET應用程序
ASP.NET安全
Web服務器控件使用
ASP.NET國家管理
ASP.NET交易和異常處理。
ASP.NET頁面框架
ASP.NET在服務器端實現對網頁的控制。
ASP.NET的事件處理
如何在ASP.NET開發復合控件?
XML在ASP.NET
利用ASP.NET實現網絡通信。
數據集和XML深度編程
SQLServer的內置XML支持
ASP.NET建築深度解析
了解有關數據集的詳細信息
數據集和數據庫的同步-DataAdapter的使用
ASP.NET網絡打印
ASP.NET文檔處理
ASP.NET的網絡服務(壹)
ASP.NET的網絡服務(下)
ASP.NET的網絡服務(3)
ASP.NET多線程編程(1)
ASP.NET多線程程序設計(下)
ASP.NET的編碼
ASP.NET信息處理(1)
ASP.NET信息處理(2)
ASP.NET編程範例(壹)
繼續的
包含文件
2.ASP.NET系列視頻講座作者主講,ASP.NET系列視頻講座完整,包括知識點講解、實例編程、實戰編程、項目實戰四個部分,55講。65438+每講0小時。每個講座都提供PPT、DEMO和視頻。ASP.NET編程範例(2)
ASP.NET編程範例(3)
ASP.NET編程範例(4)
ASP.NET編程範例(五)
ASP.NET編程範例(6)
ASP.NET實用程序設計(1)
ASP.NET實用程序設計(2)
ASP.NET實用程序設計(3)
ASP.NET實用程序設計(4)
ASP.NET實用程序設計(五)
ASP.NET實用程序設計(6)
ASP.NET項目的實戰(1)
ASP.NET項目的實戰(二)
ASP.NET項目的實戰(3)
ASP.NET項目的實戰(4)
ASP.NET項目的實戰(5)
本書每章有3個演示示例
4代碼數量統計工具用於統計代碼行數CountASP.bat
CountCPP.bat
CountCS.bat
Ff.exe
5開發標準軟件項目團隊常用的標準項目團隊內部代碼。文件
數據庫命名規範。文件
軟件安裝盤生產規範。文件
接口設計規範。文件
編碼規範。文件
SourceSafe使用規範。文件
計劃模板。文本文件(textfile)
6開發模板軟件開發通用質量模板01項目應用。文件
02可行性分析報告。文件
03項目評審報告。文件
04用戶需求規格。文件
05需求分析評審報告。文件
06整體設計。文件
07發展規劃。文件
08詳細設計。文件
09編碼計劃。文件
10測試計劃。文件
11檢測報告。文件
12對賬單報告。文件
技術支持
關於這本書的任何問題,歡迎登錄討論。
程序員崗位技能圖
目錄
第65438章+0知識
壹個程序員應該掌握哪些專業技能?應該具備哪些素質和技能?我應該如何設計自己未來的職業發展道路?這是每個程序員都要面對的問題。在本章中,我們將向您介紹這些方面。
1.1軟件程序員專業技能2
1.1.1專業技能檢查表2
1.1.2軟件程序員的工作技能圖4
1.2軟件程序員的素質和技能4
1.2.1軟件程序員的素質和技能4
1.2.2高級軟件程序員的素質和技能5
1.3軟件程序員職業發展圖6
1.3.1軟件企業人才類型與素質結構的關系6
1.3.2高級技術人才的理想成長路徑7
1.3.3高級管理人才的理想成長路徑7
1.3.4高級綜合型人才的理想成長路徑8
第2章軟件開發過程9
什麽是產品?什麽是項目,它們的開發過程有什麽不同?如何基於項目開發產品?如何做基於產品的項目開發?軟件開發中如何平衡質量和效率?這些都是每個軟件開發者面臨的挑戰。在本章中,我們將壹起討論這些主題。
2.1項目或產品——程序員心中的痛9
2.2軟件開發過程10
2.2.1項目開發流程10
2.2.2產品開發過程11
2.3標準還是效率——痛苦的選擇11
2.3.1質量/工藝標準來源11
2.3.2什麽標準能做什麽不能做12
2.3.3質量標準和過程控制有什麽用12
2.3.4如何在軟件開發中應用這些標準13?
第三章可行性研究14
可行性分析就是決定做還是不做。顯然,“做還是不做”比“怎麽做”更重要。如果可行性分析不充分、不完整,就有可能得出錯誤的結論,導致資金的浪費和不必要的投資。因此,可行性分析非常重要。本章我們將學習如何從市場、政策、技術、經濟、SWOT等方面進行可行性分析。
3.1可行性分析要素14
3.2市場可行性分析15
3.3政策可行性分析15
3.4技術可行性分析15
3.5成本效益分析16
3.6 SWOT分析16
3.6.1競爭優勢分析
3.6.2競爭劣勢分析17
外部機會分析18
外部威脅分析18
3.6.5 SWOT核心問題19
第四章需求分析20
需求分析就是決定做什麽,不做什麽。在日益以用戶為導向的今天,用戶需求分析變得越來越重要。在需求分析階段我們需要做什麽?常用的需求分析工具有哪些?這些問題將在本章壹壹解答。
4.1需求分析的重要性
4.2為什麽需求分析很難20
4.3需求分析基本任務21
4.4需求分析結果22
4.5需求分析階段的工作重點22
UML和Rational Rose 22
微軟Visio 23
第五章系統設計24
每個程序員都想成為系統架構師。要成為壹名系統架構師,充分了解系統設計的相關知識,掌握系統設計的相關工具是非常重要的。在本章中,我們將詳細介紹如何設計該系統。
5.1系統設計工作流程圖24
5.2面向對象設計方法25
面向對象的概念26
5.2.2面向對象設計方法目標29
5.3三層應用程序模型29
5.4功能、對象和組件30
功能和程序30
類別和對象30
組件30
5.5系統設計內容31
5.5.1數據庫設計32
界面設計42
模塊設計46
5.5.4數據結構和算法設計
5.5.5 OOP(面向對象編程)設計方法步驟49
第六章編碼50
作為程序員,首先要掌握壹門面向對象的編程語言和相應的開發工具。隨著網絡技術的飛速發展,出現了很多網絡編程技術,比如XML、Ajax等,需要我們去了解和學習。作為項目的壹員,程序員也有必要了解編碼規範和源代碼控制工具。在本章中,我們將探討這些主題。
6.1編程語言和開發工具50
6.1.1編程語言50
6.1.2開發工具52
6.2網絡編程必備知識53
6.2.1 HTML/JavaScript 53
XML 53
網絡服務54
Ajax 54
6.3理解極限編程55
6.4編碼規範56
6.5源代碼控制56
6.5.1版本管理的必要性56
6.5.2通用源代碼控制工具57
源代碼控制規範58
第7章軟件測試59
在壹些開發者眼裏,測試是神秘的;在壹些開發者看來,測試很簡單;在壹些開發者看來,測試就是質量。那麽到底什麽是軟件測試呢?作為壹名程序員,相比軟件測試人員,應該了解和掌握哪些測試知識?在本章中,我們將重點介紹這些知識。
7.1軟件測試的基本概念59
7.1.1單元測試60
7.1.2集成測試60
7.1.3系統測試62
7.1.4性能、壓力和負載測試62
7.1.5測試成本63
7.1.6黑盒測試和白盒測試63
7.2白盒測試案例64
測試用例介紹64
7.2.2白盒測試用例設計66
7.2.3測試用例設計步驟67
7.3軟件測試工具73
常用軟件測試工具列表73
7.3.2通用單元測試工具介紹74
第八章結論和產品化76
編碼結束了,軟件開發就結束了嗎?不要!遠非如此,還有很多工作要做。制作安裝程序,軟件加密,編寫說明書,系統幫助文檔,都是關閉物品,產品化階段要做的工作。
8.1安裝盤制作76
8.1.1使用InstallShield 76。
8.1.2使用Visualstudio.NET出版程序76
8.1.3安裝盤制造規範77
8.2軟件加密77
軟件加密概述77
8.2.2常用軟件加密技術77
8.3手工生產79
8.3.1字書版本說明79
8.3.2電子說明書的制作79
第九章項目團隊建設81
隨著軟件編程技術的發展,團隊開發越來越普遍,如何提高整個團隊的協作能力,提高整體開發效率,是每個軟件企業都關心的問題。本章將討論與項目建設相關的問題:項目代碼、代碼積累、工作計劃總結等。
9.1項目團隊代碼81
9.2普通代碼81
9.3編程技能82
9.4編制工作計劃摘要82
9.5代碼數量統計工具83
第二篇工具文章
第10章理性玫瑰實例介紹86
10.1創作項目86
10.2建立演員88
10.3創建用例89
10.4用順序圖描述用例90
10.5建立合作關系圖92
10.6創建93類
10.7實施模式94
10.8 UML符號和圖形95
第11章Power Designer實例介紹99
11.1創建項目工程99
11.2構建概念數據模型100
11.2.1創建實體100
11.2.2添加屬性101。
11.2.3定義屬性的標準檢查約束102
11.2.4定義了實體103的主要和次要標識符。
11.2.5創建其他實體105
11.2.6建立聯系
11.3生成物理數據模型110
11.4生成數據庫構建腳本112。
11.5生成關系數據庫113
11.6 Power Designer 113的四個模型文件
第12章NUnit實例介紹115
12.1 NUnit下載並安裝115
12.2創建測試項目116
12.3添加NUnit參考116。
12.4創建測試用例117
12.5創建經過測試的類118
12.6編譯項目118
12.7運行圖形測試工具118。
12.8修改測試119
12.9異常測試120
第13章JUnit實例介紹121
13.1 JUnit下載並安裝121
13.2創建測試項目122
13.3添加JUnit參考122
13.4創建經過測試的類124
13.5創建測試用例125
13.6創建測試單元126
13.7運行測試127
13.8 JUnit結構描述128
第14章InstallShield實例簡介129
14.1創建安裝項目129
14.2安裝編程語言設計130
14.3申請信息設置131
14.4設置程序運行條件131
14.5設置安裝框架131
14.6添加要發布的網站文件131
14.7添加程序快捷鍵132
14.8添加註冊表修改133
14.9安裝界面設置134
14.10多語言字符串修改134
14.11構建和安裝134
運行安裝文件135。
添加數據庫支持136
14.14直接附加數據庫141
14.15程序卸載141
第15章“VisualStudio中的應用程序部署”。NET”示例介紹142
15.1創建要發布的ASP.NET Web應用程序142。
15.2創建安裝程序類143
15.3創建壹個包含SQL語句的文本文件來創建壹個數據庫143。
15.4向installer類添加代碼以讀取文本文件145。
15.5創建部署項目147
15.6將主程序項目的輸出添加到部署項目148中。
15.7創建自定義安裝對話框148
15.8創建自定義操作149
15.9計劃部署150
第16章HLP簡介文件制作示例151
16.1 RTF源文件制作151
16.2編譯成HLP文件155。
16.3制作主題幫助文件(CNT文件)158
16.4將CNT文件添加到項目159。
第17章CHM文件制作實例介紹161
17.1材料準備161
17.2創建項目161
17.3設置CHM文檔的標題164。
17.4修改文檔對話框屬性167
17.5生產目錄168
17.6添加目錄170
17.7制作指數172
17.8添加索引173
17.9描述
第18章Visual SourceSafe實例介紹175
18.1軟件安裝175
18.2服務器創建VSS數據庫,用戶175。
18.3客戶選擇數據庫177
18.4向VSS數據庫添加項目178
18 . 4 . 1通過SourceSafe添加項目179。
18.4.2通過VisualStudio添加項目180。Net2005集成開發環境。
18.5在客戶端VS.NET開發環境中使用VSS 182。
18.6修訂歷史視圖184
18.7用戶權限修改185
第19章CVS實例介紹187
19.1安裝CVSNT 187。
19.2服務器創建倉庫和用戶189
19.3將項目添加到CVS服務器189
19.4在Eclipse客戶端開發環境中使用CVS 193
19.5 VS.NET的集成CVS 196
19.6 CVS和VSS的比較
第20章Visio實例入門200
20.1創建新文檔200
20.2創建流程圖201
20.3保存204
20.4制作自定義形狀204
第三篇文章示例
第265438章+0網上商城系統開發實踐208
21.1項目概述208
21.2可行性分析209
21.2.1系統目標209
21.2.2開發可行性分析209
21.3需求分析210
21.3.1確定用戶類型210
21.3.2用戶工作流210
21.3.3軟件功能212
21.3.4 UML圖213
21.3.5系統操作環境214
21.4系統設計215
21.4.1數據庫設計216
21.4.2頁面設計228
21.4.3頁圖230
21.4.4界面設計231
21.5編碼和測試244
21.5.1公共* * *模塊設計244
21.5.2源代碼控制254
21.5.3單元測試工具254
21.5.4系統源代碼254
21.6制作安裝盤254
21.7本章源文件254
第4條模板和規格
第二十二章軟件開發模板256
22.1軟件項目申請表257
22.2可行性分析報告259
22.3項目審查報告260
22.4用戶需求聲明261
22.5需求分析審查報告265
22.6總體設計文件266
22.7發展計劃266
22.8詳細設計函268
22.9編碼計劃268
20.10測試方案269
20.11測試報告270
22.12軟件開發報告272
第二十三章項目團隊規範273
23.1項目團隊工作代碼273
23.2 C#編碼規範276
23.2.1命名277
23.2.2代碼格式編寫規範278
其他280
23.3 SourceSafe使用規範281
23.4數據庫命名規範283
23.5用戶界面設計規範286
23.6安裝盤生產規範290