第一篇:WEB的書店項目總結報告(個人)
項目個人報告
---Web的網上書店
在大三下學期,通過學習軟件工程這門課程,使自己更加系統的認識到了在項目開發階段,并通過作為擔任項目組組長,各個環節都有其必要性和重要性,每個階段的工作都是項目的必要組成部分。
在整個項目開發過程中,通過作為擔任項目組組長,讓自己有了更多對項目實施過程中,各個環節、各個組織人員相互協調、統一意見與認識的體會。
比如:在開始階段,增進每個成員之間的認識,并統一項目的方向,培養每個人對項目本身的興趣,增強每個人對自己任務的責任感。
開發階段,協調、同于各個人員的工作與安排,并監督項目的實施的進度。在遇見問題,組織人員對問題的針對性的解決。
和認識到了在開發項目時,不是單純的編寫代碼,而是整個開發過程中,各個環節的重要性,尤其是跟進開發進度時,文檔的編寫也是必不可少的。
通過學習軟件工程、并在寫項目時,認識到了,每個成員之間的交流很重要,并逐漸學會了在遇到問題時,自己解決問題的能力。和在項目開發過程中,在每個階段所做工作的意義,而且體會到了項目經理的責任,和其主導作用。我相信,通過這次自己作為項目經理,所學到的東西和感受會影響自己對軟件開發的理解,并在以后的項目開發過程中,更好的去寫項目。
第二篇:web項目開發總結報告
唐詩宋詞學習網站項目總結
1引言
當下人們生活節奏飛快,能夠在緊張的工作之余細細品讀幾首唐詩宋詞,亦不失為一件美事。作為一個具有特色的學習網站,網站提供了頗具特色的唐詩宋詞的學習功能,使用戶能夠在輕松的狀態中學習。
1.1編寫目的
本次項目總結主要是對唐詩宋詞網站項目的總結,希望通過總結我們在開發過程中遇到的問題和采取的方法,對以后的項目開發起到一定的指導性的意義。從而提高我們組以后開發項目的效率和規范我們的過程。從客戶的需求中提取項目應該實現的功能要求,為后期的構建提供指導。
1.2背景
鑒于當前互聯網的快速發展,以及國家對中國傳統文化的提倡,希望建設一個學習唐詩宋詞的網站,幫助推動對傳統文化的傳播和繼承。
2實際開發結果
2.1產品
唐詩宋詞學習網站
2.2主要功能和性能
● 普通的游客,以未登錄的狀態瀏覽網站的網頁,本網站只提供搜索和在線閱讀功能;
● 詩詞搜索:用戶可以根據詩名、詞名、詞牌名、內容關鍵字等詞條進行搜索;
● 作者搜索:用戶根據喜愛的詩人或者詞人的名字進行搜索; ● 用戶根據以上的搜索的結果,選擇查看;
本網站為注冊的會員提供了除以上的服務外,更具有吸引力的功能:
收藏列表:
● Favorite list:用戶可以將自己喜愛的詩和詞加入到Favorite list 中;
● New poem list:用戶可以將自己喜愛的新詩詞加入此列表,此表中的詩詞是以后在線學習和復習的內容;
● 在線學習,并完成測試的詩詞會被自動加入到Favorite list中; 收藏列表的管理:用戶擁有對自己列表自主管理的權利,如增加新的詩詞、刪除等操作 ● 分享到微博:用戶可以將喜愛的時、詞分享到微博,推薦給好友閱讀;
● 在線學習:用戶通過在線學習的板塊可以記憶自己喜愛的詩詞。
學習分為三個難度等級:初等、中等、高等。網站同時為在線用戶提供記憶提醒,為用戶推薦最佳的復習時間、安排復習的內容。
2.3基本流程
同概要設計流程
2.4進度
系統規劃階段 需求分析階段 項目功能實現 系統測試階段 系統界面美化 項目驗收階段
標志性事件 開始到完成
系統需求說明書完成 11.20-11.30 基本代碼的生成 測試文檔產生 接受公開的測試 對項目功能的演示
12.1-12.16 12.17-12.23 12.24-12.30 12.31-1.5 3開發工作評價
3.1對生產效率的評價
本次項目中,由于組員之前缺少默契,對項目的了解程度不是很 好。所以前期的時候,小組的效率非常低,對自己能力的高估和對項目的工作量不清楚是造成效率低的主要原因。同時,隨著項目的進展,采用的結對編程使組員之間形成了一種默契。鑒于對以前SSH框架的初步了解和對項目的深入理解,中后期的生產效率還是有一定的提高。但是與程序員的真實水平相差很遠。
3.2對產品質量的評價
1.對于網站初期的規劃的唐詩宋詞的增刪改查功能。2.詩詞作者信息的增刪改查功能。
3.收藏列表的增刪改查和添加刪除詩詞功能。4.生詩詞庫的建立和考核測評功能。5.用戶的注冊登陸功能。
上述的各項基本功能均已經實現,可以總體運行。但是每一個功能還有很多工作要做,完善。各項功能還是有些bug,完善這些功能還需要一部分時間。同時由于我們組員對用戶的需求認識不足,造成了很多反復,導致生產率效率低下。
3.3對技術方法的評價
1、使用數據庫建模工具:PowerDesigner 工具來建立系統數據庫模型,以方便程序員很好的理解業務流和掌握系統架構者的架構思想,更好的滿足客戶的功能需求。在今后的項目開發中,我們要更好的來完成系統的前期數據庫模型的建立,最大的來優化系統功能。
2、系統開發框架:此系統的框架使用的是SSH結構,此框架在開發一些中小軟件是比較實用的。使得程序員能夠隨心所欲的使用對象編程思維來操縱數據庫。但是我們要是可以開發出自己的框架,把一些通用的功能開發到框架中。這樣以來,在以后的系統開發中,針對系統中一些通用的功能就不需要再開發,從而也可以很好的提高我們的開發效率;減少很多維護費用。使我們的技術不斷的更加成熟。
3.4出錯原因的分析
主要有以下幾個方面的原因需要我們可以以后注意:
1、對軟件開發的流程不是很熟悉。因為這方面知識的獲取只是停留在理論層面,缺乏理論經驗。
2、組員之間的交流還有待提高。因為在最后的一段時間,由于課程學習和復習的原因,大家能夠集中在一塊進行編程的時間不多。對項目的關注程度有所降低。
3、對web開發技術了解面不夠,目前只是會對SSH框架熟悉。而且其中的框架使用細節流程也不是很清楚。
4經驗與教訓
項目歷時兩個月時間,在這兩個月的時間里,使我們組對于項目有了更深刻的理解。
首先是對軟件工程課程的更進一步學習,理解。此次的綜合訓練是緊跟課程同時進行的。在課程進行的同時,老師對其用到的知識進 行了詳細的講述。包括團隊的建立,題目的選擇,團隊中各個組員之間的關系和整個項目選擇的過程模型等。
第一階段:需求分析階段。只有充分了解了用戶的需求才能開發功能完整、性能良好的項目。在這個階段,我們小組聽取了梁丹同學對于這個網站各個功能模塊的描述,并做詳細的記錄,這個為我們后面項目的度量提供了可靠的材料。
第二階段:項目分析設計階段。整個項目在這個階段的工作要多一點,它直接關系到后一階段的編碼,所以它起到了承上啟下的作用。這一階段的主要任務包括分析項目中對象,再根據對象設計數據庫,在此包括其建模設計,在完成數據庫后就是數據流程圖了,它大體上描述了程序走的流程,以及大體的一個架構。完成上述工作后就是類的設計了,它是根據數據流圖的設計來設計的,寫好每個模塊的每一個類,為下一階段做好準備。在此,我們就完成了整個系統的一個架構。
第三階段:編碼階段。在整個項目周期中只占到了1/4的時間,用代碼將整個系統的業務邏輯表達出來。其中和遇到好多問題:對java中的好多現有的類不熟悉,使得編寫的代碼質量不高,代碼的復用性不高,好多問題還都沒有解決。
第四階段:測試和發布。這一階段是我們項目的最后一個階段了,主要是對項目所涉及的功能進行功能測試。發現問題及時解決。
同時鑒于我們采用的是Scrum敏捷開發模型,并采用了結對編程。下邊介紹下關于團隊建設方面的總結。團隊的個體成員為實現一個共同目標而協同工作。團隊工作就是團隊成員為實現這一共同目標而共同努力。項目團隊工作是否有成效會直接影響項目的成敗,盡管計劃以及項目經理的工作技能是必要的,但人員——項目經理和項目團隊——才是項目成功的關鍵。項目成功需要一個有效的項目團隊。
我們組每位成員都精心付出了自己的努力,相互依賴,齊心協力地進行工作,已保證項目目標的成功實施.同時我們組也做到了以下的關鍵幾點:
1、對項目目標的清晰理解。
2、對每位成員角色和職責的明確期望。
3、目標導向。
4、高度的合作互助。
5、高度信任。
這些都是以后我們在做項目設計時候必須借鑒的。一個績效良好的項目團隊很有必要管理好時間,為有效管理時間,團隊成員要明確每周的目標,每天制定一個做事表,集中精力完成當天的做事表。要控制干擾,謝絕參加那些對實現目標沒有意義的活動。團隊成員也要有效利用等待的時間,一次性處理好文件工作,并要為實現目標獎勵自己。我們組的每位成員都盡心盡力地為這個項目付出,期待項目最后成功的實施。
通過此次項目的學習和實踐,使得我們組對于軟件過程和項目管理這門課程有了更深入的了解,對其中所涉及的方法和工具有新的認 識,我們組會在以后的學習中繼續摸索,靈活運用各種方法,熟練對各種工具的掌握,努力提高我們組的知識水平和業務能力!同時也認識到我們組在實際的代碼編寫階段出現了許多無法解決的bug,需要我們利用下來的時間進行完善,真正做到學習無止境。也使我們認清了我們現在的編程水平還很低下,對知識的掌握還不夠。距成為一名合格的軟件工程師還有很長的一段距離。
第三篇:網上書店項目總結報告
數據庫代碼:
/*================*/ /* 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的連接字符串
//下面是臨時調試使用的方法,直接設置聯接字符串。
string connStr = “server=.;database=bookstore;integrated security=SSPI”;
#region 獲取查詢結果,DataSet GetSqlDataSet(string sqlString)///
/// public DataSet GetSqlDataSet(string sqlString){ //定義返回變量
//實例化數據集DataSet,對象名為ds DataSet ds = new DataSet();try { //實例化連接對象SqlConnection,對象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對象sqlConn實例化數據接口SqlDataAdapter //對象名為da SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
//da.Fill(ds)是數據接口(SqlDataAdapter)提供的方法
//具體作用為:
//打開與數據庫的連接
//將查詢的SQL語句發送到數據庫服務器 //接受返回的查詢結果
//并將結果填充到數據集對象ds中
//關閉與數據庫的連接 da.Fill(ds);} catch(Exception e){ //拋出捕捉到的異常
throw(e);} //返回查詢到的結果
return ds;} #endregion
#region 執行增、刪或改的SQL語句 int ExecuteSql(string sqlString)///
/// 返回值為受影響的行數(記錄數)
/// sqlString 參數為增、刪或改的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);
//打開與數據庫的連接 sqlConn.Open();
//將增、刪或改的SQL語句發送到數據庫服務器
//并接受返回的結果,返回的結果為受影響的行數(記錄數)i = sqlCmd.ExecuteNonQuery();
//關閉與數據庫的連接 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;} } } }
第四篇:web項目總結
Web項目總結
轉眼間,已經完成了四周的web電信項目。總體上來說在這段時間里還是學習了許多平時沒有學到的東西,對項目的理解也不象以前那么膚淺了。下面就在這段時間的收獲與大家分享一下:
這次項目與前一個java項目可以說有很大的不同。整個實施上也不象java項目那么盲目,全都是按照標準化流程走下去的,這是前一個項目所沒有經歷的階段。對于一個程序員樹立這種模式體系也是非常重要的。
第一階段:需求分析階段。其實我們以后在企業去,拿到一個項目都是從需求分析開始的,只有充分了解了用戶的需求才能開發出功能完整,性能良好的項目。然而對于這樣一個項目的開發來說不是一件容易的事情,必須作好這個階段。了解客戶需求就必須從客戶的需求說明書開始分析,而我們這次就是在次基礎上來作界面原形的,其實做界面原形也是一個有效了解需求的方式,這就是所謂的界面原型法。在完成界面原型后就得編寫測試文檔,以保證整個流程大體正確。現在我們都是在用面向對象的思維去設計程序的,那么就得把客戶的需求以模塊化的形式轉化為一個一個的對象,總體上以模塊化的形式把握整個大的項目。
第二階段:項目分析設計階段。在整個項目中就是這個階段的工作要多一點,它也直接關系到后一階段的編碼,所以它在總體上起到了承上啟下的作用。這一階段的主要任務包括分析項目中對象,再根據對象設計數據庫,在此包括其建模設計,在完成數據庫后就是數據流圖了,它大體上描述了程序走的流程,以及大體的一個架構。完成上述工作后就是類的設計了,它是根據數據流圖的設計來設計的,寫出每一個模塊的每一個類,為下一個階段做好準備。在此,我們就完成了整個系統的一個架構。
第三階段:編碼階段。在整個項目中它不象java項目那么注重編碼與算法,相反它注重的是設計思想以及其中的業務邏輯。一些大型項目之所以難其實也就是在業務邏輯上難以理解。所以編碼階段所占用的時間其實是很少的,對于我們開發這個項目總共用了整個項目時間的四分之一,其實在 實際工作中編碼也是差不多的,重點在分析設計與后期的維護與調試。
第四階段:測試及發布。這一階段差不多也就是我們整個項目的最后一個階段了,因為它沒有涉及到具體的維護。不過在項目中我們對此項目的后期維護也還是作了一些考慮,比如多個用戶并發時用到的事物,區域與級別在數據庫中的讀取,都能很好的適應客戶的操作,同時也很大程度上提高了代碼的可重用性,使得后期的維護更加簡單方便。
到此,這四周我們就經歷了這四個階段,體會了一個項目開發從需求分析到試用的整個過程,同時也對前面所學的知識得到了全面的鞏固與復習,學到了一些以后經常用到的技術(比如文件的上傳,過濾器,分頁技術),在此我也不做詳細說明。
總之,經過這次項目讓我受益非淺,思維也得到了鍛煉。我想這就是所謂的工作經歷吧!
周毅
10.30
第五篇:web項目總結
第二階段項目總結
這是第二次做項目了,雖然每次做的并不是什么很大的項目,但做項目的過程中卻真正體會了其中的艱辛與快樂。一個個問題解決時的快意,一個個問題產生后的迷茫,都讓我回味無窮。亂七八糟的講呢也不知道從哪講起,所以總結了以下幾點心得:
1.對于網站開發,是離不開數據庫的,數據庫的結構設計也是重中之重。我們團隊在做的過程中對表進行了一些修改,導致很多不必要的問題。因為數據庫結構設計的更改,有時會導致一定程度的返工,這時修改代碼所消耗的時間會讓我們得不償失的,數據庫結構設計的好壞在很大程度上決定了軟件設計的速度。
2.代碼書寫的問題。程序代碼都具有嚴格的規范性,所以有時一個不起眼的問題,在造成問題的同時我們也很難發現,我在讀取數據庫的資料時就犯了這樣的問題。還有就是代碼的精簡度,是衡量一個優秀軟件的重要指標,對于這方面我很少做考慮。
3.整體性能與用戶需求。事實確實如此,我們會被很多習慣限制自己的思維,在項目中我們根本沒有考慮到并發和吸引用戶等問題,我想這是當下要慢慢去想的。
4.對學過的知識的掌握。做項目肯定會用到以前的一些知識點,我平常很少花時間去復習學過的知識,就是等到哪里用到了就去找,最后才發現已經忘了這個知識點是出現在那一次課了。所以對學過的知識有一個復習和很好的歸納是有必要的。
5.分工與合作。項目完成以后,我體會到任務分配的好的話,會帶來很多好處,任務分配下去,不同的人要做不相干的模塊,這樣在整合項目的時候也會省事很多。
這次項目已經是告一段落了,但不管是項目也好個人也好,都存在很多要改進的地方,希望通過不斷地總結經驗、吸取教訓,我們都能收獲滿意的自己。