摘要:軟件工程之詳細設計 詳細設計的基本任務: (1)為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊處理過程為每個模塊進行詳細的算法設計。為每個模塊進行詳細的算法設計的詳細算法描述出來。 (2)為模塊內的數據結構進行設計。對于需求分析、概要設計確定的概念性的數據類型進行為模塊內的數據結構進行設計。為模塊內的數據結構進行設計確切的定義。
軟件工程之詳細設計
詳細設計的基本任務:
(1)為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊處理過程為每個模塊進行詳細的算法設計。為每個模塊進行詳細的算法設計的詳細算法描述出來。
(2)為模塊內的數據結構進行設計。對于需求分析、概要設計確定的概念性的數據類型進行為模塊內的數據結構進行設計。為模塊內的數據結構進行設計確切的定義。
(3)對數據結構進行物理設計,即確定數據庫的物理結構。物理結構主要指數據庫的存儲記對數據結構進行物理設計,對數據結構進行物理設計即確定數據庫的物理結構。錄格式、存儲記錄安排和存儲方法,這些都依賴于具體所使用的數據庫系統(tǒng)。
(4)其他設計:根據軟件系統(tǒng)的類型,還可能要進行以下設計:
①代碼設計。為了提高數其他設計:其他設計根據軟件系統(tǒng)的類型,還可能要進行以下設計:代碼設計。據的輸入、分類、存儲、檢索等操作,節(jié)約內存空間,對數據庫中的某些數據項的值要進行代碼設計。
②輸入輸出格式設計。輸出格式設計。人機對話設計。對于一個實時系統(tǒng),用戶與計算機頻繁對話,因此要進行對話方式、內容、
③人機對話設計。格式的具體設計。
(5)編寫詳細設計說明書。
(6)評審。對處理過程的算法和數據庫的物理結構都要評審。
結構化程序設計方法:
詳細設計是軟件設計的第二階段,主要確定每個模塊具體執(zhí)行過程,也稱“過程設計”,詳細設計的目標不僅是邏輯上正確地實現每個模塊的功能,并使設計出的處理過程清晰易讀。過程設計中采用的典型方法是結構化程序設計(簡稱SP)方法,最早是由E.W.Dijkstra在60年代中期提出的,它是實現詳細設計目標的關鍵技術之一。
計算機軟考軟件設計師知識點:用Java實現的日志切割清理工具
對于服務器的日常維護來說,日志清理是非常重要的事情,如果殘留日志過多則嚴重浪費磁盤空間同時影響服務的性能。如果用手工方式進行清理,會花費太多時間,并且很多時候難以滿足實際要求。例如:如何在每個星期六凌晨3點把超過2G大的日志文件進行切割,保留最新的100M日志記錄?
網上沒有發(fā)覺能滿足本座要求的日志切割工具,因此花了一些閑暇時間自己寫了一個。由于要在多個平臺上使用,為了方便采用Java實現。本工具命名為LogCutter,主要有以下特點:
1、支持Linux、Mac和Windows等所有常見操作系統(tǒng)平臺
2、支持命令行交互式運行
3、支持后臺非交互式運行(Linux/MAC下使用daemon進程實現,Windows用系統(tǒng)Service實現)
4、支持兩種日志清理方式(刪除日志文件或切割日志文件)
5、支持對GB18030、UTF-8、UTF-16LE、UTF-16BE等常用日志文件類型進行切割(不會發(fā)生切掉半個字符的情況)
6、高度可配置(程序執(zhí)行周期、要刪除的日志文件過期時間、要切割的日志文件閥值和保留大小等均可配置
使用方法:
LogCutter-BruceLiang,allrightsreserved.
一、啟動方式
)WindowsA)前臺運行:>./run.batB)后臺運行:>./LogCutter.exe{-install-demand(安裝手動啟動服務)
-install-auto(安裝自動啟動服務)
-start(啟動服務)
-stop(停止服務)
-status(查看服務狀態(tài))
}***注***@LogCutter.exe以Windows系統(tǒng)服務的方式運行,安裝好后也可以通過Windows服務管理器進行管理@LogCutter.exe依賴JRE1.6,因此必須在注冊表或環(huán)境變量中設置%JAVA_HOME%)Linux/UnixA)前臺運行:$./run.shB)后臺運行:$./run.sh-d***注***@可以設置為開機時自動后臺運行,方法如下:$vi/etc/rc.d/rc.local(加入:${YOUR_LOGCUTTER_PATH}/run.sh-d)
二、配置文件
)程序配置文件:./conf/config.xml)日志配置文件:./conf/log4j.properties(默認)
三、環(huán)境要求
)Java版本:JRE1.6以上)依賴程序包:dom4j、log4j、juniversalchardet
run.sh(Mac平臺)
#!/bin/bashJAVA_HOME=“/Library/Java/Home”CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarJAVA_BIN=$JAVA_HOME/binJAVA=$JAVA_BIN/javaAPP_PATH=“/Users/Kingfisher/MyWork/Java/LogCutter”APP_CLASSPATH=$APP_PATH/classesAPP_LIBPATH=$APP_PATH/libAPP_LIBS=$APP_LIBPATH/dom4j-1.6.1.jar:$APP_LIBPATH/log4j-1.2.16.jar:$APP_LIBPATH/juniversalchardet-1.0.3.jarAPP_CONFPATH=$APP_PATH/confAPP_CONFFILE=$APP_CONFPATH/config.xmlAPP_MAIN_CLASS=com.bruce.main.LogCutterDAEMON='-d'CMD=“$JAVA-cp$CLASSPATH:$APP_CLASSPATH:$APP_LIBS$APP_MAIN_CLASS-f$APP_CONFFILE”if[$#-eq0]then$CMDelif[“$#”-eq1-a“$1”=“$DAEMON”]then$CMD&elseecho“Usage:$0[$DAEMON]”exit1fi
交互式運行操作演示:
[Kingfisher@Bruce-mbpLogCutter]$pwd/Users/Kingfisher/MyWork/Java/LogCutter[Kingfisher@Bruce-mbpLogCutter]$./run.shcommandlineusage
HELP:ShowhelpJOBS:ShowjobsstatusCFG:ShowconfigurationsummaryRUN:Schedulejobsmanually!Q:Shutdownapplication?:Aboutme
>help
commandlineusage
點此返回目錄:2015年軟件設計師考前輔導匯總
相關推薦:
軟考備考資料免費領取
去領取
專注在線職業(yè)教育25年