設計說明書

2022-11-25 18:03:03 字數 3244 閱讀 1126

軟體工程實踐小學期

【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 五 錘式粉碎機的操作 維...