0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

畢業(yè)設(shè)計So Easy:Java MySQL智能報紙閱讀器APP應(yīng)用

jf_Vqngj70R ? 來源:美男子玩編程 ? 2023-06-12 14:53 ? 次閱讀

很多計算機專業(yè)大學(xué)生經(jīng)常和我交流:畢業(yè)設(shè)計沒思路、不會做、論文不會寫、太難了......

針對這些問題,決定分享一些軟、硬件項目的設(shè)計思路和實施方法,希望可以幫助大家,也祝愿各位學(xué)子,順利畢業(yè)!

項目專欄:7天搞定畢業(yè)設(shè)計和論文

本課題為基于智能手機的報紙閱讀器。老年人大多有讀書看報的喜好,但受限于視力衰退,閱讀報紙上較小的文字極為吃力,時間一長容易導(dǎo)致眼睛不舒服等不良狀況,給日常生活造成了不小的麻煩。如果有人或者使用軟件能夠幫助老人將報紙內(nèi)容朗讀出來,這個問題就可以在一定程度上得到解決。

目前在 Android 應(yīng)用市場有不計其數(shù)的 APP 應(yīng)用,但提供給老年人使用的卻少之又少,而且普遍質(zhì)量較差,并沒有針對老年人的特點和使用場景進(jìn)行有針對性的設(shè)計和開發(fā)。結(jié)果就是這些 APP 并沒有真正解決老年人的某些痛點問題。

本課題選擇Android平臺作為開發(fā)平臺,因其使用范圍廣,基數(shù)大,可使其適用性大大增加。老年人只需使用該 App 對所需要閱讀的內(nèi)容拍照,本應(yīng)用即會將選中的內(nèi)容朗讀出來,解決了老年人由于新聞?wù)淖煮w較小而造成的閱讀不便的問題。本 App 還提供了存儲功能,用戶可選擇將之前閱讀的內(nèi)容緩存起來,便于下次使用。

項目工程資源下載請參見:https://download.csdn.net/download/m0_38106923/87845018

1

項目功能

本課題的目標(biāo)是開發(fā)一款基于 Android 系統(tǒng)的報紙閱讀器,能夠具備良好的兼容性、穩(wěn)定性與實用性。所需要實現(xiàn)的基礎(chǔ)功能如下:

  • 拍照:調(diào)用手機自帶的攝像頭對報紙內(nèi)容進(jìn)行拍照。

  • 裁剪內(nèi)容:由于上一步得到的圖片可能混入了一些與所需內(nèi)容無關(guān)的部分,因此需要對圖片進(jìn)行裁剪。

  • OCR:將裁剪后的圖片上傳至遠(yuǎn)端的 OCR Cloud 引擎進(jìn)行文字識別,并將識別結(jié)果返回給用戶。

  • TTS:將識別所得的文字朗讀出來。

  • 存儲:將 COR 是被后的文字存儲在手機上,方便下一次使用,同時也需提供刪除功能。

  • 音量調(diào)節(jié):可以對發(fā)音人的音量進(jìn)行調(diào)大或者調(diào)小。

  • 語音設(shè)置:進(jìn)一步的個性化設(shè)置,可選擇不同的地方性語言進(jìn)行朗讀。

2

項目業(yè)務(wù)處理流程

本課題主要為設(shè)計一款在 Android 系統(tǒng)上運行的報紙閱讀器,并實現(xiàn)上述的所有功能。

用戶打開該應(yīng)用后,程序會自動檢測手機中是否安裝訊飛語音,該語音引擎在朗讀文字的時候需要用到。如果檢測到用戶尚未安裝,會彈出對話框提醒用戶安裝。安裝完成后可以選擇“拍照”或者“瀏覽”功能。

選擇“拍照”后,程序調(diào)用系統(tǒng)自帶的相機供用戶拍攝報紙內(nèi)容,待拍照完成后,跳轉(zhuǎn)至圖片裁剪界面。在該界面中會將用戶在上一步拍攝的照片顯示出來,并在圖片中提供一個可任意方向及大小拖動的方框,用戶可拖動該方框選出需要識別的圖片部分。裁剪完成后點擊“確定”即開始進(jìn)行文字識別。由于該識別過程需要聯(lián)網(wǎng),如果發(fā)現(xiàn)用戶為接入互聯(lián)網(wǎng)會彈出對話框提醒用戶進(jìn)行相關(guān)設(shè)置。

在文字識別完成后,程序會自動跳轉(zhuǎn)到朗讀的界面。該界面會顯示新聞的標(biāo)題,并提供音量調(diào)節(jié)功能,拖動音量條即可對朗讀的音量進(jìn)行實時調(diào)節(jié),并且程序會記錄用戶上一次所使用的音量大小,避免每次朗讀時都要手動調(diào)大音量的麻煩。

改界面還提供語音設(shè)置與刪除新聞的功能。語音設(shè)置功能由訊飛語音提供,可以更換不同的發(fā)音語言。

點擊“瀏覽”跳轉(zhuǎn)到歷史新聞的界面,該界面以列表的形式顯示了用戶所有的識別記錄。點擊某條新聞即可跳轉(zhuǎn)到朗讀界面自動朗讀。如果需要刪除,長按該條新聞,會彈出對話框提醒用戶是否真的需要刪除,防止誤操作。

7c1d73c4-08d6-11ee-962d-dac502259ad0.png

3

開發(fā)環(huán)境搭建

本項目需要安裝 Android 開發(fā)環(huán)境以及 Cordova 框架。下面將分為 JDK、Android SDK、Node.js、Cordova 4個部分進(jìn)行講解。

  • 安裝JDK

編譯 Android 時需要用到 JRE 支持。安裝 JDK 需要在 Sun 官方網(wǎng)站進(jìn)行下載,地址是 http://www.oracle.com/technetwork/java/javase/downloads/index.html ,這里選擇 Java SE 8u45 下載。然后雙擊下載后的文件即可自動安裝。安裝完成后打開終端,并輸入 java -version ,即可看到相應(yīng)的 Java 安裝信息。默認(rèn)的安裝目錄實在 /System/Libray/Frameworks /JavaVM.Framwork/,在該目錄下 Versions 文件夾里存放了不同版本的 JDK。

  • 安裝Android SDK

前往 Android 開發(fā)者網(wǎng)站下載,地址是 developer.android.com 。下載后解壓即可使用。

  • 安裝Node.js

前往 Node.js 官方網(wǎng)站進(jìn)行下載,地址是 https://nodejs.org/ 。這里選擇的是 Node.js for Mac的安裝文件進(jìn)行下載,下載完成后雙擊下載文件即可自動開始安裝。安裝完成后在終端中輸入 node -v 即可顯示當(dāng)前 Node.js 的安裝版本號。

  • 安裝Cordova

電腦打開終端,輸入 sudo npm install -g cordova 開始安裝 Cordova。安裝完成后在終端輸入 cordova -v 即可顯示當(dāng)前 cordova 的版本號。

4

Cordova工程創(chuàng)建

  1. 打開終端,輸入 cordova create SmartReader com.xyq.smartreader SmartReader即可成功創(chuàng)建 Cordova項目。上述命令行的第一個參數(shù)是指創(chuàng)建該工程的文件夾名,如果不存在將會創(chuàng)建該文件夾。第二個參數(shù)為該項目的包名。第三個參數(shù)為該項目在手機下顯示的名字。

  2. 在終端輸入 cd SmartReader,進(jìn)入該項目的文件夾。輸入 cordova platform add android,添加Android平臺的支持。Cordova會調(diào)用Android SDK在platform/android 中創(chuàng)建一個完整的Android應(yīng)用工程。

  3. 在WebStorm中打開SmartReader文件夾,即可看到該目錄下已經(jīng)生成了一系列的代碼文件。

  4. 完成創(chuàng)建 Cordova工程。Cordova會在www目錄下默認(rèn)生成index.html,css/index.css,img/logo.png和js/index.js等文件。

  5. 將手機通過USB數(shù)據(jù)線與筆記本連接,并開啟開發(fā)者選項以及使用USB調(diào)試的功能。在終端中輸入 cordova run android 即可將該項目安裝在手機上。如果需要在筆記本上的模擬器運行,則在終端輸入 cordova emulate android 即可啟動Android模擬器。

5

軟件功能實現(xiàn)

5.1、UI界面

由于 Cordova只提供了調(diào)用Native API接口,并沒有提供任何UI方面的功能,所以UI方面這里使用 Ratchet 框架來構(gòu)造界面。Ratchet 是一款專門為移動開發(fā)打造的框架,包括按鈕、列表、標(biāo)簽欄等在移動設(shè)備上常見的組件,讓開發(fā)者可以很方便的制作精美的頁面。其支持 Android 與iOS7兩種風(fēng)格,本軟件使用iOS7風(fēng)格。首先需要到 Ratchet 官方網(wǎng)站上下載該框架,下載完成后解壓,將相應(yīng)的 JavaScript 和 CSS 文件復(fù)制到項目目錄下 www 文件夾的對應(yīng)目錄。然后即可引用:

<link rel="stylesheet" href="ratchet/css/ratchet.min.css"/>

5.2、數(shù)據(jù)存儲

HTML5提供了兩種在客戶端存儲數(shù)據(jù)的新方法,分別是localStorage和sessionStorage。在這之前,這類功能都是使用 cookie實現(xiàn)的。但是cookie并不適合大量數(shù)據(jù)的存儲,一般情況下只能存儲大約4KB的數(shù)據(jù)。localStorage對數(shù)據(jù)的存儲沒有時間限制,sessionStorage存儲的數(shù)據(jù)在用戶關(guān)閉瀏覽器窗口后會給刪除。因而在本應(yīng)用中實現(xiàn)存儲功能應(yīng)使用localStorage。localStorage使用鍵值對的方式進(jìn)行數(shù)據(jù)存儲,目前僅支持存儲字符串類型的數(shù)據(jù)。其提供了 setItem、getItem和removeItem三個方法,分別對應(yīng)的是寫、讀、刪的功能。

5.3、拍照功能

由于從 Cordova 3開始采用插件的方式提供核心 API,因此需要通過安裝插件的方式進(jìn)行拓展。首先安裝 Cordova 插件 org.apache.cordova.camera,該插件提供對系統(tǒng)照相機功能調(diào)用的接口。在終端輸入 cordova plugin add org.apache.cordova.camera ,安裝該插件。

該插件提供了 navigator.camera.getPicture 這個方法來調(diào)用系統(tǒng)的拍照功能,該方法需要傳入三個參數(shù),分別是:拍照成功后的回調(diào)函數(shù)、拍照失敗后的回調(diào)函數(shù)和拍照的參數(shù)。拍照的參數(shù)包括圖片質(zhì)量(默認(rèn)為75%)、圖片寬高、圖片拓展名等。具體使用代碼如下:

navigator.camera.getPicture(onSuccess, onFail, {
   quality: 100,
   destinationType: Camera.DestinationType.FILE_URI
});


function onSuccess(imageURI) {
   localStorage.setItem("imgUrl", imageURI);
     location.href = "crop.html";
 }


function onFail(error) {}

在拍照完成后需要跳轉(zhuǎn)到裁剪圖片的頁面,因此在跳轉(zhuǎn)前需要把圖片的地址保存下來以供下一步使用。

5.4、裁剪圖片

使用 Image Cropper 插件實現(xiàn)。首先需要到該插件官網(wǎng) https://github.com/fengyuanchen/cropper 下載。下載完成后將文件解壓,將相應(yīng)的 JavaScript 文件 和 CSS 文件放到 SmartReader 項目下的 www 文件夾中對應(yīng)的位置。由于該插件依賴 jQuery,因此在引入其 JavaScript 前需要先引入 jQuery。引入代碼如下:

"stylesheet" type="text/css" href="css/crop.css" />

以及:

<script src="js/jquery.min.js">script>
<script src="js/cropper.js">script>

引入完成后即可開始使用。該插件提供了一個名為cropper 的方法供開發(fā)者調(diào)用裁剪功能,該方法需要傳入一個為 Object形式的配置項參數(shù)??蛇x的配置項包括圖片比例、默認(rèn)裁剪框的百分比、圖片縮放、限制裁剪大小等。

首先需要在 HTML 文件中放置一個 img 標(biāo)簽供該插件使用:

"container"> <img id="crop" src="" alt="" style="display: none;"/> div> 開始裁剪: $("#crop").cropper({ autoCropArea: 0.85 });

獲得裁剪后的圖片信息,為 DataURL 形式:

var dataURL = $("#container #crop").cropper("getCroppedCanvas").toDataURL();

5.5、上傳圖片

需要使用 Cordova 插件 org.apache.cordova.file-transfer。在終端中輸入 cordova plugin add org.apache.cordova.file-transfer,可安裝。該插件提供了全局的FileTransfer和FileUploadOptions構(gòu)造函數(shù),使用時需要先實例化。實例化FileUploadOptions后需要配置fileKey,這是一個字符串,需要跟服務(wù)器端統(tǒng)一,這樣服務(wù)器端才可根據(jù)該 Key值取到相應(yīng)的上傳圖片。實例化FileTransfer后需要傳入五個參數(shù),分別是上傳的數(shù)據(jù)、服務(wù)器地址、上傳成功的回調(diào)、上傳失敗的回調(diào)和FileUploadOptions實例化對象。上傳代碼如下:

var options = new FileUploadOptions();
options.fileKey = "ocrImage";
options.chunkedMode = false;


var uri = encodeURI("http://dev.paper-reader.avosapps.com/upload");
var ft = new FileTransfer();


ft.upload(dataURL, uri, function (r) {
    window.plugins.spinnerDialog.hide();
    var text = r.response;
    localStorage.setItem("text", text);
    location.href = "speak.html";
 }, function (error) {
}, options);

在獲取 OCR 識別后的文字,需要該文件存儲在 localStorage 中,以便下一次的使用。這一步的操作將放到跳轉(zhuǎn)到朗讀頁面后進(jìn)行。存儲的內(nèi)容包括新聞標(biāo)題、正文以及一個全局 id,全局id 用于在朗讀或者刪除時在 localStorage 中找到對應(yīng)的內(nèi)容。默認(rèn)將文本的第一行作為標(biāo)題,其余部分為正文。存儲代碼如下:

var obj = {};
var current = parseInt(localStorage.getItem("current")) + 1;
title = text.split("
")[0];
var content = text.split("
").slice(1).join("");


id = current;
obj.id = current;
obj.title = title;
obj.content = content;
newsList = JSON.parse(localStorage.getItem("news"));
newsList.push(obj);
localStorage.setItem("news", JSON.stringify(newsList));
localStorage.setItem("current", current);

5.6、瀏覽新聞

需要先將所有存儲在 localStorage 中的新聞條目取出,再逐條渲染在一個列表中。該頁面提供兩種操作:點擊新聞,即可跳轉(zhuǎn)到朗讀界面,自動朗讀該條新聞;

長按新聞,將會彈出一個對話框詢問是否刪除該條新聞,如果選擇“確定”將會把該條新聞從列表和 localStorage 存儲中移除。

var newsList = JSON.parse(localStorage.getItem("news"));
var newsElem = document.getElementById("news");
var template = '
  • %title%
  • '
    ;
    var elemList = []; if (newsList.length == 0) { document.getElementById("tip-container").style.display = "block"; return; } for (var i = 0, length = newsList.length; i < length; i++) { var id = newsList[i].id; var title = newsList[i].title; var elemStr = template.replace("%link%", "speak.html?id=" + id) .replace("%title%", title) .replace("%id%", id); elemList.push(elemStr); } newsElem.innerHTML = elemList.join(""); newsElem.style.display = "block";

    5.7、朗讀

    需要使用 Cordova 插件 com.wordsbaking.cordova.tts。在終端中輸入 cordova plugin add com.wordsbaking.cordova.tts,即可安裝。該插件提供TTS.speak這個方法用于朗讀指定的文本。使用該方法需要傳入三個參數(shù),分別是朗讀配置項、朗讀成功后的回調(diào)函數(shù)和朗讀失敗后的回調(diào)函數(shù)。其中朗讀配置項是一個Object形式的參數(shù),可設(shè)置朗讀文本、朗讀語音和朗讀速率。如果需要停止朗讀,則需調(diào)用TTS.stop()這個方法。

    TTS.speak({
        text: text,
        locale: "zh-CN",
        rate: 0.75
    }, function () {
    }, function () {
    });

    5.8、音量調(diào)節(jié)

    需要使用 Cordova 插件 com.develcode.plugins.volumeControl。在終端中輸入 cordova plugin add git+https://github.com/manusimpson/Phonegap-Android-VolumeControl.git,即可安裝。該插件提供了名為VolumeControl.setVolume的方法用于控制音量。

    使用該方法是需要傳入三個參數(shù),分別是目標(biāo)音量大小、調(diào)整音量成功后的回調(diào)函數(shù)和調(diào)整音量失敗后的回調(diào)函數(shù)。如果需要獲取當(dāng)前音量大小,則使用 VolumeControl.getVolume 方法即可。

    VolumeControl.setVolume(parseInt(elem.value), onVolSuccess, onVolError);
     
    function onVolSuccess(){}
    function onVolError(){}

    5.9、音量條UI

    需要使用插件 Powerange。這是一款具有 iOS7 風(fēng)格的滑塊插件。首先需要到該插件官網(wǎng)http://abpetkov.github.io/powerange/ 下載。完成后解壓,并將相應(yīng)的 JavaScript文件和CSS文件拷貝到項目文件夾www目錄中對應(yīng)的文件夾。該插件提供了名為Powerange的構(gòu)造函數(shù)。實例化時需要傳入兩個參數(shù),分別是用于綁定的HTML Input元素和配置項。其中配置項包括一系列可選的參數(shù),包括移動滑塊后觸發(fā)的回調(diào)函數(shù)、滑塊的取值范圍、起始位置等。使用代碼如下:

    "range-container"> <input type="text" name="range" id="range" style="display: none;"/> div> var elem = document.getElementById("range"); new Powerange(elem, { min: 0, max: 100, start: parseInt(localStorage.getItem("volume")), callback: function() { VolumeControl.setVolume(parseInt(elem.value), onVolSuccess, onVolError); localStorage.setItem("volume", elem.value + ""); } });

    5.10、檢測網(wǎng)絡(luò)狀態(tài)

    需要使用 Cordova 插件 org.apache.cordova.network-information。在終端中輸入 cordova plugin add org.apache.cordova.network-information,即可安裝。通過獲取 navigator.connection.type 該屬性的值即可得知用戶實時的網(wǎng)絡(luò)狀況。由于這里僅需要在用戶無網(wǎng)絡(luò)連接時給出提醒,因此僅需判斷 navigator.connection.type 是否 為 “none” 即可。代碼如下:

    var networkState = navigator.connection.type;
    
    
    if (networkState == "none") {
        navigator.notification.confirm(
            "檢測到您已經(jīng)斷開網(wǎng)絡(luò),是否馬上打開?",
            onConfirm,
            "未聯(lián)網(wǎng)",
            ["取消", "去打開"]
         );
    
    
         function onConfirm(buttonIndex) {
            if (buttonIndex == 2) {
                 LocationAndSettings.switchToWifiSettings();
             }
    }

    5.11、檢測是否安裝訊飛語音

    需要使用 Cordova 插件 com.ohh2ahh.plugins.appavailability。在終端輸入 cordova plugin add com.ohh2ahh.plugins.appavailability,即可安裝。該插件提供了名為appAvailability.check的方法用于檢測特定的APP是否有被安裝在手機上。使用該方法時需要傳入三個參數(shù),分別是APP的包名、檢測到成功安裝的回調(diào)函數(shù)和檢測到未成功安裝的回調(diào)函數(shù)。使用代碼如下:

    appAvailability.check(
        ' com.iflytek.tts ',
        function() {           
            // 已安裝
        },
        function() {           
            // 未安裝
        }
    );

    5.12、跳轉(zhuǎn)至設(shè)置界面

    需要使用 Cordova 插件 sk.tamex.locationandsettings。在終端中輸入 cordova plugin add sk.tamex.locationandsettings,即可安裝。該插件提供了一系列的設(shè)置功能,包括對Wifi、GPS和TTS等。這里僅需要使用跳轉(zhuǎn)至Wifi和TTS設(shè)置界面的功能即可。

    跳轉(zhuǎn)至 Wifi 設(shè)置界面,使用如下方法:

    LocationAndSettings.switchToWifiSettings();

    跳轉(zhuǎn)至 TTS設(shè)置界面,使用如下方法:

    LocationAndSettings.switchToTTSSettings();

    6

    項目效果

    點擊“拍照”后跳轉(zhuǎn)至系統(tǒng)設(shè)置界面:

    7c2bf5b6-08d6-11ee-962d-dac502259ad0.png

    拍照完成后跳轉(zhuǎn)至裁剪圖片界面:

    7c471c10-08d6-11ee-962d-dac502259ad0.png

    中間的方格框可隨意拖動,當(dāng)裁剪到合適大小后向下滾動頁面,點擊“確定”按鈕開始進(jìn)行 OCR 識別,點擊“取消”返回到啟動界面:

    7c67f14c-08d6-11ee-962d-dac502259ad0.png

    經(jīng)過實際測試,在 wifi 條件下識別大概需要 30秒 的時間:

    7c948702-08d6-11ee-962d-dac502259ad0.png

    識別結(jié)果:

    7cb58696-08d6-11ee-962d-dac502259ad0.png

    識別完成即自動開始朗讀,以下為朗讀時的界面,提供音量調(diào)節(jié)功能(會自動記住上一次設(shè)置的音量,避免每次播放都要調(diào)大音量,默認(rèn)的音量為50%大?。?,以及重復(fù)朗讀功能:

    7cdaa304-08d6-11ee-962d-dac502259ad0.png

    點擊“語音設(shè)置”按鈕,跳轉(zhuǎn)到系統(tǒng)的語音設(shè)置界面,可進(jìn)行一系列相關(guān)的設(shè)置:

    7cec4d7a-08d6-11ee-962d-dac502259ad0.png

    7cff2d00-08d6-11ee-962d-dac502259ad0.png

    重新打開軟件,點擊“瀏覽”,來到新聞列表界面,點擊相關(guān)條目即可直接朗讀:

    7d1a73f8-08d6-11ee-962d-dac502259ad0.png

    如果需要刪除某條新聞,長按該條新聞即可:

    7d3010fa-08d6-11ee-962d-dac502259ad0.png

    由于本應(yīng)用需要使用科大訊飛的語音引擎,以及 OCR 識別需要在聯(lián)網(wǎng)的條件的進(jìn)行,因此當(dāng)檢測到以上條件不滿足時會給用戶提醒:

    7d5b3d7a-08d6-11ee-962d-dac502259ad0.png

    7d76399a-08d6-11ee-962d-dac502259ad0.png

    7

    兼容性測試

    兼容性是指硬件之間、軟件之間或是軟硬件組合系統(tǒng)之間的相互協(xié)調(diào)工作的程度。兼容的概念比較廣,對于軟件的兼容性,指的是指某個軟件能穩(wěn)定地工作在若干個操作系統(tǒng)之中,而不會出現(xiàn)意外的退出等問題。

    這里使用阿里移動測試服務(wù)對本應(yīng)用進(jìn)行基本的兼容性測試,地址是http://mts.aliyun.com。阿里移動測試服務(wù)是為廣大移動開發(fā)者提供真機測試服務(wù)的云平臺,擁有大量熱門機型,提供7x24全天候服務(wù)。能夠幫助開發(fā)者以最低的成本、最高的效率發(fā)現(xiàn)APP中的各類隱患,包括APP崩潰、各類兼容性、功能性、性能問題等。網(wǎng)站界面如下圖所示:

    7d979680-08d6-11ee-962d-dac502259ad0.png

    測試使用的手機設(shè)備包括三星、華為、小米和魅族一共30部手機,測試的Android操作系統(tǒng)版本從4.0.4 到4.4.4,已經(jīng)涵蓋了市面上大多數(shù)的Android熱門機型,因此其測試結(jié)果也是具有一定的實際意義的。本應(yīng)用的兼容性測試結(jié)果如下圖所示:

    7dafc020-08d6-11ee-962d-dac502259ad0.png

    8

    模塊功能測試

    功能測試,也稱為行為測試,根據(jù)產(chǎn)品特性、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計需求。功能測試是為了確保程序以期望的方式運行而按功能要求對軟件進(jìn)行的測試,通過對一個系統(tǒng)的所有的特性和功能都進(jìn)行測試確保符合需求和規(guī)范。功能測試也叫黑盒測試或數(shù)據(jù)驅(qū)動測試,只需考慮需要測試的各個功能,不需要考慮整個軟件的內(nèi)部結(jié)構(gòu)及代碼.一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照需求編寫出來的測試用例,輸入數(shù)據(jù)在預(yù)期結(jié)果和實際結(jié)果之間進(jìn)行評測,進(jìn)而提出更加使產(chǎn)品達(dá)到用戶使用的要求。測試用例與測試結(jié)果分別如下表所示:

    7dcd4a78-08d6-11ee-962d-dac502259ad0.png

    7df93ba6-08d6-11ee-962d-dac502259ad0.png


    聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
    • 閱讀器
      +關(guān)注

      關(guān)注

      0

      文章

      301

      瀏覽量

      27921
    • APP
      APP
      +關(guān)注

      關(guān)注

      33

      文章

      1573

      瀏覽量

      72482
    • MySQL
      +關(guān)注

      關(guān)注

      1

      文章

      809

      瀏覽量

      26564

    原文標(biāo)題:畢業(yè)設(shè)計So Easy:Java MySQL智能報紙閱讀器APP應(yīng)用

    文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

    收藏 人收藏

      評論

      相關(guān)推薦

      djvu閱讀器下載

      djvu閱讀器下載djvu文件閱讀器,djvu文檔閱讀器。
      發(fā)表于 05-06 12:41 ?496次下載
      djvu<b class='flag-5'>閱讀器</b>下載

      畢業(yè)設(shè)計文件

      畢業(yè)設(shè)計文件:含畢業(yè)設(shè)計全套文件的WORD檔格式,由教務(wù)處06年制作,也可從教務(wù)處網(wǎng)上下載。畢業(yè)設(shè)計文件附件表格下載,畢業(yè)設(shè)計(論文)指導(dǎo)記錄冊,
      發(fā)表于 06-12 23:38 ?0次下載

      PDF閱讀器綠色版

      PDF閱讀器綠色版: 小巧實用的PDF文件閱讀工具。綠色軟件,解壓即用。
      發(fā)表于 08-07 15:15 ?0次下載

      Flash單片機原理(請用超星閱讀器閱讀

      Flash單片機原理(請用超星閱讀器閱讀
      發(fā)表于 01-14 15:30 ?5次下載

      單片機原理及應(yīng)用(請用超星閱讀器閱讀

      單片機原理及應(yīng)用(請用超星閱讀器閱讀),喜歡的朋友可以下載來學(xué)習(xí)。
      發(fā)表于 01-14 15:44 ?9次下載

      PDF閱讀器AcroRd32軟件

      PDF閱讀器
      發(fā)表于 06-11 10:01 ?23次下載

      基于圖論的閱讀器防碰撞算法

      射頻識別( RFID)系統(tǒng)的運行往往需要多個閱讀器,以保證覆蓋整個目標(biāo)區(qū)域。在密集的閱讀器的環(huán)境中,由于閱讀器之間存在相互干擾,會影響整個RFID系統(tǒng)的工作效率,降低識別效率。針對上述問題,提出一種
      發(fā)表于 11-29 11:26 ?1次下載
      基于圖論的<b class='flag-5'>閱讀器</b>防碰撞算法

      電子書閱讀器入門神器,當(dāng)屬當(dāng)當(dāng)閱讀器新銳版

      在現(xiàn)代快節(jié)奏的都市生活中,隨著碎片化時間的增加,人們的閱讀習(xí)慣也悄然發(fā)生了變化,電子書閱讀器從小眾的閱讀方式變成為當(dāng)下閱讀的流行趨勢。想要體驗這種生活方方式,當(dāng)當(dāng)
      發(fā)表于 11-26 13:47 ?3926次閱讀

      使用Java Web組件技術(shù)進(jìn)行畢業(yè)設(shè)計管理系統(tǒng)

      針對上海理工大學(xué)校園數(shù)字化管理現(xiàn)狀及畢業(yè)管理工作的實際需求,設(shè)計了基于Java web組件技術(shù)的畢業(yè)設(shè)計管理系統(tǒng)的基本模塊,闡述了畢業(yè)設(shè)計管理系統(tǒng)的基本流程,設(shè)計了用于數(shù)據(jù)處理、文件管
      發(fā)表于 01-17 14:32 ?10次下載
      使用<b class='flag-5'>Java</b> Web組件技術(shù)進(jìn)行<b class='flag-5'>畢業(yè)設(shè)計</b>管理系統(tǒng)

      得到閱讀器正式發(fā)布,高顏值+硬實力再掀閱讀熱潮

      近日,“得到”App打造了一款電紙書閱讀器,其主要面向喜愛閱讀的人群,提供便攜式電子墨水屏閱讀設(shè)備及開放的軟件平臺。得到閱讀器將于12月1日
      的頭像 發(fā)表于 11-29 15:43 ?3747次閱讀

      京東方公開盲人閱讀器電的相關(guān)專利

      企查查APP顯示,近日京東方公開了一項“盲人閱讀器及利用盲人閱讀器的方法”專利信息,專利公開號為CN109493694B。
      發(fā)表于 02-01 16:54 ?693次閱讀
      京東方公開盲人<b class='flag-5'>閱讀器</b>電的相關(guān)專利

      基于單片機的智能小車畢業(yè)設(shè)計

      基于單片機的智能小車畢業(yè)設(shè)計免費下載。
      發(fā)表于 06-18 09:39 ?100次下載

      基于單機片的智能小車畢業(yè)設(shè)計

      基于單機片的智能小車畢業(yè)設(shè)計
      發(fā)表于 11-09 14:58 ?77次下載

      模擬閱讀器開源分享

      電子發(fā)燒友網(wǎng)站提供《模擬閱讀器開源分享.zip》資料免費下載
      發(fā)表于 11-14 11:21 ?0次下載
      模擬<b class='flag-5'>閱讀器</b>開源分享

      DIY ePUB閱讀器

      電子發(fā)燒友網(wǎng)站提供《DIY ePUB閱讀器.zip》資料免費下載
      發(fā)表于 06-27 11:21 ?0次下載
      DIY ePUB<b class='flag-5'>閱讀器</b>