牛玉霞++任偉
摘要:“企業(yè)產(chǎn)品展示與新聞發(fā)布系統(tǒng)”可以通過后臺(tái)上傳企業(yè)產(chǎn)品、發(fā)布企業(yè)新聞,通過前臺(tái)頁面查看、瀏覽。其中管理員可以設(shè)置產(chǎn)品與新聞分類,瀏覽、添加、刪除、修改企業(yè)的產(chǎn)品與新聞詳情;普通用戶可以瀏覽產(chǎn)品信息和企業(yè)新聞。本文詳細(xì)闡述了系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)、功能模塊設(shè)計(jì)以及系統(tǒng)核心功能的實(shí)現(xiàn),并且闡述了三層架構(gòu)的設(shè)計(jì)思想。
關(guān)鍵詞:企業(yè)產(chǎn)品展示與新聞發(fā)布 功能設(shè)計(jì) 編碼實(shí)現(xiàn)
中圖分類號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)12-0159-02
本系統(tǒng)的用戶分為管理員和普通用戶,普通用戶可以瀏覽系統(tǒng)信息,管理員可以設(shè)置產(chǎn)品與新聞分類,瀏覽、添加、刪除、修改企業(yè)的產(chǎn)品與新聞詳情。本系統(tǒng)基于Microsoft Visual Studio開發(fā)平臺(tái)和SQL Server技術(shù),采用三層架構(gòu),系高效率、高集成、高安全性的企業(yè)信息管理系統(tǒng)。
1 系統(tǒng)開發(fā)環(huán)境及主要技術(shù)
1.1 開發(fā)環(huán)境
本系統(tǒng)開發(fā)使用的操作系統(tǒng)為 Windows7,使用的開發(fā)工具為 Microsoft Visual Studio 2010,以Microsoft SQL server 2008 為后臺(tái)數(shù)據(jù)庫,使用Adobe Photoshop CS3 進(jìn)行素材加工,使用 Microsoft Office Visio 2003 進(jìn)行UML 建模。
1.2 系統(tǒng)的技術(shù)應(yīng)用
本系統(tǒng)開發(fā)的主要技術(shù)如下:
(1)運(yùn)用微軟公司的ASP.NET技術(shù);
(2)采用三層架構(gòu),實(shí)現(xiàn)對(duì)系統(tǒng)框架的搭建,將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層 (UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層 (DAL),使系統(tǒng)具有 “高內(nèi)聚,低耦合”的特征,更利于系統(tǒng)的開發(fā)與維護(hù);
(3)使用OOP思想,實(shí)現(xiàn)數(shù)據(jù)的封裝,類的繼承和多態(tài),程序更加人性化。
(4)使用ADO.NET技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫信息操作,使系統(tǒng)對(duì)數(shù)據(jù)庫的處理更高效、更安全。
(5)采用工程化的開發(fā)方法,使系統(tǒng)更穩(wěn)定,代碼更規(guī)范,系統(tǒng)更便于維護(hù)。
2 系統(tǒng)設(shè)計(jì)
2.1 數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)使用Microsoft SQL server 2008作為數(shù)據(jù)庫的設(shè)計(jì)與開發(fā)工具,主要數(shù)據(jù)表有以下幾個(gè):
(1)新聞信息表(News_Info):此表存放新聞基本信息,其結(jié)構(gòu)如表1所示。
(2)產(chǎn)品信息表(Product_Info):此表存放產(chǎn)品基本信息,其結(jié)構(gòu)如表2所示。
(3)產(chǎn)品類別表(ProductType):此表存放產(chǎn)品分類信息,其結(jié)構(gòu)如表3所示。
2.2 功能模塊設(shè)計(jì)
本系統(tǒng)主要功能模塊設(shè)計(jì)如圖1所示。
2.3 功能需求分析
2.3.1 用戶管理
根據(jù)系統(tǒng)的操作權(quán)限不同,將系統(tǒng)的使用用戶分為普通用戶和管理員。普通用戶無需注冊(cè),可以瀏覽系統(tǒng)中發(fā)布的產(chǎn)品和新聞信息;管理員負(fù)責(zé)系統(tǒng)的日常維護(hù),通過身份驗(yàn)證后可以對(duì)產(chǎn)品和新聞進(jìn)行瀏覽和編輯。
2.3.2 產(chǎn)品管理
管理員可以通過系統(tǒng)后臺(tái)對(duì)產(chǎn)品進(jìn)行添加、刪除、修改、查詢。
(1)添加產(chǎn)品:即在系統(tǒng)中錄入新產(chǎn)品,填寫產(chǎn)品信息時(shí)作非空判斷,如果出現(xiàn)重復(fù)信息,則給出提示。添加成功之后,以對(duì)話框的形式顯示添加結(jié)果。
(2)刪除產(chǎn)品:企業(yè)有些停產(chǎn)或脫銷產(chǎn)品,從系統(tǒng)展示位中“下架”,由管理員在系統(tǒng)后臺(tái)通過刪除產(chǎn)品操作實(shí)現(xiàn)。
(3)修改產(chǎn)品:管理員在系統(tǒng)后臺(tái)可以編輯產(chǎn)品,實(shí)現(xiàn)對(duì)產(chǎn)品屬性的修改,比如產(chǎn)品圖片、產(chǎn)品名稱等。
(4)查詢產(chǎn)品:系統(tǒng)前臺(tái)和后臺(tái)均支持按產(chǎn)品名稱或類別進(jìn)行查詢和瀏覽。
新聞管理與產(chǎn)品管理功能需求類似,在此不再贅述。
3 系統(tǒng)功能實(shí)現(xiàn)
限于篇幅,本文選取了部分核心功能代碼。
3.1 管理員用戶登錄
管理員在后臺(tái)登錄頁面輸入指定用戶名和密碼,進(jìn)行身份驗(yàn)證,具體實(shí)現(xiàn)如下:
protected void btnLogin_Click(object sender, EventArgs e)
{
if (txtUserName.Text == "admin" && txtPassword.Text == "admin")
{
Response.Redirect("AdminIndex.aspx");
}
else
{
ShowMessage(this,"賬號(hào)或密碼錯(cuò)誤!");
}
}
3.2 產(chǎn)品與新聞管理
產(chǎn)品和新聞的基本信息存放在數(shù)據(jù)庫中,通過對(duì)數(shù)據(jù)表的操作,來實(shí)現(xiàn)產(chǎn)品和新聞的增、刪、改、查。在.NET頁面中訪問數(shù)據(jù)表一般有三個(gè)步驟:一是連接數(shù)據(jù)庫;二是對(duì)數(shù)據(jù)表執(zhí)行相關(guān)操作;三是關(guān)閉連接。本文以“新增”新聞功能代碼為例,來闡述操作數(shù)據(jù)表。數(shù)據(jù)訪問與業(yè)務(wù)處理代碼如下:
private static string connString =
ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;
public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connString))
{
SqlDataReader returnReader;
connection.Open();
SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);
command.CommandType = CommandType.StoredProcedure;
returnReader = command.ExecuteReader(CommandBehavior.CloseConnection);
return returnReader;
}
}
public int AddNews(NewsModel model)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@newsTitle", SqlDbType.NVarChar,50),
new SqlParameter("@newsPic", SqlDbType.NVarChar,4),
new SqlParameter("@newsContent", SqlDbType.Text,500),
new SqlParameter("@newsDate", SqlDbType.NVarChar,50),
new SqlParameter("@newsLink", SqlDbType.NVarChar,500),
};
parameters[0].Value = model.NewsTitle;
parameters[1].Value = model.NewsPic;
parameters[2].Value = model.NewsCon;
parameters[3].Value = model.NewsDate;
parameters[4].Value = model.NewsLink;
DBHelperSQL.RunProcedure("NewsAdd", parameters, out rowsAffected);
return rowsAffected;
}
表層代碼如下:
protected void btnSubmit_Click(object sender, EventArgs e)
{
NewsModel model = new NewsModel();
model.NewsTitle = txtNewsTitle.Text;
model.NewsDate = txtNewsDate.Text;
model.NewsLink = txtLink.Text;
model.NewsCon = txtContent.Text;
int i = nb.AddNews(model);
if (i > 0)
{
ShowAndRedirect(this, "保存成功", "NewsList.aspx");
}
else
{
Response.Redirect("");
}
}
4 結(jié)語
該系統(tǒng)的功能設(shè)計(jì)是在充分調(diào)研的基礎(chǔ)上形成的,其功能實(shí)現(xiàn)采用了分層處理,運(yùn)行穩(wěn)定,界面友好,操作簡(jiǎn)單。對(duì)各類企業(yè)創(chuàng)建門戶網(wǎng)站有一定的參考價(jià)值。
參考文獻(xiàn)
[1]張海藩.軟件工程導(dǎo)論[M].清華大學(xué)出版社,2013.
[2]啟明工作室.MIS系統(tǒng)開發(fā)與應(yīng)用(C#+SQL Server 版)[M].人民郵電出版社,2009.