




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《網(wǎng)絡(luò)數(shù)據(jù)庫(kù)》課程設(shè)計(jì)實(shí)施方案一、《網(wǎng)絡(luò)數(shù)據(jù)庫(kù)》課程設(shè)計(jì)目的及意義通過設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可進(jìn)一步熟悉SQLServer索引、視圖、存儲(chǔ)過程、觸發(fā)器的概念、T-SQL語(yǔ)句的用法,在C#中的數(shù)據(jù)訪問辦法及實(shí)現(xiàn)方式。通過這個(gè)課程設(shè)計(jì)可以加深對(duì)SQLServer數(shù)據(jù)庫(kù)知識(shí)的學(xué)習(xí),理解,積累在實(shí)際工程中運(yùn)用各種數(shù)據(jù)庫(kù)對(duì)象的經(jīng)驗(yàn),使學(xué)生掌握使用應(yīng)用軟件開發(fā)工具開發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的基本方法。在實(shí)用性方面,客房管理系統(tǒng)也是很普遍的一種應(yīng)用,選擇該系統(tǒng)作為課程設(shè)計(jì)也可以為以后學(xué)生可能遇到的實(shí)際開發(fā)提供借鑒。二、課程設(shè)計(jì)項(xiàng)目選題(任選一)1、客房管理系統(tǒng)2、工資管理系統(tǒng)設(shè)計(jì)3、圖書管理系統(tǒng)設(shè)計(jì)4、班級(jí)管理系統(tǒng)5、教師信息管理系統(tǒng)6、成績(jī)管理系統(tǒng)7、學(xué)生信息管理系統(tǒng)8、實(shí)驗(yàn)室管理系統(tǒng)9、科研項(xiàng)目管理系統(tǒng)10、商品銷售管理系統(tǒng)三、時(shí)間與安排時(shí)間為2周(12天時(shí)間),時(shí)間應(yīng)該夠用,因?yàn)樵缫寻颜n程設(shè)計(jì)分解到平時(shí)上課所布置的課外作業(yè)中。粗略劃分:第1、2天布置任務(wù)及分組、總體需求分析與設(shè)計(jì);編寫相關(guān)文檔、設(shè)計(jì)說明、查找資料第3、4天數(shù)據(jù)庫(kù)設(shè)計(jì),數(shù)據(jù)表的設(shè)計(jì)、數(shù)據(jù)的錄入,完整性約束第5、6天視圖、觸發(fā)器和存儲(chǔ)過程設(shè)計(jì)第7、8各模塊的編程設(shè)計(jì);第9、10使用C#)創(chuàng)建工程并編寫代碼;第11天程序總調(diào)試、修改,撰寫課程設(shè)計(jì)實(shí)習(xí)報(bào)告四、課程設(shè)計(jì)報(bào)告內(nèi)容包括:系統(tǒng)設(shè)計(jì)目的、數(shù)據(jù)庫(kù)對(duì)象、數(shù)據(jù)表結(jié)構(gòu)(每個(gè)表要注明索引、視圖、觸發(fā)器、存儲(chǔ)過程)、功能模塊劃分、程序?qū)崿F(xiàn)思路、設(shè)計(jì)說明文檔、課程設(shè)計(jì)心得及程序清單(打?。?,并按學(xué)校的課程設(shè)計(jì)(論文)格式撰寫并裝訂成冊(cè),以備下一次再代此課時(shí)使用。五、成績(jī)考核:系統(tǒng)測(cè)試、設(shè)計(jì)報(bào)告、單項(xiàng)實(shí)訓(xùn)分別占40%、40%、20%;六、進(jìn)度與組織1、課程設(shè)計(jì)進(jìn)度安排(第17周-第18周)交付方式:第16周交付已打印的文檔、可演示的軟件。2、課程設(shè)計(jì)小組學(xué)生每N人1組(一個(gè)面最多6組),自由組合,指定一個(gè)組長(zhǎng),負(fù)責(zé)本小組的任務(wù)分配與進(jìn)度安排。在提交文檔時(shí),應(yīng)在封面上注明小組參加人員,包括學(xué)號(hào)和姓名,以便老師打分。課程設(shè)計(jì)小組應(yīng)獨(dú)立工作,可以相互討論,但小組間不允許互相抄抄襲。3、19周進(jìn)行演示。參考案例1:小型學(xué)生管理系統(tǒng)問題
本案例實(shí)現(xiàn)一個(gè)小型的學(xué)生管理系統(tǒng)。完成的功能:班級(jí)管理、學(xué)生管理、科目管理、課程管理、成績(jī)管理以及系統(tǒng)管理員才具有的教師管理和用戶管理。
1.班級(jí)管理:可對(duì)班級(jí)進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,班級(jí)屬性有:名稱、班主任(來自于系統(tǒng)中保存的教師)、當(dāng)前學(xué)生人數(shù)、建班日期和備注等屬性。
2.學(xué)生管理:可對(duì)學(xué)生進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,學(xué)生屬性有:學(xué)號(hào)、姓名、性別、所屬班級(jí)(來自于系統(tǒng)中保存的班級(jí))、相片、出生日期和備注等屬性。
3.科目管理:可對(duì)科目進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,科目屬性有:科目名稱、學(xué)時(shí)數(shù)和備注等屬性。
4.課程管理:可對(duì)每一個(gè)班級(jí)的上課科目進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,課程屬性有:所屬班級(jí)(來自于系統(tǒng)中保存的班級(jí))、授課老師(來自于系統(tǒng)中保存的教師)、開課日期、結(jié)課日期和備注等屬性。
5.成績(jī)管理:可對(duì)每一個(gè)班級(jí)的上課科目的學(xué)生成績(jī)進(jìn)行添加、刪除、修改、查找和報(bào)表輸出等功能,成績(jī)屬性有:學(xué)生姓名、所屬班級(jí)(來自于系統(tǒng)中保存的班級(jí))、課程名、成績(jī)、備注等屬性。指導(dǎo)教師講解問題說明分析
根據(jù)系統(tǒng)的功能劃分和實(shí)現(xiàn)的方便,我們將整個(gè)程序分為三層:數(shù)據(jù)層、業(yè)務(wù)層和界面層。數(shù)據(jù)層負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,包括向表中插入數(shù)據(jù)、更新數(shù)據(jù)、查詢數(shù)據(jù)和刪除數(shù)據(jù)。業(yè)務(wù)層負(fù)責(zé)把界面上的各種操作傳達(dá)給數(shù)據(jù)層。界面層主要負(fù)責(zé)界面的設(shè)計(jì),包括控件的位置和外觀等設(shè)置、實(shí)時(shí)反映系統(tǒng)的變化情況。數(shù)據(jù)庫(kù)表的設(shè)計(jì)
根據(jù)程序的功能得出數(shù)據(jù)實(shí)體,進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)分析,確定以下數(shù)據(jù)表,如圖所示:圖1班級(jí)表結(jié)構(gòu)圖2課程表結(jié)構(gòu)圖3分?jǐn)?shù)表結(jié)構(gòu)圖4學(xué)生表結(jié)構(gòu)圖5科目表結(jié)構(gòu)圖6教師表結(jié)構(gòu)圖7用戶信息表結(jié)構(gòu)方案實(shí)現(xiàn):在解決方案中添加3個(gè)項(xiàng)目,分別代表數(shù)據(jù)層、業(yè)務(wù)層和界面層。因?yàn)榘嗉?jí)、課程、成績(jī)、學(xué)生、科目和教師等對(duì)象的實(shí)現(xiàn)方式類似,以下以班級(jí)類為示例,講解實(shí)現(xiàn)過程:
BusinessRuler.Classes類的實(shí)現(xiàn)
該類主要實(shí)現(xiàn)班級(jí)的業(yè)務(wù)邏輯,如:驗(yàn)證系統(tǒng)是否有班級(jí)、該班是否有學(xué)生、該班學(xué)生人數(shù)是否已超過額定、班級(jí)名是否已存在、該班是否已開課、添加、刪除、修改和查找班級(jí)。具體代碼如下所示:usingSystem;
usingSystem.Windows.Forms;
usingDataAccess;
usingSystem.Data.SqlClient;
usingSystem.Collections;
usingSystem.Data;
namespaceBusinessRuler
{
publicclassClasses
{
privateDataGridView_dgvClass;
publicClasses(DataGridViewdgv)
{
_dgvClass=dgv;
}
publicClasses()
{
}
//驗(yàn)證系統(tǒng)是否有班級(jí)
publicstaticboolIsClassExists()
{
if(DataAccess.Classes.IsClassExists().HasRows)
{
returntrue;
}
else
{
MessageBox.Show("目前還沒有班級(jí),請(qǐng)首先創(chuàng)建班級(jí)","錯(cuò)誤",MessageBoxButtons.OK,MessageBoxIcon.Information);
returnfalse;
}
}
//驗(yàn)證該班是否有學(xué)生
publicboolIsStudentExists(stringclassName)
DataAccess.ClassesobjClass=DataAccess.Classes.CreateInstance(className);
if(objClass.CurrentCount>0)
{
returntrue;
}
else
{
MessageBox.Show("該班目前還沒有學(xué)生,無法進(jìn)行成績(jī)管理,請(qǐng)首先添加學(xué)生!","錯(cuò)誤",MessageBoxButtons.OK,MessageBoxIcon.Information);
returnfalse;
}
}
//驗(yàn)證該班學(xué)生人數(shù)是否已超過額定
publicstaticboolisInCapacity(stringclassName)
{
intstudentCapacity=Int32.Parse(BusinessRuler.ReaderWirteConfig.GetValueByKey("studentCapaticyInClass"));
DataAccess.ClassesobjClass=DataAccess.Classes.CreateInstance(className);
if(objClass.CurrentCount==studentCapacity)
{
MessageBox.Show("該班學(xué)生人數(shù)已滿!","錯(cuò)誤",MessageBoxButtons.OK,
MessageBoxIcon.Error);
returnfalse;
}
returntrue;
}
//驗(yàn)證班級(jí)名是否已存在
publicstaticboolCheckExists(stringclassName)
{
returnDataAccess.Classes.CheckExists(className).HasRows;
}
//檢查該班是否已開課
publicboolIsCourseExist(stringclassName)
{
DataAccess.ClassesobjClass=newDataAccess.Classes(className);
if(objClass.FillByAllSubjectName().Tables[0].Rows.Count>0)
{
returntrue;
}
else
{
MessageBox.Show(className+"班尚無課程,無法進(jìn)行成績(jī)管理,請(qǐng)先添加課程!","錯(cuò)誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
returnfalse;
}
}
//更新數(shù)據(jù)網(wǎng)格的顯示
publicvoidUpdateDataGrid()
{
if(this._dgvClass!=null)
{
DataSetobjDataSet=DataAccess.Classes.FillByAllClass();
this._dgvClass.DataSource=objDataSet.Tables[0];
}
}
//添加班級(jí)
publicvoidAddClass(stringclassName,stringdirector,DateTimeentranceDate,stringremark)
{
//首先判斷班級(jí)名稱是否已存在
if(CheckExists(className))
{
MessageBox.Show("班級(jí)名"+className+"已存在,請(qǐng)重新輸入班級(jí)名!","班級(jí)名已存在",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
if(DataAccess.Classes.CreateClass(className,director,entranceDate,remark)>0)
{
UpdateDataGrid();
MessageBox.Show("成功添加班級(jí)!","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}
//修改班級(jí)
publicvoidModifyClass(stringclassName,stringdirector,DateTimeentranceDate,stringremark)
{
DataAccess.ClassesobjClass=newDataAccess.Classes(className);
objClass.Director=director;
objClass.EntranceDate=entranceDate;
objClass.Remark=remark;
if(objClass.Update()>0)
{
UpdateDataGrid();
MessageBox.Show("修改班級(jí)資料成功!","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
//刪除班級(jí)
publicvoidDeleteClass(stringclassName)
{
if(!CheckExists(className))
{
MessageBox.Show("班級(jí)名"+className+"不存在,請(qǐng)重新輸入班級(jí)名!","班級(jí)名不存在",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
if(DialogResult.Yes==MessageBox.Show("真的要?jiǎng)h除班級(jí)'"+className+"'嗎?\n刪除該班時(shí),將同時(shí)刪除該班所有學(xué)生的檔案及相關(guān)課程、成績(jī)的記錄,確定要繼續(xù)嗎?","刪除確認(rèn)",MessageBoxButtons.YesNo,MessageBoxIcon.Question))
{
DataAccess.ClassesobjClass=newDataAccess.Classes(className);
if(objClass.Delete()>0)
{
UpdateDataGrid();
MessageBox.Show("成功刪除班級(jí)'"+className+"'!","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}
}
publicvoidFillCboByAllClassName(ComboBoxcbo,intposition)
{
cbo.Items.Clear();
DataTableclassNames=DataAccess.Classes.GetAllClassName();
foreach(DataRowrowinclassNames.Rows)
{
cbo.Items.Add(row[0].ToString());
}
cbo.SelectedIndex=position;
}
publicvoidFillCboByAllClassName(ComboBoxcbo,stringtheClassName)
{
cbo.Items.Clear();
intposition=0;
inti=0;
DataTableclassNames=DataAccess.Classes.GetAllClassName();
foreach(DataRowrowinclassNames.Rows)
{
cbo.Items.Add(row[0].ToString());
if(row[0].ToString().Equals(theClassName))
{
position=i;
}
i++;
}
cbo.SelectedIndex=position;
}
//查找班級(jí)
publicstaticvoidFindByClassName(DataGridViewdgv,stringclassName)
{
for(introw=0;row<dgv.Rows.Count;row++)
{
if(dgv.Rows[row].Cells["colClassName"].Value.ToString().Equals(className))
{
dgv.Rows[row].Selected=true;
return;
}
}
MessageBox.Show("已到記錄末尾!","結(jié)果",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
//按班主任查找
publicstaticvoidFindByDirector(DataGridViewdgv,stringdirector,booluseMatch)
{
for(introw=Int32.Parse(dgv.Tag.ToString());row<dgv.Rows.Count;row++)
{
boolcondition=dgv.Rows[row].Cells["colDirector"].Value.ToString().Equals(director);
if(useMatch)
{
condition=dgv.Rows[row].Cells["colDirector"].Value.ToString().Contains(director);
}
if(condition)
{
dgv.Rows[row].Selected=true;
dgv.Tag=(row+1).ToString();
return;
}
}
MessageBox.Show("已到記錄末尾!","結(jié)果",MessageBoxButtons.OK,
MessageBoxIcon.Information);
dgv.Tag=0;
}
//按建班日期查找
publicstaticvoidFindByDate(DataGridViewdgv,DateTimestartDate,DateTimefinishDate)
{
for(introw=Int32.Parse(dgv.Tag.ToString());row<dgv.Rows.Count;row++)
{
DateTimedateValue=DateTime.Parse(dgv.Rows[row].Cells["colEntranceDate"].Value.ToString());
if(dateValue>=startDate&&dateValue<=finishDate)
{
dgv.Rows[row].Selected=true;
dgv.Tag=(row+1).ToString();
return;
}
}
MessageBox.Show("已到記錄末尾!","結(jié)果",MessageBoxButtons.OK,MessageBoxIcon.Information);
dgv.Tag=0;
}
}
}
DataAccess.Classes類的實(shí)現(xiàn)
該類主要實(shí)現(xiàn)班級(jí)的對(duì)象的創(chuàng)建和數(shù)據(jù)庫(kù)操作,如:得到所有班級(jí)名、新建班級(jí)、獲取班級(jí)所有學(xué)生的集合、得到指定班級(jí)所有課程信息的記錄、添加、刪除和修改班級(jí)。具體代碼如下所示:ric;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Collections;
namespaceDataAccess
{
publicclassClasses
{
privatestring_className;
privatestring_director;
privateint_currentCount;
privateDateTime_entranceDate;
privatestring_remark;
#region
publicstringName
{
get
{
return_className;
}
set
{
_className=value;
}
}
publicstringDirector
{
get
{
return_director;
}
set
{
_director=value;
}
}
publicintCurrentCount
{
get
{
return_currentCount;
}
set
{
_currentCount=value;
}
}
publicDateTimeEntranceDate
{
get
{
return_entranceDate;
}
set
{
_entranceDate=value;
}
}
publicstringRemark
{
get
{
return_remark;
}
set
{
_remark=value;
}
}
#endregion
//實(shí)例化班級(jí)
publicClasses(stringclassName)
{
_className=className;
}
publicClasses()
{
}
publicstaticClassesCreateInstance(stringclassName)
{
Classesc=null;
stringstrSql="select*fromClasswhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
SqlDataReaderreader=sqlcomm.ExecuteReader(strSql,newSqlParameter("@className",className));
if(reader.Read())
{
c=newClasses(className);
c._director=reader["Director"].ToString();
c._currentCount=(Int32.Parse(reader["CurrentCount"].ToString()));
c._entranceDate=(DateTime)reader["EntranceDate"];
c._remark=reader["Remark"].ToString();
}
reader.Close();
returnc;
}
//得到所有班級(jí)名
publicstaticDataTableGetAllClassName()
{
stringstrSql="selectClassNamefromClass";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,null);
returnds.Tables[0];
}
//新建班級(jí)
publicstaticintCreateClass(stringclassName,stringdirector,DateTimeentranceDate,stringremark)
{
stringstrSql="insertintoClass(ClassName,Director,EntranceDate,Remark)values(@className,@director,@entranceDate,@remark);";
SqlCommonsqlcomm=newSqlCommon();
SqlParameter[]pa=newSqlParameter[4];
pa[0]=newSqlParameter("@ClassName",className);
pa[1]=newSqlParameter("@Director",director);
pa[2]=newSqlParameter("@EntranceDate",entranceDate);
pa[3]=newSqlParameter("@Remark",remark);
returnsqlcomm.ExecuteNonQuery(strSql,pa);
}
//更新班級(jí)
publicintUpdate()
{
stringstrSql="updateClassset[Director]=@director,[EntranceDate]=@entranceDate,[Remark]=@remarkwhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
returnsqlcomm.ExecuteNonQuery(strSql,newSqlParameter("@Director",this._director),newSqlParameter("@EntranceDate",this._entranceDate),newSqlParameter("@Remark",this._remark),newSqlParameter("@className",_className));
}
//刪除班級(jí)
publicintDelete()
{
//刪除班級(jí)的同時(shí)刪除該班所有學(xué)生記錄、課程記錄、成績(jī)記錄
StringBuilderstrSql=newStringBuilder();
strSql.Append("deletefromScorewhere[StudentNo]in(Select[StudentNo]fromStudentwhere[ClassName]=@className);");
strSql.Append("deletefromCoursewhere[ClassName]=@className;");
strSql.Append("deletefromStudentwhere[ClassName]=@className;");
strSql.Append("deletefromClasswhere[ClassName]=@className;");
SqlCommonsqlcomm=newSqlCommon();
returnsqlcomm.ExecuteNonQuery(strSql.ToString(),true,false,newSqlParameter("@className",_className));
}
//檢查是否有班
publicstaticSqlDataReaderIsClassExists()
{
stringstrSql="select*fromClass";
SqlCommonsqlcomm=newSqlCommon();
SqlDataReaderreader=sqlcomm.ExecuteReader(strSql,null);
returnreader;
}
//檢查是否有學(xué)生
publicSqlDataReaderIsStudentExists()
{
stringstrSql="select*fromClasswhere[ClassName]=@classNameand[CurrentCount]>0";
SqlCommonsqlcomm=newSqlCommon();
SqlDataReaderreader=sqlcomm.ExecuteReader(strSql,newSqlParameter("@className",_className));
returnreader;
}
//檢查班級(jí)名是否已存在
publicstaticSqlDataReaderCheckExists(stringclassName)
{
stringstrSql="select*fromClasswhere[className]=@className";
SqlCommonsqlcomm=newSqlCommon();
SqlDataReaderreader=sqlcomm.ExecuteReader(strSql,newSqlParameter("@className",className));
returnreader;
}
//得到所有班級(jí)的記錄
publicstaticDataSetFillByAllClass()
{
stringstrSql="select*fromClass";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,null);
returnds;
}
//獲取班級(jí)所有學(xué)生的集合
publicDataSetFillByAllStudent()
{
stringstrSql="selectStudentNo,StudentName,Gender,Birthday,Picture,RemarkfromStudentwhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,newSqlParameter("@className",_className));
returnds;
}
publicDataTableGetAllStudentNo()
{
stringstrSql="selectStudentNofromStudentwhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,newSqlParameter("@className",_className));
returnds.Tables[0];
}
//得到指定班級(jí)所有課程信息的記錄
publicDataSetFillByAllCourse()
{
stringstrSql="selectSubjectName,Teacher,BeginDate,FinishDate,RemarkfromCoursewhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,newSqlParameter("@className",_className));
returnds;
}
//得到指定班級(jí)所有課程名稱的記錄
publicDataSetFillByAllSubjectName()
{
stringstrSql="selectSubjectNamefromCoursewhere[ClassName]=@className";
SqlCommonsqlcomm=newSqlCommon();
DataSetds=sqlcomm.CreaDataSet(strSql,newSqlParameter("@className",_className));
returnds;
}
//判斷該班是否已存在相應(yīng)課程
publicSqlDataReaderGetDataReaderBySubjectName(stringsubjectName)
{
stringstrSql="select*fromCoursewhere[ClassName]=@classNameand[SubjectName]=@subjectName";
SqlCommonsqlcomm=newSqlCommon();
SqlDataReaderreader=sqlcomm.ExecuteReader(strSql,newSqlParameter("@className",_className),newSqlParameter("@subjectName",subjectName));
returnreader;
}
}
}
界面設(shè)計(jì):
系統(tǒng)的界面除去主運(yùn)行界面和系統(tǒng)輔助窗體外,還有班級(jí)、課程、成績(jī)、學(xué)生、科目、教師等對(duì)象相應(yīng)的管理、添加、查找和修改等界面。具體的界面如下圖所示:圖8程序運(yùn)行主界面圖9添加班級(jí)界面圖10查找課程界面圖11更新學(xué)生成績(jī)界面圖12學(xué)生管理界面圖13登錄界面圖14更改密碼界面圖15系統(tǒng)選項(xiàng)設(shè)置界面圖16系統(tǒng)用戶管理界面(管理員登錄)圖17選擇班級(jí)界面圖18輸出報(bào)表界面
說明:班級(jí)、課程、成績(jī)、學(xué)生、科目和教師等對(duì)象的管理、添加、查找和修改界面類似,故以上沒一一給出所有的界面。參考案例2:客房管理系統(tǒng)設(shè)計(jì)一、課程設(shè)計(jì)的目的和意義在當(dāng)今經(jīng)濟(jì)和商務(wù)交往日益頻繁的狀況下,賓館服務(wù)行業(yè)正面臨客流量驟增的壓力。越來越多的賓館飯店都認(rèn)識(shí)到傳統(tǒng)的管理方法已經(jīng)不能適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)聚酰亞胺(PI)薄膜行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報(bào)告
- 2025福建省建筑安全員C證考試題庫(kù)
- 南京師范大學(xué)《統(tǒng)計(jì)學(xué)專業(yè)前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川農(nóng)業(yè)大學(xué)《醫(yī)學(xué)論文寫作與學(xué)術(shù)誠(chéng)信》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西體育高等??茖W(xué)校《地球物理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘肅畜牧工程職業(yè)技術(shù)學(xué)院《研究型綜合》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱工程大學(xué)《學(xué)前教育專業(yè)英語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年山東省百師聯(lián)考高三上學(xué)期11月考試歷史試卷
- 上海民遠(yuǎn)職業(yè)技術(shù)學(xué)院《服裝市場(chǎng)調(diào)研》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西信息職業(yè)技術(shù)學(xué)院《秘書學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海市建設(shè)工程施工圖設(shè)計(jì)文件勘察設(shè)計(jì)質(zhì)量疑難問題匯編(2024 版)
- 《康復(fù)工程學(xué)》課件-第一講 康復(fù)工程概論
- 2025年度智慧醫(yī)療服務(wù)平臺(tái)建設(shè)合同范本
- 2024項(xiàng)目管理人員安全培訓(xùn)考試題(審定)
- 2025四川宜賓市高縣縣屬國(guó)企業(yè)第一次招聘3人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024 年國(guó)家公務(wù)員考試《申論》(地市級(jí))真題及答案
- 2024年沈陽(yáng)職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 《榜樣9》觀后感心得體會(huì)一
- 2024年上海普陀區(qū)司法局招聘人民調(diào)解員考試真題
- 駕照考試題庫(kù)及答案(完整版)
- 2024年3、6、9月青少年軟件編程Python等級(jí)考試一級(jí)真題(全3套 含答案)
評(píng)論
0/150
提交評(píng)論