軟體工程實踐小學期
【mini-ufs】
北京理工大學軟體學院
組員:梁光楠 1120102027
劉健 1120102028
蔣本富 1120102022
朱榮 1120102047
二零一二年九月 目錄
一.引言 2
1. 編寫目的 2
2. 專案背景 2
3. 定義: 2
4. 參考資料 2
二.任務概述 2
1. 目標 2
2. 需求概述 2
3. 條件與限制 2
三.功能設計 3
功能分配 3
四.介面設計 3
1. 建立系統 3
2. 啟動系統 3
3. 格式化當前mini-ufs檔案 3
4. 顯示檔案目錄 3
5. 複製檔案 3
6. 刪除檔案 3
7. 顯示文字檔案 3
8. 分頁顯示文字檔案 3
9. 顯示檔案屬性 3
10. 顯示指定檔案ufname 占用空間的情況 3
11. 關閉系統 3
五.資料結構設計 4
六.演算法設計 7
1. 格式化 7
2. 複製檔案 7
3. 刪除 8
七.出錯處理設計 8
1. 出錯輸出資訊 8
2. 出錯處理對策 8
八.系統引數介紹 8
1. 編寫目的:用檔案的形式,說明對微型檔案系統的設計思路,包括該軟體系統模組設計和劃分、介面設計、資料結構、演算法設計、變數和函式等的命名規範等,為程式的詳細設計提供基礎。
2. 專案背景:
專案名稱:mini-ufs
開發語言:c語言
專案負責人:梁光楠
系統分析員、系統設計員、程式設計員、程式設計師、資料員由全體組員分工擔任
3. 定義:用乙個1g的檔案模擬乙個u盤的儲存空間,稱為 mini-ufs
4. 參考資料:
嚴蔚敏吳偉民 《資料結構》(c語言版)
李鳳霞c語言程式設計教程》(第二版)
鬍超閆玉寶 《資料結構標準教程》
d**id 《c語言介面與實現》
1. 目標 :用乙個1g的檔案模擬乙個u盤的儲存空間,並實現其檔案作業系統。
2. 需求概述 :使做出的系統具有9項對檔案進行操作的功能
3. 條件與限制
條件:3週內完成任務,包括完成文件,進行資料結構設計,編碼,測試等,並同意使用c語言
限制:時間緊張,技術知識不足
表一.功能分配表
1. 建立系統:create(wfname)函式,傳入指定檔名,為mini-ufs系統分配空間;
2. 啟動系統:mount(wfname)函式,傳入開啟的 wfname 檔名,進入 mini-ufs系統;
3. 格式化當前mini-ufs檔案:fmt()函式,無引數,呼叫fmt()函式時格式化當前檔案;
4. 顯示檔案目錄:dr()函式,無引數,輸入n顯示系統中的檔案(不顯示**站中的檔案),r顯示**站內容;
5. 複製檔案:cp(f1,f2)函式,實現將f2複製給f1,有三種複製方式;
6. 刪除檔案:dl(ufname)函式,刪除ufname檔案,但ufname可加萬用字元進行批量刪除;
7. 顯示文字檔案:tp(ufname)函式,顯示ufname文字檔案的內容;
8. 分頁顯示文字檔案:more(ufname)函式,分頁顯示ufname檔案的內容;
9. 顯示檔案屬性:att(ufname)函式,、顯示ufname檔案屬性,包括檔名、副檔名、檔案建立日期和時間、檔案大小等;
10. map(ufname),顯示ufname檔案的大小,建立日期,和其在mini_ufs中的塊號;
11. search(ufname),ufname為含有'*','?'萬用字元的檔名,實現檔名檢索,幫助尋找忘記檔名的檔案(可在ufname中的對應位置加上仍記得的部分檔名);
12. recv(ufname),從**站中**ufname檔案
13. clean清空**站內容
14. 關閉系統:close()函式,關閉 mini-ufs 系統,退出。
將1g的磁碟檔案看成乙個整體,以1k為單位分塊,共分為1048576塊,從0開始編號,至1048575。其中,0塊為系統資訊塊,存放系統資訊;1~1023塊為檔案目錄塊,存放檔案的各種控制和說明資訊;1024~1048576塊為檔案資訊塊,存放檔案本身的資訊。每個檔案控制塊佔64位元組,每個目錄塊可存放16個檔案,因此整個系統可存放16368個檔案。
a. 檔案目錄結構設計:順序儲存,目錄集中存放,與檔案內容分開。
b. 檔案內容結構設計:檔案離散存放,使用非連續空間存放,通過鍊錶將內容連在一起。
0 1102310241048576
圖一.資料結構
三個模組:
struct info_block //ib檔案資訊塊;
ib;struct file_control_block //fcb檔案目錄塊;
fcb[16368];
struct system_info //系統資訊塊;
sys_ib;
目錄塊與系統資訊內容關聯示意圖
圖二資訊塊與系統資訊內容關聯示意圖
圖三其他的也類似上述情況,不再贅述。
系統設計時考慮了空間的利用問題,把所有的相關塊連線起來實現了空間利用較高的設計。
● windows的文字檔案複製進模擬u中,將檔名加入目錄快塊中,複製檔案資料資訊
● ②將模擬u盤中文字檔案複製成windows的文字檔案,先到fcb中找到待複製的檔案,根據next的偏移值獲得該檔案在資訊塊中的位置,進行複製
● ③將u中的乙個f1檔案複製成f2檔案,將f2的檔案基本資訊加到fcb當中,從fcb中取出f1的資料位址資訊,從而把資料複製到空閒塊當中
1. 出錯輸出資訊:error! 或者錯誤!
2. 出錯處理對策:效能降級,還原備份進行修改,刪除擴充套件功能
8.系統引數介紹
可存放個檔名,每個檔案至少占用乙個資訊塊(1kb)空間。1個檔案可占用最大空間為1047552個資訊塊,共計1068503040byte。
設計說明書
北京化工大學化學工程學院 化工設計 課程作業 題目 學生 班級 學號 指導教師 200 年月日 目錄 需註明說明書各部分的起始頁碼,題目和頁碼用 相連 主要題目用黑體字,每節題目用宋體字 設計說明書正文約20頁。全文本型一律採用宋體和times new roman英文。全文單倍行距。一級標題 章 採...
設計說明書
1.設計任務書 1.設計題目 非同步電動機變頻調速的plc控制系統設計 1.2目的意義 1 綜合運用並鞏固所學機電一體化設計知識 2 採用程式設計的方法實現非同步電動機變頻調速系統設計。1.3設計內容 變頻器 採用松下vf0超小型變頻器。要求輸出轉速按下圖 見附圖 函式變化,請編寫梯形圖控制程式,並...
設計說明書
一 概述1 二 課題簡介及設計要求1 1 簡介1 2 本設計的具體要求2 三 粉碎機械種類的設計2 1 物料粉碎的方法種類及其分析3 2 粉碎機構的確定4 3 粉碎機構的設計6 四 粉碎機械零件結構的設計 1 sfy b 2片粉碎機設計的基本原理7 2 主要部件零件的設計8 五 錘式粉碎機的操作 維...