国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

高明網(wǎng)站建設(shè)哪家好網(wǎng)絡(luò)培訓(xùn)研修總結(jié)

高明網(wǎng)站建設(shè)哪家好,網(wǎng)絡(luò)培訓(xùn)研修總結(jié),wordpress源碼網(wǎng)站主題,wordpress 整站加密目錄 摘 要 Abstract 第一章 引言 1.1研究現(xiàn)狀 1.2主要研究的目的及內(nèi)容 1.3研究方法及設(shè)計(jì)思路 1.3.1 研究方法 1.3.2 設(shè)計(jì)思路 1.4.相關(guān)技術(shù)簡(jiǎn)介 1.4.1 JSP技術(shù)簡(jiǎn)介 1.4.2 Struts 框架 1.4.3 Hibernate數(shù)據(jù)訪問(wèn)框架 1.4.4 B/S模式分析 1.5 系統(tǒng)開(kāi)發(fā)步驟 第二…

目錄

?

Abstract

第一章??引言

1.1研究現(xiàn)狀

1.2主要研究的目的及內(nèi)容

1.3研究方法及設(shè)計(jì)思路

1.3.1 研究方法

1.3.2 設(shè)計(jì)思路

1.4.相關(guān)技術(shù)簡(jiǎn)介

1.4.1 JSP技術(shù)簡(jiǎn)介

1.4.2 Struts 框架

1.4.3 Hibernate數(shù)據(jù)訪問(wèn)框架

1.4.4 ?B/S模式分析

1.5 系統(tǒng)開(kāi)發(fā)步驟

第二章?需求分析及可行性分析

2.1需求分析

2.1.2運(yùn)行需求分析

2.1.3其他需求分析

2.2 可行性分析

2.2.1經(jīng)濟(jì)可行性

2.2.2技術(shù)可行性

2.2.3 運(yùn)行可行性

2.2.4時(shí)間可行性

2.2.5 法律可行性

第三章?系統(tǒng)分析與設(shè)計(jì)

3.1系統(tǒng)實(shí)現(xiàn)目標(biāo)

3.2 系統(tǒng)設(shè)計(jì)

3.2.1系統(tǒng)設(shè)計(jì)

3.3數(shù)據(jù)庫(kù)設(shè)計(jì)

3.3.1數(shù)據(jù)庫(kù)概述

3.3.2數(shù)據(jù)庫(kù)實(shí)現(xiàn)

3.4系統(tǒng)體系結(jié)構(gòu)

3.5系統(tǒng)流程圖

3.6系統(tǒng)用例圖

第四章?系統(tǒng)實(shí)現(xiàn)

4.1.系統(tǒng)實(shí)現(xiàn)

4.1.1 登錄模塊

4.1.2系統(tǒng)主界面

4.1.3用戶操作

4.1.4供應(yīng)商管理

4.1.5材料信息管理

4.1.6訂單信息管理

4.1.7信息查詢

第五章??系統(tǒng)測(cè)試

5.1系統(tǒng)調(diào)試

5.1.1 程序調(diào)試

5.2 程序測(cè)試

5.2.1 測(cè)試的重要性及目的

5.2.2 測(cè)試的步驟

5.2.3 測(cè)試的主要內(nèi)容

結(jié)束語(yǔ)

參考文獻(xiàn)

??

外文原文

中文翻譯

第三章 系統(tǒng)分析與設(shè)計(jì)

3.1系統(tǒng)實(shí)現(xiàn)目標(biāo)

????采購(gòu)是公司生產(chǎn)產(chǎn)品及維護(hù)正常運(yùn)作而必須消耗的物品及必須配置的設(shè)施的購(gòu)入活動(dòng)的總稱,是公司成本控制的重點(diǎn)。無(wú)論是公司管理者還是財(cái)務(wù)部門(mén),對(duì)采購(gòu)工作存在的風(fēng)險(xiǎn)都有著非常強(qiáng)的敏感性,這不僅因?yàn)椴少?gòu)是直接影響生產(chǎn)成本的主要因素,而是因?yàn)椴少?gòu)有著很高的認(rèn)為欺詐的可能。在日趨完善的現(xiàn)代經(jīng)營(yíng)管理模式中,公司管理當(dāng)局越來(lái)越注重財(cái)務(wù)管理和財(cái)務(wù)運(yùn)作的有效性。

合理的采購(gòu)管理具有很重要的意義:

  1. 材料采購(gòu)成本在企業(yè)經(jīng)營(yíng)中占很大比重,且在很多行業(yè)有上升趨勢(shì)。
  2. 降低原材料成本是增加利潤(rùn)的基本途徑。

????建立和實(shí)施制度化的采購(gòu)管理程序,這是采購(gòu)管理工作有效進(jìn)行的根本保證,有法必依,違法必究,這是制度能切實(shí)貫徹執(zhí)行的保證。只有制度化了,才能在公司中用法制,而不是人治。采購(gòu)管理系統(tǒng)是為了實(shí)現(xiàn)企業(yè)的長(zhǎng)遠(yuǎn)發(fā)展目標(biāo)而實(shí)施的一個(gè)系統(tǒng)工程,也是一個(gè)企業(yè)能否取得經(jīng)濟(jì)效益的關(guān)鍵它能夠?yàn)槠髽I(yè)的發(fā)展提供科學(xué)的管理功能,減少管理費(fèi)用。利用計(jì)算機(jī)的數(shù)據(jù)庫(kù)技術(shù),使得企業(yè)的采購(gòu)、庫(kù)存和銷(xiāo)售能夠有利的結(jié)合起來(lái),避免和克服人工管理信息時(shí),勞動(dòng)量大,計(jì)算和統(tǒng)計(jì)的不準(zhǔn)確等種種缺陷和弊端,使企業(yè)的管理規(guī)范化和自動(dòng)化,從而對(duì)采購(gòu)管理提供更加科學(xué)、準(zhǔn)確的數(shù)據(jù),實(shí)現(xiàn)了采購(gòu)管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。通過(guò)使用采購(gòu)管理系統(tǒng)能夠降低材料采購(gòu)成本在企業(yè)經(jīng)營(yíng)中所占的比例,能夠提高企業(yè)的利潤(rùn)。

????企業(yè)為滿足生產(chǎn)所需和提高生產(chǎn)效率,將開(kāi)發(fā)企業(yè)采購(gòu)管理系統(tǒng)。

系統(tǒng)實(shí)現(xiàn)目標(biāo):易于操作,有良好的互動(dòng)性,能為員工的工作帶來(lái)便易。開(kāi)發(fā)出來(lái)的系統(tǒng)還必須是安全性高,擴(kuò)展性強(qiáng)。能在日后不斷升級(jí)優(yōu)化。

3.2 系統(tǒng)設(shè)計(jì)

3.2.1系統(tǒng)設(shè)計(jì)

該系統(tǒng)采用B/S體系結(jié)構(gòu),在客戶機(jī)上并不安裝客戶端,而是使用網(wǎng)絡(luò)瀏覽器,這樣節(jié)省一大部分開(kāi)發(fā)、維護(hù)和升級(jí)報(bào)銷(xiāo)。本系統(tǒng)不僅要求功能完善,而且還要界面友好,因此,對(duì)于一個(gè)成功的系統(tǒng)設(shè)計(jì),功能模塊的設(shè)計(jì)是關(guān)鍵。

本系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),用來(lái)解決企業(yè)采購(gòu)信息的管理問(wèn)題。采用JSP技術(shù)構(gòu)建了一個(gè)有效而且實(shí)用的企業(yè)采購(gòu)信息管理平臺(tái),目的是為高效地完成對(duì)企業(yè)采購(gòu)信息的管理。經(jīng)過(guò)對(duì)課題的深入分析,采購(gòu)系統(tǒng)需實(shí)現(xiàn)以下功能模塊:

各個(gè)模塊實(shí)現(xiàn)的功能如下:

  1. 用戶登錄

對(duì)用戶輸入的用戶名和密碼進(jìn)行匹配,只有合法的用戶可以登錄成功,進(jìn)入主界面,進(jìn)行操作。是系統(tǒng)安全性的第一層保護(hù)層。

  1. 供應(yīng)商管理

靈活管理供貨商,及時(shí)添加及修改供貨商信息,為采購(gòu)計(jì)劃的制定提供保障。

  1. 材料管理

對(duì)材料進(jìn)行管理,管理材料種類及庫(kù)存,及時(shí)了解材料的庫(kù)存信息,有助于做出正確的采購(gòu)選擇。

  1. 訂單管理

系統(tǒng)設(shè)計(jì)了多種訂單。不同權(quán)限的操作員只能對(duì)其擁有權(quán)限操作的訂單進(jìn)行操作。

  1. 信息查詢

根據(jù)關(guān)鍵字快速檢索信息。

3.3數(shù)據(jù)庫(kù)設(shè)計(jì)

3.3.1數(shù)據(jù)庫(kù)概述

數(shù)據(jù)庫(kù)設(shè)計(jì)就是針對(duì)應(yīng)用需求和環(huán)境,建立合理的數(shù)據(jù)庫(kù)模式和存儲(chǔ)結(jié)構(gòu),保證數(shù)據(jù)的高效存取,并滿足應(yīng)用的任務(wù)處理要求。數(shù)據(jù)庫(kù)設(shè)計(jì)是應(yīng)用系統(tǒng)建設(shè)的核心技術(shù),是數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域的主要研究課題。

數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù)。十多年來(lái)數(shù)據(jù)庫(kù)管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)結(jié)構(gòu)化,最低冗余度,較高的程序與數(shù)據(jù)獨(dú)立性,易于擴(kuò)充,易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。因此不僅大型計(jì)算機(jī)及中小型計(jì)算機(jī),甚至微型機(jī)都配有數(shù)據(jù)庫(kù)管理系統(tǒng)。

設(shè)計(jì)數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫(kù)遵循第三范式。即:數(shù)據(jù)庫(kù)表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。

本系統(tǒng)是用SQL Server2008作為系統(tǒng)數(shù)據(jù)庫(kù)。SQL Server是由微軟公司研制和發(fā)布的分布式關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以支持企業(yè)、部門(mén)以及個(gè)人等各種用戶完成信息系統(tǒng)、電子商務(wù)、決策支持、商業(yè)智能等工作。SQL Server2008系統(tǒng)只要由4個(gè)主要部分組成。這四個(gè)部分被稱為4個(gè)服務(wù),這些服務(wù)分別是數(shù)據(jù)庫(kù)引擎、分析服務(wù)、報(bào)表服務(wù)和集成服務(wù)。這些服務(wù)之間相互存在和相互應(yīng)用。SQL Server2008在易用性、可用性、可管理性、可編程性、動(dòng)態(tài)開(kāi)發(fā)、運(yùn)行性能等方面有突出的優(yōu)點(diǎn)。SQL Server 2008還增強(qiáng)了審查,使你可以審查你的數(shù)據(jù)的操作,從而提高了遵從性和安全性。審查不只包括對(duì)數(shù)據(jù)修改的所有信息,還包括關(guān)于什么時(shí)候?qū)?shù)據(jù)進(jìn)行讀取的信息。SQL Server 2008具有像服務(wù)器中加強(qiáng)的審查的配置和管理這樣的功能,這使得公司可以滿足各種規(guī)范需求。SQL Server 2008還可以定義每一個(gè)數(shù)據(jù)庫(kù)的審查規(guī)范,所以審查配置可以為每一個(gè)數(shù)據(jù)庫(kù)作單獨(dú)的制定。為指定對(duì)象作審查配置使審查的執(zhí)行性能更好,配置的靈活性也更高。提供了稀疏列,這個(gè)功能使NULL數(shù)據(jù)不占物理空間,從而提供了一個(gè)非常有效的管理數(shù)據(jù)庫(kù) 中的空數(shù)據(jù)的方法。例如,稀疏列使得一般包含極多要存儲(chǔ)在一個(gè)SQL Server 2008數(shù)據(jù)庫(kù)中的空值的對(duì)象模型不會(huì)占用很大的空間。稀疏列還允許管理員創(chuàng)建1024列以上的表。

3.3.2數(shù)據(jù)庫(kù)實(shí)現(xiàn)

本系統(tǒng)一共設(shè)計(jì)五張表,分別是t_order,t_price,t_supplier,t_user,t_product.

t_order表存放訂單,t_price表存放付款單,t_supplier表存放供應(yīng)商,t_user表存放用戶信息,t_product存放材料信息。

t_order(id,ordername,productid,supplierid,num,status,numb,price,allprice,username);

t_price(id,pricename,productid,supplierid,price,status,username,remark,inputdate);

t_supplier(id,suppliername,phone,adrr,mun,username,web,email,remark);

t_user(id,username,password,realname,power,);

t_product(id,productname,num,inputdate,counts,remark);

3.4系統(tǒng)體系結(jié)構(gòu)

在系統(tǒng)功能分析的基礎(chǔ)上,系統(tǒng)功能模塊圖如下圖3-1所示:?

系統(tǒng)有四個(gè)主要功能,分別是用戶登錄,基礎(chǔ)信息管理,訂單管理,采購(gòu)查詢。其中基礎(chǔ)信息管理可以對(duì)用戶信息,材料信息,供應(yīng)商信息及訂單信息進(jìn)行管理。訂單管理功能對(duì)訂單進(jìn)行管理,整個(gè)系統(tǒng)中,會(huì)有7種狀態(tài)的訂單。采購(gòu)查詢,是系統(tǒng)為用戶提供的便捷查詢方式,根據(jù)關(guān)鍵字,即可快速檢索出需要查詢的信息。

3.5系統(tǒng)流程圖

用戶輸入用戶名及密碼,系統(tǒng)會(huì)進(jìn)行匹配查詢,如果在數(shù)據(jù)庫(kù)中,有匹配的用戶信息,則可以登錄。且系統(tǒng)有4種權(quán)限的用戶,分別是管理員,審批員,采購(gòu)員及倉(cāng)庫(kù)管理員,不同權(quán)限的用戶,有不同的操作權(quán)限。

倉(cāng)庫(kù)管理員對(duì)入庫(kù)的物品進(jìn)行質(zhì)量檢驗(yàn),對(duì)質(zhì)量不合格的物品申請(qǐng)退貨,并提交退貨單等待審批。審批成功的退貨單,進(jìn)行退貨,審批不成功則重新創(chuàng)建退貨單或者修改退貨單。對(duì)于質(zhì)量合格的物品,直接確認(rèn)收貨。

3.6系統(tǒng)用例圖

管理員用例圖如圖3-5所示:

采購(gòu)員用例圖如圖3-6所示:

審批員用例圖如圖3-7所示:

????????????????????????

倉(cāng)庫(kù)管理員用例圖如圖3-8所示:

第四章 系統(tǒng)實(shí)現(xiàn)

4.1.系統(tǒng)實(shí)現(xiàn)

4.1.1 登錄模塊

對(duì)于一個(gè)完整的企業(yè)采購(gòu)管理系統(tǒng),不僅要求功能強(qiáng)大、操作簡(jiǎn)單,還要有良好的設(shè)計(jì)風(fēng)格和另人爽目的界面。登錄界面對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)是非常重要的,因?yàn)樗O(shè)置了進(jìn)入本系統(tǒng)的用戶和口令,防止非法用戶進(jìn)入系統(tǒng),破壞系統(tǒng)安全和所保存的數(shù)據(jù),只有合法的管理員在輸入正確的密碼后方可進(jìn)入系統(tǒng),否則將提示密碼或用戶名輸入錯(cuò)誤,并詢問(wèn)用戶是否重新輸入。這樣就對(duì)使用者有了限制,增加了系統(tǒng)的安全性和保密性,便于控制和管理,有利于系統(tǒng)的維護(hù)。

登陸界面如圖4-1所示:

當(dāng)用戶沒(méi)有輸入用戶名時(shí),系統(tǒng)會(huì)彈出這樣的提示框,如圖4-2所示:

當(dāng)用戶沒(méi)有輸入密碼時(shí),系統(tǒng)會(huì)彈出這樣的提示框,如圖4-3所示:

登錄界面代碼實(shí)現(xiàn):

public class LoginAction extends BaseAction{

private LoginServices loginServices;

private Integer id;

private String username;

private String password;

private String realname;

public String checkUser() throws Exception{

if (!(StringUtils.isEmpty(username)|| StringUtils.isEmpty(password))) {

TUser user = loginServices.checkUser(username,password);

if (user!=null) {

setSessionAttribute("user", user);

return SUCCESS;

}

setRequestAttribute("error", "error");

}

return ERROR;

}

public String updateUser() throws Exception{

TUser user = new TUser();

user.setId(id);

user.setPassword(password);

user.setUsername(username);

user.setRealname(realname);

loginServices.updateUser(user);

setSessionAttribute("user", user);

return "update";

}

}

}

<script?type="text/javascript">

function?commit() {

if(form1.username.value=="") {

alert("請(qǐng)您輸入用戶名!");

form1.username.focus();

return?false;

}

if(form1.password.value=="") {

alert("請(qǐng)您輸入密碼!");

form1.password.focus();

return?false;

}

return?true;

}

登錄界面設(shè)計(jì)代碼:

</script>

<table?width="100%"?border="0"?cellspacing="0"?cellpadding="0">

??????<tr>

????????<td?width="31%"?height="35"?class="login-text02">帳號(hào)???<br?/></td>

????????<td?width="69%"><input?name="username"?id=?"username"?type="text"?size="28"?style="width:150px" /></td>

??????</tr>

??????<tr>

????????<td?height="35"?class="login-text02">密碼???<br?/></td>

????????<td><input?name="password"?id="password"?type="password"?size="30"?style="width:150px"/></td>

??????</tr>

??????<tr>

????????<td?height="35">?</td>

????????<td><input?name="Submit2"?type="submit"?class="right-button02"?value="登 錄"?/>

????????????<input?name="reset232"?type="reset""?class="right-button02"?value="重 置"?/>

??????</tr>??????

??????<%

??????if("error".equals((String)request.getAttribute("error"))){ %>

?????? <font?color="red">信息錯(cuò)誤,請(qǐng)重新填寫(xiě)!</font>

??????<%}%>

</table>

4.1.2系統(tǒng)主界面

當(dāng)使用管理員身份登錄的主界面,如圖4-5所示:

圖4-5 管理員主界面

當(dāng)用戶身份為管理員時(shí),則擁有系統(tǒng)的最高權(quán)限,可以創(chuàng)建四種權(quán)限的用戶身份。分別是管理員,采購(gòu)員,審批員及倉(cāng)庫(kù)管理員。

當(dāng)使用普通用戶登錄時(shí)主界面,如圖4-6所示:

普通用戶是和管理員相對(duì)的用戶身份,包括采購(gòu)員,倉(cāng)庫(kù)管理員,審批人員三種,由管理員進(jìn)行創(chuàng)建。每種身份有對(duì)應(yīng)的操作權(quán)限。并且不能越權(quán)操作。

采購(gòu)員:創(chuàng)建原始采購(gòu)單,提交采購(gòu)申請(qǐng),對(duì)審批通過(guò)的采購(gòu)訂單進(jìn)行采購(gòu)。

審批人員:對(duì)提交的采購(gòu)訂單及退貨單進(jìn)行審批;

倉(cāng)庫(kù)管理員:對(duì)到達(dá)貨物進(jìn)行質(zhì)量檢驗(yàn),產(chǎn)品合格則確認(rèn)收貨,產(chǎn)品不合格,則創(chuàng)建退貨單,等待審批。

4.1.3用戶操作

????使用管理員身份登錄時(shí),可以查看用戶的信息,并對(duì)用戶進(jìn)行增、刪、改、查操作:

當(dāng)使用管理員身份時(shí),可以對(duì)用戶信息進(jìn)行查看,如圖4-7所示:

當(dāng)使用管理員身份登錄時(shí),可以創(chuàng)建不同權(quán)限的用戶,如圖4-8所示:

??????????????????????

用戶管理代碼實(shí)現(xiàn):

public?class?UserAction extends?BaseAction{

添加:

public?String addUser() throws?Exception{

TUser user = new?TUser();

user.setPassword(password);

user.setPower(power);

user.setRealname(realname);

user.setUsername(username);

userServices.addUser(user);

return?"addUser";

}

public?String preupdateUser() throws?Exception{

TUser user = userServices.getUser(id);

setRequestAttribute("user",user);

return?"preupdateUser";

}

修改:

public?String updateUser() throws?Exception{

TUser user = userServices.getUser(id);

user.setPassword(password);

user.setRealname(realname);

user.setPower(power);

userServices.updateUser(user);

return?"updateUser";

}

刪除:

public?String delUser() throws?Exception{

userServices.delUser(id);

return?"delUser";

??}

}

}

4.1.4供應(yīng)商管理

供應(yīng)商管理模塊是本系統(tǒng)中一個(gè)基礎(chǔ)的部分,在本模塊中包括對(duì)供應(yīng)商信息的增刪改查功能,確保資料的安全。增加了系統(tǒng)的安全性和保密性,便于控制和管理。及時(shí)的更新供應(yīng)商信息,可以幫助企業(yè)做正確的采購(gòu)策略。

供應(yīng)商模塊關(guān)鍵代碼實(shí)現(xiàn):

public?class?SupplierAction extends?BaseAction{

添加:

public?String addSupplier() throws?Exception{

TSupplier supplier = new?TSupplier();

supplier.setAdrr(adrr);

supplier.setPhone(phone);

supplier.setSuppliername(suppliername);

supplier.setEmail(email);

supplier.setNum(num);

supplier.setRemark(remark);

supplier.setUsername(username);

supplier.setWeb(web);

supplierServices.addSupplier(supplier);

return?"addSupplier";

}

public?String preupdateSupplier() throws?Exception{

TSupplier supplier = supplierServices.getSupplier(id);

setRequestAttribute("supplier",supplier);

return?"preupdateSupplier";

}

修改:

public?String updateSupplier() throws?Exception{

TSupplier supplier = supplierServices.getSupplier(id);

supplier.setAdrr(adrr);

supplier.setPhone(phone);

supplier.setSuppliername(suppliername);

supplier.setEmail(email);

supplier.setNum(num);

supplier.setRemark(remark);

supplier.setUsername(username);

supplier.setWeb(web);

supplierServices.updateSupplier(supplier);

return?"updateSupplier";

}

刪除:

public?String delSupplier() throws?Exception{

supplierServices.delSupplier(id);

return?"delSupplier";

}

public?SupplierServices getSupplierServices() {

return?supplierServices;

}

public?void?setSupplierServices(SupplierServices supplierServices) {

this.supplierServices = supplierServices;

}

4.1.5材料信息管理

本模塊主要實(shí)現(xiàn)材料信息的增加、刪除、修改、瀏覽等操作。將以前采購(gòu)過(guò)的材料、將要進(jìn)行采購(gòu)的材料以及正在考慮采購(gòu)的材料信息錄入系統(tǒng),便于企業(yè)查詢和管理。如下圖所示:

材料信息查詢,如圖4-13所示:

材料信息添加,需要添加材料的名稱、編號(hào)、出廠日期、數(shù)量、以及備注信息,要求必須添加完整。提供重置按鈕,點(diǎn)擊后,可以重寫(xiě)填寫(xiě),如圖4-14所示:

對(duì)材料信息進(jìn)行修改,及時(shí)更新材料信息,保證所有的信息都是最新?tīng)顟B(tài),如圖4-15所示:

?

材料模塊關(guān)鍵代碼實(shí)現(xiàn):

public?class?ProductAction extends?BaseAction{

添加:

public?String addProduct() throws?Exception{

TProduct product = new?TProduct();

product.setProductname(productname);

product.setInputdate(inputdate);

product.setNum(num);

product.setCounts(counts);

product.setRemark(remark);

productServices.addProduct(product);

return?"addProduct";

}

public?String preupdateProduct() throws?Exception{

TProduct product = productServices.getProduct(id);

setRequestAttribute("product",product);

return?"preupdateProduct";

}

修改:

public?String updateProduct() throws?Exception{

TProduct product = productServices.getProduct(id);

product.setProductname(productname);

product.setInputdate(inputdate);

product.setNum(num);

product.setCounts(counts);

product.setRemark(remark);

productServices.updateProduct(product);

return?"updateProduct";

}

?刪除:

public?String delProduct() throws?Exception{

productServices.delProduct(id);

return?"delProduct";

}

public?ProductServices getProductServices() {

return?productServices;

}

public?void?setProductServices(ProductServices productServices) {

this.productServices = productServices;

}

4.1.6訂單信息管理

本模塊主要實(shí)現(xiàn)對(duì)訂單進(jìn)行操作。系統(tǒng)中共設(shè)計(jì)了多種狀態(tài)的訂單。分別是新建采購(gòu)單,審批中的采購(gòu)單,審批成功的采購(gòu)單,審批失敗的采購(gòu)單,新建退貨單,審批中的退貨單,審批成功的退貨單,審批失敗的退換單,已完成訂單。新建的如下圖所示:

已完成訂單信息查詢:

當(dāng)采購(gòu)員采購(gòu)?fù)瓿芍?#xff0c;由倉(cāng)庫(kù)管理員進(jìn)行質(zhì)量檢驗(yàn),物品質(zhì)量合格之后,由采購(gòu)員確認(rèn)收貨,訂單會(huì)變?yōu)橥瓿蔂顟B(tài)。

訂單模塊關(guān)鍵代碼實(shí)現(xiàn):

????public?class?OrderAction extends?BaseAction{

為采購(gòu)員獲取訂單數(shù)據(jù):

public?String purchaseOrder() throws?Exception{

PageInfo pageInfo0 =queryOrderByStatus("('0','3')");

PageInfo pageInfo2 =queryOrderByStatus("('2')");

setRequestAttribute("pageinfo0", pageInfo0);

setRequestAttribute("pageinfo2", pageInfo2);

setRequestAttribute("searchname", this.searchname);

return?"purchaseOrder";

}

為審批員獲得訂單:

public?String approveListOrder() throws?Exception{

PageInfo pageInfo0 =queryOrderByStatus("('1')");

PageInfo pageInfo2 =queryOrderByStatus("('6')");

setRequestAttribute("pageinfo0", pageInfo0);

setRequestAttribute("pageinfo2", pageInfo2);

setRequestAttribute("searchname", this.searchname);

return?"approveListOrder";

}

public?String storeListOrder() throws?Exception{

StringBuffer cond = new?StringBuffer();

if(null!=searchname&&""!=searchname.trim()){

cond.append(" and a.ordername like '%"+searchname.trim()+"%' ");

}

if(null!=getRequestParameter("flag") &&""!=getRequestParameter("flag")){

setSessionAttribute("flag", getRequestParameter("flag"));

}

if(null!=getSessionAttribute("flag") &&""!=(String)getSessionAttribute("flag")){

cond.append(" and a.status = '"+(String)getSessionAttribute("flag")+"' ");

}

int?curpage = Integer.parseInt(this.getCurrentpage(ServletActionContext.getRequest()));

int?pageunit = Integer.parseInt(this.getPageunit(ServletActionContext.getRequest(), "querypageunit"));

String url = "order_storeListOrder?a=a";

PageInfo pageInfo = this.orderServices.queryOrder(curpage,

pageunit, ServletActionContext.getRequest(), url, cond.toString());

setRequestAttribute("pageinfo", pageInfo);

setRequestAttribute("searchname", this.searchname);

return?"storeListOrder";

}

public?String addOrderForPurchase(){

try?{

TOrder order = new?TOrder();

order.setNum(num);

order.setOrdername(ordername);

order.setStatus("0");

TProduct product = productServices.getProduct(productid);

order.setTProduct(product);

TSupplier supplier = supplierServices.getSupplier(supplierid);

order.setTSupplier(supplier);

order.setNumb(numb);

order.setPrice(price);

order.setRemark(remark);

order.setAllprice(allprice);

order.setUsername(username);

orderServices.addOrder(order);

} catch?(RuntimeException e) {

e.printStackTrace();

}

return?"addOrderForPurchase";

}

public?String updateOrderForPurchase() {

try?{

TOrder order = this.getOrderServices().getOrder(id);

order.setNum(num);

order.setOrdername(ordername);

TProduct product = productServices.getProduct(productid);

order.setTProduct(product);

TSupplier supplier = supplierServices.getSupplier(supplierid);

order.setTSupplier(supplier);

order.setNumb(numb);

order.setPrice(price);

order.setRemark(remark);

order.setAllprice(allprice);

order.setUsername(username);

this.getOrderServices().updateOrder(order);

} catch?(RuntimeException e) {

e.printStackTrace();

}

return?"updateOrderForPurchase";

}

public?String approveOrder() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setStatus("1");

this.getOrderServices().updateOrder(order);

return?"approveOrder";

}

?采購(gòu)申請(qǐng):

public?String applyOrder() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setStatus("1");

this.getOrderServices().updateOrder(order);

return?"applyOrder";

}

?采購(gòu):

public?String buyOrder() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setStatus("4");

this.getOrderServices().updateOrder(order);

return?"buyOrder";

}

?合格檢查:

public?String TestOrder() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setStatus("5");

this.getOrderServices().updateOrder(order);

return?"TestOrder";

}

?退貨檢查:

public?String returnOrder() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setStatus("6");

this.getOrderServices().updateOrder(order);

return?"returnOrder";

}

?審批:

public?String approveOrderForApproveList() throws?Exception{

TOrder order = this.getOrderServices().getOrder(id);

order.setRemark(remark);

order.setStatus(status);

this.getOrderServices().updateOrder(order);

return?"approveOrderForApproveList";

????}

??}

}

第五章 ?系統(tǒng)測(cè)試

5.1系統(tǒng)調(diào)試

5.1.1?程序調(diào)試

在設(shè)計(jì)系統(tǒng)的過(guò)程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)句的語(yǔ)法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。

5.2?程序測(cè)試

5.2.1 測(cè)試的重要性及目的

(1)測(cè)試的重要性

對(duì)于軟件來(lái)講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語(yǔ)言、先進(jìn)的開(kāi)發(fā)方式、完善的開(kāi)發(fā)過(guò)程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測(cè)試來(lái)找出,軟件中的錯(cuò)誤密度也需要測(cè)試來(lái)進(jìn)行估計(jì)。測(cè)試是所有工程學(xué)科的基本組成單元,是軟件開(kāi)發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測(cè)試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開(kāi)發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開(kāi)發(fā)總工作量的40%以上。而在軟件開(kāi)發(fā)的總成本中,用在測(cè)試上的開(kāi)銷(xiāo)要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測(cè)試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開(kāi)發(fā),乃至多次開(kāi)發(fā),其中必定還包含有許多測(cè)試工作。

在實(shí)踐中,軟件測(cè)試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測(cè)試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:

① 認(rèn)為測(cè)試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測(cè)試人員某種成就感;

② 以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測(cè)試是非建設(shè)性的,甚至是破壞性的,測(cè)試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定;

③ 測(cè)試工作枯燥無(wú)味,不能引起人們的興趣;

④ 測(cè)試工作是艱苦而細(xì)致的工作;

⑤ 對(duì)自己編寫(xiě)的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開(kāi)發(fā)能力的看法。

這些觀點(diǎn)對(duì)軟件測(cè)試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。

(2)測(cè)試的目的

如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。

① 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;

② 測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;

③ 一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;

④ 一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒(méi)有價(jià)值的,事實(shí)并非如此。

首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。

5.2.2 測(cè)試的步驟

與開(kāi)發(fā)過(guò)程類似,測(cè)試過(guò)程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(tǒng)的測(cè)試基本上由下述幾個(gè)步驟組成:

(1)模塊測(cè)試 在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。

(2)系統(tǒng)測(cè)試 在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說(shuō)明中的錯(cuò)誤。

(3)驗(yàn)收測(cè)試 在這個(gè)測(cè)試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說(shuō)明書(shū)中的錯(cuò)誤。

5.2.3?測(cè)試的主要內(nèi)容

為了保證測(cè)試的質(zhì)量,將測(cè)試過(guò)程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。

(1)單元測(cè)試

單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過(guò)測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說(shuō)明不符合的情況,以及編碼的錯(cuò)誤。

(2)集成測(cè)試

集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。如一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問(wèn)題而造成有害影響;把子功能組合起來(lái)可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來(lái)是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。

(3)確認(rèn)測(cè)試

確認(rèn)測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。

(4)系統(tǒng)測(cè)試

軟件開(kāi)發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。

單獨(dú)對(duì)系統(tǒng)的測(cè)試主要從以下幾方面入手:

① 功能測(cè)試:測(cè)試是否滿足開(kāi)發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測(cè)試是系統(tǒng)測(cè)試最常用和必須的測(cè)試,通常還會(huì)以正式的軟件說(shuō)明書(shū)為測(cè)試標(biāo)準(zhǔn)。

② 強(qiáng)度測(cè)試及性能測(cè)試:測(cè)試系統(tǒng)能力最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。

③ 安全測(cè)試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對(duì)本系統(tǒng)主要是對(duì)權(quán)限系統(tǒng)的測(cè)試和對(duì)無(wú)效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測(cè)試。

(1)??測(cè)試案例的內(nèi)容

周期:測(cè)試時(shí)間域。

層次:測(cè)試的層面。

類型:測(cè)試的分類。

系統(tǒng):測(cè)試何系統(tǒng)。

分系統(tǒng): 測(cè)試何分系統(tǒng)。

模塊: 測(cè)試何模塊。

平臺(tái): 測(cè)試的環(huán)境。

描述: 對(duì)測(cè)試問(wèn)題說(shuō)明與敘述。

目的: 測(cè)試的目標(biāo)與期望。

此外,還包括測(cè)試文檔號(hào)、測(cè)試設(shè)置、輸入條件、測(cè)試結(jié)果和期望結(jié)果。

(2) 測(cè)試案例與腳本

1)測(cè)試案例與腳本設(shè)計(jì)主要包括以下內(nèi)容:

檢查集成測(cè)試策略

制定測(cè)試數(shù)據(jù)目的和性能目標(biāo)

找出關(guān)鍵測(cè)試條件

檢查已有的在線測(cè)試腳本

輸入或抓取在線測(cè)試腳本

檢查已有的用于測(cè)試的數(shù)據(jù)

生成測(cè)試數(shù)據(jù)

檢查重要的數(shù)據(jù)

執(zhí)行測(cè)試數(shù)據(jù)和測(cè)試腳本

2)本系統(tǒng)測(cè)試案例如下:

只有系統(tǒng)的測(cè)試工作在用戶的協(xié)助下,不斷的修改,才能達(dá)到完善的預(yù)期目標(biāo)。本企業(yè)采購(gòu)信息管理系統(tǒng)系統(tǒng)經(jīng)過(guò)初步測(cè)試,基本上達(dá)到目標(biāo)。

結(jié)束語(yǔ)

幾個(gè)月來(lái)忙碌緊張而又有條不紊的畢業(yè)設(shè)計(jì),使我有機(jī)會(huì)對(duì)本專業(yè)的基本理論、專業(yè)知識(shí)和基本技術(shù)有了更深入的了解和體會(huì),使我在四年中所學(xué)到的知識(shí)得到了系統(tǒng)的復(fù)習(xí)和升華,真正達(dá)到了學(xué)以致用。

管理信息系統(tǒng)是一門(mén)融管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、計(jì)算機(jī)科學(xué)與現(xiàn)代通信技術(shù)為一體的一門(mén)綜合性學(xué)科。它是運(yùn)用系統(tǒng)的方法以計(jì)算機(jī)和現(xiàn)代通信技術(shù)為基本信息處理手段和工具的,能為管理決策提供信息服務(wù)的人—機(jī)系統(tǒng).它可以實(shí)現(xiàn)數(shù)據(jù)處理功能、預(yù)測(cè)功能、計(jì)劃功能、控制功能和輔助決策功能。管理信息系統(tǒng)的開(kāi)發(fā)是一項(xiàng)復(fù)雜的系統(tǒng)工程,必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)運(yùn)行與評(píng)價(jià)的開(kāi)發(fā)步驟來(lái)進(jìn)行。

在系統(tǒng)開(kāi)發(fā)之前,必須了解該系統(tǒng)的特點(diǎn)、適用范圍以及使用者需要一個(gè)什么樣的系統(tǒng),以此作為基礎(chǔ)為開(kāi)發(fā)系統(tǒng)準(zhǔn)確定位,然后對(duì)使用者所需實(shí)現(xiàn)的功能進(jìn)行分析總結(jié),根據(jù)使用者的實(shí)際要求來(lái)給系統(tǒng)設(shè)計(jì)一個(gè)初步方案。系統(tǒng)的開(kāi)發(fā)不僅是要實(shí)現(xiàn)對(duì)數(shù)據(jù)處理的及時(shí)與正確,而且要考慮系統(tǒng)是否具有控制功能,及時(shí)將數(shù)據(jù)反饋給操作者,以進(jìn)行監(jiān)測(cè)和協(xié)調(diào),保證系統(tǒng)的正常運(yùn)行;也要考慮是否具有預(yù)測(cè)功能,運(yùn)用一定的數(shù)學(xué)方法利用歷史的數(shù)據(jù)對(duì)未來(lái)進(jìn)行預(yù)測(cè)的工作。

在設(shè)計(jì)的過(guò)程中,我掌握了很多JSP的編程知識(shí),并對(duì)這種成熟并廣泛應(yīng)用的技術(shù)進(jìn)行了深入的學(xué)習(xí)。設(shè)計(jì)的過(guò)程也是一個(gè)再學(xué)習(xí)的過(guò)程,在遇到問(wèn)題的時(shí)候我盡量自己想辦法解決,這在很大程度上激發(fā)了我們的自學(xué)能力;在沒(méi)有辦法解決的情況下,認(rèn)真的向老師請(qǐng)教,從老師那里我學(xué)到了很多的知識(shí),老師對(duì)我的指導(dǎo)起到了畫(huà)龍點(diǎn)睛的作用。

以往我們?cè)?jīng)有過(guò)多次設(shè)計(jì)的體會(huì),但只是設(shè)計(jì)一個(gè)模塊或一個(gè)小系統(tǒng),而這一次畢業(yè)設(shè)計(jì)是綜合所學(xué)的管理和計(jì)算機(jī)的知識(shí)來(lái)設(shè)計(jì)一個(gè)適合運(yùn)行管理的企業(yè)采購(gòu)信息管理系統(tǒng)。要想設(shè)計(jì)使用戶滿意,就需要我們付出更多的努力。我在設(shè)計(jì)中經(jīng)常出現(xiàn)一些問(wèn)題不知該如何解決,在此時(shí)許多同學(xué)給予了我?guī)椭T谠O(shè)計(jì)的過(guò)程中增加了于實(shí)際接觸的機(jī)會(huì),不僅培養(yǎng)了我的自學(xué)和編程能力,讓我在即將離開(kāi)學(xué)校進(jìn)入社會(huì)之前有了一定的資本,提高了我與人溝通的能力。

在我的程序設(shè)計(jì)過(guò)程中,我充分的體會(huì)到了“實(shí)踐出真知”這一點(diǎn),書(shū)本上的知識(shí)是不夠的,只有把理論與實(shí)踐相結(jié)合才能夠真正的學(xué)到知識(shí)。一個(gè)管理信息系統(tǒng)的設(shè)計(jì),不可能一步到位,還需要不斷的完善和補(bǔ)充。同時(shí),系統(tǒng)中還存在許多問(wèn)題,有待在日后的使用中發(fā)現(xiàn)和解決。編程前的深思熟慮是減少程序調(diào)試工作量的重要方法,只有進(jìn)行充分考慮,才會(huì)減少調(diào)試過(guò)程中的工作量。雖然在開(kāi)始寫(xiě)程序之前我們做了多的準(zhǔn)備工作,但在真正的寫(xiě)程序時(shí)仍然發(fā)現(xiàn)許多問(wèn)題,有些問(wèn)題是分析時(shí)的疏漏,有些則是如果不做無(wú)論如何也想不到的。所以我需要在日后進(jìn)行更多的經(jīng)驗(yàn)積累。

畢業(yè)設(shè)計(jì)是我人生一筆寶貴的財(cái)富。我會(huì)把它當(dāng)做人生的成功基石,日后不斷的進(jìn)行努力,提高自己,逐步走向成功。

http://www.aloenet.com.cn/news/1554.html

相關(guān)文章:

  • 網(wǎng)站管理員是什么意思湖南專業(yè)seo推廣
  • 網(wǎng)站建設(shè)必須經(jīng)歷的過(guò)程品牌推廣手段
  • asp網(wǎng)站制作教程2023年8月新冠又來(lái)了
  • 科普網(wǎng)站建設(shè)經(jīng)驗(yàn)襄陽(yáng)網(wǎng)站seo
  • 長(zhǎng)春火車(chē)站咨詢電話企業(yè)如何做好網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 北京做兼職網(wǎng)站比較開(kāi)放的瀏覽器
  • 網(wǎng)站能否做二維碼如何建網(wǎng)站
  • 做的網(wǎng)站怎樣百度能搜到廣告推廣渠道有哪些
  • 寧波自適應(yīng)網(wǎng)站建設(shè)優(yōu)化建站網(wǎng)絡(luò)推廣公司電話
  • 鋁木門(mén)窗網(wǎng)站建設(shè)地推拉新app推廣接單平臺(tái)
  • 上海自助建站工具杭州seo關(guān)鍵字優(yōu)化
  • 建材網(wǎng)站做環(huán)保類型思路醫(yī)療網(wǎng)站優(yōu)化公司
  • 事業(yè)單位網(wǎng)站建設(shè)工作方案sem百度競(jìng)價(jià)推廣
  • 秦皇島網(wǎng)站制作多少錢(qián)大興今日頭條新聞
  • github wordpress主題seo關(guān)鍵詞優(yōu)化軟件手機(jī)
  • 安陽(yáng)網(wǎng)站制作杭州網(wǎng)站seo價(jià)格
  • 網(wǎng)站預(yù)付款怎么做會(huì)計(jì)分錄產(chǎn)品推廣找哪家公司
  • 咸陽(yáng)市建設(shè)工程信息網(wǎng)芭嘞seo
  • 個(gè)人網(wǎng)站做接口可以么網(wǎng)時(shí)代教育培訓(xùn)機(jī)構(gòu)怎么樣
  • 豬八戒網(wǎng)站做私活賺錢(qián)嗎18款禁用軟件黃app免費(fèi)
  • 源碼分享百度seo排名優(yōu)化是什么
  • 東營(yíng)網(wǎng)站建設(shè)規(guī)劃書(shū)百度網(wǎng)址大全下載安裝
  • 南城網(wǎng)站建設(shè)公司信息seo優(yōu)化sem推廣
  • 合肥高端品牌網(wǎng)站建設(shè)廣州網(wǎng)站優(yōu)化公司
  • 政府網(wǎng)站建設(shè)依賴什么平臺(tái)打廣告比較好免費(fèi)的
  • 網(wǎng)站建設(shè)規(guī)劃書(shū)范文5000字紹興seo排名
  • 平頂山哪里有做網(wǎng)站的公司產(chǎn)品軟文范例大全
  • 家具網(wǎng)站建設(shè)規(guī)劃書(shū)廣告發(fā)布平臺(tái)app
  • 成都便宜網(wǎng)站建設(shè)西安網(wǎng)站制作建設(shè)
  • 網(wǎng)站內(nèi)頁(yè)產(chǎn)品做跳轉(zhuǎn)推廣形式