-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 版權信息
- ISBN:9787302543596
- 條形碼:9787302543596 ; 978-7-302-54359-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 本書特色
以C語言實現一個企業(yè)級案例“劇院票務管理系統(tǒng)”。
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 內容簡介
本教材為使用C語言進行軟件項目研發(fā)的案例教程。教材結合企業(yè)級案例“劇院票務管理系統(tǒng)”,系統(tǒng)介紹軟件項目的開發(fā)流程,詳細講解面向過程分析、設計方法和主流的開發(fā)技術和工具,并展示企業(yè)級軟件開發(fā)技術文檔的內容組織和撰寫方法。另外,為高校教師了使用C語言進行軟件工程項目實踐(集中實踐)的整套教學組織、過程管理與考核的教學方案,并提供了相關的教學資源,為教師指導學生進行項目實踐提供便利。
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 目錄
第1章概述/1
1.1從程序設計到軟件開發(fā)1
1.1.1“做桌子”與“軟件開發(fā)”1
1.1.2過程組織與管理4
1.1.3個人與團隊6
1.2開發(fā)案例簡介6
1.3如何使用本書7
1.4集中實踐教學方案8
1.4.1實驗目的8
1.4.2任務及要求8
1.4.3過程組織與管理9
1.4.4實踐考核9
1.5本章小結11
第2章預備知識/12
2.1多源文件軟件開發(fā)12
2.1.1函數聲明與定義分離12
2.1.2靜態(tài)變量與靜態(tài)函數16
2.1.3內聯(lián)函數17
2.1.4const變量與形參18
2.2宏函數19
2.3文件存儲20
2.3.1文件操作流程及函數20
2.3.2文件格式設計25
2.3.3文件數據維護26
2.3.4多文件存儲29
2.4動態(tài)內存管理36
2.4.1內存管理函數36
2.4.2動態(tài)數組38
2.4.3動態(tài)鏈表412.5TTMS的鏈表機制52
2.5.1數據結構定義52
2.5.2鏈表操作53
2.6TTMS的分頁技術58
2.7本章小結62
軟件項目綜合實踐教程——C語言篇目錄第3章系統(tǒng)需求/63
3.1需求開發(fā)概述63
3.2項目背景64
3.3應用環(huán)境65
3.3.1軟件環(huán)境65
3.3.2硬件環(huán)境65
3.4業(yè)務流程65
3.5功能需求66
3.5.1參與者定義67
3.5.2系統(tǒng)用例圖67
3.5.3管理演出廳(TTMS_UC_01)67
3.5.4設置座位(TTMS_UC_02)69
3.5.5管理劇目(TTMS_UC_03)70
3.5.6安排演出(TTMS_UC_04)71
3.5.7生成演出票(TTMS_UC_05)71
3.5.8查詢演出(TTMS_UC_06)72
3.5.9查詢演出票(TTMS_UC_07)72
3.5.10售票(TTMS_UC_08)72
3.5.11退票(TTMS_UC_09)73
3.5.12統(tǒng)計銷售額(TTMS_UC_10)73
3.5.13統(tǒng)計票房(TTMS_UC_11)74
3.5.14維護個人資料(TTMS_UC_98)74
3.5.15管理系統(tǒng)用戶(TTMS_UC_99)74
3.6非功能需求75
3.6.1界面需求75
3.6.2其他需求75
3.6.3設計與實現約束76
3.7產品提交76
3.8本章小結76
第4章系統(tǒng)設計/77
4.1軟件設計概述77
4.1.1數據結構設計77
4.1.2體系結構設計78
4.1.3接口設計78
4.1.4過程設計79
4.2設計決策79
4.3邏輯架構設計80
4.3.1管理演出廳(TTMS_UC_01)81
4.3.2設置座位(TTMS_UC_02)87
4.3.3管理劇目(TTMS_UC_03)92
4.3.4安排演出(TTMS_UC_04)98
4.3.5生成演出票(TTMS_UC_05)103
4.3.6查詢演出(TTMS_UC_06)108
4.3.7查詢演出票(TTMS_UC_07)111
4.3.8售票管理(TTMS_UC_08)112
4.3.9退票管理(TTMS_UC_09)116
4.3.10統(tǒng)計銷售額(TTMS_UC_10)117
4.3.11統(tǒng)計票房(TTMS_UC_11)121
4.3.12維護個人資料(TTMS_UC_98)125
4.3.13管理系統(tǒng)用戶(TTMS_UC_99)127
4.3.14主鍵服務133
4.4物理架構設計134
4.4.1工程目錄結構134
4.4.2源代碼文件135
4.4.3數據文件140
4.5詳細設計140
4.5.1管理演出廳(TTMS_UC_01)140
4.5.2設置座位(TTMS_UC_02)147
4.5.3管理劇目(TTMS_UC_03)155
4.5.4安排演出(TTMS_UC_04)166
4.5.5生成演出票(TTMS_UC_05)171
4.5.6查詢演出(TTMS_UC_06)175
4.5.7查詢演出票(TTMS_UC_07)177
4.5.8售票管理(TTMS_UC_08)181
4.5.9退票管理(TTMS_UC_09)189
4.5.10統(tǒng)計銷售額(TTMS_UC_10)190
4.5.11統(tǒng)計票房(TTMS_UC_11)194
4.5.12維護個人資料(TTMS_UC_98)198
4.5.13管理系統(tǒng)用戶(TTMS_UC_99)199
4.5.14主鍵服務207
4.6本章小結209
第5章系統(tǒng)實現/210
5.1開發(fā)環(huán)境210
5.1.1開發(fā)工具210
5.1.2版本控制工具215
5.2測試驅動開發(fā)220
5.2.1測試驅動開發(fā)簡介220
5.2.2測試驅動開發(fā)原則220
5.2.3測試驅動開發(fā)舉例221
5.3系統(tǒng)測試226
5.3.1測試設計226
5.3.2測試報告228
5.4本章小結230
第6章項目驗收/231
6.1驗收流程231
6.2成績評定233
6.2.1驗收評定小組的成績評定233
6.2.2教師的成績評定235
6.3項目總結235
6.4本章小結237
第7章進一步學習/238
7.1C圖形用戶界面技術238
7.1.1圖形用戶界面簡介238
7.1.2GUI開發(fā)技術與工具239
7.1.3Linux GTK+GUI開發(fā)241
7.1.4開發(fā)實例245
7.2數據庫技術256
7.2.1數據庫技術簡介256
7.2.2SQL語言簡介257
7.2.3MySQL數據庫軟件開發(fā)259
7.2.4開發(fā)實例265
7.3本章小結269
附錄A開發(fā)計劃/270
附錄B開發(fā)日志/271
附錄CC語言編程規(guī)范/272
C.1排版272
C.2注釋273
C.3標識符、變量、宏、常量274
C.4函數276
附錄D用戶手冊模板/278
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 節(jié)選
第5章系 統(tǒng) 實 現針對TTMS的軟件系統(tǒng)需求及設計,本章介紹系統(tǒng)實現采用的開發(fā)環(huán)境Eclipse for C++及其相關組件的安裝及配置、版本控制工具Git的安裝及基本操作,給出測試驅動開發(fā)的基本方法及具體實例,以及系統(tǒng)測試的設計和測試報告撰寫方法。 5.1開 發(fā) 環(huán) 境5.1.1開發(fā)工具開發(fā)工具可選用Eclipse for C++,對初學者來說,需要學會安裝及配置方法。Eclipse for C++的安裝及配置可按照以下步驟進行。 1. JDK環(huán)境 如果本機沒有JDK環(huán)境,需要先安裝JDK環(huán)境。 JDK下載地址為: http: //www.oracle.com/technetwork/java/javase/downloads/index.html。 選擇相應的版本進行下載,此處以jdk1.8.0_91版本為例下載安裝。下載完成后,即可進行安裝,此時需要注意選擇安裝的路徑,例如選擇“C: \\Program Files\\Java\\”。JDK安裝完成之后,需要配置環(huán)境變量,配置環(huán)境變量方法如下。 選擇“計算機”,單擊鼠標右鍵,依次選擇“屬性”→“高級系統(tǒng)設置”→“高級”→“環(huán)境變量”,在“系統(tǒng)變量”下完成以下步驟: (1) 單擊“新建”按鈕,新建一個環(huán)境變量JAVA_HOME,如圖5.1所示。其值為前面JDK安裝的目錄,如“C: \\Program Files\\Java\\jdk1.8.0_91”。 圖5.1新建環(huán)境變量JAVA_HOME (2) 選擇Path變量,然后單擊“編輯”按鈕,如圖5.2所示。在變量值欄*前面添加以下內容: %JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;注意: *后的分號,用于將新添加的Java路徑與后面的路徑值分隔開,不能缺少。 圖5.2編輯Path變量 (3) 單擊“新建”按鈕,新建一個環(huán)境變量CLASSPATH,如圖5.3所示。其值為: .;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar;%JAVA_HOME%\\lib\\dt.jar。圖5.3新建環(huán)境變量CLASSPATH 環(huán)境變量配置完成后,單擊“確定”按鈕,退出環(huán)境變量配置。在運行窗口輸入cmd命令,在命令提示符下輸入java version,如果出現Java正確版本號則表明JDK配置正確。軟件項目綜合實踐教程——C語言篇第5章系統(tǒng)實現2. 安裝Eclipse for C++ Eclipse for C++下載地址為: http: //www.eclipse.org/downloads/。 選擇Eclipse IDE for C/C++ Developers進行下載。下載完成后直接解壓即可,無須安裝。單擊解壓目錄中的eclipse.exe,就可以運行Eclipse for C++。 3. 安裝MinGW MinGW提供了一套簡單方便的Windows下的GCC 程序開發(fā)環(huán)境。 下載地址為: https: //sourceforge.net/projects/mingw/files/?source=navbar。 下載完成之后,即可進行安裝,選擇安裝目錄“C: \\MinGW”,并按提示安裝相關組件,如圖5.4所示。因為只是進行C/C++編譯開發(fā)環(huán)境的配置,所以這里只需要選擇與C和C++ 有關的C Compiler和C++ Compiler的相關文件。選擇完成之后,進行組件安裝。 圖5.4MinGW組件安裝 4. 配置MinGW 新建系統(tǒng)變量MINGW_HOME,該變量的值設為MinGW安裝目錄,例如“C: \\MinGW”,如圖5.5所示。 圖5.5新建系統(tǒng)變量MINGW_HOME 在Path變量的*前面添加“%MINGW_HOME%\\bin;”,如圖5.6所示。 圖5.6設置Path變量 然后在Eclipse中進行配置。依次單擊打開Window→Preferences→C/C++→New C/C++ Project Wizard,按照圖5.7進行配置。 圖5.7Eclipse 配置 單擊OK按鈕之后,彈出如圖5.8的窗口,在該界面中選擇Makefile Project,勾選“PE Windows Parser”,單擊OK按鈕保存(注意: 此設置過程意味著對所有C/C++工程都將應用此配置。如果只是想在單個工程中進行配置,可右擊該項目,并依次選擇Properties→C/C++ Build→Settings,在右側選擇Binary Parsers標簽,并勾選PE Windows Parser即可,此設置過程只對當前選中的工程有效)。 圖5.8Makefile Project配置 5. 環(huán)境測試 新建一個C++工程,選擇Hello World C++ Project進行測試。 依次單擊菜單欄File→New Project→C++ Project,輸入工程名,例如“Hello”,在Project Explorer中右擊工程hello,依次選擇 Make Targets→Create,輸入目標文件名hello,單擊OK按鈕,完成目標文件的創(chuàng)建。 在Project Explorer中右擊工程hello.cpp,依次選擇 Make Targets→Build,選擇創(chuàng)建的目標文件,單擊Build,完成hello工程的構建;在控制臺顯示如圖5.9所示。 圖5.9目標文件hello構建完成后控制臺結果輸出 接著單擊Run運行程序,在控制臺中顯示如圖5.10的輸出結果,表明環(huán)境配置成功。 圖5.10控制臺輸出結果 6. 導入已有工程 如果已經創(chuàng)建了一個工程,例如已創(chuàng)建劇院票務管理系統(tǒng)TTMS的工程文件,在使用eclipse時需要將該工程導入,可使用以下步驟: (1) 單擊菜單欄中File→Import,出現Import窗口。 (2) 在Import窗口中的General下選擇“Projects from Folder or Archive”,單擊Next按鈕,出現“Import Projects”,該窗口給用戶提供“Select a directory to search for existing Eclipse Projects”功能,選擇“Select root directory”,單擊Browse按鈕,彈出選擇工程位置的窗口。此處選擇TTMS工程文件存儲路徑,然后單擊Finish按鈕,TTMS工程就添加到項目資源管理器中了。 5.1.2版本控制工具 Git是Linus Torvalds為了幫助管理Linux內核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。*初Git只能在Linux和UNIX系統(tǒng)上運行,現在通過移植,Git可以在Linux、UNIX、Mac和Windows這些平臺上正常運行了。Git采用了分布式版本庫的方式,不需要服務器端軟件支持。 1. Git安裝 Git在Linux和Windows操作系統(tǒng)中都可以使用,以下分別介紹在這兩種系統(tǒng)中的安裝方法。 (1) 在Linux操作系統(tǒng)上安裝Git。在終端命令行輸入以下命令后按回車鍵,就可以完成Git的安裝: $sudo aptget install git (2) 在Windows操作系統(tǒng)中安裝Git。這里可以選擇使用msysgit,它是 Git 版本控制系統(tǒng)在 Windows 下的版本。 msysgit下載地址為: https: //gitforwindows.github.io。下載后按默認選項安裝即可。 安裝完成后,在開始菜單里找到Git→GitBash,彈出一個類似命令行窗口,表明Git安裝成功。 2. Git配置 Git提供git config工具,專門用來配置或讀取相應的工作環(huán)境變量。這些環(huán)境變量,決定了Git在各個環(huán)節(jié)的具體工作方式和行為。在Linux操作系統(tǒng)中,這些變量可以存放在以下三個不同的地方: (1) /etc/gitconfig文件: 系統(tǒng)中對所有用戶都普遍適用的配置。若使用gitconfig時選用system選項,讀寫的就是這個文件。 (2) ~/.gitconfig或~/.config/git/config文件: 只針對當前用戶?梢詡鬟fglobal選項讓Git讀寫此文件。 (3) 當前項目的Git目錄中的配置文件(也就是工作目錄中的./gitconfig文件): 這里的配置僅僅針對當前項目有效。每一個級別的配置都會覆蓋上層的相同配置,所以./gitconfig里的配置會覆蓋/etc/gitconfig中的同名變量。 在Windows操作系統(tǒng)中,Git會找尋用戶主目錄下的.gitconfig文件。主目錄即$HOME變量指定的目錄,一般是C: \\DocumentsandSettings\\$USER。 此外,Git還會嘗試搜索/etc/gitconfig文件,Git安裝在哪個目錄下,就以此作為根目錄來定位。 配置個人的用戶名稱和電子郵件地址: $git config –global user.name "runoob" $git config –global user.email test@runoob.com如果使用了global選項,那么更改的配置文件就是~/.gitconfig文件,所有的項目都會默認使用這里配置的用戶信息。如果要在某個特定的項目中使用其他名字或者電子郵件,只需去掉global選項重新配置即可,新的設定保存在當前項目的.git/config文件里。 3. Git基本操作 (1) git init命令 功能: 在目錄中創(chuàng)建新的Git倉庫。 在目錄中執(zhí)行git init命令,就可以創(chuàng)建一個Git倉庫。例如,創(chuàng)建test項目: $mkdir test $cd test/ $git init Initialized empty Git repository in /Users/u/test/.git/執(zhí)行此操作后就可以看到在test中生成了.git這個子目錄,該目錄即為Git倉庫,所有有關此項目的快照數據都存放在“/Users/u/test/.git/”中。 (2) git clone命令 功能: 復制一個Git倉庫到本地,從而能夠查看該項目,或者進行修改。 當需要與他人合作完成一個項目,或者查看項目的代碼,就需要克隆該項目。執(zhí)行以下命令可實現項目的復制: git clone \[url\]其中,[url]是需要復制的項目。默認情況下,Git會按照用戶提供的URL所指示的項目名稱創(chuàng)建一個本地項目目錄,通常是該URL*后一個“/”后的項目名稱。如果用戶想要與目錄不同的名字,則可以在該命令后加上新的名稱。 例如,克隆Github上的項目: $git clone git@github.com:schacon/simplegit.git Cloning into 'simplegit'... remote:Counting objects:13,done. remote:Total 13(delta0),reused 0 (delta0),pack –reused 13 Receiving objects:100% (13/13),done. Resolving deltas:100%(2/2),done. Checking connectivity...done.克隆完成后,在當前目錄下會生成一個simplegit目錄: $cd simplegit/ $ls README Rakefile lib上述操作將復制該項目的全部記錄。 (3) git add和git status命令 功能: git add命令將文件添加到緩存;git status命令查看項目的當前狀態(tài)。 例如,添加README和hello.php兩個文件到緩存的方法如下。 創(chuàng)建README和hello.php文件: $touch README //創(chuàng)建README文件 $touch hello.php//創(chuàng)建hello.php文件 $ls README hello.php查看項目當前狀態(tài): $git status -s ?? README ?? hello.php執(zhí)行gitadd命令,添加文件到緩存中: $git add README hello.php執(zhí)行git status: $git status -s A README A hello.php以上結果表明這兩個文件已經添加到緩存中。修改README文件,輸入以下命令: $ vim README在 README 文件中添加以下內容: # Runoob Git 測試保存退出。然后再執(zhí)行 git status命令: $ git status -s AM README Ahello.phpAM狀態(tài)表明README文件被添加到緩存之后進行了新的修改,需要再次執(zhí)行git add 命令將其添加到緩存中: $ git add . $ git status -s//查看添加之后的狀態(tài) AREADME Ahello.php(4) git diff命令 功能: 比較兩次修改的差異。 git diff命令顯示已寫入緩存的文件與已修改但尚未寫入緩存文件的區(qū)別。不同的應用場景使用的命令不完全相同,主要有以下幾種形式: git diff: 比較工作區(qū)文件與緩存區(qū)中的文件,當緩存區(qū)中沒有文件時,比較的是工作區(qū)中的文件與上次提交到版本庫中的文件; git diff –cached: 查看已緩存的改動; git diff HEAD: 查看已寫入緩存的與未緩存的所有改動; git diff –stat: 顯示摘要而非整個 diff。 例如,在 hello.php 文件中輸入以下內容并執(zhí)行后面的操作命令: $ git status -s AREADME AM hello.php $ git diff diff --git a/hello.php b/hello.php index e69de29..69b5711 100644 --- a/hello.php +++ b/hello.php @@ -0,0 +1,3 @@ +在以上代碼中,git status 顯示上次提交更新后的更改或者寫入緩存的改動,而 git diff 一行一行地顯示這些改動的具體內容。 (5) git commit命令 功能: 將緩存區(qū)內容添加到項目倉庫中。 每一次提交Git都會記錄提交者用戶名和電子郵箱地址,因此首先需要配置用戶名和郵箱地址,接著寫入緩存,并提交在前面例子中對hello.php文件的所有改動。$ git add hello.php $ git status -s AREADME Ahello.php $ git commit -m '**次版本提交' \[master (root-commit) d32cf1f\] **次版本提交 2 files changed, 4 insertions(+) create mode 100644 README create mode 100644 hello.php通過這些操作就已經記錄了快照,執(zhí)行 git status命令,則結果如下: $ git status # On branch master nothing to commit (working directory clean)以上輸出表明在*近一次提交之后,沒有做任何改動。 如果在git commit命令中沒有 m 選項,Git會嘗試打開一個編輯器來填寫提交信息,默認會打開 vim。屏幕會顯示: # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch master # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: hello.php # ~ ~ ".git/COMMIT_EDITMSG" 9L, 257C(6) git rm命令 功能: 從當前的工作目錄和文件緩存區(qū)中刪除文件。例如,刪除hello.php文件: $git rm hello.php rm 'hello.php'如果僅刪除緩存區(qū)文件,保留當前目錄下的文件,可以使用git rm –cached。例如:
高等學校計算機專業(yè)規(guī)劃教材軟件項目綜合實踐教程/C語言篇 作者簡介
1. 舒新峰 個人簡介 舒新峰,男,博士,副教授,碩士生導師,西安郵電大學計算機學院軟件工程系主任,陜西省精品資源共享課程“軟件工程”課程負責人。2010年西安電子科技大學計算機應用專業(yè)博士畢業(yè)。主講課程:軟件工程、操作系統(tǒng)、軟件項目管理、數據結構等。主要研究方向:軟件工程、可信軟件技術。長期從事軟件工程相關課程的教學與科學研究工作,具備豐富的教學經驗和軟件項目研發(fā)經驗,本教材相關的教學科研基礎主要包括: 1)教學研究課題 (1) 2013-2015主持西安郵電大學教改項目:軟件工程專業(yè)培養(yǎng)方案研究與應用。 (2) 2015-2017主持西安郵電大學教改項目:高素質應用型軟件人才的系統(tǒng)化實踐教學模式研究與實踐。 (3) 2016-2018主持教育部高等學校計算機類專業(yè)教學指導委員會面向工程教育的本科計算機類專業(yè)課程改革項目:“軟件工程”課程及教材資源建設。 (4) 2014-2016主要參與(排名第2)陜西省“軟件工程專業(yè)綜合改革試點項目”。 2)科學研究課題 (1) 2012-2013,主持橫向課題"海量數據庫訪問中間件開發(fā)"; (2) 2013-2014,主要參與(排名第2)橫向課題“型號設計軟件固
- >
推拿
- >
山海經
- >
小考拉的故事-套裝共3冊
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
有舍有得是人生
- >
姑媽的寶刀
- >
我與地壇
- >
月亮虎