計(jì)算器軟件概要設(shè)計(jì)說明書_第1頁
計(jì)算器軟件概要設(shè)計(jì)說明書_第2頁
計(jì)算器軟件概要設(shè)計(jì)說明書_第3頁
計(jì)算器軟件概要設(shè)計(jì)說明書_第4頁
計(jì)算器軟件概要設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)學(xué)院程序設(shè)計(jì)基礎(chǔ)實(shí)踐文檔版本密級(jí)所屬范圍共14頁軟件概要設(shè)計(jì)說明書擬制:Prepared by日期:Date審核:日期:Reviewed byDate審核:日期:Reviewed byDate批準(zhǔn):日期:Granted byDate計(jì)算機(jī)學(xué)院程序設(shè)計(jì)基礎(chǔ)實(shí)踐專用版權(quán)所有 侵權(quán)必究修改履歷標(biāo)準(zhǔn)名:計(jì)算器軟件概要設(shè)計(jì)說明書分類號(hào):修改NO版本號(hào)修改日制定、修改內(nèi)容起草部門作者1V1.004.12制定HDXYHDXY目錄1引言11.1 編寫目的11.2 背景11.3 術(shù)語表11.4 參考資料12任務(wù)概述22.1 目標(biāo)22.2 需求概述22.3 性能需求22.4 條件和限制23總體設(shè)計(jì)23.1

2、模塊結(jié)構(gòu)23.2 功能需求與功能模塊關(guān)系33.3 設(shè)計(jì)概念及流程處理34接口設(shè)計(jì)84.1 數(shù)據(jù)結(jié)構(gòu)定義84.2 接口函數(shù)94.3 信號(hào)、命令和事件列表115出錯(cuò)處理設(shè)計(jì)116未解決的問題11軟件概要設(shè)計(jì)說明書1引言1.1 編寫目的此概要設(shè)計(jì)說明書對(duì)軟件的解決方案、功能分配、模塊化分、程序的總體結(jié)構(gòu)、輸入輸出和接口設(shè)計(jì)、 運(yùn)行設(shè)計(jì)及出錯(cuò)設(shè)計(jì)等方面作了全面的概括性的說明,為該軟件的詳細(xì)設(shè)計(jì)奠定了基礎(chǔ)。此文檔為模塊主管、設(shè)計(jì)人員工作的階段性總結(jié),并提供軟件主設(shè)計(jì)、設(shè)計(jì)人員和開 發(fā)人員參考。1.2 背景該項(xiàng)目基于展訊(Spreadtrum )平臺(tái)模擬器開發(fā)。為派生機(jī)型,中低端型號(hào)。按鍵式操作。屏顯為1

3、28*160。由XXXX設(shè)計(jì)開發(fā)。1.3 術(shù)語表MMI : Man Machine Interface 人機(jī)接口ADD:加法。SUB :減法。MULTI :乘法。DIVIDE :除法。SUM : 求和。EQUAL :等于。1.4 參考資料名稱作者日期資料來源軟件開發(fā)計(jì)劃UI設(shè)計(jì)規(guī)格書計(jì)算器操作規(guī)程書SPREAD檔2任務(wù)概述2.1 目標(biāo)編寫一個(gè)程序來實(shí)現(xiàn)一個(gè)單步運(yùn)算的算術(shù)計(jì)算器。通過數(shù)組來存放輸入的每 一數(shù)字或運(yùn)算符號(hào)的記錄(包括1、2、3等數(shù)字,+、-、*、/等運(yùn)算符號(hào)), 然后將其信息存入緩沖 BUFFERS。輸入一個(gè)簡(jiǎn)單算術(shù)計(jì)算式,就在屏幕上 顯示結(jié)果。2.2 需求概述序號(hào)功能名稱功能描述

4、備注1加法加法運(yùn)算2減法減法運(yùn)算3乘法乘法運(yùn)算4除法除法運(yùn)算5除0運(yùn)算除0運(yùn)算提示2.3 性能需求無2.4 條件和限制由于該終端為中低端,且屏顯大小為128X160,為輸入數(shù)據(jù)全部顯示,所以計(jì)算器輸入數(shù)據(jù)一、輸入數(shù)據(jù)二的位數(shù)均設(shè)計(jì)成14位。3總體設(shè)計(jì)3.1 模塊結(jié)構(gòu)標(biāo)識(shí)符模塊名稱模塊功能描述備注1計(jì)算器輸入處理模 塊鍵值輸入、運(yùn)算符號(hào)輸入操作2計(jì)算器運(yùn)算處理模 塊進(jìn)行算術(shù)運(yùn)算3計(jì)算器顯示模塊輸入顯示、運(yùn)算結(jié)果顯示4異常出錯(cuò)提示模塊異常出錯(cuò)提示界面、如溢出錯(cuò)誤、除 0操作、非法運(yùn)算提示可使用結(jié)構(gòu)圖來描述各模塊之間的控制與被控制關(guān)系3.2 功能需求與功能模塊關(guān)系無3.3 設(shè)計(jì)概念及流程處理說明本系

5、統(tǒng)的基本設(shè)計(jì)概念和處理流程,盡量使用圖表的形式。3.3.1 技術(shù)簡(jiǎn)介無3.3.2 算法描述執(zhí)行基本的加減乘除基本運(yùn)算。3.3.3 流程分析使用流程圖、順序圖或狀態(tài)圖對(duì)此模塊和其他模塊之間,或者模塊中各子模塊間的交互 關(guān)系進(jìn)行詳細(xì)說明1、數(shù)據(jù)輸入處理模塊計(jì)算器界面z/模塊在始化初始化s_op_buf1為字符串0初始化s_op_buf0為空初始化s_op_buf2為空S_mod=CALC_OP1按鍵響應(yīng)處理數(shù)字09* :小數(shù)點(diǎn)、#:位刪除操作上方向鍵:+下方向鍵:-(除表示減操作,還表示負(fù)號(hào)) 左方向鍵:X 右方向鍵:/操作才式s_modeCALC_OP17CALC_OP2, CALC_RESUL

6、T數(shù)據(jù)輸入模塊S_op_buf0運(yùn)算符號(hào) bufS_op_buf1運(yùn)算數(shù)據(jù)1s_op_buf2運(yùn)算數(shù)據(jù)2Case S_mode=CALC_OP1#鍵1夏將小數(shù)點(diǎn)添加到s_op_buf1將相應(yīng)的數(shù)據(jù)存入s_op_buf1中Case Smode=CALCOP2YYY在輸入數(shù)據(jù)中添加小YYYop_buf20YYY.op_buf2計(jì)算ok其它清空 s_op_buf2刪除 s_op_buf2 中的一位數(shù)據(jù)將相應(yīng)的數(shù)據(jù)存入s_op_buf2保存輸入的數(shù)據(jù)到s_op_buf2中S_op_buf2!= & op_buf2中沒smode = CALCOP2smode = CALCRESULTsmode = CA

7、LCOF1smode = CALCOP22、數(shù)據(jù)顯示模塊返回返回4 、接口設(shè)計(jì)4.1 數(shù)據(jù)結(jié)構(gòu)定義【定義】typedef enum CALC_OP1,CALC_OP2, CALC_RESULT CALC_MODE_T;【描述】此為計(jì)算器輸入操作過程中所處狀態(tài)的枚舉類型。【數(shù)據(jù)項(xiàng)】CALC_OP1 /輸入數(shù)據(jù)一和運(yùn)算操作符CALC_OP2 /輸入數(shù)據(jù)二中的其它數(shù)據(jù)CALC_RESULT【定義】typedef enumCALC_NO_ERROR, CALC_DEVIDED_BY_ZERO, CALC_OVERFLOW, CALC_IMAGINARYCALC_RESULT_T;【描述】此為計(jì)算器計(jì)算

8、操作的結(jié)果類型?!緮?shù)據(jù)項(xiàng)】CALC_NO_ERROR,運(yùn)算正確CALC_DEVIDED_BY_ZERO,除 0 操作CALC_OVERFLOW,數(shù)據(jù)溢出CALC_IMAGINARY結(jié)果為虛數(shù)【定義】LOCAL uint8 s_op_buf3CALC_MAX_LENGTH+1#defined CALC_MAX_LENGTH 14【描述】此為計(jì)算器計(jì)算操作所用緩沖器?!緮?shù)據(jù)項(xiàng)】s_op_buf0運(yùn)算符s_op_buf1運(yùn)算數(shù)據(jù)一和計(jì)算結(jié)果s_op_buf2運(yùn)算數(shù)據(jù)二【定義】LOCAL const uint8 s_key_mapCALC_KEY_MAP_LENGTH= 1,2,3,4,5,6,7,8

9、,9, .0,#,|;【描述】鍵盤按鍵鍵值映射?!緮?shù)據(jù)項(xiàng)】1,/MSG_KEYDOWN_1,2,/MSG_KEYDOWN_2 ,3,/MSG_KEYDOWN_3 ,4,/MSG_KEYDOWN_4 ,5,/MSG_KEYDOWN_5 ,6,/MSG_KEYDOWN_6 ,7,/MSG_KEYDOWN_7 ,8,/MSG_KEYDOWN_8 ,9,/MSG_KEYDOWN_9 ,.,/MSG_KEYDOWN_START,0,/MSG_KEYDOWN_0,#,/MSG_KEYDOWN_HASH4.2 接口函數(shù)列出其他模塊要調(diào)用的以及此模塊中各個(gè)子模塊之間有交互的所有接口函數(shù)【函數(shù)原型】 LOCAL

10、 uint8 *SearchChar(uint8 *i1 text ptr, int8 i2 char)【功能】在一個(gè)給定的字符串中查找一個(gè)給定的字符【參數(shù)】i1_text_ptr :給定的一個(gè)字符串。i2_char :給定的一個(gè)字符【返回值】如果找到,返回該字符的地址,否則返回NULL.【備注】無【函數(shù)原型】LOCAL void ShowCalcError(uint16 math error)【功能】運(yùn)算出錯(cuò)信息提示處理【參數(shù)】math_error:錯(cuò)誤類型。【返回值】無【備注】無【函數(shù)原型】LOCALuint16 ShowCalcResult(doublet1 dResult,uint16

11、math error)【功能】運(yùn)算結(jié)果處理、顯示【參數(shù)】t1_dResult :計(jì)算結(jié)果。math_error :錯(cuò)誤類型【返回值】返回錯(cuò)誤類型【備注】無【函數(shù)原型】LOCAL uint16 ExecuteFormula(void)【功能】對(duì)輸入的數(shù)據(jù)按照四則運(yùn)算法則進(jìn)行運(yùn)算【參數(shù)】無?!痉祷刂怠窟\(yùn)算錯(cuò)誤類型【備注】無【函數(shù)原型】LOCAL BOOLEAN FormatFormula(MMI_MESSAGE_ID_E msg_id )【功能】計(jì)算器的按鍵操作,形成計(jì)算器的輸入數(shù)據(jù)一、輸入數(shù)據(jù)二、以及操作符?!緟?shù)】msg_id:消息ID,包含數(shù)字鍵、*、#以及四個(gè)方向鍵和確認(rèn)鍵?!痉祷刂怠吭撴I值被處理,則返回 TRUE否則返回FALSE【備注】無【函數(shù)原型】LOCAL void DisplayCalcFormula(void)【功能】計(jì)算器界面顯示函數(shù)【參數(shù)】無。【返回值】無【備注】無【函數(shù)原型】LOCAL MMI_RESULT_E HandleCalcWinMsg( MMI_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param)【功能】計(jì)算器窗口界面主處理函數(shù),主要處理窗口開啟、刷新、關(guān)閉、以及其它按鍵操作處理?!緟?shù)】win

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論