第一篇:網(wǎng)上書店項目總結報告
數(shù)據(jù)庫代碼:
/*================*/ /* DBMS name:
Microsoft SQL Server 2008
*/ /* Created on:
2011-11-2 9:27:06
*/ /*================*/
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('Administrators')and o.name = 'FK_ADMINIST_REFERENCE_USERS')alter table Administrators
drop constraint FK_ADMINIST_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('Re_status')and o.name = 'FK_RE_STATU_REFERENCE_ADMINIST')alter table Re_status
drop constraint FK_RE_STATU_REFERENCE_ADMINIST go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('books')and o.name = 'FK_BOOKS_REFERENCE_BOOKTYPE')alter table books
drop constraint FK_BOOKS_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('books')and o.name = 'FK_BOOKS_REFERENCE_PUBLISH')alter table books
drop constraint FK_BOOKS_REFERENCE_PUBLISH go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('booktype')and o.name = 'FK_BOOKTYPE_REFERENCE_BOOKTYPE')alter table booktype
drop constraint FK_BOOKTYPE_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('leaveWords')and o.name = 'FK_LEAVEWOR_REFERENCE_USERS')alter table leaveWords
drop constraint FK_LEAVEWOR_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('limite')and o.name = 'FK_LIMITE_REFERENCE_ADMINIST')alter table limite
drop constraint FK_LIMITE_REFERENCE_ADMINIST go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('model')and o.name = 'FK_MODEL_REFERENCE_LIMITE')alter table model
drop constraint FK_MODEL_REFERENCE_LIMITE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_SHIPPED')alter table orders
drop constraint FK_ORDERS_REFERENCE_SHIPPED go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_BOOKS')alter table orders
drop constraint FK_ORDERS_REFERENCE_BOOKS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_USERS')alter table orders
drop constraint FK_ORDERS_REFERENCE_USERS go if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('sales')and o.name = 'FK_SALES_REFERENCE_ORDERS')alter table sales
drop constraint FK_SALES_REFERENCE_ORDERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shipped')and o.name = 'FK_SHIPPED_REFERENCE_SALES')alter table shipped
drop constraint FK_SHIPPED_REFERENCE_SALES go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_BOOKTYPE')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_BOOKS')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_BOOKS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_USERS')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('users')and o.name = 'FK_USERS_REFERENCE_LIMITE')alter table users
drop constraint FK_USERS_REFERENCE_LIMITE go
if exists(select 1
from sysobjects
where id = object_id('Administrators')
and
type = 'U')
drop table Administrators go
if exists(select 1
from sysobjects
where id = object_id('Re_status')
and
type = 'U')
drop table Re_status go
if exists(select 1
from sysobjects
where id = object_id('books')
and
type = 'U')
drop table books go
if exists(select 1
from sysobjects
where id = object_id('booktype')
and
type = 'U')
drop table booktype go
if exists(select 1
from sysobjects
where id = object_id('booktype2')
and
type = 'U')
drop table booktype2 go
if exists(select 1
from sysobjects
where id = object_id('discount')
and
type = 'U')
drop table discount go
if exists(select 1
from sysobjects
where id = object_id('leaveWords')
and
type = 'U')
drop table leaveWords go
if exists(select 1
from sysobjects
where id = object_id('limite')
and
type = 'U')
drop table limite go
if exists(select 1
from sysobjects
where id = object_id('model')
and
type = 'U')
drop table model go
if exists(select 1
from sysobjects
where id = object_id('orders')
and
type = 'U')
drop table orders go
if exists(select 1
from sysobjects
where id = object_id('publish')
and
type = 'U')
drop table publish go
if exists(select 1
from sysobjects
where id = object_id('sales')
and
type = 'U')
drop table sales go
if exists(select 1
from sysobjects
where id = object_id('shipped')
and
type = 'U')
drop table shipped go
if exists(select 1
from sysobjects
where id = object_id('shoppingcar')
and
type = 'U')
drop table shoppingcar go
if exists(select 1
from sysobjects
where id = object_id('users')
and
type = 'U')
drop table users go
/*================*/ /* Table: Administrators
*/ /*================*/ create table Administrators(Administrator_id
varchar(50)
not null,Username
varchar(20)
null,Administrator_name
varchar(20)
not null,Administrator_password varchar(50)
not null,“Administrator_e-mall” varchar(30)
null,constraint PK_ADMINISTRATORS primary key(Administrator_id))go
/*================*/ /* Table: Re_status
*/ /*================*/ create table Re_status(Administrator_id
varchar(50)
not null,Username
varchar(10)
not null,Re_status_date
datetime
not null,Subject
varchar(10)
not null,re_ststus_texe
varchar(2000)
null,Re_status
varchar(2)
not null,constraint PK_RE_STATUS primary key(Administrator_id))go
/*================*/ /* Table: books
*/ /*================*/ create table books(bookID
varchar(50)
not null,Smalltype_id
varchar(50)
null,Pub_id
varchar(50)
null,title
varchar(80)
not null,price
double precision
not null,author
varchar(10)
not null,Version
varchar(20)
null,Publishdate
datetime
null,introduction
varchar(2000)
null,type
varchar(50)
not null,stock_qty
int
null,constraint PK_BOOKS primary key(bookID))go
/*================*/ /* Table: booktype
*/ /*================*/ create table booktype(Smalltype_id
varchar(50)
not null,Bigtype_id
varchar(50)
not null,Bigtype_name
varchar(50)
not null,constraint PK_BOOKTYPE primary key(Smalltype_id))go
/*================*/ /* Table: booktype2
*/ /*================*/ create table booktype2(Smalltype_id
varchar(50)
not null,Smalltype_name
varchar(50)
not null,Bigtype_id
varchar(50)
not null,constraint PK_BOOKTYPE2 primary key(Smalltype_id))go
/*================*/ /* Table: discount
*/ /*================*/ create table discount(datetime
varchar(10)
not null,discount
double precision
not null,remark
datetime
not null,constraint PK_DISCOUNT primary key(datetime))go
/*================*/ /* Table: leaveWords
*/ /*================*/ create table leaveWords(Lword_id
varchar(50)
not null,use_Username
varchar(20)
null,Username
varchar(6)
not null,Subject
varchar(6)
not null,Submit_date
datetime
null,Lword_texe
varchar(4000)
null,Re_status
varchar(10)
null,constraint PK_LEAVEWORDS primary key(Lword_id))go
/*================*/ /* Table: limite
*/ /*================*/ create table limite(username
varchar(20)
not null,Administrator_id
varchar(50)
null,user_limite
varchar(2)
not null,constraint PK_LIMITE primary key(username))go
/*================*/ /* Table: model
*/ /*================*/ create table model(model_id
varchar(10)
not null,username
varchar(20)
null,modelname
varchar(20)
not null,remark
varchar(20)
not null,constraint PK_MODEL primary key(model_id))go
/*================*/ /* Table: orders
*/ /*================*/ create table orders(Order_id
varchar(50)
not null,bookID
varchar(50)
null,Username
varchar(20)
null,Ship_id
varchar(50)
null,shipaddress
varchar(50)
not null,Order_date
datetime
not null,Book_id
varchar(50)
not null,quantity
int
not null,status
varchar(2)
not null,constraint PK_ORDERS primary key(Order_id))go
/*================*/ /* Table: publish
*/ /*================*/ create table publish(Pub_id
varchar(50)
not null,Pub_name
varchar(50)
not null,Pub_phone
varchar(15)
not null,Pub_add
varchar(50)
not null,constraint PK_PUBLISH primary key(Pub_id))go
/*================*/ /* Table: sales
*/ /*================*/ create table sales(Sale_id
varchar(50)
not null,Order_id
varchar(50)
null,Sale_date
datetime
null,Saler
varchar(20)
not null,Sale_status
varchar(2)
null,constraint PK_SALES primary key(Sale_id))go
/*================*/ /* Table: shipped
*/ /*================*/ create table shipped(Ship_id
varchar(50)
not null,Sale_id
varchar(50)
null,receive_name
varchar(10)
not null,receive_address
varchar(50)
not null,Ship_date
datetime
not null,Ship_man
varchar(10)
not null,receive_postcode
varchar(6)
not null,receive_telephone
varchar(20)
not null,constraint PK_SHIPPED primary key(Ship_id))go
/*================*/ /* Table: shoppingcar
*/ /*================*/ create table shoppingcar(shoppingcarid
varchar(10)
not null,Smalltype_id
varchar(50)
null,bookID
varchar(50)
null,Username
varchar(20)
null,totalprice
double precision
not null,constraint PK_SHOPPINGCAR primary key(shoppingcarid))go
/*================*/ /* Table: users
*/ /*================*/ create table users(Username
varchar(20)
not null,lim_username
varchar(20)
null,Password
varchar(10)
not null,degree
varchar(2)
not null,Phone
varchar(15)
null,“E-mall”
varchar(30)
null,Address
varchar(100)
not null,True_name
varchar(10)
not null,Postcode
varchar(6)
not null,constraint PK_USERS primary key(Username))go
alter table Administrators
add constraint FK_ADMINIST_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table Re_status
add constraint FK_RE_STATU_REFERENCE_ADMINIST foreign key(Administrator_id)
references Administrators(Administrator_id)go
alter table books
add constraint FK_BOOKS_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype(Smalltype_id)go
alter table books
add constraint FK_BOOKS_REFERENCE_PUBLISH foreign key(Pub_id)
references publish(Pub_id)go
alter table booktype
add constraint FK_BOOKTYPE_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype2(Smalltype_id)go
alter table leaveWords
add constraint FK_LEAVEWOR_REFERENCE_USERS foreign key(use_Username)
references users(Username)go
alter table limite
add constraint FK_LIMITE_REFERENCE_ADMINIST foreign key(Administrator_id)
references Administrators(Administrator_id)go
alter table model
add constraint FK_MODEL_REFERENCE_LIMITE foreign key(username)
references limite(username)go
alter table orders
add constraint FK_ORDERS_REFERENCE_SHIPPED foreign key(Ship_id)
references shipped(Ship_id)go
alter table orders
add constraint FK_ORDERS_REFERENCE_BOOKS foreign key(bookID)
references books(bookID)go
alter table orders
add constraint FK_ORDERS_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table sales
add constraint FK_SALES_REFERENCE_ORDERS foreign key(Order_id)
references orders(Order_id)go
alter table shipped
add constraint FK_SHIPPED_REFERENCE_SALES foreign key(Sale_id)
references sales(Sale_id)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype2(Smalltype_id)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_BOOKS foreign key(bookID)
references books(bookID)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table users
add constraint FK_USERS_REFERENCE_LIMITE foreign key(lim_username)
references limite(username)go
DB類:
using System;using System.Collections.Generic;using System.Text;
namespace DBLib { ///
/// 提供訪問SQL Server的基本方法
/// public class DB { public DB(){ }
//connStr為訪問SQL Server2000的連接字符串
//下面是臨時調試使用的方法,直接設置聯(lián)接字符串。
string connStr = “server=.;database=bookstore;integrated security=SSPI”;
#region 獲取查詢結果,DataSet GetSqlDataSet(string sqlString)///
/// public DataSet GetSqlDataSet(string sqlString){ //定義返回變量
//實例化數(shù)據(jù)集DataSet,對象名為ds DataSet ds = new DataSet();try { //實例化連接對象SqlConnection,對象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對象sqlConn實例化數(shù)據(jù)接口SqlDataAdapter //對象名為da SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
//da.Fill(ds)是數(shù)據(jù)接口(SqlDataAdapter)提供的方法
//具體作用為:
//打開與數(shù)據(jù)庫的連接
//將查詢的SQL語句發(fā)送到數(shù)據(jù)庫服務器 //接受返回的查詢結果
//并將結果填充到數(shù)據(jù)集對象ds中
//關閉與數(shù)據(jù)庫的連接 da.Fill(ds);} catch(Exception e){ //拋出捕捉到的異常
throw(e);} //返回查詢到的結果
return ds;} #endregion
#region 執(zhí)行增、刪或改的SQL語句 int ExecuteSql(string sqlString)///
/// 返回值為受影響的行數(shù)(記錄數(shù))
/// sqlString 參數(shù)為增、刪或改的SQL語句
/// public int ExecuteSql(string sqlString){ int i = 0;try { ////實例化連接對象SqlConnection,對象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對象sqlConn實例化SqlCommand //對象名為sqlCmd SqlCommand sqlCmd = new SqlCommand(sqlString, sqlConn);
//打開與數(shù)據(jù)庫的連接 sqlConn.Open();
//將增、刪或改的SQL語句發(fā)送到數(shù)據(jù)庫服務器
//并接受返回的結果,返回的結果為受影響的行數(shù)(記錄數(shù))i = sqlCmd.ExecuteNonQuery();
//關閉與數(shù)據(jù)庫的連接 sqlConn.Close();} catch(Exception e){ Exception ee = new Exception(sqlString + e.Message);throw(ee);} return i;} #endregion
} }
Administrators類: using System;using System.Collections.Generic;using System.Text;
namespace DBlib { class Administrators { string Administrator_id;public string Administrator_Id { get { return Administrator_id;} set { Administrator_id = value;} } string Username;public string UserName { get { return Username;} set { Username = value;} } string Administrator_name;public string Administrator_Name { get { return Administrator_name;} set { Administrator_name = value;} } string Administrator_password;public string Administrator_Password { get { return Administrator_password;} set { Administrator_password = value;} } string Administrator_e_mall;public string Administrator_E_Mall { get { return Administrator_e_mall;} set { Administrator_e_mall = value;} } DB db = new DB();public bool Insert(){ try { string sql = “insert into Administrators(Administrator_id ,Username,Administrator_name,Administrator_password,Administrator_e_mall)values('” + this.Administrator_id + “','” + this.Username + “','” + this.Administrator_name + “','” + this.Administrator_password + “','” + this.Administrator_e_mall + “')”;db.ExecuteSql(sql);return true;} catch { return false;} } public bool Delete(){ try { string sql = “delete from Administrators where Administrator_id='” + this.Administrator_id + “'”;db.ExecuteSql(sql);return true;} catch { return false;} } public bool Update(){ try { string sql = “update Administrators set Administrator_id='” + this.Administrator_id + “',Username='” + this.Username + “',Administrator_name='” + this.Administrator_name + “',Administrator_password='” + this.Administrator_password + “',Administrator_e_mall='” + this.Administrator_e_mall + “'”;db.ExecuteSql(sql);return true;} catch { return false;} } public DataSet SelectAll(){
string sql = “select * from Administrators”;DataSet ds = db.GetSqlDataSet(sql);return ds;} public DataSet Select(){
string sql = “select * from Administrators where Administrator_name like '%” + this.Administrator_name + “%'”;DataSet ds = db.GetSqlDataSet(sql);return ds;}
public bool IsExist(){ string sql = “select * from Administrators where Administrator_id='” + this.Administrator_id + “'”;DataSet ds = db.GetSqlDataSet(sql);if(ds.Tables[0].Rows.Count == 1){ return true;} else { return false;} } } }
第二篇:網(wǎng)上書店項目概述(范文)
網(wǎng)上書店項目概述
網(wǎng)上購書系統(tǒng)由3部分組成:用戶管理、購書網(wǎng)站和訂單處理中心。其中,用戶管理負責用戶注冊及用戶登陸;購書網(wǎng)站是一個Web應用程序,用戶可以通過Web瀏覽器登錄到此網(wǎng)站,在此網(wǎng)站,用戶可以搜索要找的書,察看書的詳細信息并購書;訂單處理中心用來管理購物網(wǎng)站轉過來的訂單。
用戶管理主要包括一下功能: ? 注冊用戶信息
1)對于新用戶,單擊“注冊”按鈕,進入用戶注冊頁面; 2)填寫相關注冊信息,填寫完畢后單擊“確定”按鈕; ? 3)彈出“注冊成功”對話框,即成功注冊。用戶登錄驗證
1)對于已注冊用戶,進入用戶登錄頁面; 2)填寫您的用戶名和密碼; 3)單擊“登錄”按鈕; ? 4)用戶名和密碼正確,登錄成功,進入購書網(wǎng)站;否則返回。瀏覽圖書
網(wǎng)站的書籍列表要列出當前網(wǎng)站所有的圖書名稱。當用戶單擊某一圖書名稱時,要列出該書的詳細信息(包括書名、作者、單價)。查找圖書
用戶可以在網(wǎng)站的查找框中輸入一個書名,單擊“查找”按鈕可以網(wǎng)站是否有此書,系統(tǒng)將查找結果(如果有此書,返回書的詳細信息;如果沒有,返回當前沒有此書的信息)返回給用戶。? ? 購物車管理
用戶可以隨時查看自己的購物車,可以添加或刪除購物車中的商品。購書
在瀏覽圖書時,用戶可以在查看選中圖書的詳細信息時添加次書到購物車,添加完畢可以選擇繼續(xù)購物或是結算。如果選擇結算,要填一個購書登記表,該表包括以下內容:購書人姓名、地質、E-mail、所購圖書的列表、總價。訂單處理中心的功能:
訂單處理中心是一個Web應用程序,在此將列出所有等待處理的訂單,每一筆訂單包含購書人姓名、地質、E-mail、所購圖書的列表、總價。其中,所購圖書列表包括各個書籍信息的明細內容,總價是系統(tǒng)自動計算的。
以上是該項目的需求分析,請由此畫出該系統(tǒng)的用例圖、類圖、狀態(tài)圖、活動圖、順序圖、協(xié)作圖、構件圖以及部署圖。
?
實習一(2學時)
一、實驗名稱:
UML用例圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或PowerDesign建模工具的使用 ? 掌握怎樣進行案例需求分析; ? 掌握UML用例圖建模技術
三、實驗內容:
通過《網(wǎng)上書店系統(tǒng)》的需求分析,完成用例圖的設計和繪制。掌握需求分析和繪制用例圖。
四、實驗步驟:
步驟1:對《網(wǎng)上書店系統(tǒng)》文字描述進行需求分析。步驟2:找到系統(tǒng)所有用戶、用例:
步驟3:采用Rose或PowerDesign或Visio畫出用例圖; 步驟4:對用例圖進行細化和完善; 步驟5:保存實驗結果,撰寫實驗報告。
實習二(2學時)
一、實驗名稱:
UML類圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進行系統(tǒng)分析,并進行UML靜態(tài)建模分析; ? 掌握UML類圖建模技術
三、實驗內容:
通過《網(wǎng)上書店系統(tǒng)》的需求分析,完成主要類圖的設計和實現(xiàn)。掌握系統(tǒng)靜態(tài)分析和繪制類圖。
四、實驗步驟:
步驟1:對《網(wǎng)上書店系統(tǒng)》文字描述以及上次實習的用例圖進行系統(tǒng)分析。步驟2:找到系統(tǒng)涉及到的實體—〉類:
步驟3:采用Rose或PowerDesign或Visio畫出類圖; 步驟4:對類圖進行細化和完善; 步驟5:保存實驗結果,撰寫實驗報告。五.實驗結果
實習三(2學時)
一、實驗名稱:
時序圖和協(xié)作圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進行系統(tǒng)分析,并進行UML動態(tài)建模分析; ? 掌握UML時序圖和協(xié)作圖建模技術
三、實驗內容:
通過《網(wǎng)上書店系統(tǒng)》的進一步分析,繪制其中主要的時序圖和協(xié)作圖。掌握系統(tǒng)動態(tài)分析和繪制時序圖和協(xié)作圖。
四、實驗步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》用例圖、類圖為基礎進行系統(tǒng)分析。步驟2:找到系統(tǒng)通過類圖無法完整描述相互交互的過程:
步驟3:采用Rose或PowerDesign或Visio畫出這些過程的時序圖或協(xié)作圖; 步驟4:對時序圖或協(xié)作圖進行細化和完善; 步驟5:保存實驗結果,撰寫實驗報告。
五.實驗結果
實習四(2學時)
一、實驗名稱:
狀態(tài)圖和活動圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進行系統(tǒng)分析,并進行UML動態(tài)建模分析; ? 掌握UML狀態(tài)圖和活動圖建模技術
三、實驗內容:
通過《網(wǎng)上書店系統(tǒng)》的進一步分析,繪制其中主要的狀態(tài)圖和活動圖。掌握系統(tǒng)動態(tài)分析和繪制狀態(tài)圖和活動圖。
四、實驗步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》用例圖、類圖為基礎進行系統(tǒng)分析。步驟2:找到系統(tǒng)類圖無法清晰描述現(xiàn)實對象的類:
步驟3:采用Rose或PowerDesign或Visio畫出這些類或者對象的狀態(tài)圖或活動圖;
步驟4:對狀態(tài)圖或活動圖進行細化和完善; 步驟5:保存實驗結果,撰寫實驗報告。五.結果
實習五(4學時)
一、實驗名稱:
綜合實驗--《網(wǎng)上書店系統(tǒng)》UML建模(4學時)
二、實驗目的與要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握軟件分析設計過程,能熟練運用UML建模技術; ? 掌握UML構件圖和部署圖建模技術
三、實驗內容:
通過該系統(tǒng)的分析和設計,整合前4次實驗,并進行進一步的細化和完善,提交整個系統(tǒng)的UML分析結果(包括后期的構件圖,部署圖)。
四、實驗步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》描述為用例圖、類圖以及其他動態(tài)圖為基礎進行構件部署的設計。
步驟2:采用Rose或PowerDesign或Visio畫出構件圖和部署圖: 步驟3:對構件圖和部署圖進行細化和完善;
步驟4:重新從系統(tǒng)需求描述出發(fā),驗證和補充用例圖、類、時序圖、協(xié)作圖、狀態(tài)圖、活動圖、構件圖以及部署圖;
步驟5:采用包圖,對所有分析模型進行分層次整合; 步驟6:對UML建模必要的圖添加注釋;
步驟7:對系統(tǒng)分析和設計進行整理,撰寫實驗報告 五.實驗結果
第三篇:網(wǎng)上書店項目設計書
開卷有益網(wǎng)上書店項目設計書
開卷有益 網(wǎng)上書店項目設計書
課程名稱網(wǎng)站規(guī)劃建設與管理維護
專業(yè) 班級 提交人
2013年9月29日 開卷有益網(wǎng)上書店項目設計書
開卷有益網(wǎng)上書店項目設計書
一、項目概述:
1.1項目名稱:開卷有益網(wǎng)上書店項目設計書。
1.2項目背景:隨著Internet的迅速發(fā)展,當今電子商務已接被廣大的互聯(lián)網(wǎng) 用戶所接受,網(wǎng)購的火爆程度有目共睹。網(wǎng)上書店作為其中的一部分也有了迅速的發(fā)展。為了方便廣大用戶因為所在地區(qū)的原因,造成“有書沒人買,有人沒書買”的現(xiàn)象,充分利用現(xiàn)代信息化、因特網(wǎng)的優(yōu)勢,建立網(wǎng)上書店系統(tǒng),實施把書店“搬”到網(wǎng)上的方案。就網(wǎng)上書店而言,由于網(wǎng)絡已經(jīng)覆蓋全球,信息量大而獨具優(yōu)勢。國內著名的兩大書店,當當網(wǎng)與卓越網(wǎng),他們售書的理念很簡單,讀者可以自己尋找自己喜愛的書,對于讀者來說,無需為尋找一本自己想要的書好奔波于城市的各個角落,無需因為時間問題而錯過了新書的首發(fā)式,或者因為時間問題而去不了書店,網(wǎng)上書店系統(tǒng),只需你有一臺可以連上互聯(lián)網(wǎng)的電腦,就可以按照自己的興趣檢索到自己想要的書本。對于那些沒有時間經(jīng)常去傳統(tǒng)書店或其住所離傳統(tǒng)書店較遠的讀者來說,具有實際意義。因此網(wǎng)上售書必將有長足的發(fā)展。本系統(tǒng)的主要目的是實現(xiàn)圖書的在線銷售,包括管理庫房中的圖書,以及管理用戶的購物車,從而實現(xiàn)書籍預訂、結賬、查看訂單等一系列功能,實現(xiàn)書店和用戶雙贏的局面。
1.3項目目標:實現(xiàn)網(wǎng)上書店系統(tǒng)的基本功能,包括兩大部分:用戶客戶端和管 理員服務器端。用戶客戶端完成會員的注冊(包括登錄名、密碼、真實姓名、收貨地址、聯(lián)系方式等信息的填寫),登錄(登錄后會員可查看自己的賬戶信 息,對個人信息的修改,查看訂單狀態(tài),與客服人員的在線交流,對書籍和 服務進行評價);圖書瀏覽(可以使用搜索引擎或其他方式查找到自己喜愛的 圖書)、預訂(如果想要購買的圖書目前暫時缺貨,可以預訂圖書,圖書到貨 后,管理員向會員發(fā)出到貨信息,以便會員購買)、購買(購買圖書)、留言 簿(與在線客服的交流以及評價圖書及服務)等一系列購書功能。管理員服 務器端完成對圖書、會員的各種信息的管理(包括書目的增刪改,庫存信息 的管理及會員訂單的處理等)。
1.4項目內容:開卷有益網(wǎng)上書店采用現(xiàn)有的各種網(wǎng)絡技術,構建一個擁有全面 書籍的多級查詢、選擇、訂購的網(wǎng)上銷售系統(tǒng),為顧客提供方便、快捷、安 全的網(wǎng)上購物環(huán)境。
1.5項目的投資規(guī)模和建設周期:項目建設預計投入30萬元,用于平臺搭建、軟硬件資源的購買、技術支持及管理和人員的費用,項目建設周期約需要5 個月。
1.6項目的收益:建設網(wǎng)上書店將取得以下幾方面收益:
a.網(wǎng)上銷售帶來的業(yè)務量的增加:預計從網(wǎng)站運營起半年內書店銷售收入增
長7%,二年內銷售收入增長88%。
b.網(wǎng)上銷售帶來的成本節(jié)約:預計書本銷售成本可以減少15%~33%。
c.品牌增值帶來的收益:網(wǎng)上書店的運作將擴大“開卷有益”的知名度,提升 “開卷有益”品牌,最終使開卷有益書店成為全國地區(qū)有影響力的網(wǎng)上書店 開卷有益網(wǎng)上書店項目設計書
企業(yè)。
二、項目可行性分析:
2.1網(wǎng)上書店設計: 會員(注冊用戶):通過填寫個人信息,經(jīng)過系統(tǒng)認證的用戶,完成每個用戶的書籍預訂、購書、查看訂單、留言簿等功能。
管理員:有權對圖書的信息進行錄入、修改、刪除等功能;進行圖書的入庫、出庫、盤點,系統(tǒng)出錯或有需要時,人工進行用戶匯款信息錄入、修改、刪除等功能;查看、刪除、回復會員的留言;管理圖書的銷售等一系列信息。訂單:用戶為購買貨物而填寫的關于書目、送貨地址、付款方式等信息的表單;訂單可以有幾種狀態(tài):1)訂單生成在審核中2)訂單通過審核,正在配貨3)訂單中的貨物已發(fā)貨,但用戶未接收4)訂單配送完成5)在15天退換貨的階段6)用戶收貨15天后,沒有退換貨,交易完成。
客戶端:會員完成圖書瀏覽、搜索、預訂、購書、查看訂單、評論留言等一系列過程的平臺。后臺管理系統(tǒng):管理員通過用戶名和密碼的驗證后,管理有關圖書的訂單、庫存、銷售,會員的管理,評論留言的管理等的信息的平臺。2.2產品目標與范圍
網(wǎng)上書店系統(tǒng)是一個中小型的電子商務系統(tǒng),可以為各類用戶提供方便的在線買書環(huán)境,要符合目前國內流行的電子商務模式——B/S架構,三層運行模式,同時適用于Intranet/Internet。瀏覽器為第一層,作為系統(tǒng)的應用界面;應用邏輯服務為第二層;數(shù)據(jù)鏈接為第三層,作為系統(tǒng)的數(shù)據(jù)存取服務。用戶可以在系統(tǒng)中實現(xiàn)注冊、瀏覽圖書、搜索查詢圖書、預訂圖書、下定單、付款、確認收貨等功能,登錄該網(wǎng)站后,先進行注冊,在會員登錄并且購得圖書后,提交購書單給圖書管理員,并同時將費用通過網(wǎng)上銀行、電匯、郵寄或貨到付款的方式交付到圖書管理員處。圖書管理員進貨后,整理歸類,并將書目信息發(fā)布到網(wǎng)上,管理員通過用戶管理、訂單管理、圖書管理、銷售管理、庫存管理等管理功能來對系統(tǒng)進行維護更新。2.3假設與約束
為了使網(wǎng)上書店獲得更好的安全性、擴展性和更高的執(zhí)行效能,整個系統(tǒng)采取分布式部署的方案,將承載關鍵業(yè)務邏輯的應用程序服務器(或應用程序服務器集群)和承載業(yè)務數(shù)據(jù)的數(shù)據(jù)庫服務(或數(shù)據(jù)庫服務器集群)隔離開來。實現(xiàn)管理與數(shù)據(jù)的分離,便于管理和維護。
網(wǎng)上書店面向全球互聯(lián)網(wǎng)用戶,進行相關交易前必須注冊為本網(wǎng)站平臺會員,才能擁有相應權限。應用本平臺必須保證電腦或其它訪問本平臺的軟件有殺毒防毒能力,對于因客戶中毒而產生的交易損失本平臺不負任何責任。平臺用戶應妥善保管好個人密碼,不要將密碼泄露給它人,一旦發(fā)現(xiàn)丟失或被盜,需盡快提供相關證明交于客服人員進行相關賬戶凍結與資料的修改。2.4項目工作范圍
項目規(guī)劃,計劃分為兩部分:客戶端和服務器端
客戶端部分:用戶注冊及用戶信息修改;站內搜索引擎;書籍瀏覽;書籍預訂;購書;查看定單;查看購買歷史;留言簿;服務器端;
圖書庫信息維護:圖書數(shù)據(jù)錄入、修改、刪除等功能; 開卷有益網(wǎng)上書店項目設計書
圖書庫管理:入庫、出庫、盤點;
用戶匯款管理:用戶匯款信息錄入、修改、刪除等功能; 圖書銷售管理:銷售日報、月報,銷售排行榜,TOP10; 管理留言簿:查看,回復,刪除 2.5 應交付成果 2.5.1 需完成的軟件 程序的名稱:網(wǎng)上書店系統(tǒng)、編程語言:C++、支撐系統(tǒng)的數(shù)據(jù)庫:SQL SERVER 2008。2.5.2需提交用戶的文檔:《網(wǎng)上書店項目計劃書》、《網(wǎng)上書店需求規(guī)格說明書》、《網(wǎng)上書店概要設計說明書》、《網(wǎng)上書店詳細設計說明書》、《測試分析報告》、《用戶手冊》
2.6 項目開發(fā)環(huán)境:操作系統(tǒng):windows
7、開發(fā)工具:visual studio 2010 數(shù)據(jù)庫系統(tǒng):SQL SERVER 2008、硬件配置:Intel core2 T6500、內存2G、320G硬盤
三、項目團隊組織:
3.1 組織結構
所需角色:項目經(jīng)理、計劃經(jīng)理、系統(tǒng)分析員、構架設計師、設計員 組織結構:
四、項目總體規(guī)劃:
4.1網(wǎng)站目標定位:開卷有益書店的主要業(yè)務室銷售書籍,定位于熱愛閱讀的廣大人群,為他們提供方便、時尚的訂購服務。
4.2網(wǎng)站商務規(guī)劃:
(1)商務模式:開卷有益書店的商務對象以普通消費者為主,主要采用網(wǎng)上商店+連鎖經(jīng)營的B2C電子商務模式。
(2)主要業(yè)務流程:顧客選擇要購買的書籍——下訂單——支付貨款——網(wǎng)
站把訂單通知物流部門——物流部門配送——通知顧客開卷有益網(wǎng)上書店項目設計書
配送成功。
圖1: 開卷有益網(wǎng)上書店的業(yè)務流程
(3)贏利方式:開卷有益書店主要通過在線銷售書籍,爭取更多的交易機會、擴大銷售量,從而增加書店的收入。此外,根據(jù)顧客的訂單按需進貨可大大降低書籍的庫存,節(jié)約成本,提高書店的綜合效益。
五、支持條件:
5.1用戶界面
人性化界面,全新感覺,操作簡便,一目了然,視圖優(yōu)美等特點。并且采用菜單界面驅動方式,給操作用戶帶來了極大的便利。
5.2硬件接口
本軟件不需要特定的硬件或硬件接口進行支撐。586以上PC機均可運行此軟件。
5.3軟件接口
運行于Windows2000及更高版本的操作系統(tǒng)之上。
5.4故障處理
正常使用時不應出錯,若運行時遇到不可恢復的系統(tǒng)錯誤,也必須保證數(shù)據(jù)庫完好無損。調試中遇到的問題及解決的方案:
1)遇到跳出“數(shù)據(jù)庫已經(jīng)關閉”提示信息阻止程序運行時
可以查看一下進行此項操作時,操作的表是否已經(jīng)被關閉了或者是在沒有關閉此表的情況下又一次運用打開語句打開此表。2)關于空記錄帶來的麻煩
有些空記錄往往會使程序無法運行。此時你可用“if not isnull”語句先判斷一下是否為空記錄,再操作。
六、預算: 開卷有益網(wǎng)上書店項目設計書
設備成本包括:1臺主流計算機 大約3500元
七、關鍵問題:
因為開發(fā)人員目前還在學習階段,開發(fā)過程會比較緩慢,因此時間是最大的風險,不能完全投入到開發(fā)工作中,不可避免會有設計上的不足和缺陷。程序的調試是最大的困難。
八、專題策劃要點:
重點在于各種相關文檔的編寫,這些文檔質量的好壞,決定了日后軟件的開發(fā)速度、可執(zhí)行性、可維護性。
第四篇:uml課程論文 網(wǎng)上書店項目
南京信息工程大學
課程論文題目
網(wǎng)上書店項目概述
網(wǎng)上購書系統(tǒng)3部分組成:用戶管理、購書網(wǎng)站和訂單處理中心。其中,用戶管理負責用戶注冊及用戶登陸;購書網(wǎng)站是一個Web應用程序,用戶可以通過Web瀏覽器登錄到此網(wǎng)站,在此網(wǎng)站,用戶可以搜索要找的書,查看書的詳細信息并購書;訂單處理中心用來管理購物網(wǎng)站轉過來的訂單。
用戶管理主要包括一下功能: ? 注冊用戶信息
1)對于新用戶,單擊“注冊”按鈕,進入用戶注冊頁面; 2)填寫相關注冊信息,填寫完畢后單擊“確定”按鈕; 3)彈出“注冊成功”對話框,即成功注冊。? 用戶登錄驗證
1)對于已注冊用戶,進入用戶登錄頁面; 2)填寫您的用戶名和密碼; 3)單擊“登錄”按鈕;
4)用戶名和密碼正確,登錄成功,進入購書網(wǎng)站;否則返回。? 瀏覽圖書
網(wǎng)站的書籍列表要列出當前網(wǎng)站所有的圖書名稱。當用戶單擊某一圖書名稱時,要列出該書的詳細信息(包括書名、作者、單價)。? 查找圖書
用戶可以在網(wǎng)站的查找框中輸入一個書名,單擊“查找”按鈕可以網(wǎng)站是否有此書,系統(tǒng)將查找結果(如果有此書,返回書的詳細信息;如果沒有,返回當前沒有此書的信息)返回給用戶。? 購物車管理
用戶可以隨時查看自己的購物車,可以添加或刪除購物車中的商品。
? 購書
在瀏覽圖書時,用戶可以在查看選中圖書的詳細信息時添加次書到購物車,添加完畢可以選擇繼續(xù)購物或是結算。如果選擇結算,要填一個購書登記表,該表包括以下內容:購書人姓名、地質、E-mail、所購圖書的列表、總價。訂單處理中心的功能:
訂單處理中心是一個Web應用程序,在此將列出所有等待處理的訂單,每一筆訂單包含購書人姓名、地址、E-mail、所購圖書的列表、總價。其中,所購圖書列表包括各個書籍信息的明細內容,總價是系統(tǒng)自動計算的。
要求:
1、畫出該系統(tǒng)的用例圖、類圖、狀態(tài)圖、活動圖、順序圖、協(xié)作圖、構件圖以及部署圖。
2、要求打印。3、6月26日前交。
4、以“學號+姓名”命名,將“學號+姓名.mdl”文件發(fā)至dcwang_exam@126.com.要求:
1)畫出顧客購買圖書的用例圖;
2)畫出網(wǎng)上購書系統(tǒng)的類圖;
3)畫出顧客訂購圖書的順序圖;
4)畫出系統(tǒng)的部署圖。
第五篇:網(wǎng)上書店文檔說明
ASP.NET程序設計教程
根據(jù)自己的內容填寫題目
院系: 班級: 學號: 姓名:
目 錄
一.
需求分析...........................................................................................................................3 二.
詳細設計...........................................................................................................................3
2.1 修改配置文件...................................................................................................................3 2.2 連接數(shù)據(jù)庫.......................................................................................................................3 2.3 程序調試...........................................................................................................................4 2.4 查看書籍...........................................................................................................................5 2.5.搜索書籍...........................................................................................................................6 2.6.收藏書籍.........................................................................................................................8 2.7.缺書的處理.....................................................................................................................9 三. 四.
心得體會...........................................................................................................................9 參考文獻.........................................................................................................................10 一. 需求分析
此次我做的作業(yè)名字是網(wǎng)上書城。由于時間較短,寫出來的程序并不多,實現(xiàn)的功能也有限。我能實現(xiàn)的功能有以下幾個: 1.查看書籍
2.收藏書籍 3.添加到購物車
4.對書籍進行評論 5.按類別查找書籍
6.可以查看訂單記錄 7.輸入書名可以搜索相關的書籍 8.可以將缺書的信息反饋出來。
二.詳細設計
2.1 修改配置文件
對于整個網(wǎng)上書城程序來說,首先應該修改Web.config里面的內容,以便用于在連接數(shù)據(jù)庫是減少不必要的麻煩。具體的修改如下:
這是在Web.config里面加入了一個連接字符串和一個appsettings節(jié)。為了連接數(shù)據(jù)庫用的。
2.2 連接數(shù)據(jù)庫
通過添加新的數(shù)據(jù)連接,將一個數(shù)據(jù)庫文件進行測試連接,如果連接成功,則會看到下面的界面:
2.3 程序調試
按F5鍵進行程序的調試,出現(xiàn)主界面:
在首頁的左上方是一個登錄窗口。如果你已經(jīng)有賬號和密碼了,就可以直接登錄。如果沒有,點擊下面的注冊,跳轉到注冊頁面。注冊一個新的賬號,就可以登陸了。
注冊成功后,登錄才能使用其他的一些功能。比如修改個人資料和密碼等。
2.4 查看書籍
在首頁可以在分類瀏覽和熱銷書目中查看各種相關的書籍。在書籍的詳細頁面,有一個添加到購物車的超鏈接。點擊它就會將這本書加入到購物車中。然后我們會在購物車里查看到我們選購的書籍。
2.5.搜索書籍
在首頁點擊搜索,彈出一個搜索窗口
這里的搜索可以只輸入其中的任意一項進行搜索,也可以不輸入任何條件直接搜索,在搜索完成后會給出總共的數(shù)目:
2.6.收藏書籍
在首頁點擊任意一本書籍,會出現(xiàn)對這本書的詳細描述。如果你喜歡這本書,我們可以在這個界面對這本書進行購買和收藏。另外還可以對這本書進行評論,說出自己的看法。
2.7.缺書的處理
如果你喜歡的書籍沒在這里面,你可以將信息反饋給我們,將書名和出版社的信息記錄下來:
三. 心得體會
此次寫的程序是以前沒有練習過得,不僅用到了數(shù)據(jù)庫,而且還把相關的類進行了分離。把類放在了App_code文件夾下,這樣在操作時既明了又方便!
此外本程序還用到了許多CSS樣式,為了增加程序的界面風格,使界面看起來更加美觀。在這次所做的大作業(yè)中,不僅增強了我的動手能力,而且也增強了我對程序的改錯能力。通過這次網(wǎng)上書城的程序編寫,我對ASP.NET的認識更加的深刻了,對程序的理解也更深了。此次的大作業(yè)真的是一個很好地鍛煉機會。相信以后再碰到這樣的問題就會迎刃而解了!詳細的代碼請參考附件里的程序。
四. 參考文獻
Asp.net程序設計教程