A Book Management System ELibrary
A Book Management System ELibrary
CSUSB ScholarWorks
2004
Part of the Data Storage Systems Commons, and the Software Engineering Commons
Recommended Citation
Song, Shanpeng, "A book management system eLibrary" (2004). Theses Digitization Project. 31.
https://scholarworks.lib.csusb.edu/etd-project/31
This Project is brought to you for free and open access by the John M. Pfau Library at CSUSB ScholarWorks. It has
been accepted for inclusion in Theses Digitization Project by an authorized administrator of CSUSB ScholarWorks.
For more information, please contact [email protected].
A BOOK MANAGEMENT SYSTEM
ELIBRARY
A Project
Presented to tlie
Faculty of
San Bernardino
In Partial Fulfillment
Master of Science
in
Computer Science
by
Shanpeng Song
December 2004
ELIBRARY
A Project
Presented to the.
Faculty of.
Sah Bernardino
by
Shanpeng, Song
December 2,004
Approved by:
the users can download the latest version and obtain other
relevant information.
Ill
ACKNOWLEDGMENTS
IV
TABLE OF CONTENTS
ABSTRACT iii
ACKNOWLEDGMENTS. ............. iv
1.1 Introduction 1
2.1 Introduction. 4
2.1.1 Scope 4
4.2 installation..... 37
4.2.1 Installer....................... 37
5.1 Conclusion.... 40
BIBLIOGRAPHY................ 47
VI
.:? . FIGURES
VI1
CHAPTER ONE .
. iNTRODUCTION
1.1,Introduction
electronic).
1 and/or publisher
fields
; , CHAPTER TWO,
2.1 Introduction
2.1.1 Scope
which means the user can split his or her book collection
frameworks.
HI Boc^cworm
O0©I
Ne Edit Wew Hdp
• ArtideColleGtion
Book Collection
Is-t E-dilgfi; etStiian (AtyS TQQSj
Er Computer Tiedinology SpedalEcfition Using Visuai C++,NEr Kate Gregory Que 078972'4669 Istediton {April 17^ 2002)
? Computer Networks ■Thinlqngin C++j Voi. 2^P^acticaiProgramming,.. BruceEckek Chuck ... Prentioe HaB 0130353132 2nd edition {November/1,2003)
H - Operating Systems Speoai Edition Using Visuai C++6 tCate Gregory C^e 0789715392 .1st edition {September 199S)
f > ••■■■Linux:
Mac OS
; !•■ Unix
! ? '•••• Windows • • •.
; ir; Programming Languages
. ■• Ada
i- •Basic
C++ in a Nutshell
■ i- •C/C++ . r
-•Delphi Front Cover ! Book 0etaiK
;+i Economics & Management Author Ray LIschner
Publisher O'Reilly & Asssociates
Edition 1St Edition edition (April 20ft3)
URL http;// w»fw,amB2Qn.com/eKec/oh|do&/A.SI]N/«}596«302"98X
(^++
To-tha-point, authoritative, no-nonsense solutions have always been a trademark of O'ReiliY books. The In a Nutshell
books have earned a solid reputation in the Field as the well-thumbed references that sit beside the krjowledgeable
developer's keyboard. C++ in a Nutshell fives up to the In a Nutshell promise, C++ in a Nutshell is a lean, focused
reference that offers practical examples for the most important, most often used, aspects of C++.
database operations.
is the use case diagram showing the roles and the functions.
OoliB^aQr
«yses>:%
«^yses»
«uses»
/
\
U®r
<<yse^>
Opa^T an
<yses:>2!*
Sybmil:SQLto Ostaoase
10
word processors;
11
interface languages;
viewing or printing;
(http://citeseer.nj.nec.com or http://citeseer.org).
2.3.1 E
xternal Interface Requirements
users. After starting the system, the users can then create
operations.
12
itself.
this project.
13
CHAPTER THREE
operating systems.
code (as opposed to machine code) and they run on top of the
14
PowerDesigner:
15
fkj:ategqry_referemce categdry
original
1r
BooklD INTEGER <Clik.fk1,>
1 Subtitle Text{2&5)
feme Text{50)
PajsntID INTEGER <fk>
URL Text{25.5),
Phone TestC2^J)
Nates MEMO
Edition; T€xt{50J
Email Text{5CI)
RelsaseDats DATETIME
OpeTationDate DATETIME
Fax T®ct{SO)
ISBN Text{2D)
Motes MEMO
PageGouint INTEGER
Notes MEMO
FKjLOAM_REFEREMOE_BORROWER,
FKJBOOKjCAT_REFEREMCEjCA-rEGORY
ORiGIMALjREFEREMCE iBOOKPUBL
loan;
fc-DolpuibilsheT
GhecicGutDate DATETIME
Website TextflSQ)
D^ueDflts DATETIME
Motes MEMO
Retu:rn:Da.tB DATETIME
LcanNot^ MEMO
FIOORIGINAL^REFEREMOE BOOKLAMG
FK_DRIGIMAL_REFEREMGE_,BOOK
FK_BOOK_REFERENCE_BOOKPUB
bDoklangiiage
FK_BOOKLCA-nREFEREMCE BOOK
l^RQuaaelD INTEGER <Dk>
Text(20)
i
book.
1
Name
Notes MEMO
BooklD
INTEGER <Dk>
. boGkbl:n.d;lng:
Title
T!®d{2i55)
Subtitle
Te3d{255)
andinalD INTEGER <ok>
FK_BOOhLREFEREMGE_BOOKBIND
Author
Text{2555
Mame TextptJ;)
URL
Text{25b5.
Motes MEMO
EdiltlOP:
TextCSQ)
ReleaseDsite
DATETIME
bockexbas
ISBN
TsxtpOJ
PageGount
INTEGER
FK_BOOK_REFERENGE_,BOOKEXTR
linfe
Name TextpO)
Dimension
T^fgO)
Notes MEMO
:Nam)e Text{50)
PurchasePrice GURRENGY
bookformat
Path Text(255)
LIstPrlcs GURRENGY
FHLBOOK_REFERE.NGE_BOOKFORM:
Mates MEMO
Am-azoniPrloe GURRENGY
Mame Text|20)
CurrentPage INTEGER
Motes MEMO
AmazonRatlng; REAL
Mu;mDfRevle'!i%s INTEGER
bookstore
Mis^Ratlng INTEGER
UsErTsxtl TextpSb^
StorelD INTEGER. <Dk>
FK_BOOK_REFEREMGEJBOOKSTOR
UserTexiS
Name Text{2t3J
Eboc-kOnly YESMO
W^itKsite TexttiaO)
fhuliMI^REFEREMCE^OOK
PublisherlD IT^TEGER <tk1>
Motes iMEMO
Name Text{100|i
Notes MEMO
OesGriptlon: iMemo
feo-!±Sta:tUS
Motes ;Msmo
FrontCbver Text{2CI)
StatusID INTEGER <Dk^
FK_BOQK^REFERENGE BODKSTAT
Ba;dcCover Text{2CI)
Name Te>ct|5€i)
OperationBate DATETIME
Motes MEMO
16
17
purchased.
book is stored.
18
picture.
picture.
updated.
as follows:
19
"http://www.BruceEckel.com" or "G:\ebooks\mybook.pdf".
updated.
20
fields:
21:
filed. The "name" field defines the value of the ID, and the
follows: ■ . ■ .'/
or "Paperback". ;
or "Floppy Disk".
or "PDF" . \
"For .sale",
XML over HTTP. This project will use XML over HTTP to
23
DataCbse
3.Save
Internet ) 1-Query
2. Book Info(XML)
pro.cess':, , '
24
25
Data 3ase
1. Generate XML
XML
2. Transform XML to
—Apply XSLT->
HTML
HTML
User
26
sheet;
sheet.
27
programs, it h
as a menu bar, a tool bar, a client area, and
y ji. w
Computer Technology
^C++Gotchas;AvoidtftgCommonProblenw... StephenC. Dewhurst Addison-WesJe,., 0; 2. Book List
Database
%C++inaNutdie9 RayLtschrter O^ReiySAssoc..,. OE: Window
C-! Programm'tfig Languages
^"ftsnfeighC++;, Volume 1: IntrodidkMi fc., Bruce Eckel F^«iiiceHaB 01 (List View)
' ^ #lRSI€/C+-tr
lava
Visual Baste
Viajal C++
Sapbng Languages
Thinidnciin C++, Volume lilntroducSon tu Standard C++ (2nd
ASP
td(tion)(Apr 15, 2000)
JSP
Software Engineeiihg
IDalo' Apr |5, 2000
Management St Economics
Binding Paperback
Favontes
AllBo.d(s:
Cisrs'as CD"Rom
RecydeBin Select Ai
s Print...
ContentTemplate
Disj^y Style
FuHy and beefed up ynith plenty of o save AsHTM,., Gtri+S: rd C+hi the n^
edition of Brupo Eckel's Thinidn^ in C+ ■*«" Vo/ome / is « his rich (and
sometimes daunting) programming language, filled wf Save As XM... atient,
knowledgeable style.
1, Category
The effective presentation, along with dozens of helpful code examples, make this book a standout. The
Window text first sets the stage for using C++ with a tour of what object-oriented programming is all about, as well
(Tree View) as the software design life cycle. The author then delves into every aspect of C++, from basic keywords
and programming principles to more advanced topics, tike function and operator overloading, viHual
inheritance, exception handling, namespaces, and templates. C++ is a complex language, and the author
covers a lot of ground using today's Standard C++, but without getting bogged down in excessive detail.
Refreshojn^tdisf^ay 3boote,'isel^d
side Gategory Window, the top-right Book List Window and the
28
When the user clicks a category in the Book Category window,
categories.
favorite books.
category. ,
easily found.
the database.
29
30
CeLibTreeView
+classCeLibTreeView: CRuntimeClass
#m_pTreeCtrl : CTreeCtrl *
#m_ilTree: CImageList
#nn_oleDropTarget: COIeDropTarget
#m_hCurrentltem : HTREEITEM
#m_hDropTarget: HTREEITEM
#m_hDragltem : HTREEITEM
#m_nFormatCategory: DINT
#m_nFormatBook: DINT
#m_hFavorites : HTREEITEM
#m_hSearchResults : HTREEITEM
#m_hReadingList: HTREEITEM
#m_hAIIBool<s : HTREEITEM
#m_hRecycleBin : HTREEITEM
#CeLibTreeView()
+GetDocument(): CeLlbDoc *
+PopulateTree()
+PreCreateWindow(inout cs : CREATESTRUCT):BOOL
#OnlnitialUpdate()
CeLibTreeViewO
+AssertValid()
+OnTreeAddsubGategory(): void ^
+OnTreeDelGategory(): void
+OnTreeProperties(): void
+OnDragLeave()
+OnEditGut{): void
+OnEditPaste(): void
31 ■ '
Details window will refresh itself so that the user can see
of data to the user. But whereas tree views are ideal for
mode, and list mode. eLibrary mainly uses the "report" mode.
32
CeLibListView
+ciassCeLibListView: CRuntimeClass
#m_pListCtrl : CListCtrl *
#m_ilList: CImageList
#bRefreshHtmlNeeded : BOOL
#m_Sortlnfo: Sortlnfo
#m_ColSortGUI : CHeaderColSortMark
#CeLibListView()
#~CeLibListView()
#RefreshBooklDArray()
#DeleteSelectedBooks()
+GetDocument(): CeLibDoc'
+AssertValid()
+Refresh()
+OnListAddnewbook(): void
+OnListDeietebook(): void
+OnListProperties(): void
+OnEditSelectAII(): void
+OnEditCut(): void
+OnEditCopy(): void
+OnEditPaste(): void
+OnSendtoFavorites(): void
+OnSendtoReadinglist(): void
+OnSendtoSearchresults(): void
33
34 ■
hard disk — just like Internet Explorer. Since CHtmlView
later.
CeLibHtmlView.
35
CeLibHtmlView
+classCeLibHtmlView: CRuhtimeClass
#m_strHtml : CString
#m_strXML: CString
#m_nCurrentCSS: int
#m_nGurrentXSL : int
#m_pStyleSheet: IHTMLStyleSheet *
#CeLibHtmlView()
#~CeLibHtmIView()
#GenerateXML(): BOOL
#GenerateHtmiO: BOOL
#OnShowContextMenu(in dwID : DWORD,in ppt: POINT*, in pcmdlarget: lUnknown*,in pdispObject: IDispatch*): HRESULT
#AssertValid()
+GetDoGument(): CeLibDoc *
+GetCurrentXSL(): int
+SaveHtml(): BOOL
+SaveXML(): BOOL
+OnlnitialUpdate()
+OnHtmlSaveashtml(): void
+OnHtmlSaveasxml(): void
+OnEditSeleGtAII(): void
+OnHtmlRefresh(): void
+OnFilePrintpreview(): void
+OnFi!ePagesetup(): void
36
CHAPTER FOUR
DEPLOYMENT
4.2 Installation
4.2.1 Installer .
37
installer.
38
Chocise Cbi^pofij^s
Selectcomponents to install:
A sample eUbrary;
hi Sample Database
database that you can
play with.
Space required;:; ^
39
CHAPTER FIVE ; .
5.1 Conclusion
the user only need to type the ISBN or simply uses his or
electronic libraries.
40
at http://forum.songstech.com/viewthread.php?tid=35.)
41
APPENDIX
42
alphabetical order:
AddBookDlg.cpp
AddBookDlg.h
AlphalmageList.cpp
AlphalmageList.h
AlphaToolBar.cpp
AlphaToolBar.h
BasicSearchDlg.cpp
BasicSearchDlg.h
BatchQueryDlg.cpp
BatchQueryDlg.h
BookBasicPage.cpp
BookBasicPage.h
BookCoversPage.cpp
BookCoversPage.h
BookDescriptionPage.cpp
BookDescriptionPage.h
Bookinfo.cpp
Bookinfo.h
BookLink.h
BookLinksPage.cpp
BookLinksPage.h
BookNotesPage.cpp
43
BookNotesPage.h
BookPersonalPage.cpp
BookPersonalPage.h
BookProperties.cpp
BookProperties.h
CategoryGeneralPage.cpp
Category-GeneralPage.h
CategoryProperties.cpp
CategoryProperties.h
eLib.cpp
eLib.h
eLibDoc.cpp
eLibDoc.h
eLibHtmlEditor.cpp
eLibHtmlEditor.h
eLibHtmlView.cpp
eLibHtmlView.h
eLibListView.cpp
eLibListView.h
eLibTreeView.cpp
eLibTreeView.h
explorer.cpp
explorer.h
HeaderColSortMark.cpp
44
HeaderColSortMark.h
HyperLink.cpp
HyperLink.h
InputSQLDlg.cpp
InputSQLDlg.h
LinkGeneralPage.cpp
LinkGeneralPage.h
LinkProperties.cpp
LihfcProperties.li
MainFrm.cpp
MainFrm.h . •
MenuBar.cpp ,
MenuBar.h
cpp
,h
OpenDlgEx.cpp
OpenDlgEx.h
Options.cpp
Options.h
OptionsDefaultPage.cpp
OptionsDefaultPage.h
OptionsUIPage.cpp
OptionsUIPage.h
PictureEx.cpp
45
PictureEx.h
Registry.cpp
Registry.h
Resource.h
stdafx.cpp
stdafx.h
utils.cpp
utils.h
46
BIBLIOGRAPHY
47