功能界面設(shè)計(jì)
提問(wèn)問(wèn)題
列表
-
什么軟件可以畫(huà)出房子的裝修效果圖
查看答案>>
-
用JAVA編程設(shè)計(jì)一個(gè)銀行賬戶類,其中包括以下內(nèi)容,并用字符界面模擬存款和取款過(guò)程。
查看答案>>
-
簡(jiǎn)要描述系統(tǒng)概要設(shè)計(jì)包括哪些方面的架構(gòu)
查看答案>>
-
Dreamweaver軟件是什么?它的主要功能有什么?
查看答案>>
-
人機(jī)界面交互設(shè)計(jì)基本原則是什么
查看答案>>
-
用java編寫(xiě)了一個(gè)模擬計(jì)算器的界面設(shè)計(jì),怎么實(shí)現(xiàn)運(yùn)算功能呢
查看答案>>
-
界面設(shè)計(jì)用什么軟件
查看答案>>
-
界面設(shè)計(jì)師需遵循哪些原則
查看答案>>
什么軟件可以畫(huà)出房子的裝修效果圖
感覺(jué)還是酷家樂(lè)的軟件好用。1.全新的3D操作界面,環(huán)繞場(chǎng)景設(shè)計(jì),看清每一處細(xì)節(jié)。2.單元柜模塊化操作,自定義參數(shù)設(shè)置。3.種類齊全的柜體模型,支持復(fù)雜結(jié)構(gòu),包括圓弧柜、轉(zhuǎn)角柜、切角柜,輕松應(yīng)對(duì)各類櫥柜需求。4.一鍵替換柜體材質(zhì)、配件樣式,據(jù)整體風(fēng)格設(shè)計(jì)屬于你的櫥柜。5.無(wú)需復(fù)雜繪制,一鍵生成臺(tái)面、腳線、頂線,各式線條造型和材質(zhì)隨意選擇。
用JAVA編程設(shè)計(jì)一個(gè)銀行賬戶類,其中包括以下內(nèi)容,并用字符界面模擬存款和取款過(guò)程。
import java.util.Scanner;public class ZH { private String zh;//賬戶 private String password;//密碼 private String openTime;//開(kāi)戶時(shí)間 private String sfz;//身份證號(hào) private double je;//存款金額 public String getZh() { return zh; } public void setZh(String zh) { this.zh = zh; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getOpenTime() { return openTime; } public void setOpenTime(String openTime) { this.openTime = openTime; } public String getSfz() { return sfz; } public void setSfz(String sfz) { this.sfz = sfz; } public double getJe() { return je; } public void setJe(double je) { this.je = je; } //存款方法 public void ck(double je){ this.je=this.je+je;//存入的金額加上原有的金額 } //取款方法 public void qk(double je){ if(je>this.je){//取款金額大于余額 System.out.println("存款余額不足"); }else{ this.je=this.je-je;//原有的金額減去取出的金額 } } public static void main(String[] args) { ZH zh = new ZH();//初始化一個(gè)賬戶信息 zh.setJe(10000.0);//向zh賬戶添加余額 zh.setOpenTime("2013.12.3");//向zh賬戶添加開(kāi)發(fā)時(shí)間 zh.setPassword("123456");//向zh賬戶添加密碼 zh.setSfz("123456789");//向zh賬戶添加身份證 zh.setZh("zhangsan");//向zh賬戶添加賬號(hào) System.out.println("歡迎光臨模擬銀行"); Scanner scan = new Scanner(System.in); int count=0;//記錄輸入錯(cuò)誤的次數(shù) while(1==1){//循環(huán) System.out.println("請(qǐng)輸入賬號(hào)"); String zhm=scan.next(); System.out.println("請(qǐng)輸入密碼"); String mm=scan.next(); if(zhm.equals(zh.getZh()) && mm.equals(zh.getPassword())){//輸入的信息與zh賬戶信息的密碼和賬號(hào)一致 while(1==1){ System.out.println("當(dāng)前余額為:"+zh.getJe()+"元。請(qǐng)選擇操作:1.存款;2.取款;3.退出(只能輸入數(shù)字)"); String cz=scan.next(); switch (Integer.parseInt(cz)) { case 1: System.out.println("請(qǐng)輸入存款金額(輸入小數(shù))"); double ckje=scan.nextDouble(); zh.ck(ckje); System.out.println("實(shí)施存款:"+ckje+"元,當(dāng)前余額為"+zh.getJe()+"元"); break; case 2: System.out.println("請(qǐng)輸入取款金額(輸入小數(shù))"); double qkje=scan.nextDouble(); zh.qk(qkje); System.out.println("實(shí)施取款:"+qkje+"元,當(dāng)前余額為"+zh.getJe()+"元"); break; case 3: break; default: System.out.println("暫無(wú)此功能");//輸入1或者2、3以外的操作 break; } if("3".equals(cz)){ break; } } System.out.println("退出操作"); break; }else{ if(count>=3){ System.out.println("已輸入錯(cuò)誤三次,賬號(hào)被鎖"); break;//結(jié)束循環(huán) }else{ System.out.println("賬號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入"); count++;//錯(cuò)誤一次count+1 continue;//進(jìn)入下次循環(huán) } } } }}
簡(jiǎn)要描述系統(tǒng)概要設(shè)計(jì)包括哪些方面的架構(gòu)
在需求明確、準(zhǔn)備開(kāi)始編碼之前,要做概要設(shè)計(jì),而詳細(xì)設(shè)計(jì)可能大部分公司沒(méi)有做,有做的也大部分是和編碼同步進(jìn)行,或者在編碼之后。因此,對(duì)大部分的公司來(lái)說(shuō),概要設(shè)計(jì)文檔是唯一的設(shè)計(jì)文檔,對(duì)后面的開(kāi)發(fā)、測(cè)試、實(shí)施、維護(hù)工作起到關(guān)鍵性的影響。一、問(wèn)題的提出概要設(shè)計(jì)寫(xiě)什么?概要設(shè)計(jì)怎么做?如何判斷設(shè)計(jì)的模塊是完整的?為什么說(shuō)設(shè)計(jì)階段過(guò)于重視業(yè)務(wù)流程是個(gè)誤區(qū)?以需求分析文檔還是以概要設(shè)計(jì)文檔來(lái)評(píng)估開(kāi)發(fā)工作量、指導(dǎo)開(kāi)發(fā)計(jì)劃準(zhǔn)確?結(jié)構(gòu)化好還是面向?qū)ο蠛??以上?wèn)題的答案請(qǐng)?jiān)谖恼轮姓?。二、概要設(shè)計(jì)的目的將軟件系統(tǒng)需求轉(zhuǎn)換為未來(lái)系統(tǒng)的設(shè)計(jì);逐步開(kāi)發(fā)強(qiáng)壯的系統(tǒng)構(gòu)架;使設(shè)計(jì)適合于實(shí)施環(huán)境,為提高性能而進(jìn)行設(shè)計(jì);結(jié)構(gòu)應(yīng)該被分解為模塊和庫(kù)。三、概要設(shè)計(jì)的任務(wù)制定規(guī)范:代碼體系、接口規(guī)約、命名規(guī)則。這是項(xiàng)目小組今后共同作戰(zhàn)的基礎(chǔ),有了開(kāi)發(fā)規(guī)范和程序模塊之間和項(xiàng)目成員彼此之間的接口規(guī)則、方式方法,大家就有了共同的工作語(yǔ)言、共同的工作平臺(tái),使整個(gè)軟件開(kāi)發(fā)工作可以協(xié)調(diào)有序地進(jìn)行??傮w結(jié)構(gòu)設(shè)計(jì):功能(加工)->模塊:每個(gè)功能用那些模塊實(shí)現(xiàn),保證每個(gè)功能都有相應(yīng)的模塊來(lái)實(shí)現(xiàn);模塊層次結(jié)構(gòu):某個(gè)角度的軟件框架視圖;模塊間的調(diào)用關(guān)系:模塊間的接口的總體描述;模塊間的接口:傳遞的信息及其結(jié)構(gòu);處理方式設(shè)計(jì):滿足功能和性能的算法用戶界面設(shè)計(jì);數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):詳細(xì)的數(shù)據(jù)結(jié)構(gòu):表、索引、文件;算法相關(guān)邏輯數(shù)據(jù)結(jié)構(gòu)及其操作;上述操作的程序模塊說(shuō)明(在前臺(tái)?在后臺(tái)?用視圖?用過(guò)程?······)接口控制表的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則其他性能設(shè)計(jì)。四、概要設(shè)計(jì)寫(xiě)什么結(jié)構(gòu)化軟件設(shè)計(jì)說(shuō)明書(shū)結(jié)構(gòu)(因篇幅有限和過(guò)時(shí)嫌疑,在此不作過(guò)多解釋)任務(wù):目標(biāo)、環(huán)境、需求、局限;總體設(shè)計(jì):處理流程、總體結(jié)構(gòu)與模塊、功能與模塊的關(guān)系;接口設(shè)計(jì):總體說(shuō)明外部用戶、軟、硬件接口;內(nèi)部模塊間接口(注:接口≈系統(tǒng)界面)數(shù)據(jù)結(jié)構(gòu):邏輯結(jié)構(gòu)、物理結(jié)構(gòu),與程序結(jié)構(gòu)的關(guān)系;模塊設(shè)計(jì):每個(gè)模塊“做什么”、簡(jiǎn)要說(shuō)明“怎么做”(輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統(tǒng)或硬件的接口),處在什么邏輯位置、物理位置;運(yùn)行設(shè)計(jì):運(yùn)行模塊組合、控制、時(shí)間;出錯(cuò)設(shè)計(jì):出錯(cuò)信息、處錯(cuò)處理;其他設(shè)計(jì):保密、維護(hù);OO軟件設(shè)計(jì)說(shuō)明書(shū)結(jié)構(gòu)1 概述系統(tǒng)簡(jiǎn)述、軟件設(shè)計(jì)目標(biāo)、參考資料、修訂版本記錄這部分論述整個(gè)系統(tǒng)的設(shè)計(jì)目標(biāo),明確地說(shuō)明哪些功能是系統(tǒng)決定實(shí)現(xiàn)而哪些時(shí)不準(zhǔn)備實(shí)現(xiàn)的。同時(shí),對(duì)于非功能性的需求例如性能、可用性等,亦需提及。需求規(guī)格說(shuō)明書(shū)對(duì)于這部分的內(nèi)容來(lái)說(shuō)是很重要的參考,看看其中明確了的功能性以及非功能性的需求。這部分必須說(shuō)清楚設(shè)計(jì)的全貌如何,務(wù)必使讀者看后知道將實(shí)現(xiàn)的系統(tǒng)有什么特點(diǎn)和功能。在隨后的文檔部分,將解釋設(shè)計(jì)是怎么來(lái)實(shí)現(xiàn)這些的。2 術(shù)語(yǔ)表對(duì)本文檔中所使用的各種術(shù)語(yǔ)進(jìn)行說(shuō)明。如果一些術(shù)語(yǔ)在需求規(guī)格說(shuō)明書(shū)中已經(jīng)說(shuō)明過(guò)了,此處不用再重復(fù),可以指引讀者參考需求說(shuō)明。3 用例此處要求系統(tǒng)用用例圖表述(UML),對(duì)每個(gè)用例(正常處理的情況)要有中文敘述。4 設(shè)計(jì)概述4.1 簡(jiǎn)述這部分要求突出整個(gè)設(shè)計(jì)所采用的方法(是面向?qū)ο笤O(shè)計(jì)還是結(jié)構(gòu)化設(shè)計(jì))、系統(tǒng)的體系結(jié)構(gòu)(例如客戶/服務(wù)器結(jié)構(gòu))以及使用到的相應(yīng)技術(shù)和工具(例如OMT、Rose)4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)這部分要求提供高層系統(tǒng)結(jié)構(gòu)(頂層系統(tǒng)結(jié)構(gòu)、各子系統(tǒng)結(jié)構(gòu))的描述,使用方框圖來(lái)顯示主要的組件及組件間的交互。最好是把邏輯結(jié)構(gòu)同物理結(jié)構(gòu)分離,對(duì)前者進(jìn)行描述。別忘了說(shuō)明圖中用到的俗語(yǔ)和符號(hào)。4.3 系統(tǒng)界面各種提供給用戶的界面以及外部系統(tǒng)在此處要予以說(shuō)明。如果在需求規(guī)格說(shuō)明書(shū)中已經(jīng)對(duì)用戶界面有了敘述,此處不用再重復(fù),可以指引讀者參考需求說(shuō)明。如果系統(tǒng)提供了對(duì)其它系統(tǒng)的接口,比如說(shuō)從其它軟件系統(tǒng)導(dǎo)入/導(dǎo)出數(shù)據(jù),必須在此說(shuō)明。4.4 約束和假定描述系統(tǒng)設(shè)計(jì)中最主要的約束,這些是由客戶強(qiáng)制要求并在需求說(shuō)明書(shū)寫(xiě)明的。說(shuō)明系統(tǒng)是如何來(lái)適應(yīng)這些約束的。另外如果本系統(tǒng)跟其它外部系統(tǒng)交互或者依賴其它外部系統(tǒng)提供一些功能輔助,那么系統(tǒng)可能還受到其它的約束。這種情況下,要求清楚地描述與本系統(tǒng)有交互的軟件類型以及這樣導(dǎo)致的約束。實(shí)現(xiàn)的語(yǔ)言和平臺(tái)也會(huì)對(duì)系統(tǒng)有約束,同樣在此予以說(shuō)明。對(duì)于因選擇具體的設(shè)計(jì)實(shí)現(xiàn)而導(dǎo)致對(duì)系統(tǒng)的約束,簡(jiǎn)要地描述你的想法思路,經(jīng)過(guò)怎么樣的權(quán)衡,為什么要采取這樣的設(shè)計(jì)等等。5 對(duì)象模型提供整個(gè)系統(tǒng)的對(duì)象模型,如果模型過(guò)大,按照可行的標(biāo)準(zhǔn)把它劃分成小塊,例如可以把客戶端和服務(wù)器端的對(duì)象模型分開(kāi)成兩個(gè)圖表述。在其中應(yīng)該包含所有的系統(tǒng)對(duì)象。這些對(duì)象都是從理解需求后得到的。要明確哪些應(yīng)該、哪些不應(yīng)該被放進(jìn)圖中。所有對(duì)象之間的關(guān)聯(lián)必須被確定并且必須指明聯(lián)系的基數(shù)。聚合和繼承關(guān)系必須清楚地確定下來(lái)。每個(gè)圖必須附有簡(jiǎn)單的說(shuō)明。6 對(duì)象描述在這個(gè)部分?jǐn)⑹雒總€(gè)對(duì)象的細(xì)節(jié),它的屬性、它的方法。在這之前必須從邏輯上對(duì)對(duì)象進(jìn)行組織。你可能需要用結(jié)構(gòu)圖把對(duì)象按子系統(tǒng)劃分好。為每個(gè)對(duì)象做一個(gè)條目。在系統(tǒng)對(duì)象模型中簡(jiǎn)要的描述它的用途、約束(如只能有一個(gè)實(shí)例),列出它的屬性和方法。如果對(duì)象是存儲(chǔ)在持久的數(shù)據(jù)容器中,標(biāo)明它是持久對(duì)象,否則說(shuō)明它是個(gè)臨時(shí)對(duì)象(transient object)。對(duì)每個(gè)對(duì)象的每個(gè)屬性詳細(xì)說(shuō)明:名字、類型,如果屬性不是很直觀或者有約束(例如,每個(gè)對(duì)象的該屬性必須有一個(gè)唯一的值或者值域是有限正整數(shù)等)。對(duì)每個(gè)對(duì)象的每個(gè)方法詳細(xì)說(shuō)明:方法名,返回類型,返回值,參數(shù),用途以及使用的算法的簡(jiǎn)要說(shuō)明(如果不是特別簡(jiǎn)單的話)。如果對(duì)變量或者返回值由什么假定的話,Pre-conditions和Post-conditions必須在此說(shuō)明。列出它或者被它調(diào)用的方法需要訪問(wèn)或者修改的屬性。最后,提供可以驗(yàn)證實(shí)現(xiàn)方法的測(cè)試案例。7 動(dòng)態(tài)模型這部分的作用是描述系統(tǒng)如何響應(yīng)各種事件。一般使用順序圖和狀態(tài)圖。確定不同的場(chǎng)景(Scenario)是第一步,不需要確定所有可能的場(chǎng)景,但是必須至少要覆蓋典型的系統(tǒng)用例。不要自己去想當(dāng)然地創(chuàng)造場(chǎng)景,通常的策略是描述那些客戶可以感受得到的場(chǎng)景。7.1 場(chǎng)景(Scenarios)對(duì)每個(gè)場(chǎng)景做一則條目,包括以下內(nèi)容:場(chǎng)景名:給它一個(gè)可以望文生義的名字場(chǎng)景描述:簡(jiǎn)要敘述場(chǎng)景是干什么的以及發(fā)生的動(dòng)作的順序。順序圖:描述各種事件及事件發(fā)生的相對(duì)時(shí)間順序。7.2 狀態(tài)圖這部分的內(nèi)容包括系統(tǒng)動(dòng)態(tài)模型重要的部分的狀態(tài)圖??赡苣阆霝槊總€(gè)對(duì)象畫(huà)一個(gè)狀態(tài)圖,但事實(shí)上會(huì)導(dǎo)致太多不期望的細(xì)節(jié)信息,只需要確定系統(tǒng)中一些重要的對(duì)象并為之提供狀態(tài)圖即可。8 非功能性需求五、概要設(shè)計(jì)怎么做結(jié)構(gòu)化軟件設(shè)計(jì)方法:詳細(xì)閱讀需求規(guī)格說(shuō)明書(shū),理解系統(tǒng)建設(shè)目標(biāo)、業(yè)務(wù)現(xiàn)狀、現(xiàn)有系統(tǒng)、客戶需求的各功能說(shuō)明;分析數(shù)據(jù)流圖,弄清數(shù)據(jù)流加工的過(guò)程;根據(jù)數(shù)據(jù)流圖決定數(shù)據(jù)處理問(wèn)題的類型(變換型、事務(wù)型、其他型);通過(guò)以上分析,推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖;對(duì)初始結(jié)構(gòu)圖進(jìn)行改進(jìn)完善:所有的加工都要能對(duì)應(yīng)到相應(yīng)模塊(模塊的完整性在于他們完成了需求中的所有加工),消除完全相似或局部相似的重復(fù)功能(智者察同),理清模塊間的層次、控制關(guān)系,減少高扇出結(jié)構(gòu),隨著深度增大扇入,平衡模塊大小。由對(duì)數(shù)據(jù)字典的修改補(bǔ)充完善,導(dǎo)出邏輯數(shù)據(jù)結(jié)構(gòu),導(dǎo)出每種數(shù)據(jù)結(jié)構(gòu)上的操作,這些操作應(yīng)當(dāng)屬于某個(gè)模塊。確定系統(tǒng)包含哪些應(yīng)用服務(wù)系統(tǒng)、客戶端、數(shù)據(jù)庫(kù)管理系統(tǒng);確定每個(gè)模塊放在哪個(gè)應(yīng)用服務(wù)器或客戶端的哪個(gè)目錄、哪個(gè)文件(庫(kù)),或是在數(shù)據(jù)庫(kù)內(nèi)部建立的對(duì)象。對(duì)每個(gè)篩選后的模塊進(jìn)行列表說(shuō)明。對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)進(jìn)行列表說(shuō)明。根據(jù)結(jié)構(gòu)化軟件設(shè)計(jì)說(shuō)明書(shū)結(jié)構(gòu)對(duì)其他需要說(shuō)明的問(wèn)題進(jìn)行補(bǔ)充說(shuō)明,形成概要設(shè)計(jì)說(shuō)明書(shū)。OO軟件設(shè)計(jì)方法:在OOA基礎(chǔ)上設(shè)計(jì)對(duì)象與類:在問(wèn)題領(lǐng)域分析(業(yè)務(wù)建模和需求分析)之后,開(kāi)始建立系統(tǒng)構(gòu)架。第一步是抽取建立領(lǐng)域的概念模型,在UML中表現(xiàn)為建立對(duì)象類圖、活動(dòng)圖和交互圖。對(duì)象類就是從對(duì)象中經(jīng)過(guò)“察同”找出某組對(duì)象之間的共同特征而形成類:對(duì)象與類的屬性:數(shù)據(jù)結(jié)構(gòu);對(duì)象與類的服務(wù)操作:操作的實(shí)現(xiàn)算法;對(duì)象與類的各外部聯(lián)系的實(shí)現(xiàn)結(jié)構(gòu);設(shè)計(jì)策略:充分利用現(xiàn)有的類;方法:繼承、復(fù)用、演化;活動(dòng)圖用于定義工作流,主要說(shuō)明工作流的5W(Do What、Who Do、When Do、Where Do、Why Do)等問(wèn)題,交互圖把人員和業(yè)務(wù)聯(lián)系在一起是為了理解交互過(guò)程,發(fā)現(xiàn)業(yè)務(wù)工作流中相互交互的各種角色。第二步是構(gòu)建完善系統(tǒng)結(jié)構(gòu):對(duì)系統(tǒng)進(jìn)行分解,將大系統(tǒng)分解為若干子系統(tǒng),子系統(tǒng)分解為若干軟件組件,并說(shuō)明子系統(tǒng)之間的靜態(tài)和動(dòng)態(tài)接口,每個(gè)子系統(tǒng)可以由用例模型、分析模型、設(shè)計(jì)模型、測(cè)試模型表示。軟件系統(tǒng)結(jié)構(gòu)的兩種方式:層次、塊狀層次結(jié)構(gòu):系統(tǒng)、子系統(tǒng)、模塊、組件(同一層之間具有獨(dú)立性);塊狀結(jié)構(gòu):相互之間弱耦合系統(tǒng)的組成部分:?jiǎn)栴}論域:業(yè)務(wù)相關(guān)類和對(duì)象(OOA的重點(diǎn));人機(jī)界面:窗口、菜單、按鈕、命令等等;數(shù)據(jù)管理:數(shù)據(jù)管理方法、邏輯物理結(jié)構(gòu)、操作對(duì)象類;任務(wù)管理:任務(wù)協(xié)調(diào)和管理進(jìn)程;
Dreamweaver軟件是什么?它的主要功能有什么?
Adobe Dreamweaver,簡(jiǎn)稱“DW”,中文名稱 "夢(mèng)想編織者",是美國(guó)MACROMEDIA公司開(kāi)發(fā)的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見(jiàn)即所得網(wǎng)頁(yè)編輯器,DW是第一套針對(duì)專業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)?! 」δ埽航柚蚕硇陀脩艚缑嬖O(shè)計(jì),在AdobeCreativeSuite4的不同組件之間更快、更明智地工作。使用工作區(qū)切換器可以從一個(gè)工作環(huán)境快速切換到下一個(gè)環(huán)境?! 【唧w功能: 1、利用AdobeDreamweaverCS6軟件中改善的FTP性能,更高效地傳輸大型文件。更新的“實(shí)時(shí)視圖”和“多屏幕預(yù)覽”面板可呈現(xiàn)HTML5代碼,使您能檢查自己的工作?! ?、自適應(yīng)網(wǎng)格。使用響應(yīng)迅速的CSS3自適應(yīng)網(wǎng)格版面,來(lái)創(chuàng)建跨平臺(tái)和跨瀏覽器的兼容網(wǎng)頁(yè)設(shè)計(jì)。利用簡(jiǎn)潔、業(yè)界標(biāo)準(zhǔn)的代碼為各種不同設(shè)備和計(jì)算機(jī)開(kāi)發(fā)項(xiàng)目,提高工作效率。直觀地創(chuàng)建復(fù)雜網(wǎng)頁(yè)設(shè)計(jì)和頁(yè)面版面,無(wú)需忙于編寫(xiě)代碼。 3、改善FTP性能。利用重新改良的多線程FTP傳輸工具節(jié)省上傳大型文件的時(shí)間。更快速高效地上傳網(wǎng)站文件,縮短制作時(shí)間。 4、Catalyst集成。AdobeBusinessCatalyst集成,使用Dreamweaver中集成的BusinessCatalyst面板連接并編輯您利用AdobeBusinessCatalyst(需另外購(gòu)買)建立的網(wǎng)站。利用托管解決方案建立電子商務(wù)網(wǎng)站?! ?、增強(qiáng)型jQuery移動(dòng)支持。使用更新的jQuery移動(dòng)框架支持為iOS和Android平臺(tái)建立本地應(yīng)用程序。建立觸及移動(dòng)受眾的應(yīng)用程序,同時(shí)簡(jiǎn)化您的移動(dòng)開(kāi)發(fā)工作流程?! ?、更新的PhoneGap支持。更新的AdobePhoneGap支持可輕松為Android和iOS建立和封裝本地應(yīng)用程序。通過(guò)改編現(xiàn)有的HTML代碼來(lái)創(chuàng)建移動(dòng)應(yīng)用程序。使用PhoneGap模擬器檢查您的設(shè)計(jì)?! ?、CSS3轉(zhuǎn)換。將CSS屬性變化制成動(dòng)畫(huà)轉(zhuǎn)換效果,使網(wǎng)頁(yè)設(shè)計(jì)栩栩如生。在您處理網(wǎng)頁(yè)元素和創(chuàng)建優(yōu)美效果時(shí)保持對(duì)網(wǎng)頁(yè)設(shè)計(jì)的精準(zhǔn)控制?! ?、更新的實(shí)時(shí)視圖。使用更新的“實(shí)時(shí)視圖”功能在發(fā)布前測(cè)試頁(yè)面?!皩?shí)時(shí)視圖”現(xiàn)已使用最新版的WebKit轉(zhuǎn)換引擎,能夠提供絕佳的HTML5支持。 9、CSS3/HTML5支持。通過(guò)CSS面板設(shè)置樣式,該面板經(jīng)過(guò)更新可支持新的CSS3規(guī)則。設(shè)計(jì)視圖現(xiàn)支持媒體查詢,在您調(diào)整屏幕尺寸的同時(shí)可應(yīng)用不同的樣式。使用HTML5進(jìn)行前瞻性的編碼,同時(shí)提供代碼提示和設(shè)計(jì)視圖渲染支持?! ?
人機(jī)界面交互設(shè)計(jì)基本原則是什么
1.在同一用戶界面中,所有的菜單選擇、命令輸入、數(shù)據(jù)顯示和其他功能應(yīng)保持分割的一致性;2.對(duì)所有可能造成損害的動(dòng)作,堅(jiān)持要求用戶確認(rèn)。對(duì)用戶出錯(cuò)采取寬容的態(tài)度;3.人機(jī)界面應(yīng)該能對(duì)用戶的決定做出及時(shí)的響應(yīng),最大可能減少擊鍵次數(shù)、縮短鼠標(biāo)移動(dòng)距離;4.人機(jī)界面應(yīng)提供上下文敏感的求助系統(tǒng);5.合理劃分并高效使用顯示屏;6.保證信息的顯示方式和數(shù)據(jù)輸入方式的協(xié)調(diào)一致。
用java編寫(xiě)了一個(gè)模擬計(jì)算器的界面設(shè)計(jì),怎么實(shí)現(xiàn)運(yùn)算功能呢
view sourceprint?import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; /** * 一個(gè)計(jì)算器,與Windows附件自帶計(jì)算器的標(biāo)準(zhǔn)版功能、界面相仿。 但還不支持鍵盤(pán)操作。 */ public class Calculator extends JFrame implements ActionListener { /** 計(jì)算器上的鍵的顯示名字 */ private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" }; /** 計(jì)算器上的功能鍵的顯示名字 */ private final String[] COMMAND = { "Backspace", "CE", "C" }; /** 計(jì)算器左邊的M的顯示名字 */ private final String[] M = { " ", "MC", "MR", "MS", "M+" }; /** 計(jì)算器上鍵的按鈕 */ private JButton keys[] = new JButton[KEYS.length]; /** 計(jì)算器上的功能鍵的按鈕 */ private JButton commands[] = new JButton[COMMAND.length]; /** 計(jì)算器左邊的M的按鈕 */ private JButton m[] = new JButton[M.length]; /** 計(jì)算結(jié)果文本框 */ private JTextField resultText = new JTextField("0"); // 標(biāo)志用戶按的是否是整個(gè)表達(dá)式的第一個(gè)數(shù)字,或者是運(yùn)算符后的第一個(gè)數(shù)字 private boolean firstDigit = true; // 計(jì)算的中間結(jié)果。 private double resultNum = 0.0; // 當(dāng)前運(yùn)算的運(yùn)算符 private String operator = "="; // 操作是否合法 private boolean operateValidFlag = true; /** * 構(gòu)造函數(shù) */ public Calculator() { super(); // 初始化計(jì)算器 init(); // 設(shè)置計(jì)算器的背景顏色 this.setBackground(Color.LIGHT_GRAY); this.setTitle("計(jì)算器"); // 在屏幕(500, 300)坐標(biāo)處顯示計(jì)算器 this.setLocation(500, 300); // 不許修改計(jì)算器的大小 this.setResizable(false); // 使計(jì)算器中各組件大小合適 this.pack(); } /** * 初始化計(jì)算器 */ private void init() { // 文本框中的內(nèi)容采用右對(duì)齊方式 resultText.setHorizontalAlignment(JTextField.RIGHT); // 不允許修改結(jié)果文本框 resultText.setEditable(false); // 設(shè)置文本框背景顏色為白色 resultText.setBackground(Color.WHITE); // 初始化計(jì)算器上鍵的按鈕,將鍵放在一個(gè)畫(huà)板內(nèi) JPanel calckeysPanel = new JPanel(); // 用網(wǎng)格布局器,4行,5列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3個(gè)象素 calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3)); for (int i = 0; i < KEYS.length; i++) { keys[i] = new JButton(KEYS[i]); calckeysPanel.add(keys[i]); keys[i].setForeground(Color.blue); } // 運(yùn)算符鍵用紅色標(biāo)示,其他鍵用藍(lán)色表示 keys[3].setForeground(Color.red); keys[8].setForeground(Color.red); keys[13].setForeground(Color.red); keys[18].setForeground(Color.red); keys[19].setForeground(Color.red); // 初始化功能鍵,都用紅色標(biāo)示。將功能鍵放在一個(gè)畫(huà)板內(nèi) JPanel commandsPanel = new JPanel(); // 用網(wǎng)格布局器,1行,3列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3個(gè)象素 commandsPanel.setLayout(new GridLayout(1, 3, 3, 3)); for (int i = 0; i < COMMAND.length; i++) { commands[i] = new JButton(COMMAND[i]); commandsPanel.add(commands[i]); commands[i].setForeground(Color.red); } // 初始化M鍵,用紅色標(biāo)示,將M鍵放在一個(gè)畫(huà)板內(nèi) JPanel calmsPanel = new JPanel(); // 用網(wǎng)格布局管理器,5行,1列的網(wǎng)格,網(wǎng)格之間的水平方向間隔為3個(gè)象素,垂直方向間隔為3個(gè)象素 calmsPanel.setLayout(new GridLayout(5, 1, 3, 3)); for (int i = 0; i < M.length; i++) { m[i] = new JButton(M[i]); calmsPanel.add(m[i]); m[i].setForeground(Color.red); } // 下面進(jìn)行計(jì)算器的整體布局,將calckeys和command畫(huà)板放在計(jì)算器的中部, // 將文本框放在北部,將calms畫(huà)板放在計(jì)算器的西部。 // 新建一個(gè)大的畫(huà)板,將上面建立的command和calckeys畫(huà)板放在該畫(huà)板內(nèi) JPanel panel1 = new JPanel(); // 畫(huà)板采用邊界布局管理器,畫(huà)板里組件之間的水平和垂直方向上間隔都為3象素 panel1.setLayout(new BorderLayout(3, 3)); panel1.add("North", commandsPanel); panel1.add("Center", calckeysPanel); // 建立一個(gè)畫(huà)板放文本框 JPanel top = new JPanel(); top.setLayout(new BorderLayout()); top.add("Center", resultText); // 整體布局 getContentPane().setLayout(new BorderLayout(3, 5)); getContentPane().add("North", top); getContentPane().add("Center", panel1); getContentPane().add("West", calmsPanel); // 為各按鈕添加事件偵聽(tīng)器 // 都使用同一個(gè)事件偵聽(tīng)器,即本對(duì)象。本類的聲明中有implements ActionListener for (int i = 0; i < KEYS.length; i++) { keys[i].addActionListener(this); } for (int i = 0; i < COMMAND.length; i++) { commands[i].addActionListener(this); } for (int i = 0; i < M.length; i++) { m[i].addActionListener(this); } } /** * 處理事件 */ public void actionPerformed(ActionEvent e) { // 獲取事件源的標(biāo)簽 String label = e.getActionCommand(); if (label.equals(COMMAND[0])) { // 用戶按了"Backspace"鍵 handleBackspace(); } else if (label.equals(COMMAND[1])) { // 用戶按了"CE"鍵 resultText.setText("0"); } else if (label.equals(COMMAND[2])) { // 用戶按了"C"鍵 handleC(); } else if ("0123456789.".indexOf(label) >= 0) { // 用戶按了數(shù)字鍵或者小數(shù)點(diǎn)鍵 handleNumber(label); // handlezero(zero); } else { // 用戶按了運(yùn)算符鍵 handleOperator(label); } } /** * 處理Backspace鍵被按下的事件 */ private void handleBackspace() { String text = resultText.getText(); int i = text.length(); if (i > 0) { // 退格,將文本最后一個(gè)字符去掉 text = text.substring(0, i - 1); if (text.length() == 0) { // 如果文本沒(méi)有了內(nèi)容,則初始化計(jì)算器的各種值 resultText.setText("0"); firstDigit = true; operator = "="; } else { // 顯示新的文本 resultText.setText(text); } } } /** * 處理數(shù)字鍵被按下的事件 * * @param key */ private void handleNumber(String key) { if (firstDigit) { // 輸入的第一個(gè)數(shù)字 resultText.setText(key); } else if ((key.equals(".")) && (resultText.getText().indexOf(".") < 0)) { // 輸入的是小數(shù)點(diǎn),并且之前沒(méi)有小數(shù)點(diǎn),則將小數(shù)點(diǎn)附在結(jié)果文本框的后面 resultText.setText(resultText.getText() + "."); } else if (!key.equals(".")) { // 如果輸入的不是小數(shù)點(diǎn),則將數(shù)字附在結(jié)果文本框的后面 resultText.setText(resultText.getText() + key); } // 以后輸入的肯定不是第一個(gè)數(shù)字了 firstDigit = false; } /** * 處理C鍵被按下的事件 */ private void handleC() { // 初始化計(jì)算器的各種值 resultText.setText("0"); firstDigit = true; operator = "="; } /** * 處理運(yùn)算符鍵被按下的事件 * * @param key */ private void handleOperator(String key) { if (operator.equals("/")) { // 除法運(yùn)算 // 如果當(dāng)前結(jié)果文本框中的值等于0 if (getNumberFromText() == 0.0) { // 操作不合法 operateValidFlag = false; resultText.setText("除數(shù)不能為零"); } else { resultNum /= getNumberFromText(); } } else if (operator.equals("1/x")) { // 倒數(shù)運(yùn)算 if (resultNum == 0.0) { // 操作不合法 operateValidFlag = false; resultText.setText("零沒(méi)有倒數(shù)"); } else { resultNum = 1 / resultNum; } } else if (operator.equals("+")) { // 加法運(yùn)算 resultNum += getNumberFromText(); } else if (operator.equals("-")) { // 減法運(yùn)算 resultNum -= getNumberFromText(); } else if (operator.equals("*")) { // 乘法運(yùn)算 resultNum *= getNumberFromText(); } else if (operator.equals("sqrt")) { // 平方根運(yùn)算 resultNum = Math.sqrt(resultNum); } else if (operator.equals("%")) { // 百分號(hào)運(yùn)算,除以100 resultNum = resultNum / 100; } else if (operator.equals("+/-")) { // 正數(shù)負(fù)數(shù)運(yùn)算 resultNum = resultNum * (-1); } else if (operator.equals("=")) { // 賦值運(yùn)算 resultNum = getNumberFromText(); } if (operateValidFlag) { // 雙精度浮點(diǎn)數(shù)的運(yùn)算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 == 0) { resultText.setText(String.valueOf(t1)); } else { resultText.setText(String.valueOf(resultNum)); } } // 運(yùn)算符等于用戶按的按鈕 operator = key; firstDigit = true; operateValidFlag = true; } /** * 從結(jié)果文本框中獲取數(shù)字 * * @return */ private double getNumberFromText() { double result = 0; try { result = Double.valueOf(resultText.getText()).doubleValue(); } catch (NumberFormatException e) { } return result; } public static void main(String args[]) { Calculator calculator1 = new Calculator(); calculator1.setVisible(true); calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
萬(wàn)分感謝,雖然我已經(jīng)交了作業(yè),還是感覺(jué)很厲害的
界面設(shè)計(jì)用什么軟件
要看你是從事網(wǎng)站界面設(shè)計(jì)還是軟件界面設(shè)計(jì)。網(wǎng)站界面設(shè)計(jì),必須了解一些簡(jiǎn)單的html、div、css樣式表等基本語(yǔ)言;軟件界面設(shè)計(jì),就要了解其產(chǎn)品所用的是什么工具做的,軟件和硬件的兼容性問(wèn)題(性能問(wèn)題)。對(duì)于設(shè)計(jì)軟件,常用的有photoshop、網(wǎng)頁(yè)3劍客、UIDesigner等。 但是吧,這其實(shí)僅僅是皮毛,真正要設(shè)計(jì)出來(lái)東西,我覺(jué)得還是找專業(yè)人吧。例如北京的智加設(shè)計(jì),我們?nèi)ツ旰退麄兒献鬟^(guò)。智加真的挺不錯(cuò),團(tuán)隊(duì)大概在百人左右,他們會(huì)針對(duì)每個(gè)品牌的實(shí)際情況整合出一套量身定做的方案,你可以去他們網(wǎng)站看看,還有很多案例。
界面設(shè)計(jì)師需遵循哪些原則
一、確保界面的清晰性。 界面設(shè)計(jì)的清晰性原則,主要表現(xiàn)在界面圖標(biāo)的風(fēng)格統(tǒng)一,內(nèi)容主題明確,功能指向性強(qiáng)等方面。 二、保留界面約定俗成(用戶習(xí)慣)的功能。 這是指在界面的設(shè)計(jì)過(guò)程中,設(shè)計(jì)師不能一味地求變,求新。有些已經(jīng)約定俗成的功能,或者用戶已經(jīng)習(xí)慣使用的某個(gè)功能,是必須保留的。否則,拿到一款手機(jī),里面的應(yīng)用全部都是新的,都是用戶從未體驗(yàn)過(guò)的。 三、確保界面風(fēng)格的整體一致性。 可以說(shuō),手機(jī)是一個(gè)小型的電腦,正因?yàn)槠湫。脩粼隗w驗(yàn)時(shí),更能站在高處看到細(xì)微之處。如果移動(dòng)端界面的設(shè)計(jì)風(fēng)格不統(tǒng)一,比如字體不一致、顏色搭配不一致、結(jié)構(gòu)不一致、布局不一致,用戶在使用,很容易出現(xiàn)混亂的感覺(jué)。 四、保證界面設(shè)計(jì)的美觀度。 這一點(diǎn),自然不用多說(shuō)。美是人們熱愛(ài)一切事物的起源,美的事物,總是能夠吸引人的關(guān)注。移動(dòng)端的界面設(shè)計(jì)亦如此。一款不論外觀還是界面設(shè)計(jì)都非常精美、精致的手機(jī),顯然它的銷量不會(huì)低;如果用戶體驗(yàn)度再高一點(diǎn)的話,那么,這款手機(jī)一定賺足了口碑和市場(chǎng)。 五、充分考慮頁(yè)面的響應(yīng)速度。 設(shè)計(jì)師們可千萬(wàn)不可泛泛地認(rèn)為,移動(dòng)端頁(yè)面的響應(yīng)速度是開(kāi)發(fā)考慮的事情,跟界面設(shè)計(jì)無(wú)關(guān)。如果這么想,那就大錯(cuò)特錯(cuò)了。一款手機(jī)設(shè)計(jì)完成后,開(kāi)發(fā)固然重要,可開(kāi)發(fā)也是基于設(shè)計(jì)師的方案進(jìn)行的。
熱門(mén)問(wèn)答
- 模版還是模板
- 免費(fèi)建站
- 淘寶網(wǎng)頁(yè)是哪個(gè)公司做的
- 免費(fèi)制作企業(yè)
- 簡(jiǎn)單個(gè)人網(wǎng)站模板
- 制作網(wǎng)站的的網(wǎng)站
- 怎么學(xué)網(wǎng)頁(yè)設(shè)計(jì)
- html模板文件
- 手機(jī)網(wǎng)站的優(yōu)化
- 什么是排版設(shè)計(jì)
- 廣告公司網(wǎng)站制作
- 網(wǎng)站優(yōu)化是什么
- 怎么用手機(jī)制作簡(jiǎn)歷
- 武漢建設(shè)網(wǎng)站
- 網(wǎng)站建設(shè)公司怎么樣
- seo優(yōu)化培訓(xùn)
- 網(wǎng)站的建設(shè)哪家好
- 制作簡(jiǎn)歷圖片
- 什么是網(wǎng)絡(luò)推廣優(yōu)化
- 網(wǎng)頁(yè)制作學(xué)那些