1. linux中如何將文件里的控制字元正確去除
你們老師讓做一個編譯器,如果碰到你問題中所說的a.cpp,含有游標控制符,報錯是對的吧?
那麼你要問的是怎麼把a.cpp裡面的游標控制符去掉?
我不知道腳本怎麼寫,但是有一個簡單的方法,就是cat a.cpp
這樣能得到正確的顯示,然後選中顯示出來的內容,再cat > b.cpp,回車
然後按滑鼠中鍵粘貼剛才選中的內容,然後就ctrl+d
這樣b.cpp中的內容就是不含游標控制符的。
不知道是不是符合你的要求。
================================
我明白你的意思了。
我建議不要用cat,cat會把游標控制符也記錄下來。
另外,在我的shell裡面,通過cat > a.cpp,移動游標並不能真的把游標移到想要的地方,只是在原來顯示的文本後面顯示^[[A
之類的東西。這樣來修改源碼也太痛苦了……
或者,能不能調用vim之類的文本編輯器?這樣比較方便。
2. Linux如何使用cat命令顯示隱藏字元
首先,我們創建一個簡單的文本文件,寫入一些特殊字元。打開終端,運行命令:
printf 『testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012』 》 /tmp/testing.txt
現在用不同的編輯器軟體打開,顯示的結果會不同。用簡單的cat打開將顯示:
$ cat /tmp/testing.txt
testing
testing
more testing
even more testing
如果用nano或者vim打開,將會看到:
testing
testing^L^H
more testing
^@^K^@even more testing
現在我們給cat加上一些選項參數,以便能顯示出特殊字元來。
用cat -T命令來顯示TAB鍵的字元^I
cat -T /tmp/testing.txt
testing
^I^Itesting
more testing
^I
even more testing
^I^I^I
用cat -E命令來顯示行尾的結束字元$
$ cat -E /tmp/testing.txt
testing$
testing
$
more testing$
even more testing$
$
用簡單的cat -A命令就可以顯示所有不可見的字元:
$ cat -A /tmp/testing.txt
testing$
^I^Itesting^L^H$
more testing$
^I^@^K^@even more testing$
^I^I^I$
上面就是Linux使用cat命令顯示隱藏字元的方法介紹了,cat命令除了能夠顯示不可見字元外,還有其他的功能,具體的可以參考系統之家Linux下如何使用cat命令?
3. 如何在linux系統下對文件夾名有空格的文件
在Windows操作系統中可以輕易地創建\移動\刪除文件夾名帶有空格的文件夾,
而在linux則需要進行一些特殊的處理才能實現以上功能.
(1)創建文件夾
mkdir my\ first
這條命令創建了文件夾"my first",文件夾名中my和first之間有一個空格,在命令行中需要
添加一個"\"符號和一個空格的組合
mkdir my\ \ tow
這條命令創建了文件夾"my tow",文件夾名中my和tow之間有兩個空格,在命令行中需要
添加兩個"\"與空格的組合
(2)移動文件夾
mv my\ first /tmp
這條命令將文件夾"my first"移動到文件夾tmp下
mv my\ \ tow /tmp
這條命令將文件夾"my tow"移動到文件夾tmp下
(3)刪除文件夾
rm -r my\ first
這條命令將文件夾"my\ first"刪除
rm -r my\ \ tow
這條命令將文件夾"my\ \ tow"刪除
(4)進入文件夾
cd my\ first
這條命令可以進入文件夾"my first"
cd my\ \ tow
這條命令可以進入文件夾"my tow"
(5)創建壓縮文件
tar czf my\ first.tar.gz my\ first
創建壓縮文件"my first.tar.gz"
tar czf my\ \ tow.tar.gz my\ \ tow
創建壓縮文件"my tow.tar.gz"
tar cjf my\ first.tar.bz2 my\ first
創建壓縮文件"my first.tar.bz2"
tar cjf my\ \ tow.tar.bz2 my\ \ tow
創建壓縮文件"my\ \ tow"
(6)解壓壓縮文件
tar xzf my\ first.tar.gz
解壓壓縮文件"my first.tar.gz"
tar xzf my\ \ tow.tar.gz
解壓壓縮文件"my tow.tar.gz"
tar xjf my\ first.tar.bz2
解壓壓縮文件"my first.tar.bz2"
tar xjf my\ \ tow.tar.bz2
解壓壓縮文件"my tow.tar.bz2"
總結:本文實現了對文件夾名中有空格的文件進行創建\移動\刪除\進入\壓縮\解壓
等操作,相對於文件夾名中有空格的文件夾來說,在輸入命令時需要在文件夾名之間
插入"\"與空格的組合,文件夾名中有幾個空格就需要加幾個組合.
4. vim 中輸入特殊字元回車符號('\r')
回車的含義:將派行游標移動到行首部
linux 下回車符號為'\r',windows下為'\r\n'
linux環境下在vim中輸入回車符號方式:
測試方式:我們在一個文本文件中輸入一串數粗激字,然後在末尾輸入一個回車字元,保存後去winodws下檢查是否游標被移動到了行首部,如果是,說明是回車符號其了作用,也就是我們輸入了正確的回車符號。
步驟:
1. linux下創建文本文件test.txt,vim打開這個文件,按 i 進入vim插入模式下
2. 先輸入一點內容"abcdefg"
3. 之後准備輸入回車字元: 按 'ctrl + k',vim中會出現?的字元,敲擊一下鍵盤'enter'鍵,發現?字元會消失,再次敲擊一下'enter'鍵,會出現^M這個字元,這個字元就是我們需要的回車符號
4. wq保存退出vim,將test.txt放到windows下用notepad++打開,並設置所有字元可見,會發現文件內容為abcdefg,並且游標在a符號的前面,即在行首部。說明我們輸入了岩羨襪正確的回車符號。
5. linux中vi編輯器怎樣使用
Vim 是 Vi improved 的縮寫,是 vi 的改進版。在Linux中,vi 被認為是事實上的標准編輯器,因為:
所有版本的 Linux 都帶有 vi 編輯器;
佔用資源少;
與 ed、ex 等其他編輯器相比,vi 對用戶更加友好。
你可以使用 vi 編輯器編輯現有的文件,也可以創建一個新文件,還能以只讀模式打開文本文件。
進入 vi 編輯器
可以通過以下方式進入 vi 編輯器:
命令
描述
vi filename 如果filename存在,則打開;否則會創建一個新文件再打開。
vi -R filename 以只讀模式(只能查看不能編輯)打開現有文件。
view filename 以只讀模式打開現有文件。
例如,使用 vi 編輯器創建一個新文件並打開:$vi testfile
|
~
~
~
~
~
~
~
~
~
~
~
~
"testfile" [New File]
豎線(|)代表游標的位置;波浪號(~)代表該行沒有任何內容。如果沒有 ~,也看不到任何內容,那說明這一行肯定是有空白字元(空格、tab 縮進、換行符等)或不可見字元。
工作模式
進一步了解 vi 之前先來了解一下 vi 的工作模式,vi 有三種工作模式:
1) 普通模式
由Shell進入vi編輯器時,首先進入普通模式。在普通模式下,從鍵盤輸入任何字元都被當作命令來解釋。普通模式下沒有任何提示符,輸入命令後立即執行,不需要回車,而且輸入的字元不會在屏幕上顯示出來。
普通模式下可以執行命令、保存文件、移動游標、粘貼復制等。
2) 編輯模式
編輯模式主要用於文本的編輯。該模式下用戶輸入的任何字元都被作為文件的內容保存起來,並在屏幕上顯示出來。
3) 命令模式
命令模式下,用戶可以對文件進行一些高級處理。盡管普通模式下的命令可以完成很多功能,但要執行一些如字元串查找、替換、顯示行號等操作還是必須要進入命令模式。
注意:有些教程中稱有兩種工作模式,是把命令模式合並到普通模式。
工作模式切換:
在普通模式下輸入 i(插入)、c(修改)、o(另起一行) 命令時進入編輯模式;按 esc 鍵退回到普通模式。
在普通模式下輸入冒號(:)可以進入命令模式。輸入完命令按回車,命令執行完後會自動退回普通模式。
提示:如果不確定當前處於哪種模式,按兩次 Esc 鍵將回到普通模式。
退出 vi 編輯器
一般在命令模式下退出 vi 編輯器。
退出命令
說明
q 如果文件未被修改,會直接退回到Shell;否則提示保存文件。
q! 強行退出,不保存修改內容。
wq w 命令保存文件,q 命令退出 vi,合起來就是保存並退出。
ZZ 保存並退出,相當於 wq,但是更加方便。
退出之前,你也可以在 w 命令後面指定一個文件名,將文件另存為新文件,例如:w filename2
將當前文件另存為 filename2。
注意:vi 編輯文件時,用戶的操作都是基於緩沖區中的副本進行的。如果退出時沒有保存到磁碟,則緩沖區中的內容就會被丟失。
移動游標
為了不影響文件內容,必須在普通模式(按兩次 Esc 鍵)下移動游標。使用下表中的命令每次可以移動一個字元:
命令
描述
k 向上移動游標(移動一行)
j 向下移動游標(移動一行)
h 向左移動游標(移動一個字元)
l 向右移動游標(移動一個字元)
兩點提醒:
vi 是區分大小寫的,輸入命令時注意不要鎖定大寫。
可以在命令前邊添加一個數字作為前綴,例如,2j 將游標向下移動兩行。
當然,還有很多其他命令來移動游標,不過記住,一定要在普通模式(按兩次 Esc 鍵)下。
用來移動游標的命令
命令
說明
0 或 | 將游標定位在一行的開頭。
$ 將游標定位在一行的末尾。
w 定位到下一個單詞。
b 定位到上一個單詞。
( 定位到一句話的開頭,句子是以 ! . ? 三種符號來界定的。
) 定位到一句話的結尾。
{ 移動到段落開頭。&&&&&&
} 移動到段落結束。&&&&&&&&&
[[ 回到段落的開頭處。&&&&&&&&&&
]] 向前移到下一個段落的開頭處。&&&&&&&&&&
n| 移動到第 n 列(當前行)。
1G 移動到文件第一行。
G 移動到文件最後一行。
nG 移動到文件第 n 行。
:n 移動到文件第 n 行。
H 移動到屏幕頂部。
nH 移動到距離屏幕頂部第 n 行的位置。
M 移動到屏幕中間。
L 移動到屏幕底部。
nL 移動到距離屏幕底部第 n 行的位置。
:x x 是一個數字,表示移動到行號為 x 的行。
控制命令
有一些控制命令可以與 Ctrl 鍵組合使用,如下:
命令
描述
CTRL+d 向前滾動半屏
CTRL+f 向前滾動全屏
CTRL+u 向後滾動半屏
CTRL+b 向後滾動整屏
CTRL+e 向上滾動一行
CTRL+y 向下滾動一行
CTRL+I 刷新屏幕
編輯文件
切換到編輯模式下才能編輯文件。有很多命令可以從普通模式切換到編輯模式,如下所示:
命令
描述
i 在當前游標位置之前插入文本
I 在當前行的開頭插入文本
a 在當前游標位置之後插入文本
A 在當前行的末尾插入文本
o 在當前位置下面創建一行
O 在當前位置上面創建一行
刪除字元
下面的命令,可以刪除文件中的字元或行:
命令
說明
x 刪除當前游標下的字元
X 刪除游標前面的字元
dw 刪除從當前游標到單詞結尾的字元
d^ 刪除從當前游標到行首的字元
d$ 刪除從當前游標到行尾的字元
D 刪除從當前游標到行尾的字元
dd 刪除當前游標所在的行
可以在命令前面添加一個數字前綴,表示重復操作的次數,例如,2x 表示連續兩次刪除游標下的字元,2dd 表示連續兩次刪除游標所在的行。
建議各位讀者多加練習上面的命令,再進一步深入學習。
修改文本
如果你希望對字元、單詞或行進行修改,可以使用下面的命令:
命令
描述
cc 刪除當前行,並進入編輯模式。
cw 刪除當前字(單詞),並進入編輯模式。
r 替換當前游標下的字元。
R 從當前游標開始替換字元,按 Esc 鍵退出。
s 用輸入的字元替換當前字元,並進入編輯模式。
S 用輸入的文本替換當前行,並進入編輯模式。
粘貼復制
vi 中的復制粘貼命令:
命令
描述
yy 復制當前行
nyy 復制n行
yw 復制一個字(單詞)
nyw 復制n行
p 將復制的文本粘貼到游標後面
P 將復制的文本粘貼到游標前面
高級命令
下面的一些命令雖然看起來有些古怪,但是會讓你的工作更有效率,如果你是 vi 重度用戶,就了解一下吧。
命令
說明
J 將當前行和下一行連接為一行
<< 將當前行左移一個單位(一個縮進寬度)
>> 將當前行右移一個單位(一個縮進寬度)
~ 改變當前字元的大小寫
^G Ctrl+G組合鍵可以顯示當前文件名和狀態
U 撤銷對當前行所做的修改
u 撤銷上次操作,再次按 'u' 恢復該次操作
:f 以百分號(%)的形式顯示當前游標在文件中的位置、文件名和文件的總行數
:f filename 將文件重命名為 filename
:w filename 保存修改到 filename
:e filename 打開另一個文件名為 filename 的文件
:cd dirname 改變當前工作目錄到 dirname
:e # 在兩個打開的文件之間進行切換
:n 如果用 vi 打開了多個文件,可以使用 :n 切換到下一個文件
:p 如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:N 如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:r file 讀取文件並在當前行的後邊插入
:nr file 讀取文件並在第 n 行後邊插入
文本查找
如果希望進行全文件搜索,可以在普通模式(按兩次 Esc 鍵)下輸入 / 命令,這時狀態欄(最後一行)出現"/"並提示輸入要查找的字元串,回車即可。
/ 命令是向下查找,如果希望向上查找,可以使用 ? 命令。
這時,輸入 n 命令可以按相同的方向繼續查找,輸入 N 命令可以按相反的方向繼續查找。
搜索的字元串中可以包含一些有特殊含義的字元,如果希望搜索這些字元本身,需要在前面加反斜杠(\)。
部分特殊字元列表
字元
說明
^ 匹配一行的開頭
. 匹配一個字元
* 匹配0個或多個字元
$ 匹配一行的結尾
[ ] 匹配一組字元
如果希望搜索某行中的單個字元,可以使用 f 或 F 命令,f 向上搜索,F 向下搜索,並且會把游標定位到匹配的字元。
也可以使用 t 或 T 命令:t 命令向上搜索,並把游標定位到匹配字元的前面;T 命令向下搜索,並把游標定位到匹配字元的後面。
set 命令
set 命令可以對 vi 編輯器進行一些設置。使用 set 命令需要進入命令模式。
:set 命令選項
命令
說明
:set ic 搜索時忽略大小寫。
:set ai 設置自動縮進(自動對齊)。
:set noai 取消自動縮進(自動對齊)。
:set nu 顯示行號。
:set sw 設置縮進的空格數,例如,將縮進空格數設置為4::set sw=4。
:set ws 循環搜索:如果直到文件末尾也沒有查找到指定字元,那麼會回到開頭繼續查找。
:set wm 設置自動換行,例如,設置距離邊際2個字元時換行::set wm=2 。
:set ro 將文件類型改為只讀。
:set term 輸出終端類型。
:set bf 忽略輸入的控制字元,如 BEL(響鈴)、BS(退格)、CR(回車)等。
運行命令
切換到命令模式,再輸入 ! 命令即可運行 Linux 命令。
例如,保存文件前,如果希望查看該文件是否存在,那麼輸入:! ls
即可列出當前目錄下的文件。
按任意鍵回到 vi 編輯器。
文本替換
切換到命令模式,再輸入 s/ 命令即可對文本進行替換。語法為::s/search/replace/g
search 為檢索的文本,replace 為要替換的文本,g 表示全局替換。
6. 系統實現的內容寫什麼
問題一:系統詳細設計包括哪些內容 1、模塊說明。說明該模塊需要實現什麼功能,還有設計要點。
2、流程邏輯。用流程圖說明該模塊的處理過程。
3、演算法。不一定有,如果涉及一些比較特殊的演算法或關鍵模塊,就寫一下演算法的偽代碼或用流程圖說明。
4、限制條件。該模塊的功能有哪些限制常比如用戶ID不能重復,只能查詢自己許可權范圍內的用戶。
5、輸入項。每個子模塊可以看做一個」方法「,我傳給你什麼,你給我輸出什麼。比如刪除用戶,輸入項就是用戶ID。
6、輸出項。刪除用戶的輸出項,就是不能在查詢模塊里查詢到已刪除的用戶
7、界面設計。用visio或者其他工具畫一些界面圖
8、需要操作的數據表。
問題二:系統設計實現報告中系統實現寫什麼?? 20分 格式如下:
1.實習時間
2.實習地點
3.實習單位
4.實習目的
5.實習內容
6.實習意義
7.實習總結
問題三:寫一個操作系統內核有多難?大概的內容,步驟是什麼 「一個好一點兒的計算機碩士畢業的學生。寫一個操作系統的內核絕對是應該辦到而且肯定可以辦到的事兒。」 ------這句話我們可以理解為」一個好的計算機碩士掌握的理論知識足夠他搭建起一個簡單的操作系統框架「。
我上操作系統課(大二)的第一天就問我的老師,學完了這門課可以自己實現一個操作系統了嗎?老師說:」你可以基本掌握操作系統中要處理的主要問題,但是即使實現最簡單的五臟俱全的操作系統還需要掌握很多很多東西,而且前提是你已經有很不錯的代碼能力。「
回到題目上來,我們要實現一個簡單的操作系統,最先需要解決的是哪些問題?這個問題我相信翻開任何一本操作系統書都可以得到答案,一般都是操作系統書的前五,六章內容(第一章基本是操作系統概念及發展歷史)。
包括:
進程管理
存儲管理
文件系統
輸入/輸出
這些大部分是討論理論類的書,比如我們上課用的書是西電湯子瀛老師的《計算機操作系統》,後來自己為了深入學習買了Andrew S. Tanenbaum的《Modern Operating Systems》。
如果想寫個操作系統,除了理論知識外,動手之前最好先看看操作系統源代碼,Linux的代碼都是開源的,可以先學習學習。不過對於我們這種初學者千萬不要看最新的Linux內核代碼,因為那是很多人的傑作,可能一輩子都看不完。最好先看看國攜州橘內同濟大學趙炯基於0.11的《Linux完全注釋》,即使只看懂30%也至會讓自己懂很多之前不知道的東西。
理論類的書很少有提到Bootload問題的,就是加電之後從哪裡開始執行的部分。僅僅是這個步驟也需要花跡沒不少時間去了解CPU知識,匯編語言知識等,相當不容易。不話說回來,這部分如果能處理好之後會發現組成原理,匯編語言,微機原理的知識被自己運用到了,成就感巨大。這部分內容,可以參看MIT的課程6.828 Operating System Engineering的課程,Google一下就能搜到不少大牛關於這門課的博客。如果英語不太好我記得華中科技大學有一個叫32位操作系統實踐的課,資料都放到網上了,看起來很不錯。
過了這一關,用《深入理解計算機系統》加上《現代操作系統》看一下虛擬存儲器的內容,這兩本書這部分說得都很棒。虛擬存儲器的概念貫穿所有,如果能弄懂,對很多方面都有很大的幫助,不僅僅是操作辯團系統這塊。有了虛擬存儲器概念之後對於鏈接,載入等知識理解就會深刻許多。 不過,這部分內容也需要對硬體部分有所了解,又是一坑。
之後回到進程上來之後,終於可以把工作重心從硬體部分轉移過來了。但是我們又將面對進程創建,進程調度,進程通信三大問題,既然是簡單實現,就先不考慮線程的事。演算法書中會給很多,不過這些演算法都是有一定的局限性,比如調度演算法,對應的調度演算法優劣差異很大,至於如何抉擇就看個人需求。不過話說回來,操作系統里的」演算法「和ACM里的演算法在難度上差很多,還是比較容易實現的。
內容太多了,就不完全展開了,後面就看自己「耐力」了,寫操作系統是需要堅持很長實踐+大量知識積累的。有些問題還涉及到哲學的觀點,這里推薦上海交大鄒恆明教授的《操作系統之哲學原理》。除了理論方面的書,現在市面上也有直接教如何實現一個操作系統的,比如《Orange'S:一個操作系統的實現》和《30天自製操作系統》(僅有的幾本「XX天XX」而不是爛書的書),起步階段跟著這些書來還是很不錯的。
總之,實現最最基本的功能也許可以做到。實現功能強大,魯棒性強的操作系統極難。...>>
問題四:如何寫一個文件系統 摘要:本文目的是分析在Linux系統中如何實現新的文件系統。在介紹文件系統具體實現前先介紹文件系統的概念和作用,抽象出了文件系統概念模型。熟悉文件系統的內涵後,我們再近一步討論Linux系統中和文件系統的特殊風格和具體文件系統在Linux中組成結構,為讀者勾畫出Linux中文件系統工作的全景圖。最後,我們再通過Linux中最簡單的Romfs作實例分析實現文件系統的普遍步驟。(我們假定讀者已經對Linux文件系統初步了解) 什麼是文件系統 首先要談的概念就是什麼是文件系統,它的作用到底是什麼。 文件系統的概念雖然許多人都認為是再清晰不過的了,但其實我們往往在談論中或多或少地誇大或片縮小了它的實際概念(至少我時常混淆),或者說,有時借用了其它概念,有時說的又不夠全面。 比如在操作系統中,文件系統這個術語往往既被用來描述磁碟中的物理布局,比如有時我們說磁碟中的「文件系統」是EXT2或說把磁碟格式化成FAT32格式的「文件系統」等――這時所說的「文件系統」是指磁碟數據的物理布局格式;另外,文件系統也被用來描述內核中的邏輯文件結構,比如有時說的「文件系統」的介面或內核支持Ext2等「文件系統」――這時所說的文件系統都是內存中的數據組織結構而並非磁碟物理布局。還有些時候說「文件系統」負責管理用戶讀寫文件――這時所說的「文件系統」往往描述操作系統中的「文件管理系統」,也就是文件子系統。 雖然上面我們列舉了混用文件系統的概念的幾種情形,但是卻也不能說上述說法就是錯誤的,因為文件系統概念本身就囊括眾多概念,幾乎可以說在操作系統中自內存管理、系統調度到I/O系統、設備驅動等各個部分都和文件系統聯系密切,有些部分和文件系統甚至未必能明確劃分――所以不能只知道文件系統是系統中數據的存儲結構,一定要全面認識文件系統在操作系統中的角色,才能具備自己開發新文件系統的能力。 為了澄清文件系統的概念,必須先來看看文件系統在操作系統中處於何種角色,分析文件系統概念的內含外延。所以我們先拋開Linux文件系統的實例,而來看看操作系統中文件系統的普遍體系結構,從而增強對文件系統的理論認識。 下面以軟體組成的結構圖[1]的方式描述文件系統所涉及的內容。 我們針對各層做以簡要分析: 首先我們來分析最低層――設備驅動層,該層負責與外設――磁碟等――通訊。基於磁碟的文件系統都需要和存儲設備打交道,而系統操作外設離不開驅動程序。所以內核對文件的最後操作行為就是調用設備驅動程序完成從主存(內存)到輔存(磁碟)的數據傳輸。文件系統相關的多數設備都屬於塊設備,常見的塊設備驅動程序有磁碟驅動,光碟機驅動等,之所以稱它們為塊設備,一個原因是它們讀寫數據都是成塊進行的,但是更重要的原因是它們管理的數據能夠被隨機訪問――不需要向字元設備那樣必須順序訪問。 設備驅動層的上一層是物理I/O層,該層主要作為計算機外部環境和系統的介面,負責系統和磁碟交換數據塊。它要知道據塊在磁碟中存儲位置,也要知道文件數據塊在內存緩沖中的位置,另外它不需要了解數據或文件的具體結構。可以看到這層最主要的工作是標識別磁碟扇區和內存緩沖塊[2]之間的映射關系。 再上層是基礎I/O監督層,該層主要負責選擇文件 I/O需要的設備,調度磁碟請求等工作,另外分配I/O緩沖和磁碟空間也在該層完成。由於塊設備需要隨機訪問數據,而且對速度響應要求較高,所以操作系統不能向對字元設備那樣簡單、直接地發送讀寫請求,而必須對讀寫請求重新優化排序,以能節省磁碟定址時間,另外也必須對請求提交採取非同步調度(尤其寫操作)的方式......>>
問題五:系統總體設計的含義是什麼? 系統設計工作應該自頂向下地進行。首先設計總體結構,然後再逐層深入,直至進行每一個模塊的設計。總體設計主要是指在系統分析的基礎上,對整個系統的劃分(子系統)、機器設備(包括軟、硬設備)的配置、數據的存貯規律以及整個系統實現規劃等方面進行合理的安排。
一、系統設計的任務
1. 系統設計的概念
系統設計又稱為物理設計,是開發管理信息系統的第二階段,系統設計通常可分為兩個階段進行,首先是總體設計,其任務是設計系統的框架和概貌,並向用戶單位和領導部門作詳細報告並認可,在此基礎上進行第二階段DD詳細設計,這兩部分工作是互相聯系的,需要交叉進行,本章將這兩個部分內容結合起來進行介紹。
系統設計是開發人員進行的工作,他們將系統設計階段得到的目標系統的邏輯模型轉換為目標系統的物理模型,該階段得到工作成果DD系統設計說明書是下一個階段系統實施的工作依據。
2.系統設計的主要內容
系統設計的主要任務是進行總體設計和詳細設計。下面分別說明它們的具體內容。
(1) 總體設計
總體設計包括系統模塊結構設計和計算機物理系統的配置方案設計。
系統模塊結構設計
系統模塊結構設計的任務是劃分子系統,然後確定子系統的模塊結構,並畫出模塊結構圖。在這個過程中必須考慮以下幾個問題:
如何將一個系統劃分成多個子系統;
每個子系統如何劃分成多個模塊;
如何確定子系統之間、模塊之間傳送的數據及其調用關系;
如何評價並改進模塊結構的質量。
計算機物理系統配置方案設計
在進行總體設計時,還要進行計算機物理系統具體配置方案的設計,要解決計算機軟硬體系統的配置、通信網路系統的配置、機房設備的配置等問題。計算機物理系統具體配置方案要經過用戶單位和領導部門的同意才可進行實施。
開發管理信息系統的大量經驗教訓說明,選擇計算機軟硬體設備不能光看廣告或資料介紹,必須進行充分的調查研究,最好應向使用過該軟硬體設備的單位了解運行情況及優缺點,並徵求有關專家的意見,然後進行論證,最後寫出計算機物理系統配置方案報告。
從我國的實際情況看,不少單位是先買計算機然後決定開發。這種不科學的、盲目的做法是不可取的,它會造成極大浪費。因為,計算機更新換代是非常快的,就是在開發初期和在開發的中後期系統實施階段購買計算機設備,價格差別就會很大。因此,在開發管理信息系統過程中應在系統設計的總體設計階段才具體設計計算機物理系統的配置方案。
(2) 詳細設計
在總體設計基礎上,第二步進行的是詳細設計,主要有處理過程設計以確定每個模塊內部的詳細執行過程,包括局部數據組織、控制流、每一步的具體加工要求等,一般來說,處理過程模塊詳細設計的難度已不太大,關鍵是用一種合適的方式來描述每個模塊的執行過程,常用的有流程圖、問題分析圖、IPO圖和過程設計語言等;除了處理過程設計,還有代碼設計、界面設計、資料庫設計、輸入輸出設計等。
(3) 編寫系統設計說明書
系統設計階段的結果是系統設計說明書,它主要由模塊結構圖、模塊說明書和其它詳細設計的內容組成。...>>
問題六:軟體詳細設計包含哪些內容?? 目錄1基本內容基本內容詳細設計詳細設計的主要任務是設計每個模塊的實現演算法、所需的局部數據結構。詳細設計的目標有兩個:實現模塊功能的演算法要邏輯上正確和演算法描述要簡明易懂。主要任務:1.為每個模塊確定採用的演算法,選擇某種適當的工具表達演算法的過程,寫出模塊的詳細過程性描述;2.確定每一模塊使用的數據結構;3.確定模塊介面的細節,包括對系統外部的介面和用戶界面,對系統內部模塊的介面,以及模塊輸入數據、輸出數據及局部數據的全部細節。在詳細設計結束時,應該把上述結果寫入詳細設計說明書,並且通過復審形成正式文檔。交付給下一階段(編碼階段)的工作依據。4.要為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試,模塊的測試用例是軟體測試計劃的重要組成部分,通常應包括輸入數據,期望輸出等內容。詳細設計的工具:1.圖形工具利用圖形工具可以把過程的細節用圖形描述出來。2.表格工具可以用一張表來描述過程的細節,在這張表中列出了各種可能的操作和相應的條件。用某種高級語言(稱之為偽碼)來描述過程的細節。
問題七:雲計算操作系統一般是用什麼語言開發的? 按常理來說當然c++更簡單,因為它相對c更高級。但要看你自己對語言的掌握程度
問題八:如何撰寫課題的設計思路,方法和內容 一、 如何撰寫課題綜述
課題綜述是選題涉及到的相關文獻資料進行專題搜集和必要的市場調研綜合分析而寫成的。
通過寫作過程,了解相關信息,擴大知識面,綜合運用所學知識,瀝青設計思路為作品的設計打下基礎。
課題綜述只有800字左右,要求表述准確、觀點明確、文字精煉。要把握「綜」和「述」的特點。「綜」式要求對所查閱的問小資料和市場調研情況進行綜合分析、歸納整理,使材料更精煉明確,更有邏輯層次,「述」及iushiyaoqiu對課題進行比較專門的、全面的、深入的、系統的論述。總之,課題綜述是作者對選題歷史背景、前人工作、爭論焦點、研究現狀、發展前景、目的意義、創新性、實用價值諸方面的高度概括。
在撰寫時,應注意以下幾個問題:
1、搜集的文獻應盡量全、盡量新。掌握全面、最新的文獻資料是寫好綜述的前提。
2、注意引用文獻的代表性、可靠性和科學性。引用要忠實文獻原文。
3、參考文獻不能省略,一般要求十篇以上,必須是作者直接閱讀過的。
二、 如何撰寫課題的設計思路、設計方法和設計內容
1、設計思路的撰寫
總體上來說就是設計者以一個什麼樣的大體思路來完成自己的課題設計。內容主要包括規劃選題的設計計劃、設計步驟的主要組成部分、計劃選題在什麼地方有一些創新突破點、達到什麼樣的設計效果,最後以一個什麼樣的方式展現設計成果等方面。
2、設計方法的撰寫
設計方法有很多種比如實例分析法、十字坐標法、調查分析法、頭腦風暴法、希望點例舉法、仿生學法、類比法、逆向思維法,縮小擴大法、缺點列舉法,圖表列舉法,但所選擇的課題在進行設計的時候不可能只用到一種設計方法。可以說明在設計的某一階段主要採用什麼設計方法。我們在應用各種方法時,一定要嚴格按照方法的要求,不能憑經驗、常識去做。比如,我們要進行市場調查時,應明確制定調查表,明確如何進行分析包括綜合分析和設計分析。
3、設計內容的撰寫
簡單介紹自己為何進行這項設計(說明現有設計的缺點),重點介紹自己課題設計的主要內容,自己將要在哪些方面進行重點的設計,並希望有所突破等方面。
如何撰寫課題研究方案和填寫課題申報表
1、關於課題申報表
未按要求填寫的,應按要求填寫到位。
封面上的課題名稱如果研究方案里作了調整,這里封面上也需作相應調整;課題負責人,只填寫1個即可;完成時間,課題研究期限一般為一年,或1-2年,完成時間應填某年某月底,課題研究的正式開始時間早於申報填表時間;成果形式寫一種即可,一般為報告,有調查報告、實驗報告、研究報告、結題報告等,而論文,為報告的高級形式;單位及職務、職稱,一般填3個內容,實在沒有職務的,填單位、職稱2個內容;郵編、地址應填寫清楚、完整聯系電話一般填寫單位(自己辦公室)電話和本人手機電話號碼,便於我們之間的聯系。
第二面課題組其他面員的有關情況中的課題內分工,應填寫明確,尤其是誰負責課題的總體設計,誰承擔課題結題報告的執筆撰寫任務應予明確;課題負責人所有單位意見,單位公章和單位分管領導的簽字,都不能少。如果課題已批准立題,而簽字蓋章都應該補上,否則你的研究得不到單位及領導的支持。
2、關於課題的題目
教育科研課......>>
問題九:做軟體項目設計文檔怎麼寫啊 按照以下格式填就好了,不過是我自己寫的,有不好的地方大家互相學習修改一下~
詳細設計文檔規范
1.0概述
這部分提供對整個設計文檔的概述。描述了所有數據,結構,介面和軟體構件級別的設計。
1.1 目標和對象
描述軟體對象的所有目標。
1.2 陳述范圍
軟體描述。主要輸入,過程功能,輸出的描述,不考慮詳細細節。
1.3 軟體內容
軟體被置於商業或者產品線中,討論相關的戰略問題。目的是讓讀者能夠對「宏圖」有所了解。
1.4 主要系統參數
任何商務軟體或者產品線都包含軟體規定、設計、實現和測試的說明和規范。
2.0 數據設計
描述所有數據結構包括內部變數,全局變數和臨時數據結構。
2.1 內部軟體數據結構
描述軟體內部的構件之間的數據傳輸的結構。
2.2 全局數據結構
描述主要部分的數據結構。
2.3 臨時數據結構
為臨時應用而生成的文件的描述。
2.4 資料庫描述
作為應用程序的一部分,描述資料庫結構。
3.0 結構化和構件級別設計
描述程序結構。
3.1 程序結構
詳細描述應用程序所選定的程序結構。
3.1.1 結構圖
圖形化描述結構。
3.1.2 選擇性
討論其它可供考慮的結構。選定3.1.1中結構類型的原因。
3.2 構件描述
詳細描述結構中的每個軟體構件。
3.2.1 構件過程敘述(PSPEC)
描述構件的過程。
3.2.2 構件介面描述
詳細描述構件的輸入和輸出。
3.2.3 構件執行細節
每個構件的詳細演算描述。
3.2.3.1 介面描述
3.2.3.2 演算模型(e.g., PDL)
3.2.3.3 規范/限制
]3.2.3.4 本地數據結構
3.2.3.5 在3.2.3.6設計中包含的執行結果
3.3 軟體介面描述
軟體對外界的介面描述
3.3.1機器對外介面
與其他機器或者設備的介面描述。
3.3.2系統對外介面
對其它系統、產品和網路的介面描述。
3.3.3與人的介面
概述軟體與任何人的界面。
4.0 用戶界面設計
描述軟體的用戶界面設計。
4.1 描述用戶界面
詳細描述用戶界面,包括屏幕顯示圖標、圖片或者類型。
4.1.1 屏幕圖片
從用戶角度描述界面。
4.1.2 對象和操作
所有屏幕對象和操作的定義。
4.2 界面設計規范
用戶界面的設計和實現的規范和標准。
4.3 可見構件
實現的GUI可見構件說明。
4.4 UIDS描述
用戶界面開發系統描述。
5.0約束、限制和系統參數
會影響軟體的規格說明、設計和實現的特殊事件。
6.0測試標准
測試策略和預備測試用例描述。
6.1 測試的類別
......>>
問題十:'系統詳細設計方案'的一些問題,輸入(出)項怎麼寫? 25分 輸入輸出項是系統級的。這里針對的都是系統級的對外介面,系統級的輸入輸出項。
輸入輸出項側重介面中涉及的重要數據結構的細節特徵。