報刊訂閱管理系統的設計與實現
課程設計(論文)任務書(文章末尾--源文件下載)
軟體 學院 軟體工程 專業 2016 -7 班
一、課程設計(論文)題目 綜合課程設計2
二、課程設計(論文)工作自 2018 年 1月 1 日起至 2018 年 1月 12 日止。
三、課程設計(論文) 地點:軟體工程實訓中心一部
四、課程設計(論文)內容要求:
1.本課程設計的目的
(1)使學生熟練掌握資料庫基本原理;
(2)使學生熟練掌握資料庫的分析和設計能力;
(3)培養學生熟練使用常見的資料庫管理系統;
(4)培養學生使用Java語言進行面向物件設計的能力;
(5)培養學生熟練使用Java語言進行資料庫應用程式設計的能力;
(6)提高學生的科技論文寫作能力。
2.基本要求:
課程設計題目:報刊訂閱管理系統
設計主要內容:設計一個報刊訂閱應用系統,使系統滿足以下功能和需求:
1)一個訂戶可以訂多種報刊;一種報刊可被多個使用者訂閱;訂單隻能訂閱現有報刊目錄
投遞時,必須根據訂單的情況進行投遞,不得超出訂單的訂閱品種,數量;
2)訂閱管理:訂戶新增,修改,刪除;
目錄管理:目錄新增,修改,刪除;
訂單管理:完成訂戶訂閱資料的管理(包括新增,修改,刪除)
訂單查詢:按訂戶或者訂單號查詢訂單詳細情況;
統計查詢:按報刊目錄統計各類報刊的訂閱數量和金額;
3.課程設計論文編寫要求
(1)要按照書稿的規格列印謄寫課設報告;
(2)報告分為封面、任務書(本文件)、正文、課程設計體會和參考文獻四部分;
學生簽名:
2018年1月 1日
課程設計(論文)評審意見
(1)題目分析 (20分):優( )、良( )、中( )、一般( )、差( );
(2)流程分析 (30分):優( )、良( )、中( )、一般( )、差( );
(3)資料定義 (30分):優( )、良( )、中( )、一般( )、差( );
(4)程式碼編寫 (10分):優( )、良( )、中( )、一般( )、差( );
(5)創新能力 (10分):優( )、良( )、中( )、一般( )、差( );
(6)格式規範性、設計態度及考勤是否降等級:是( )、否( )
評閱人: 職稱:講師
2018年 1 月 12 日
正 文
一、 資料設計
1. 實體
實體1:部門
屬性1:部門號
屬性2:部門名
實體2:使用者
屬性1:使用者名稱
屬性2:密碼
屬性3:真實姓名
屬性4:性別
屬性5:部門號
屬性6:聯絡電話
屬性7:聯絡地址
屬性8:訂閱報刊種類數
實體3:管理員
屬性1:管理員名
屬性2:密碼
實體4:報刊
屬性1:報刊代號
屬性2:報刊名
屬性3:型別
屬性4:出版報社
屬性5:出版週期
屬性6:半年訂閱價
屬性7:全年訂閱價
實體5:訂閱
屬性1:使用者名稱
屬性2:報刊代號
屬性3:訂閱年限
屬性4:訂閱數量
屬性5:所需金額
|
結構功能圖:
聯絡
本設計中實體之間的聯絡如下(E-R圖):
|
系統E-R圖:
1
|
n
m n
各實體E-R 圖:
|
部門:
使用者:
|
管理員:
報刊:
關係表E-R 圖:
二、 資料庫設計
1. 關係模式
本設計中的關係模式如下:
部門(部門號,部門名)關係主鍵:部門號;外來鍵:無
使用者(使用者名稱,密碼,真實姓名,性別,部門號,聯絡電話,聯絡地址,訂閱報刊種類數)關係主鍵:使用者名稱;外來鍵:部門號
管理員(管理員名,密碼)關係主鍵:管理員名;外來鍵:無
報刊(報刊代號,報刊名,型別,出版報社,出版週期,半年訂閱價,全年訂閱價)
關係外來鍵:報刊代號;外來鍵:無
訂閱(訂閱號,報刊代號,訂閱年限,訂閱數量,所需金額)
關係主鍵:訂閱號;外來鍵:報刊代號
2. 資料表
本設計中建立的資料庫名為:
資料表分別為
表1:部門表
表2:使用者表
表3:管理員表
表4:報刊表
表5;訂閱表
2. 資料庫關係圖為:
三、 資料庫實現
設計中實現資料庫操作的SQL 語句如下:
1) 新建資料表:CREATE TABLE [dbo].[Customer](
[Cid] [char](10) COLLATE Chinese_CI_AS NOT NULL,
[Cname] [char](20) COLLATE Chinese_CI_AS NULL,
[Phone] [char](15) COLLATE Chinese_CI_AS NULL,
[Address] [char](50) COLLATE Chinese_CI_AS NOT NULL)
ON [PRIMARY]
GO
CREATE TABLE [dbo].[Login](
[Uname] [char](20) COLLATE Chinese_CI_AS NOT NULL,
[Upassword][char](20) COLLATE Chinese_CI_AS NOT NULL)
ON [PRIMARY]
GO
CREATE TABLE [dbo].[Diretory](
[Did] [char](10) COLLATE Chinese_CI_AS NOT NULL,
[Dname] [char](20) COLLATE Chinese_CI_AS NULL,
[Unitprice][float] NOT NULL,
[Ifo][char](50) COLLATE Chinese_CI_AS NULL)
ON [PRIMARY]
GO
CREATE TABLE [dbo].[Order](
[Ono] [char](10) COLLATE Chinese_CI_AS NOT NULL,
[Cid][char](10) COLLATE Chinese_CI_AS NOT NULL,
[Odate] [datetime] NULL)
ON [PRIMARY]
GO
CREATE TABLE [dbo].[OrderDetail](
[Ono] [char](10) COLLATE Chinese_CI_AS NOT NULL,
[Cid][char](10) COLLATE Chinese_CI_AS NOT NULL,
[Quantity] [int] NOT NULL,
[Qishu][int] NOT NULL,
[Unitprice][float] NOT NULL,
[Total][float] NULL)
ON [PRIMARY]
GO
2)新建查詢:
select *
from view_1 where 報刊編號 in";
"(select news_id from 訂閱資訊表 where reader_id=‘023’)
select *
from view_1 where 部門 in";
"(select 部門號 from 使用者 where 使用者名稱=’肖總’)
四、 程式設計
1) 類
設計中定義的Java類如下:
2) Dbutils類,表示設計連線資料庫。
3) Main類,表示設計中新增面板,頁面跳轉,是JFrame的子類。
2) 類設計
1、Dbutils類
public class Dbutils {
private static String driver;
private static String url;
private static String user;
private static String pwd;
private static ResourceBundle rb=ResourceBundle.getBundle("com.jdbc.utils.jdbc");
static
{
driver=rb.getString("driver");
url=rb.getString("url");
user=rb.getString("user");
pwd=rb.getString("pwd");
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO
自動生成的catch塊
e.printStackTrace();
}
}
private Dbutils()
public static Connection getConnection()
{
Connection conn=null;
try {
conn=DriverManager.getConnection(url,user,pwd);
} catch (SQLException e) {
// TODO
自動生成的catch塊
e.printStackTrace();
}
return conn;
}
public static void
close(Connection
conn,Statement
stmt,ResultSet
rs)
{
try {
if(conn!=null)conn.close();
if(stmt!=null)stmt.close();
if(rs!=null)rs.close();
} catch (SQLException e) {
// TODO
自動生成的catch塊
e.printStackTrace();
}
}
public static void main(String [] args) {
System.out.println(getConnection());
}}
2、Main類
class Main extends JFrame implements ActionListener{
JRadioButton manager,users;
JLabel label,label1,label2;
JTextField userName;
JPasswordField password;
JButton login,register,exit;
JPanel p1,p2,p3;
public Main(){
init();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true); }
void init(){
setLayout(new FlowLayout());
setSize(390,260);
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
label=new JLabel("歡迎使用報刊管理系統");
Font font=new Font("隸書",Font.PLAIN,30);
label.setFont(font);
p1.add(label);
ButtonGroup group=new ButtonGroup();
manager=new JRadioButton("管理員");
users=new JRadioButton("使用者");
group.add(manager);
group.add(users);
p2.add(manager);
p2.add(users);
label1=new JLabel("使用者名稱");
p3.add(label1);
userName=new JTextField(10);
p3.add(userName);
label2=new JLabel("密碼");
p3.add(label2);
password=new JPasswordField(10);
p3.add(password);
add(p1,BorderLayout.CENTER);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.CENTER);
login=new JButton("登入");
register=new JButton("註冊");
exit=new JButton("退出");
add(login);
add(register);
add(exit);
userName.addActionListener(this);
login.addActionListener(this);
register.addActionListener(this);
exit.addActionListener(this);
}
public static void main(String[] args)
{
Main f=new Main();
f.setTitle("報刊訂閱管理系統");
}
public void actionPerformed(ActionEvent e) {
// TODO
自動生成的方法存根
if(e.getSource()==register) //註冊(登入、退出類似)
{
new UsersRegister();//過渡到新的視窗
Menu;
this.dispose();//釋放當前視窗
} }
五、 Java原始碼
package com.jdbc.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
InformationDaoImpl.java//新增報刊資訊
public static void main(String[] args) //錄入報刊資訊(錄入使用者資訊和對使用者,報刊,訂單的增刪改查與之類似
{
LoggingdataNewspaper f=new LoggingdataNewspaper();
f.setTitle("報刊資訊");
}
public void actionPerformed(ActionEvent e) { // TODO 自動生成的方法存根
if(e.getSource()==button5) // 退出
{
new ManagerHome();//過渡到新的視窗Menu;
this.dispose();//釋放當前視窗
}
if(e.getSource()==button1) // 新增
{
//定義一個空的newspaper物件
newspaper news=new newspaper();
//將資料封裝到news中
news.setNewsNo(text1.getText().trim());
news.setNewsName(text2.getText().trim());
news.setPublish(text3.getText().trim());
news.setPubPeriod(text4.getText().trim());
news.setContent(text5.getText().trim());
news.setPrice(Float.parseFloat(text6.getText().trim()));
System.out.println(news);
//定義一個控制物件
InformationDaoImpl ifd=new InformationDaoImpl();
//執行新增使用者操作
ifd.addNews(news);
}
if(e.getSource()==button2) // 刪除
{
//定義一個空的newspaper物件
newspaper delnews=new newspaper();
//將資料封裝到delnews中
delnews.setNewsNo(text1.getText().trim());
delnews.setNewsName(text2.getText().trim());
System.out.println(delnews);
//定義一個控制物件
InformationDaoImpl ifd=new InformationDaoImpl();
//執行新增使用者操作
ifd.deleteNews(delnews);
}
if(e.getSource()==button3) // 查詢
{ //定義一個空的newspaper物件
newspaper n=new newspaper(); //將資料封裝在n中
String news=text1.getText().trim(); //定義一個控制物件
InformationDaoImpl ifd=new InformationDaoImpl();
n=ifd.FindNewsByNewspaper(news);
System.out.println(n);
text2.setText(n.getNewsName());
text3.setText(n.getPublish());
text4.setText(n.getPubPeriod());
text5.setText(n.getContent());
text6.setText(String.valueOf(n.getPrice()));
}
if(e.getSource()==button4) // 修改
{ //定義一個空的users物件
newspaper news=new newspaper(); //將資料封裝到u當中
news.setNewsNo(text1.getText().trim());
news.setNewsName(text2.getText().trim());
news.setPublish(text3.getText().trim());
news.setPubPeriod(text4.getText().trim());
news.setContent(text5.getText().trim());
news.setPrice(Float.parseFloat(text6.getText().trim())); //定義一個控制物件
InformationDaoImpl ifd=new InformationDaoImpl(); //執行修改使用者資訊操作
ifd.updateNewspaper(news);
System.out.println(news);
}
}
public void addNews(newspaper n){ //定義一個空的連線物件
Connection conn=null; //定義一個準備sql語句
PreparedStatement ps=null; //自定義將要執行的sql語句
String sql="insert into
newspaper(newsNo,newsName,publish,pubPeriod,content,price)
values(?,?,?,?,?,?)"; //通過Dbutils得到資料庫的連線
conn=Dbutils.getConnection();
System.out.println(conn);
try { //將sql語句傳給ps(接收sql語句的容器)
ps=conn.prepareStatement(sql); //將news的各個屬性值新增到?處
ps.setString(1, n.getNewsNo());
ps.setString(2, n.getNewsName());
ps.setString(3, n.getPublish());
ps.setString(4, n.getPubPeriod());
ps.setString(5, n.getContent());
ps.setFloat(6, n.getPrice()); //執行sql語句(相當於在資料庫中執行sql語句)
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
finally{ //釋放連線,同時釋放資源
Dbutils.close(conn, ps, null);
}
}//通過報刊號和報刊名刪除報刊
public void deleteNews(newspaper dn) { // TODO 自動生成的方法存根
Connection conn=null;
PreparedStatement ps=null;
conn=Dbutils.getConnection();
String sql="delete from newspaper
where
newsNo=?
and
newsName=?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, dn.getNewsNo());
ps.setString(2, dn.getNewsName());
ps.executeUpdate();
} catch (SQLException e) { // TODO 自動生成的catch 塊
e.printStackTrace();
}finally
{
Dbutils.close(conn, ps, null);
}
} //通過報刊代號查詢報刊
public newspaper FindNewsByNewspaper(String ne) {
newspaper news= new newspaper();
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=Dbutils.getConnection();
String sql="select * from newspaper where newsNo=?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, ne);
rs=ps.executeQuery();
if(rs.next())
{
news.setNewsNo(rs.getString("newsNo"));
news.setNewsName(rs.getString("newsName"));
news.setPublish(rs.getString("publish"));
news.setPubPeriod(rs.getString("pubPeriod"));
news.setContent(rs.getString("content"));
news.setPrice(rs.getFloat("price"));
}
} catch (SQLException e) { // TODO 自動生成的 catch 塊
e.printStackTrace();
}finally
{
Dbutils.close(conn, ps, rs);
}
return news; //更新報刊資訊
public void updateNewspaper(newspaper news) { // TODO Auto-generated method stub
//定義一個空的連線物件
Connection conn=null;//定義一個準備sql語句
PreparedStatement ps=null; //自定義將要執行的sql語句
String sql="update newspaper
set
publish=?
,pubPeriod=?,
content=?, price=? where newsNo=? and newsName=? "; //通過Dbutil得到資料庫的連線
conn=Dbutils.getConnection();
System.out.println(conn);
try { //將sql語句傳給ps(接收sql語句的容器)
ps=conn.prepareStatement(sql); //將user的各個屬性值新增到?處
ps.setString(1, news.getPublish());
ps.setString(2, news.getPubPeriod());
ps.setString(3, news.getContent());
ps.setFloat(4, news.getPrice());
ps.setString(5,news.getNewsNo());
ps.setString(6, news.getNewsName()); //執行update SQL語句
ps.executeUpdate();
} catch (SQLException e) { // TODO 自動生成的 catch 塊
e.printStackTrace();
}
finally{ //釋放連線,同時釋放資源
Dbutils.close(conn, ps, null);
}
}
六、 實驗結果
點選管理員,輸入管理員使用者名稱(admin)和密碼(admin),點選“登入”,進入
圖1-1 報刊訂閱管理系統登入介面
點選“錄入報刊資訊”按鈕,進入錄入報刊資訊介面
圖2-2管理員主介面
圖3-3 報刊管理
圖 5-5訂閱管理
七、 實驗小結
1. 資料庫設計小結
SQL資料庫的使用,讓我對資料庫概念及邏輯和物理結構設計有了更清晰的瞭解,這裡我所選課題的概念結構設計即詳細的E-R圖,邏輯結構設計就是將E-R圖轉換為資料庫的邏輯結構,並進行優化,而物理結構設計即選定實施環境,確定系統資料庫的儲存結構和存取方法等。還有就是資料實施維護,用DBMS建立資料庫結構,載入資料,實現各種查詢,連結應用程式,設計庫中觸發器,儲存過程等物件,並能對資料庫做簡單的資料維護。
2. Java應用小結
通過這次的課程設計,讓我從之前學Java時的懵懵懂懂到現在理解了不少,學會了不少語法的連線,怎麼在整個系統中使用到這部分,並且表達出來等等,都需要好好學習並熟悉裡面的每個知識點和語法,及使用方法等等,面向物件的設計
3. 需完善之處
由於是初次綜合使用SQL和Java來做東西,並且時間有限,不足之處不可避免。本系統的功能還不夠強大,較真正的管理系統還有很多不足, 安全功能也有不足,比如使用者真實姓名沒有糾錯,應該把所有的部門的職工全都輸入到表中,當註冊的時候,輸入真實姓名,如果相關部門沒有此人,則不允許註冊,此功能尚未實現,將在以後的時間繼續完善。
課程設計體會
這次課程設計的主要目的是掌握資料庫應用系統分析設計的基本方法,基本掌握SQL和Java的使用,進一步提高分析解決問題的綜合能力。通過這次課程設計,我基本掌握了以上要求。但只有2周的課程設計時間,時間比較倉促,所以開發的系統不是很完善,有一些功能未實現,但是報刊訂閱的基本功能均已實現。以前對資料庫還有Java的很多知識認識都不深刻,做過這次課程設計之後,我對這些都有個基本的系統瞭解,比如:對錶內一些欄位的約束,關係等的運用以及比較熟練。
但是由於第一次真正的全系統運用,所以運用的不是很熟練。剛開始的時候,對於SQL和Java的語法,用法等一系列知識都不熟悉,經過對這個系統的開發,在開發過程中遇到但也解決了很多問題,所以說我們要迎難而上,不斷地去學習,自己才有所成長,有所發展。
參考文獻
1.資料庫系統概論(第5版)王珊 薩師煊編著 高等教育出版社 2014年9月
2.Java語言程式設計(第2版)丁振凡 編著 清華大學出版社2014年9月
3.李剛.Java程式設計師之旅--Java資料庫技術詳解[J].化學工業出版社.2011.4
4.姜中華、劉小春.Java 資料庫應用程式設計[J].機械工業出版社.2008.4
5.軟體開發技術聯盟.Java Web開發實踐[J].清華大學出版社.2013.9
Leszek A.Maciaszek.需求分析與系統設計[J]中信出版社.2003
6.網際網路資源
公眾號回覆--“報刊”
相關推薦
基於WebGIS的Web服務器日誌管理系統設計與實現_愛學術——免費下載
富客戶端 平臺 .com 服務器日誌 操作 shu 實現 c51 bsp 【摘要】WebGIS優勢是通過互聯網對地理空間數據進行發布和應用,以實現空間數據的共享和相互操作。將WebGIS和富客戶端技術引入Web服務器日誌管理領域,從總體設計、數據庫設計、實現框架等幾個方面設
基於Web的企業排班管理系統設計與實現_愛學術——免費下載
安全 html 快速 開發框架 管理 document 企業 search src 【摘要】隨著我國企業的快速發展,落後的排班方式正日益影響企業的工作效率。本文即探討基於Web的企業排班管理。提出基於SSH開發框架並結合MVC設計模式來開發企業排班管理系統,提高系統的安全性
《超市智慧化管理系統設計與實現》論文筆記(四)
一、基本資訊 標題:超市智慧化管理系統設計與實現 時間:2014 來源:電子科技大學 關鍵詞:超市; 資料庫; 商品; 窗體; 控制元件; 二、研究內容 1.主要內容: 該篇論文主要表述的是完成一個超
文獻綜述十四:基於Oracle11g的超市進銷存管理系統設計與實現
一、基本資訊 標題:基於Oracle11g的超市進銷存管理系統設計與實現 時間:2016 出版源:技術創新 檔案分類:對資料庫的研究 二、研究背景 為超市設計開發的超市管理系統,採用的是 VC+ Oracle模 式的電子管理平臺,研究基於C/S模式的電子資訊管理的實現。 三、具體內容
[原始碼和文件分享]基於C++的庫存管理系統設計與實現
一 需求分析 1.1 總體要求 運用面向物件程式設計知識,利用C++語言設計和實現一個“庫存管理系統設計”,主要完成對商品的銷售、統計和簡單管理。在實現過程中,需利用面向物件程式設計理論的基礎知識,充分體現出C++語言關於類、繼承和封裝等核心概念,每一個類應包含資料成員和成員函式。 1.
文獻綜述十八:基於SSH框架的進銷存管理系統設計與實現
一、基本資訊 標題:基於SSH框架的進銷存管理系統設計與實現 時間:2017 出版源:內蒙古科技與經濟 檔案分類:對框架的研究 二、研究背景 進銷存管理系統在各企業中廣泛應用,使用SSH框架,很大程度上提高了開發效率及系統的可靠性和易用性。 三、具體內容 文獻的主要內容分為三大部分。一
基於JAVA的網上商城商家管理系統設計與實現
**基於JAVA的網上商城商家管理系統設計與實現** 基於JAVA的網上商城商家管理系統設計與實現mysql資料庫建立語句 基於JAVA的網上商城商家管理系統設計與實現oracle資料庫建立語句 基於JAVA的網上商城商家管理系統設計與實現sqlserver資料庫建立語句
[原始碼和文件分享]基於QT的考試管理系統設計與實現
一、專案概要 1.1 專案名稱 考試管理系統 1.2 專案目標 培養快速學習新的知識,解決問題的能力 規劃專案的整體功能以及相關需求分析,並設計出合理的資料庫,並熟悉整個試題系統的開發流程。 1.3 軟體概要 開發一個考試管理系統,考生可以進行練習,
[原始碼和文件分享]基於JSP的停車場資訊管理系統設計與實現
1.1 專案背景 軟體系統的名稱是停車場管理系統。我們開發的系統將幫助停車場管理員和物業公司更加智慧化的管理停車場,省去很多的人力物力。方便隨時查詢停車場的情況,也有助於車主方便隨時查詢附近可以停車的停車場。 1.1.1使用者基本情況介紹 角色1:停車場管理員 檢視剩餘車位數量,
基於RFID的簡易圖書管理系統設計與實現
本次開發主要做了從串列埠分別獲取讀者卡號和圖書卡號,實現圖書管理,圖書借閱,讀者管理等功能。開發語言是C#,開發環境使用Visual Studio 2015。資料庫採用sql Server。 RFID選擇 讀者卡跟圖書卡均採用125K,一般稱之為低頻卡,典型的
報刊訂閱管理系統的設計與實現
課程設計(論文)任務書(文章末尾--源文件下載) 軟體 學院 軟體工程 專業 2016 -7 班 一、課程設計(論文)題目 綜合課程設計2 二、課程設
基於James技術的企業電子郵件系統設計與實現
基於James技術的企業電子郵件系統設計與實現 轉載:https://www.taodocs.com/p-156363658.html 1、簡介
文獻筆記03-基於異構資料來源的網路等級考試報名管理系統設計及實現
一、基本資訊 標題:基於異構資料來源的網路等級考試報名管理系統設計及實現 時間:2008. 出版源:中國知網 領域分類:計算機應用及軟體 二、研究背景 隨著我國高校擴大招生工作的進行,高校對學生的等級考試管理工作也面臨著新的要求。全國大學英語四、六級考試,專業外語四、八級考試,計算機等級考試,普通
【活動預告】NEO區塊鏈公開課(5):NNS系統設計與實現
NEO區塊鏈公開課第5期: 主題:NEL精品課程之NNS系統設計與實現 時間:10月20日13:30—17:00 地點:上海市楊浦區政學路77號INNOSPACE 1樓IPOCLUB 報名連結:http://www.huodongxing.c
文獻綜述三:基於JSP的商品資訊管理系統設計與開發
一、基本資訊 標題:基於JSP的商品資訊管理系統設計與開發 時間:2015 出版源:Computer Knowledge and Technology 檔案分類:jsp技術的系統開發 二、研究背景 通過了解公司產品人工現狀的一些管理方面的現狀和要求,運用計算機技術開發的商品資訊管理系統,能
【架構】分散式追蹤系統設計與實現
分散式系統為什麼需要 Tracing? 先介紹一個概念:分散式跟蹤,或分散式追蹤。 電商平臺由數以百計的分散式服務構成,每一個請求路由過來後,會經過多個業務系統並留下足跡,併產生對各種Cache或DB的訪問,但是這些分散的資料對於問題排查,或是流程優化都幫助有限。
文獻綜述六:基於JS 技術的電子商品管理系統設計及實現
一、基本資訊 標題:基於JS 技術的電子商品管理系統設計及實現 時間:2017 出版源:無線互聯科技 檔案分類:js技術的研究 二、研究背景 主要對Js下電商管理系統的設計及實現進行了探討,利用軟體工程的設計方法和先進的軟體開發框架來實現電子商務管理。 三、具體內容 開頭提到了什麼是j
[原始碼和文件分享]基於C++的學生生活系統設計與實現
一 需求分析 需要設計並實現如下場景:在那山的那邊,湖的那邊,有一所學校,學校裡有一幢宿舍樓,宿舍樓有若干層,每一層有若干房間 ,一群學生快樂地生活在這裡。他們每天可做的事情有: 換宿舍,從一個房間搬到另一個房間 退學,亦即搬出宿舍樓 入學,亦即搬入宿舍樓
58同城推薦系統設計與實現
58同城智慧推薦系統大約誕生於2014年(C++實現),該套系統先後經歷了招聘、房產、二手車、黃頁和二手物品等產品線的推薦業務迭代,但該系統耦合性高,難以適應推薦策略的快速迭代。58同城APP猜你喜歡推薦和推送專案在2016年快速迭代,產出了一套基於微服務架構的推薦系統(Ja
[原始碼和文件分享]基於VS2012和SQL SERVER的餐廳點餐系統設計與實現
一、需求分析 1. 面向物件 點典點菜系統是一款面向顧客和管理人員的全方面系統,其中管理人員又包括服務員、採購員和廚師。本組認真分析了不同物件的需求,為不同的物件都設計了獨特的系統功能。簡化了傳統點菜、燒菜和採購方式繁瑣的步驟,為顧客提供便捷操作的同時提高酒店管理的效率。 2. 市場背景