面向?qū)ο笈c交互式程序設(shè)計_第1頁
面向?qū)ο笈c交互式程序設(shè)計_第2頁
面向?qū)ο笈c交互式程序設(shè)計_第3頁
面向?qū)ο笈c交互式程序設(shè)計_第4頁
面向?qū)ο笈c交互式程序設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 面向?qū)ο笈c交互式程序設(shè)計相關(guān)資料題 目 甜品店職員及業(yè)務(wù)管理系統(tǒng) 學生姓名 專業(yè)班級 指導教師 1.軟件需求說明 2.概要設(shè)計說明 3.詳細設(shè)計說明 4.實現(xiàn)與測試 5.總結(jié) 2017 年11月 25日目 錄第1章 軟件需求說明31.1系統(tǒng)背景31.2功能需求31.3界面需求31.4安全需求4第2章 概要設(shè)計說明52.1運行環(huán)境52.2需求概要52.4限制描述52.5總體設(shè)計52.6系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計52.7系統(tǒng)出錯處理設(shè)計6第3章 詳細設(shè)計說明73.1開發(fā)所用技術(shù)73.2程序描述73.3數(shù)據(jù)庫設(shè)計8第4章 實現(xiàn)與測試94.1 系統(tǒng)界面94.2連接數(shù)據(jù)庫代碼144.3 登錄注冊界面實現(xiàn)代碼15

2、4.4 數(shù)據(jù)庫數(shù)據(jù)刪改部分代碼164.5 HTML+CSS界面部分代碼184.6測試要點20注意:成績考核表在最后一頁21第1章 軟件需求說明1.1系統(tǒng)背景隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,現(xiàn)在辦公系統(tǒng)更趨于系統(tǒng)化、科學化和網(wǎng)絡(luò)化。網(wǎng)絡(luò)辦公自動化系統(tǒng)是計算機技術(shù)和網(wǎng)絡(luò)迅速發(fā)展的一個辦公應(yīng)用解決方案,它的主要目的是實現(xiàn)信息交流和信息共性,提供協(xié)同工作的手段,提高辦公的效率,讓人們從繁瑣的有紙辦公中解脫出來。在全民創(chuàng)業(yè)的背景下,不少小公司,小商店紛紛涌現(xiàn),并且在這個信息技術(shù)大發(fā)展的時代,大小用人單位都需要一套管理系統(tǒng)來提高管理效率,節(jié)約管理成本,本系統(tǒng)就是針對小甜品店的一個微型管理系統(tǒng)。1

3、.2功能需求可以進行注冊,分為兩種角色,管理員和普通員工。管理員可登陸管理員信息頁面,對管理員信息進行修改或者刪除。同樣管理員也可以登陸普通員工信息界面,對普通員工信息進行修改或者刪除或者重置。普通員工只能瀏覽所有員工信息,不可對其進行修改。普通員工和管理員都可以登陸餐桌信息對其進行管理。管理員可登陸菜品信息和訂單信息對其進行管理。1.3界面需求1.注冊界面以及登陸界面2.網(wǎng)站主頁展示菜品3.管理后臺主界面4.管理員信息界面5.普通員工信息界面6.菜品管理界面7.訂單信息管理界面8.餐桌管理界面1.4安全需求1. 必須注冊才能登陸2. 必須登陸才能進去其他頁面3. 普通員工不能訪問管理員權(quán)限的

4、頁面第2章 概要設(shè)計說明2.1運行環(huán)境1.操作系統(tǒng)在windowsXP以上 2.客戶端要配備tomcat和SQL等應(yīng)用開發(fā)軟件2.2需求概要用戶對軟件系統(tǒng)要求使用簡單方便,必要的功能一定不能少,且界面設(shè)計要大方得體,有良好的視覺效果,待現(xiàn)在系統(tǒng)沒實現(xiàn)功能要記錄清楚,系統(tǒng)最后階段要盡量彌補用戶所需的功能。2.4限制描述設(shè)計應(yīng)當是模塊化的,即該軟件應(yīng)當從邏輯上被劃分成多個部件,分別實現(xiàn)各種特定功能和子功能。設(shè)計最終應(yīng)當給出具體的模塊(例如子程序或過程),這些模塊就具有獨立的功能特性。2.5總體設(shè)計登錄模塊:用戶輸入帳號和密碼進行驗證登錄。注冊模塊:注冊用戶信息。管理員信息模塊:對管理員信

5、息進行管理。普通員工信息模塊:對普通員工信息進行管理。菜品模塊:對菜品進行管理。訂單模塊:對訂單進行管理。餐桌信息模塊:對餐桌信息進行管理。2.6系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計職員表 staffs字段字段名類型鍵IDidvarchar(10)主鍵姓名nameVarchar(20)null性別sexvarchar(10)null工號numvarchar(10)唯一電話telvarchar(20)null用戶表 users字段字段名類型鍵賬號usernamevarchar(20)主鍵密碼passwordvarchar(20)null性別sexvarchar(10)null年齡agevarchar(10)null

6、菜品表 dishes字段字段名類型鍵編號numVarchar(10)主鍵菜品名nameVarchar(20)null價格pricedoublenull訂單表 oders字段字段名類型鍵編號ordernumvarchar(20)主鍵訂單項itemsvarchar(50)null總價countpricevarchar(10)null備注notesvarchar(50)null餐桌表 tables字段字段名類型鍵餐桌號numvarchar(10)主鍵就餐人數(shù)personnumvarchar(10)null訂單編號ordernumvarchar(20)外鍵關(guān)聯(lián)訂單2.7系統(tǒng)出錯處理設(shè)計某個頁面出問題,

7、跳轉(zhuǎn)到錯誤頁面,并退回到登陸界面。第3章 詳細設(shè)計說明3.1開發(fā)所用技術(shù)前端:bootstrap框架 html jsp css后端:servlet服務(wù)器:tomcat數(shù)據(jù)庫:mysql3.2程序描述1. 登錄模塊功能:可供用戶登陸到管理系統(tǒng)。輸入項目:用戶名和用戶密碼。輸出項目:管理系統(tǒng)歡迎頁面。2. 注冊模塊功能:供用戶進行注冊,提供注冊頁面。輸入項目:注冊相關(guān)信息,與數(shù)據(jù)庫中字段一一對應(yīng)。輸出項目:注冊成功界面。3. 管理員信息模塊功能:可以查詢/修改/刪除/重置有關(guān)已經(jīng)注冊的管理員的信息。輸入項目:管理員工號/姓名/年齡/性別。輸出項目:查詢結(jié)果界面。4. 普通員工信息模塊功能:可以查詢

8、/修改/刪除/重置有關(guān)已經(jīng)注冊的普通員工的信息。輸入項目:員工工號/姓名/性別/年齡。輸出項目:查詢結(jié)果界面。5. 菜品模塊功能:可供管理員對菜品進行上架/下架/價格/數(shù)量修改等管理操作。輸入項目:菜品的相關(guān)信息,與數(shù)據(jù)庫中菜品字段一一對應(yīng)。輸出項目:菜品查詢結(jié)果頁面。6. 訂單模塊功能:可供管理員對訂單進行管理操作。輸入項目:訂單相關(guān)信息與數(shù)據(jù)庫中一一對應(yīng)。輸出項目:訂單查詢結(jié)果頁面。7. 餐桌信息模塊功能:可供管理員或普通員工對餐桌信息進行查詢以及修改。輸入項目:餐桌相關(guān)信息,與數(shù)據(jù)庫中一一對應(yīng)。輸出項目:餐桌信息查詢結(jié)果。3.3數(shù)據(jù)庫設(shè)計第4章 實現(xiàn)與測試4.1 系統(tǒng)界面首頁=點擊“Lo

9、gin in”進入登錄/注冊界面=登錄管理員登錄=注冊界面=登陸成功后界面在此界面可以瀏覽“今日推薦”,查看熱門甜品或新品=點擊“管理員信息”=可以修改管理員信息點擊“EDIT”進行編輯修改點擊“SAVE”,保存,即修改成功點擊“CANCEL”,取消,即取消修改,保持原狀=點擊“DELETE”,刪除信息彈出對話框:點擊“確定”,刪除信息點擊“取消”,不刪除=點擊“RESET”,重置管理員密碼彈出對話框:點擊“確定”,重置密碼點擊“取消”,取消重置=返回登陸后首頁點擊“員工信息管理”=在此界面仍可修改店內(nèi)員工信息點擊“EDIT”進行編輯修改點擊“SAVE”,保存,即修改成功點擊“CANCEL”,

10、取消,即取消修改,保持原狀=點擊“DELETE”,刪除信息彈出對話框:點擊“確定”,刪除信息點擊“取消”,不刪除=返回登陸后界面,進行其他操作。=4.2連接數(shù)據(jù)庫代碼package com.leadingsoft.demo.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import com.mysql.jdbc.Driver;public class DbUtil private static final String URL = "jdbc:mys

11、ql:/localhost:3306/cake"private static final String USER_NAME = "root"private static final String PASSWORD = "123456"private Connection conn;public Connection getConnection() try DriverManager.registerDriver(new Driver();this.conn = DriverManager.getConnection(URL, USER_NAME

12、, PASSWORD); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return conn;public void closeConnection() if (conn != null) try conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();=4.3 登錄注冊界面實現(xiàn)代碼package com.leadingsoft.demo;import java.i

13、o.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.leadingsoft.demo.service.L

14、oginService;/* * Servlet implementation class Login */WebServlet("/Login")public class Login extends HttpServlet private static final long serialVersionUID = 1L;/* * see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */Overrideprotected void doGet(HttpServlet

15、Request request, HttpServletResponse response)throws ServletException, IOException String userName = request.getParameter("userName");String password = request.getParameter("password");LoginService loginService = new LoginService();int result = loginService.validate(userName, pas

16、sword);if (result < 3) request.setAttribute("error", "用戶名或密碼錯誤!");RequestDispatcher rd = request.getRequestDispatcher("login.jsp");rd.forward(request, response); else request.getSession().setAttribute("flag", "1");RequestDispatcher rd = request.ge

17、tRequestDispatcher("WEB-INF/jsp/main.jsp");rd.forward(request, response);/* * see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException / T

18、ODO Auto-generated method stubdoGet(request, response);=4.4 數(shù)據(jù)庫數(shù)據(jù)刪改部分代碼package com.leadingsoft.demo.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.leadingsoft.demo.dto

19、.User;import com.leadingsoft.demo.util.DbUtil;public class UserDao public User searchUser(String name) DbUtil util = new DbUtil();Connection con = util.getConnection();User user = null;try PreparedStatement pstmt = con.prepareStatement("SELECT * FROM users WHERE user_name=?");pstmt.setStri

20、ng(1, name);ResultSet rs = pstmt.executeQuery();if (rs.next() user = new User(rs.getString("user_name"), rs.getString("user_password"), rs.getString("sex"),rs.getInt("age");rs.close();pstmt.close(); catch (SQLException e) / TODO Auto-generated catch blocke.pri

21、ntStackTrace(); finally util.closeConnection();return user;public List<User> searchAll() List<User> users = new ArrayList<User>();DbUtil util = new DbUtil();Connection con = util.getConnection();try PreparedStatement pstmt = con.prepareStatement("SELECT * FROM users");Res

22、ultSet rs = pstmt.executeQuery();while (rs.next() User user = new User(rs.getString("user_name"), rs.getString("user_password"), rs.getString("sex"),rs.getInt("age");users.add(user);rs.close();pstmt.close(); catch (SQLException e) / TODO Auto-generated catch b

23、locke.printStackTrace(); finally util.closeConnection();return users;public boolean deleteUser(String userName) DbUtil util = new DbUtil();Connection con = util.getConnection();int result = 0;try PreparedStatement pstmt = con.prepareStatement("DELETE FROM users WHERE user_name=?");pstmt.se

24、tString(1, userName);result = pstmt.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally util.closeConnection();return result > 0;=4.5 HTML+CSS界面部分代碼<body><div class="cotn_principal"> <div class="cont_centrar">

25、 <div class="cont_login"> <div class="cont_info_log_sign_up"> <div class="col_md_login"> <div class="cont_ba_opcitiy"> <h2>LOGIN</h2> <p>Lorem ipsum dolor sit amet, consectetur.</p> <button class="btn_log

26、in" onClick="cambiar_login()">LOGIN</button> </div> </div> <div class="col_md_sign_up"> <div class="cont_ba_opcitiy"> <h2>SIGN UP</h2> <p>Lorem ipsum dolor sit amet, consectetur.</p> <button class="bt

27、n_sign_up" onClick="cambiar_sign_up()">SIGN UP</button> </div> </div> </div> <div class="cont_back_info"> <div class="cont_img_back_grey"> <img src="login-reg/po.jpg" alt="" /> </div> </div&g

28、t; <div class="cont_forms" > <div class="cont_img_back_"> <img src="login-reg/po.jpg" alt="" /> </div> <div class="cont_form_login"> <a href="#" onClick="ocultar_login_sign_up()" ><i class=&q

29、uot;material-icons">&#xE5C4;</i></a> <h2>LOGIN</h2> <form action="Login"> <input name="userName" class="form-control" type="text" id="userName" placeholder="User Name" value="$param.userName

30、 " style="width:220px;margin-left:50px" /><br/> <input name="password" class="form-control" type="password" id="password" placeholder="Password" style="width:220px;margin-left:50px"/> <button class="btn

31、_login" type="submit">LOGIN</button> </form> </div> <div class="cont_form_sign_up"> <a href="#" onClick="ocultar_login_sign_up()"><i class="material-icons">&#xE5C4;</i></a> <h2>SIGN UP</h2> <input type="text" placeholder="Email" /> <input type="text" place

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論