天津理工大学2012级本科专业设计
第七章 详细设计
完成以上的数据库设计之后,就要开始对程序进行详细的设计过程了,在设计的过程中,我们需要分析餐厅系统使用者与系统交互的基本信息和本用例中各个类中的对象之间需要交互什么信息,此外还有这些信息交互的时序关系。我们可以通过功能逻辑交互图来详细地描述用户在使用该功能时与系统交互的信息以及各个对象相互之间传输的信息的详细情况。
7.1 设计及实现
7.1.1 商家开店注册
商家如果要开店,首先得登录我们网上订餐系统的主页面,然后点击加入
我们就可以注册开店了,注册完后登录自己的餐厅,然后可以添加餐品等信息,进入餐厅后将会查看到餐品的详细信息。如图7.1是查询餐品信息功能逻辑顺序图。
27
天津理工大学2012级本科专业设计
图7.1 查看餐品信息的功能逻辑顺序图
Figure 7.1 Check the function of the products information logic sequence diagram
该模块的功能主要是查询餐品的总体信息,顾客浏览之后可以进行一个购买的操作。如图7.2、7.3是浏览餐厅信息和浏览餐品信息的界面。该模块的主要代码如下:
DAL层:
public class GetCompanyInformationDAL {
public DataTable CompanyInformation() {
return SqlHelper.ExecuteDataTable(\公司名称',CompanyAddress as '公司地址',CompanyTel as '公司电话' from Company\ }
}
public int AddCollect(string CustomerLoginName,string CompanyName) {
28
天津理工大学2012级本科专业设计
return SqlHelper.ExecuteNonQuery(\(@CustomerLoginName,@CompanyName)\,
new SqlParameter(\, SqlDbType.NVarChar) { Value = CustomerLoginName },
new SqlParameter(\, SqlDbType.NVarChar) {Value=CompanyName } ); }
public object SeclectLine(string CustomerLoginName, string CompanyName) {
return SqlHelper.ExecuteScalar(\
CustomerCollect where CustomerLoginName=@CustomerLoginName and CompanyName=@CompanyName\, new SqlParameter(\, SqlDbType.NVarChar) { Value = CustomerLoginName },
new SqlParameter(\, SqlDbType.NVarChar) { Value = CompanyName } ); }
public DataTable selectCollectCompany(string CustomerLoginName) {
return SqlHelper.ExecuteDataTable(\餐厅名称' from CustomerCollect where CustomerLoginName=@CustomerLoginName\,
new SqlParameter(\, SqlDbType.NVarChar) { Value=CustomerLoginName} );
}
图7.2 餐厅信息一览界面
29
天津理工大学2012级本科专业设计
Figure 7.2 Restaurant information interface
图7.3 所属餐厅餐品信息一览界面
Figure 7.3 Product information in interface belongs to dining room
7.1.2 商家餐厅登录
该功能模块是商家登录餐厅进行管理的一个操作,登录餐厅后可以添加餐
品,添加完后系统自动显示到浏览页面上,顾客就可以进行订餐购买,该功能模块的功能逻辑顺序图如图7.4所示:
30
天津理工大学2012级本科专业设计
图7.4 餐品购买功能逻辑顺序图
Figure 7.4 Products purchasing function logic sequence diagram
该功能模块的界面如图7.5所示,部分代码如下所示:
DAL层:
public int CustomerShopCar(string CustomerLoginName,string FoodName,string Price ,string Number,string CompanyName) {
return SqlHelper.ExecuteNonQuery(\(@CustomerLoginName,@FoodName,@Price,@Number,@CompanyName)\,
new SqlParameter(\, SqlDbType.NVarChar) { Value = CustomerLoginName },
new SqlParameter(\, SqlDbType.NVarChar) { Value = FoodName }, new SqlParameter(\, SqlDbType.VarChar) { Value = Price }, new SqlParameter(\,SqlDbType.VarChar){Value=Number},
new SqlParameter(\,SqlDbType.NVarChar) { Value=CompanyName} ); }
#region 查询购物车信息
public DataTable SelectShopCar(string CustomerLoinName) {
31