基于.NET的“企业产品展示与新闻发布系统”设计与实现

2017-04-15 04:54牛玉霞任伟
数字技术与应用 2016年12期
关键词:功能设计

牛玉霞++任伟

摘要:“企业产品展示与新闻发布系统”可以通过后台上传企业产品、发布企业新闻,通过前台页面查看、浏览。其中管理员可以设置产品与新闻分类,浏览、添加、删除、修改企业的产品与新闻详情;普通用户可以浏览产品信息和企业新闻。本文详细阐述了系统的数据库设计、功能模块设计以及系统核心功能的实现,并且阐述了三层架构的设计思想。

关键词:企业产品展示与新闻发布 功能设计 编码实现

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2016)12-0159-02

本系统的用户分为管理员和普通用户,普通用户可以浏览系统信息,管理员可以设置产品与新闻分类,浏览、添加、删除、修改企业的产品与新闻详情。本系统基于Microsoft Visual Studio开发平台和SQL Server技术,采用三层架构,系高效率、高集成、高安全性的企业信息管理系统。

1 系统开发环境及主要技术

1.1 开发环境

本系统开发使用的操作系统为 Windows7,使用的开发工具为 Microsoft Visual Studio 2010,以Microsoft SQL server 2008 为后台数据库,使用Adobe Photoshop CS3 进行素材加工,使用 Microsoft Office Visio 2003 进行UML 建模。

1.2 系统的技术应用

本系统开发的主要技术如下:

(1)运用微软公司的ASP.NET技术;

(2)采用三层架构,实现对系统框架的搭建,将整个业务应用划分为:表现层 (UI)、业务逻辑层(BLL)、数据访问层 (DAL),使系统具有 “高内聚,低耦合”的特征,更利于系统的开发与维护;

(3)使用OOP思想,实现数据的封装,类的继承和多态,程序更加人性化。

(4)使用ADO.NET技术实现数据库信息操作,使系统对数据库的处理更高效、更安全。

(5)采用工程化的开发方法,使系统更稳定,代码更规范,系统更便于维护。

2 系统设计

2.1 数据库设计

本系统使用Microsoft SQL server 2008作为数据库的设计与开发工具,主要数据表有以下几个:

(1)新闻信息表(News_Info):此表存放新闻基本信息,其结构如表1所示。

(2)产品信息表(Product_Info):此表存放产品基本信息,其结构如表2所示。

(3)产品类别表(ProductType):此表存放产品分类信息,其结构如表3所示。

2.2 功能模块设计

本系统主要功能模块设计如图1所示。

2.3 功能需求分析

2.3.1 用户管理

根据系统的操作权限不同,将系统的使用用户分为普通用户和管理员。普通用户无需注册,可以浏览系统中发布的产品和新闻信息;管理员负责系统的日常维护,通过身份验证后可以对产品和新闻进行浏览和编辑。

2.3.2 产品管理

管理员可以通过系统后台对产品进行添加、删除、修改、查询。

(1)添加产品:即在系统中录入新产品,填写产品信息时作非空判断,如果出现重复信息,则给出提示。添加成功之后,以对话框的形式显示添加结果。

(2)删除产品:企业有些停产或脱销产品,从系统展示位中“下架”,由管理员在系统后台通过删除产品操作实现。

(3)修改產品:管理员在系统后台可以编辑产品,实现对产品属性的修改,比如产品图片、产品名称等。

(4)查询产品:系统前台和后台均支持按产品名称或类别进行查询和浏览。

新闻管理与产品管理功能需求类似,在此不再赘述。

3 系统功能实现

限于篇幅,本文选取了部分核心功能代码。

3.1 管理员用户登录

管理员在后台登录页面输入指定用户名和密码,进行身份验证,具体实现如下:

protected void btnLogin_Click(object sender, EventArgs e)

{

if (txtUserName.Text == "admin" && txtPassword.Text == "admin")

{

Response.Redirect("AdminIndex.aspx");

}

else

{

ShowMessage(this,"账号或密码错误!");

}

}

3.2 产品与新闻管理

产品和新闻的基本信息存放在数据库中,通过对数据表的操作,来实现产品和新闻的增、删、改、查。在.NET页面中访问数据表一般有三个步骤:一是连接数据库;二是对数据表执行相关操作;三是关闭连接。本文以“新增”新闻功能代码为例,来阐述操作数据表。数据访问与业务处理代码如下:

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 结语

该系统的功能设计是在充分调研的基础上形成的,其功能实现采用了分层处理,运行稳定,界面友好,操作简单。对各类企业创建门户网站有一定的参考价值。

参考文献

[1]张海藩.软件工程导论[M].清华大学出版社,2013.

[2]启明工作室.MIS系统开发与应用(C#+SQL Server 版)[M].人民邮电出版社,2009.

猜你喜欢
功能设计
加强实践能力培养的机械制图课程改造研究
智慧油田数字员工系统设计
秦邦宪对陕甘宁边区党的建设战略定位与功能设计