Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 2 of 27
kev|s|on n|story Date Vers|on Descr|pt|on Author 17 november, 2010 0.1 lnlLlal urafL Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr 22 november, 2010 0.2 lnlLlal urafL - 8evlslon Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr 24 november, 2010 0.3 AsslgnmenL - Class ulagram Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr 04 uecember, 2010
0.4 8evlslon of Class ulagram Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr 06 uecember, 2010 0.3 llnal 8evlslons Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 3 of 27
uavld AlLum lranclsco ulaz llnan 8arlagabr 07 uecember, 2010 0.7 llnal urafL Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr 08 uecember, 2010 1.0 llnal urafL - llnallzed Cerson 8eclnos Po nam Po !lmar Mlller Adam WurLzel uavld AlLum lranclsco ulaz llnan 8arlagabr
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
1hls documenL provldes a comprehenslve archlLecLural overvlew of Lhe sysLem, uslng a number of dlfferenL archlLecLural vlews Lo deplcL dlfferenL aspecLs of Lhe sysLem. lL ls lnLended Lo capLure and convey Lhe slgnlflcanL archlLecLural declslons LhaL have been made on Lhe sysLem. 1.2 Scope 1hls program wlll be used as an all-around back-end booksLore lnvenLory sysLem. Some of Lhe key feaLures of Lhe sysLem are Lhe followlng. 1he sofLware wlll enable Lhe cllenL (buslness) Lo have real Llme sLaLlsLlcs of sales and book lnvenLory, auLomaLlcally produce Lnd of uay sales reporLs and Lnd of uay low- lnvenLory noLlces (purchase order suggesLlons). lL wlll also enable Lhe users (cusLomers) Lo vlew Lhe real Llme lnvenLory and exLracL book lnformaLlon, enable users Lo place orders onllne and plck up books ln-sLore and access Lo a personallzed accounL proflle, order hlsLory, eLc. LasLly, Lhe program wlll enable vendors Lo have access Lo parL of Lhe sysLem - lL wlll allow any vendor Lo updaLe book lnformaLlon, add/remove new books Lo/from Lhe lnvenLory and updaLed prlces. 1.3 Def|n|t|ons, Acronyms, and Abbrev|at|ons 1hls ls a comprehenslve llsL of all Lerms used ln Lhls vlslon documenL.
"#$ %"&'() &* $+,-. - An elecLronlc Lermlnal LhaL handles all credlL/cash LransacLlons. /-(0&1 -A company/person who ls ln Lhe buslness of selllng producLs and goods Lo buslnesses. 2(3-()&14 - A deLalled llsL of goods and maLerlals LhaL are ln sLock. 56-1 - a person who can lnLeracL wlLh Lhe sofLware - can be an employee or end user (cusLomer). 7,'-() - 1he unLv booksLore. 8&&9 2(3-()&14 - 1he deLalled llsL of books ln sLock. :+)+;+6- %:8. - An organlzed (sLrucLured) body of relaLed lnformaLlon. <(0 &* :+4 =->&1) -A reporL LhaL ls done afLer buslness hours are over. 1yplcally, lL lncludes sales and lnvenLory. $+,-6 - 1he overall money LransacLlon durlng a speclfled Llme lnLerval. ?1+(6+@)'&( -1he exchange of goods or servlces for legal Lender.
1.4 keferences none. 1.S Cverv|ew ln Lhe followlng secLlons we ouLllne Lhe sofLware producL ln hlgher deLall. We wlll sLarL wlLh deflnlng Lhe key feaLures LhaL wlll be lmplemenLed. nexL, we wlll dlscuss Lhe consLralnLs LhaL wlll be lmposed upon Lhe sofLware and Lhe quallLy ranges, ln oLher words, Lhe robusLness, faulL Lolerance and usablllLy of Lhe sofLware producL amongsL oLher Lhlngs. ln Lhe precedence and prlorlLy secLlon we wlll commenL on Lhe mosL lmporLanL funcLlonallLles LhaL Lhe sofLware producL musL have and Lhe lnLegrlLy of Lhe sales sysLem.
ln Lhe followlng secLlons wlll dlscuss all oLher producL requlremenLs, such as, performance requlremenLs, plaLform requlremenLs and envlronmenLal requlremenLs. LasLly, we wlll commenL on Lhe documenLaLlon requlremenLs, such as, user manuals, onllne help & supporL, lnsLallaLlon and packaglng.
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 6 of 27
2. Arch|tectura| kepresentat|on
I|gure 1 - Arch|tectura| kepresentat|on 3. Arch|tectura| Goa|s and Constra|nts 1he 8ooksLore lnvenLory SysLem wlll run on a dedlcaLed plaLform wlLh access Lo a SCL daLabase 1he 8ooksLore lnvenLory SysLem recelves lnpuL from Lhe exLernal CS and from uC Code Scanner. 1he uaLabase save all lnformaLlon LhaL ls provlded. All LransacLlons are performed wlLhln a Llmely manner. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 7 of 27
4. Use-Case V|ew
I|gure 2 - Use Case D|agram
4.1 User Interfaces
I|gure 3 - Log In User Interface
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 8 of 27
I|gure 4 - Vendor UI and Manage 8ooks UI
I|gure S - Manage UI & keports UI
I|gure 6 - Customer UI & V|ew 8ooks UI
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 9 of 27
I|gure 7 - Lmp|oyee UI & Customer Info UI
4.2 System Inputs and Cutputs Inputs 1he sysLem accepLs lnpuL from Lhe CS sysLem. 1he sysLem accepLs lnpuL from a keyboard & mouse from a Lermlnal LhaL employees/sLaff/vendors can access.
Cutputs 1he sysLem ouLpuLs reporLs Lo a prlnLer. 1he sysLem ouLpuLs search resulLs, book lnvenLory, eLc. Lo a screen.
4.3 Use-Case kea||zat|ons ABCBD =-)E1( =-()+, 8r|ef Descr|pt|on o ln Lhls use case Lhe sysLem updaLes Lhe cusLomer lnformaLlon ln Lhe daLabase afLer a cusLomer reLurn a book from Lhe CS Actors CS, CusLomer lnfo uaLabase 8as|c I|ow of Lvents: 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe cusLomer name and book reLurned, and Lhen reLrleves Lhe cusLomer lnfo from Lhe cusLomer daLabase. 3. 1he sysLem verlfles lf book reLurned ls Lhe same book ln record. 4. 1he sysLem conflrms Lhe cusLomer has reLurned Lhe book. 3. Lnd of use case.
A|ternate I|ow of Lvents #1: 1he system does not f|nd the renta| book |n the customer |nfo database. 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 10 of 27
2. 1he sysLem recelves Lhe cusLomer name and book reLurned, and Lhen reLrleves Lhe cusLomer lnfo from Lhe cusLomer daLabase. 3. 1he sysLem could noL verlfy Lhe book reLurned ls Lhe same book ln record. 4. 1he sysLem dlsplays error aL Lhe lnLerface Lo prompL Lhe user. 3. 1hls use case ends.
ABCBF =-()-0 8&&9 =-)E1(-0 8r|ef Descr|pt|on o ln Lhls use case, Lhe sysLem searches Lhe cusLomer daLabase for all renLed books LhaL are due aL a speclfled daLe. Checks wheLher Lhe book(s) has been reLurned. Actors Lmployee, CusLomer lnfo uaLabase, rlnLer 8as|c I|ow of Lvents: 1. 1hls use case beglns when a sLaff member requesLs Lhe reporL for book renLals due. 2. 1he sysLem prompLs Lhe user for a speclfled daLe. 3. 1he daLabase lLeraLes Lhrough Lhe cusLomer lnfo daLabase and looks for a flag LhaL shows a cusLomer has a renLed book. 4. 1he sysLem flnds Lhe fleld and checks wheLher a renLed books ls due on Lhe provlded daLe. 3. 1he sysLem conflrms LhaL a book ls due on Lhe glven daLe. 6. 1he sysLem checks wheLher Lhe cusLomer has reLurned Lhe book. 7. 1he sysLem verlfled LhaL Lhe book(s) have been reLurned. 8. Lnd of use case.
A|ternate I|ow of Lvents #1: 1he system f|nd that a rented book has not been returned. 1. 1hls use case beglns when a sLaff member requesLs Lhe reporL for book renLal due. 2. 1he sysLem prompLs Lhe user for a daLe. 3. 1he sysLem lLeraLes Lhrough Lhe cusLomer daLabase and looks for a renLed books flag. 4. 1he sysLem flnds Lhe renLed books flag and checks wheLher Lhe glven daLe maLches Lhe due daLe. 3. 1he sysLem conflrms LhaL a books ls due on Lhe glven daLe. 6. 1he sysLem checks wheLher Lhe book(s) has been reLurned. 7. 1he sysLem ls unable Lo conflrm LhaL Lhe book has been reLurned. 8. 1he sysLem prlnLs ouL Lhe cusLomer lnformaLlon. 9. 1hls use case ends.
A|ternate I|ow of Lvents #2: 1he system f|nds that a customer does not have book renta| due 1. 1hls use case beglns when a sLaff member requesL Lhe reporL for book renLals due. 2. 1he sLaff member enLers a speclflc daLe Lo check. 3. 1he sysLem lLeraLes Lhrough Lhe cusLomer lnfo daLabase and looks for a 8enLed 8ooks" flag. 4. 1he sysLem does noL flnd Lhe renLed books flag for Lhe cusLomer. 3. 1he sysLem conLlnues Lo Lhe nexL cusLomer ln Lhe daLabase. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 11 of 27
6. 1hls use case end A|ternate I|ow of Lvents #3: 1he system f|nds that a customer has a rented book (or rented books) |n the|r possess|on, but they are not due at the spec|f|ed date. 1. 1hls use case beglns when a sLaff member requesLs Lhe reporL for book renLals due. 2. 1he sysLem prompLs Lhe user for a speclflc daLe. 3. 1he sysLem lLeraLes Lhrough Lhe cusLomer lnfo daLabase and looks for a flag LhaL show a cusLomer has a renLed book. 4. 1he sysLem flnds Lhe flag and compares Lhe speclfled daLe wlLh Lhe daLe ln Lhe daLabase. 3. 1he sysLem deLermlnes LhaL Lhey are noL Lhe same. 6. 1he sysLem moves on Lo Lhe nexL cusLomer. 7. 1hls use case ends. ABCBC =-@&10 ?1+(6+@)'&( '()& ?1+(6+@)'&( :+)+;+6- 8r|ef Descr|pt|on o ln Lhls use case Lhe sysLem records a LransacLlon lnLo Lhe LransacLlon daLabase. Actors CS, 1ransacLlons uaLabase 8as|c I|ow of Lvents: 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS of a new sale. 2. 1he sysLem creaLes a new enLry ln Lhe daLabase 3. 1he sysLem records Lhe daLe, Llme, LransacLlon lu, name of cusLomer, number of lLems and purchase amounL lnLo Lhe daLabase. 4. Lnd of use case.
A|ternate I|ow of Lvents: 1he system rece|ves not|f|cat|on of a transact|on - refund 1. 1hls use case beglns when Lhe sysLem recelves lnpuL from Lhe CS of a refund. 2. 1he sysLem creaLes a new enLry ln Lhe daLabase. 3. 1he sysLem records Lhe daLe, Llme, LransacLlon ld, name of cusLomer, number of lLems and purchase amounL Lo Lhe daLabase. 4. 1he sysLem seLs a flag Lo record LhaL Lhe LransacLlon was a refund. 3. Lnd of use case.
ABCBA 5>0+)- 7E6)&G-1 2(*& 8r|ef Descr|pt|on o 1he purpose of Lhls use-case ls for Lhe sysLem Lo updaLe Lhe cusLomer lnformaLlon based on Lhe lnpuL from Lhe CS Actors CS, CusLomer lnfo uaLabase 8as|c I|ow of Lvents: Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 12 of 27
1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe cusLomer name and reLrleves Lhe cusLomer lnfo from Lhe cusLomer daLabase. lf lL ls a new cusLomer, Lhen Lhe sysLem adds a new enLry Lo Lhe daLabase. 3. 1he sysLem records Lhe cusLomer's name, address and Lelephone number lnLo Lhe daLabase. 4. lf Lhe cusLomer has renLed a book lL wlll also be recorded along wlLh Lhe due daLe of Lhe book(s) renLed. 3. Lnd of use case A|ternate I|ow of Lvents #1: 1he system does not f|nd a customer |n the customer database - adds a new entry. 1h|s use case beg|ns w|th the system rece|v|ng |nput from the CS. 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe cusLomer name, Lelephone number, address and searches Lhe cusLomer daLabase for Lhe glven cusLomer. 3. 1he sysLem does noL flnd Lhe cusLomer. 4. 1he sysLem creaLes a new enLry and records Lhe cusLomer deLalls lnLo Lhe daLabase. 3. 1hls use case ends. A|ternate I|ow of Lvents #2: 1he system f|nds a match for a customer by name, but other deta||s are d|fferent. Customer responds ver|f|es |nformat|on. 1he system updates the customer |nfo. 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe cusLomer name, Lelephone number and address. 1he sysLem searches Lhe cusLomer daLabase by name and flnds a maLch. CLher deLalls for LhaL cusLomer are dlfferenL. 3. 1he sysLem sends a prompL Lo Lhe CS sysLem Lo deLermlne lf Lhe cusLomer's deLalls have changed. 4. lf Lhe CS reLurns yes, Lhen Lhe deLalls are updaLed. 3. 1he use-case ends A|ternate I|ow of Lvents #3: 1he system f|nds a match for a customer by name, but other deta||s are d|fferent. Customer |s unab|e to ver|fy the |nformat|on. New entry |s added to the database. 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe cusLomer name, Lelephone number and address. 1he sysLem searches Lhe cusLomer daLabase by name and flnds a maLch. CLher deLalls for LhaL cusLomer are dlfferenL. 3. 1he sysLem sends a prompL Lo Lhe CS sysLem Lo deLermlne lf Lhe cusLomer's deLalls have changed. 4. 1he CS reLurns no, a new enLry ls added lnLo Lhe cusLomer lnfo daLabase. 3. 1hls use case ends.
ABCBH 5>0+)- IE+()')4 8r|ef Descr|pt|on o 1he purpose of Lhls use-case ls for Lhe sysLem Lo lncrease or decrease Lhe number of books ln Lhe book daLabase Actors CS, 8ook lnvenLory uaLabase 8as|c I|ow of Lvents: Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 13 of 27
1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe lS8n number of Lhe book sold and a code for refund or sale. 3. 1he sysLem searches Lhe book daLabase (by lS8n) for Lhe sold book. 4. lf Lhe code lndlcaLes LhaL Lhe book was sold lL decremenLs Lhe book quanLlLy. lf Lhe code lndlcaLes a refund, lL wlll lncremenL Lhe book counL by one. 3. Lnd of use case. A|ternate I|ow of Lvents #1: Attempts to decrease the number of books, when quant|ty |s zero. 1. 1hls use case beglns wlLh Lhe sysLem recelvlng lnpuL from Lhe CS. 2. 1he sysLem recelves Lhe lS8n number of Lhe book sold and a code for refund or sale. 3. 1he sysLem searches Lhe book daLabase for Lhe speclfled book. 4. 1he quanLlLy fleld ls decremenLed and Lhe book counL becomes -1. 3. 1he sysLem Lhen prompLs sLaff LhaL Lhe quanLlLy ls below 0. 6. 1hls use case ends
ABCBJ :-,-)- 8&&9K7+)-L&14 8r|ef Descr|pt|on 1hls use-case descrlbes Lhe process by whlch Lhe sysLem deleLes a book record ln Lhe daLabase. 1hls use-case also descrlbes Lhe process lf a manager wanLs Lo deleLe a caLegory of books. Actors Managers, Lmployees 8as|c I|ow of Lvents: De|ete book 1. 1he use-case beglns when a manager or employee uLlllzes Lhe search funcLlon. 2. 1he employee or manager employs Lhe search wlLh any of Lhe search cholces llsLed by Lhe sysLem. 3. 1he employee or manager acLlvaLes Lhe search as long as Lhey selecLed a search cholce. 4. 1he sysLem locaLes and hlghllghLs Lhe deslred book. 3. 1he employee or manager deleLes Lhe book by cllcklng deleLe on Lhe sysLem menu. 6. 1he sysLem dlsplays a message Lo Lhe employee or manager Lo conflrm Lhe deleLlon LransacLlon 7. 1he use-case ends. A|ternate I|ow of Lvents #1: De|ete book or category when there |s noth|ng to de|ete 1. 1he use-case beglns when a manager or employee uLlllzes Lhe search funcLlon. 2. 1he employee or manager employs Lhe search wlLh any of Lhe search cholces llsLed by Lhe sysLem. 3. 1he employee or manager acLlvaLes Lhe search as long as Lhey selecLed a search cholce. 4. 1he sysLem dlsplays an error message Lo Lhe employee or manager LhaL Lhe book or caLegory does noL exlsL. 3. 1he employee or manager acknowledges Lhls message. 6. 1he use-case ends. A|ternate I|ow of Lvents #2: De|ete Category 1hls flow of evenLs descrlbes Lhe sLeps lf a manager wanLs Lo deleLe a caLegory Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 14 of 27
1. 1he use-case beglns when a manager wanLs Lo deleLe a book caLegory. 2. 1he manager navlgaLes Lo Lhe caLegory locaLlon LhaL ls Lo be deleLed. 3. 1he manager hlghllghLs/selecLs a book caLegory. 4. 1he manager selecLs deleLe on Lhe sysLem menu. 3. 1he sysLem dlsplays a message Lo Lhe manager Lo conflrm Lhe deleLlon LransacLlon. 6. 1he manager elLher conflrms or denles Lhe LransacLlon. 7. 1he use-case ends. A|ternate I|ow of Lvents #3: De|ete Category w|th books |n category 1hls flow of evenLs descrlbes Lhe sLeps lf a manager wanLs Lo deleLe a caLegory LhaL conLalns books 1. 1he use-case beglns when a manager wanLs Lo deleLe a book caLegory. 2. 1he manager hlghllghLs/selecLs a book caLegory. 3. 1he manager selecLs deleLe on Lhe sysLem menu. 4. 1he sysLem counLs how many books reslde ln Lhe caLegory LhaL Lhe manager wanLs Lo deleLe. 3. 1he sysLem dlsplays a message of how many books are ln Lhe caLegory. 6. 1he manager musL acknowledge and conflrm Lhe amounL of books ln Lhe caLegory. 7. 1he sysLem dlsplays a message Lo Lhe manager Lo conflrm Lhe deleLlon LransacLlon. 8. 1he manager elLher conflrms or denles Lhe LransacLlon. 9. 1he use-case ends.
A|ternate I|ow of Lvents #4: De|ete Category w|th books and other categor|es |n a category 1hls flow of evenLs descrlbes Lhe sLeps lf a manager wanLs Lo deleLe a caLegory LhaL conLalns books and oLher caLegorles
1. 1he use-case beglns when a manager wanLs Lo deleLe a book caLegory. 2. 1he manager hlghllghLs/selecLs a book caLegory. 3. 1he manager selecLs deleLe on Lhe sysLem menu. 4. 1he sysLem deLecLs lf caLegorles reslde ln Lhe caLegory LhaL Lhe manager wanLs Lo deleLe. 3. 1he sysLem dlsplays a message LhaL lnforms Lhe manager LhaL oLher book caLegorles exlsL ln Lhe caLegory Lhe manager wanLs Lo deleLe. 6. 1he manager musL acknowledge Lhls message from Lhe sysLem. 7. 1he sysLem dlsplays "lease Lry agaln" message when Lhe oLher caLegorles move Lo a dlfferenL locaLlon or have been deleLed. 8. 1he manager acknowledges Lhe message. 9. 1he use-case ends. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 15 of 27
ABCBM N00 8&&9K7+)-L&14
8r|ef Descr|pt|on o 1he purpose of Lhe add books/caLegorles . 1hls ensures LhaL employees sell books LhaL cusLomers need for Lhelr classes. 1he sysLem granLs exLra prlvlleges Lo managers where Lhey can creaLe caLegorles for any book ln Lhe daLabase. 1hls use-case descrlbes Lhe process of addlng books or caLegorles.
Actors Managers, Lmployees 8as|c I|ow of Lvents: Add book 1. 1he use-case beglns when elLher a manager or employee choose Lo add a book. 2. 1he employee or manager scan Lhe lS8n. 3. 1he sysLem feLches all perLlnenL lnformaLlon Lo populaLe our daLabase. 4. 1he sysLem lnserLs Lhe lnformaLlon from Lhe Llbrary of Congress lnLo Lhe daLabase. 3. 1he sysLem has added Lhe scanned book lnLo Lhe daLabase. 6. 1he use-case ends.
A|ternate I|ow of Lvents #1: Add category 1hls flow of evenLs descrlbes Lhe sLeps Laken lf a manager wanLs Lo add a caLegory:
1. 1he use-case beglns when a manager chooses Lo add a book caLegory. 2. 1he manager navlgaLes Lo Lhe locaLlon where Lhe caLegory ls Lo be added. 3. 1he sysLem dlsplays a dlalog box for Lhe new caLegory. 4. 1he manager Lypes Lhe book caLegory name. 3. 1he sysLem verlfles LhaL a dupllcaLe caLegory does noL exlsL ln Lhe desLlned locaLlon. 6. 1he sysLem lnforms Lhe manager LhaL Lhe addlLlon of a book caLegory succeeded. 7. 1he use-case ends.
A|ternate I|ow of Lvents #2: Add book, but IS8N |s not found 1hls flow of evenLs descrlbes Lhe sLeps Laken lf an employee or manager add a book, when Lhe lS8n ls noL found from Lhe Llbrary of Congress:
1. 1he use-case beglns when an employee or manager chooses Lo add a book. 2. 1he employee or manager scan Lhe lS8n. 3. 1he sysLem falls Lo locaLe Lhe lS8n from Lhe Llbrary of Congress. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 16 of 27
4. 1he sysLem lnforms Lhe employee or manager LhaL Lhe lS8n was noL found and dld noL add Lhls book Lo Lhe daLabase. 3. 1he employee or manager acknowledges Lhls message. 6. 1he employee or manager gaLhers all requlred lnformaLlon for Lhe daLabase from Lhe book. 7. 1he employee or manager lnpuLs all requlred daLa lnLo Lhe daLabase. 8. 1he sysLem lnforms Lhe employee or manager LhaL Lhe book was added Lo Lhe daLabase. 9. 1he employee or manager acknowledges Lhe message. 10. 1he use-case ends ABCBO $-+1@P 8&&9 8r|ef Descr|pt|on o 1hls use-case descrlbes Lhe process by whlch Lhe sysLem look Lhru Lhe book daLabase and flnd a llsL of books LhaL fulfllled Lhe parameLers glven. (AuLhors, lS8n, sub[ecLs, eLc.) Actors 8ook daLabase, cusLomer, managers, employee, vendor, webslLe Dependenc|es LlsL 8esulL. 8as|c I|ow of Lvents: Search for book]s, found the book]s 1. 1he use-case beglns when an acLor requesLs for a search of book(s). 2. 1he use-case prompLs Lhe user for a search parameLer |. Search by lS8n ||. Search by AuLhors |||. Search by publlshers |v. Search by Sub[ecLs v. Search by LLc. 3. 1he use-case prompLs Lhe user for approprlaLe lnformaLlon based on Lhe cholce of meLhod (auLhor name, deparLmenL name and/or course number, eLc...) 4. 1he user presses search book" on screen. |. 1he use-case processes Lhe provlded lnformaLlon for a search. ||. 1he use-case dlsplays a summary of requesLed parameLers for flndlng Lhe book/s 3. 1he use-case generaLes and reLurns Lhe llsL from Lhe found books uslng LlsL 8esulL" use-case. 6. 1he use-case ends.
A|ternate I|ow of Lvents #1: Search for book]s, d|d not f|nd spec|f|c book]s 1hls flow of evenLs descrlbes Lhe process of maklng changes Lo prevlous selecLlon. lL follows Lhe baslc flow of evenLs up Lo sLep Lhree (3)
1. 1he use-case beglns when an acLor requesLs for a search of book(s). 2. 1he use-case prompLs Lhe user for a search parameLer, |. Search by lS8n ||. Search by AuLhors |||. Search by publlshers |v. Search by Sub[ecLs v. Search by LLc. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 17 of 27
3. 1he use-case prompLs Lhe user for approprlaLe lnformaLlon based on Lhe cholce of meLhod (auLhor name, deparLmenL name and/or course number, eLc...) 4. 1he use-case aLLempLs Lo process Lhe provlded lnformaLlon 3. 1he use-case dlsplays an approprlaLe message lndlcaLlng Lhe provlded lnformaLlon ls lncorrecL and whaL lnformaLlon ls requlred Lo conLlnue wlLh Lhe search. 6. 1he use-case resLarLs Lhe process from sLep Lhree, o 1he use-case can resLarL from sLep one lf Lhe user wlshes Lo change Lhe search parameLer 7. 1he use-case ends.
ABCBQ R&L'( 8r|ef Descr|pt|on o 1hls use-case descrlbes Lhe process of verlfylng ldenLlLy Lo access a cerLaln feaLure. ln Lhls case, lL ls belng used Lo llmlL access of managlng booksLore book prlces Lo only managers and vendor book prlces Lo only vendors.
Actors Managers, vendors, Lmployees
Dependenc|es Add book, ueleLe book, updaLe quanLlLy, updaLe prlce, sales/refund, requesL sales reporL, requesL lnvenLory reporL (reLLy much everyLhlng LhaL requesL you Lo logln before hand)
8as|c I|ow of Lvents: Log|n, No error 1. 1hls use-case beglns when an acLor aLLempLs Lo manage book prlces. 2. 1he use-case prompLs Lhe user for a logln and password lnformaLlon. 3. 1he use-case processes Lhls lnformaLlon afLer Lhe user presses "enLer". 4. 1he use-case verlfles Lhe logln lnformaLlon provlded ls correcL. S. 1he use-case glves access elLher Lo Lhe booksLore prlces or Lhe vendor prlces dependlng on Lhe logln lnformaLlon. 6. 1he use-case ends.
A|ternate I|ow of Lvents #1: Log|n, |ncorrect password]username 1hls flow of evenLs descrlbes Lhe process of maklng changes Lo prevlous selecLlon. lL follows Lhe baslc flow of evenLs up Lo sLep Lhree (3)
1. 1hls use-case beglns when an acLor aLLempLs Lo manage book prlces. 2. 1he use-case prompLs Lhe user for a logln and password lnformaLlon. 3. 1he use-case processes Lhls lnformaLlon afLer Lhe user presses "enLer". 4. 1he use-case aLLempLs Lo verlfy Lhe provlded logln lnformaLlon ls correcL. S. 1he use-case dlsplays an approprlaLe message lndlcaLlng Lhe provlded lnformaLlon ls lncorrecL and how many aLLempLs lefL. 6. 1he use-case resLarLs Lhe process from sLep one lf Lhe number of aLLempLs lefL ls noL zero. 7. 1he use-case locks access Lo Lhls feaLure lf number of Lrles lefL ls zero. 8. 1he use-case ends. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 18 of 27
ABCBDS R&TK#3-1K#E) &* $)&@9 N,-1) 8r|ef Descr|pt|on o 1hls use-case descrlbes Lhe how alerLs are handled when book-sLore lLems are ln a low sLock, ouL of sLock and over sLock alerL sLaLe. Actors 8ook-sLore SysLem Dependenc|es ually 8eporL 8as|c I|ow of Lvents: Low]Cver]Cut of Stock A|ert occurs 1. 1he use-case beglns auLomaLlcally aL Lhe end of Lhe day when Lhe 8ook-sLore sysLem checks Lhe book daLabase searchlng for Lhree alerL Lypes whlch are low sLock, ouL of sLock, or oversLock books. 2. lor each low/ouL of/oversLock book found Lhe sysLem wrlLes lnLo Lhe dally reporL Lhe books lnformaLlon such as book name, lS8n, alerL Lype, and quanLlLy. 3. 1he sysLem creaLes an alerL message LhaL wlll be seen on nexL Manager Logln LhaL Lhe dally reporL has new alerLs. 4. 1he use-case ends. A|ternate I|ow of Lvents #1: Low]Cver]Cut of Stock A|ert does not occur. 1. 1he use-case beglns auLomaLlcally aL Lhe end of Lhe day when Lhe 8ook-sLore sysLem checks Lhe book daLabase searchlng for Lhree alerL Lypes whlch are low sLock, ouL of sLock, or oversLock books. 2. no alerLs are found wlLhln Lhe book daLabase. 3. 1he sysLem wrlLes lnLo Lhe dally reporL LhaL no alerLs were found. 4. 1he use-case ends.
S. Log|ca| V|ew
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 19 of 27
S.1 Cverv|ew
I|gure 8 - System C|ass D|agram S.2 Arch|tectura||y S|gn|f|cant Des|gn ackages HBFBD U+(+L-152 8r|ef Descr|pt|on 8oundary - Manager ul provldes an lnLerface for a manager Lo lnLeracL wlLh Lhe sysLem. Methods Access keturn Name Descr|pt|on ubllc vold vlew8ooks() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo vlew books ubllc vold manage8ooks() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo manage books ubllc vold manageCusLomerlnfo() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo manage a cusLomer lnformaLlon ubllc lnLeger reLurn8enLal() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo updaLe a cusLomer's book renLal sLaLus ubllc vold prlnL8eporL() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo requesL a reporL Lo be prlnLed
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 20 of 27
HBFBF R&L'(52 8r|ef Descr|pt|on 8oundary - Logln ul provldes an lnLerface for every user Lo log ln Lo Lhe sysLem. Methods Access keturn Name Descr|pt|on rlvaLe vold submlL() 1hls meLhod verlfles Lhe logln lnformaLlon rlvaLe vold chooseuser1ype() 1hls meLhod ls used Lo deLermlne whaL Lype of user needs Lo logln ubllc vold openvendor() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a vendor needs Lo logln ubllc vold openLmployeeul() 1hls meLhod ls Lhe user lnLerface LhaL comes up when an employee needs Lo logln ubllc vold openCusLomerul() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a cusLomer needs Lo logln ubllc vold openManagerul() 1hls meLhod ls Lhe user lnLerface LhaL comes up when a manager needs Lo logln
HBFBC 56-1 2()-1*+@- 8r|ef Descr|pt|on ConLrol - 1hls class provldes funcLlonallLy Lo lLs subclasses Lo open, close and remember Lhe prevlous wlndow. Methods Access keturn Name Descr|pt|on ubllc vold prevlousWlndow() 1hls aLLrlbuLe holds Lhe prevlous wlndow LhaL was opened before Lhe currenL one ubllc vold openWlndow() 1hls meLhod ls used open a new user lnLerface wlndow ubllc vold closeWlndow() 1hls meLhod ls used close a currenLly opened user lnLerface wlndow
HBFBA ?'G-1 8r|ef Descr|pt|on ConLrol - 1hls class generaLes reporLs auLomaLlcally. Attr|butes 1ype Access Name Descr|pt|on lnLeger rlvaLe 1lmer An lnLernal Llmer LhaL holds Lhe currenL Llme ln seconds.
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 21 of 27
Methods Access keturn Name Descr|pt|on rlvaLe 8oolean Check1lme() A Llmer evenL LhaL acLlvaLes perlodlcally LhaL checks lf Lhe currenL Llme maLches Lhe Llme Lo creaLe a dally reporL. rlvaLe vold SLarLCreaLe8eporL() Cnce Lhe Llmer evenL ls Lrue Lhls meLhod wakes up Lhe processes ln Lhe class CreaLe8eporL()
HBFBH 71-+)- =->&1) 8r|ef Descr|pt|on ConLrol - 1hls class generaLes auLomaLlc reporLs on a dally or speclfled basls. lLs ouLpuL ls passed Lo l/C for prlnLlng. Attr|butes 1ype Access Name Descr|pt|on 8ookLlsL rlvaLe CuLCfSLockLlsL LlsL of 8ooks whlch are ouL of sLock 8ookLlsL rlvaLe LowSLockLlsL LlsL of 8ooks whlch are over sLocked 8ookLlsL rlvaLe CverSLockLlsL LlsL of 8ooks whlch are low sLocked llle rlvaLe 8eporLllle A flle whlch conLalns all Lhe alerLs LhaL ls used Lo send over Lo lC
Methods Access keturn Name Descr|pt|on rlvaLe LlsL array
geL8ooklnvenLory() A Llmer evenL LhaL acLlvaLes perlodlcally LhaL checks lf Lhe currenL Llme maLches Lhe Llme Lo creaLe a dally reporL. rlvaLe vold check8ooklnvenLory() Checks each book for low sLock, ouL of sLock, or over sLock alerLs. lf a book ls ln a alerL sLaLe check8ooklnvenLory() calls lnserL8ookAlerL(). rlvaLe vold lnserL8ookAlerL() lnserLs a book lnLo one of Lhree llsLs : Low-sLock books, CuL-of SLock books and Cver-SLocked books. rlvaLe 8oolean rlnL8ookAlerLs() CreaLes a flle wlLh Lhe Lhree alerLs llsLs and sends lL over Lo Lhe lC devlce for prlnLlng.
HBFBJ 2# 8r|ef Descr|pt|on ConLrol - 1hls class provldes Lhe sysLem wlLh Lhe funcLlonallLy of prlnLlng reporLs and showlng daLa Lo a screen. Attr|butes 1ype Access Name Descr|pt|on Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 22 of 27
vold rlvaLe rlnL 8uffer Polds Lhe flles senL for prlnLlng
Methods Access keturn Name Descr|pt|on rlvaLe 8oolean rlnL1oScreen() rlnLs Lhe flle on Lo screen speclfled ln Lhe parameLer rlvaLe vold rlnLllle() rlnLs Lhe flle speclfled ln Lhe parameLer
HBFBM $+,-6 :+)+;+6- 8r|ef Descr|pt|on LnLlLy - Class LhaL conLalns all necessary aLLrlbuLes and meLhods assoclaLed wlLh booksLores sales. Attr|butes 1ype Access Name Descr|pt|on sales ubllc salesArray Lhe array LhaL conLalns all records of Lype sales
Methods Access keturn Name Descr|pt|on ubllc vold sorL() lnherlLs from parenL class 'daLabase' buL focuses Lhe sorL based off any of Lhe flelds assoclaLed wlLh of Lype 'sale'
HBFBO $+,- 8r|ef Descr|pt|on LnLlLy - Class LhaL sLores all lnformaLlon assoclaLed wlLh a booksLore LransacLlon Attr|butes 1ype Access Name Descr|pt|on 8oolean array rlvaLe 1ype a boolean array where Lhe value corresponds Lo elLher a sale or refund floaL rlvaLe AmounL conLalns Lhe LoLal amounL of Lhe purchase SLrlng rlvaLe uaLaLlme conLalns Lhe daLe and Llme of when Lhe LransacLlon Look place SLrlng rlvaLe CusLomer name conLalns Lhe flrsL and lasL name of a cusLomer who made Lhe purchase SLrlng rlvaLe Lmployee name conLalns Lhe flrsL and lasL name of Lhe employee who conducLed Lhe purchase MeLhods: nA
Methods Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 23 of 27
Access keturn Name Descr|pt|on ubllc vold geLLmployeename() 1hls meLhod geLs Lhe employee's name handllng Lhe sale LransacLlon from CS ubllc vold geLCusLomername() 1hls meLhod geLs Lhe purchaslng cusLomer's name ln Lhe sale LransacLlon from CS ubllc vold geL1ype() 1hls meLhod geLs Lhe Lype of LransacLlon Laklng place from CS ubllc vold geLAmounL() 1hls meLhod geLs Lhe LoLal amounL charged ln LhaL LransacLlon from CS rlvaLe vold recorduaLe1lme() 1hls meLhod records Lhe daLe and Llme of Lhe LransacLlon from Lhe sysLem Llmer
HBFBQ :+)+;+6- 8r|ef Descr|pt|on LnLlLy - 1he generlc class for all daLabases. ConLalns all aLLrlbuLes and meLhods LhaL every daLabase shares or lnherlLs. Attr|butes 1ype Access Name Descr|pt|on lnLeger ubllc Max slze An lnLeger value LhaL sLores Lhe currenL number of enLrles wlLhln Lhe daLabase. lnLeger ubllc Mln slze An lnLeger value LhaL sLores Lhe mlnlmum number of enLrles posslble wlLhln Lhe daLabase(normally seL Lo 0, buL any number of 0 denoLes defaulL daLabase enLrles LhaL are noL counLed). sLrlng ubllc uefaulL sorL Lype A sLrlng value LhaL sLores Lhe currenL sorL Lype LhaL Lhe daLabase ls sorLed by.
Methods Access keturn Name Descr|pt|on ubllc vold Add() A vold meLhod LhaL Lakes ln an enLry and lnserLs lL lnLo Lhe daLabase ln Lhe approprlaLe lndex based on Lhe currenL defaulL sorL Lype. ubllc vold ueleLe() A vold meLhod LhaL Lakes ln a value and deleLes Lhe approprlaLe enLry wlLh LhaL value based on Lhe currenL defaulL sorL Lype. ubllc vold Search() An lnLeger meLhod LhaL reLurns Lhe lndex of Lhe enLry LhaL conLalns Lhe sLrlng value glven as a parameLer based on Lhe currenL defaulL sorL Lype. ubllc vold SorL() A vold meLhod LhaL performs a Culck SorL based on Lhe parameLer glven, whlch ls Lhe sorL Lype performed. 1he SorL() funcLlon Lhen seLs Lhe defaulL sorL Lype Lo Lhe Lype of sorL LhaL was [usL performed. Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 24 of 27
HBFBDS 8&&9 :+)+;+6- 8r|ef Descr|pt|on LnLlLy - A class for Lhe creaLlon of a daLabase LhaL sLores values of Lype 8ook." Attr|butes 1ype Access Name Descr|pt|on book ubllc bookArray 1he acLual array LhaL conLalns values of Lype 8ook."
Methods Access keturn Name Descr|pt|on ubllc vold sorL() lnherlLs from Lhe superclass uaLabase." Cnly allows for Lhe array Lo be sorLed based on Lhe approprlaLe fleld Lypes LhaL 8ooks" can have.
HBFBDD 8&&9 8r|ef Descr|pt|on LnLlLy - A class for sLorlng all Lhe perLlnenL lnformaLlon conLalned wlLhln each unlque book. Attr|butes 1ype Access Name Descr|pt|on lnL rlvaLe lS8n 1he lS8n of Lhe book (consLanL). SLrlng rlvaLe Sub[ecL ConLalns lnformaLlon abouL whaL class Lhls book ls used ln (for example, CS 472, would be sLored for any LexLbook used ln Lhe class CS 472) (varlable).
SLrlng rlvaLe 1lLle 1he full LlLle of Lhe book (consLanL). lloaL rlvaLe LdlLlon 1he edlLlon of Lhe book (consLanL). SLrlng
rlvaLe AuLhor 1he auLhor of Lhe book (consLanL). SLrlng rlvaLe ubllsher 1he publlsher of Lhe book (consLanL). lloaL rlvaLe rlce 1he currenL prlce of Lhe book (varlable). lloaL rlvaLe usedrlce 1he currenL prlce for a used verslon of Lhls book (varlable). lnL rlvaLe CuanLlLy 1he currenL number of Lhls book ln sLock (varlable).
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 25 of 27
HBFBDF R&L'( 8r|ef Descr|pt|on ConLrol - 1hls class provldes a user lnLerface for users Lo log ln Lo Lhe sysLem. Attr|butes 1ype Access Name Descr|pt|on SLrlng rlvaLe username 1hls aLLrlbuLe ls Lhe logln name of Lhe user SLrlng rlvaLe assword 1hls aLLrlbuLe ls Lhe logln password of Lhe user SLrlng rlvaLe user1ype 1hls aLLrlbuLe ls Lhe Lype of Lhe user lnL rlvaLe lasLLogln 1hls aLLrlbuLe sLores Lhe lasL recorded logln Llme and daLe
Methods Access keturn Name Descr|pt|on ubllc vold geLuser1ype() 1hls meLhod geLs Lhe Lype of user from user Lhrough a user lnLerface wlndow ubllc vold openLoglnul() 1hls meLhod opens Lhe approprlaLe loglnul ubllc vold geLusername() 1hls meLhod geLs Lhe user logln name Lhrough Lhe logln ul ubllc vold geLuserassword() 1hls meLhod geLs Lhe user password Lhrough Lhe logln ul ubllc vold updaLeLasLLogln() 1hls meLhod updaLes Lhe user's lasL logln record wlLh Lhe currenL logln.
HBFBDC R&L'( :+)+;+6- 8r|ef Descr|pt|on LnLlLy - 1hls class sLores all username and passwords for users LhaL have access Lo Lhe sysLem. Attr|butes 1ype Access Name Descr|pt|on SLrlng ubllc loglnArray An array of lnformaLlon requlred for logln
Methods Access keturn Name Descr|pt|on ubllc vold SorL() 1hls meLhod can sorL all Lhe usernames and passwords ln speclflc parameLers such as 1ype, LasL name, prlvllege,
HBFBDA 7E6)&G-1 8r|ef Descr|pt|on Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 26 of 27
ConLrol - 1hls class provldes funcLlonallLy Lo Lhe sysLem Lo sLore cusLomer lnformaLlon ln Lhe daLabase. Attr|butes 1ype Access Name Descr|pt|on SLrlng rlvaLe name 1hls aLLrlbuLe ls Lhe cusLomer 's name SLrlng rlvaLe Address 1hls aLLrlbuLe ls Lhe cusLomer's address SLrlng rlvaLe Ccnumber 1hls aLLrlbuLe ls Lhe cusLomer 's credlL card number SLrlng rlvaLe CcsecrulLy 1hls aLLrlbuLe ls Lhe cusLomer 's credlL card securlLy code 8oolean rlvaLe 8enLalllag 1hls aLLrlbuLe ls Lhe a flag LhaL lndlcaLes lf Lhe cusLomer has a renLal book or noL SLrlng rlvaLe Lmalladdress 1hls aLLrlbuLe ls Lhe cusLomer 's emall address sLrlng rlvaLe phonenumber 1hls aLLrlbuLe ls Lhe cusLomer 's phone number
Methods Access keturn Name Descr|pt|on ubllc vold geLname() 1hls meLhod geLs Lhe name of Lhe cusLomer ubllc vold geLAddress() 1hls meLhod geLs Lhe cusLomer's address ubllc vold geLCCnumber() 1hls meLhod geLs Lhe cusLomer's credlL card number ubllc vold geLCCSecurlLy() 1hls meLhod geLs Lhe cusLomer's credlL card securlLy code ubllc vold geLLmallAddress() 1hls meLhod geLs Lhe cusLomer's emall address ubllc vold geLhonenumber() 1hls meLhod geLs Lhe cusLomer's phone number ubllc vold ralse8enLalllag() 1hls meLhod ralses Lhe renLal flag when Lhe cusLomer renLs a book ubllc vold lower8enLalllag() 1hls meLhod lowers Lhe renLal flag when Lhe cusLomer reLurns a renLed book
HBFBDH 7E6)&G-1 :+)+;+6- 8r|ef Descr|pt|on LnLlLy - 1hls class sLores all Lhe lnformaLlon from each cusLomer. Attr|butes 1ype Access Name Descr|pt|on sLrlng ubllc cusLomerArray 1hls array holds all Lhe cusLomer lnformaLlon.
Bookstore Inventory System Version: 1.0 Software Architecture Document Date: 8 December 2010
Page 27 of 27
Methods Access keturn Name Descr|pt|on ubllc vold SorL() 1hls meLhod can sorL all Lhe username and password ln speclflc parameLers such as 1ype, LasL name, prlvllege, ubllc vold geLCusLomer() 1hls meLhod geLs a new cusLomer's lnformaLlon and sLores lL ln Lhe cusLomer daLabase ubllc vold updaLeCusLomer() 1hls meLhod updaLes an exlsLlng cusLomer's lnformaLlon
6. k|sk kank of C|asses
Logln uaLabase Plgh Sales uaLabase CusLomer uaLabase 8ook uaLabase user ul Log ln CreaLe 8eporL Low
7. S|ze and erformance 1he 8ooksLore lnvenLory SysLem musL perform all funcLlons wlLh mlnlmal Llme delays. 1he sysLem musL also accuraLely save all lnformaLlon LransacLlons.
8. ua||ty ln order Lo malnLaln Lhe hlghesL degree of sysLem lnLegrlLy our sysLem wlll ensure LhaL all lnformaLlon LransacLlons are saved. 8ackup of all daLabases wlll occur on a dally basls durlng mlnlmum acLlvlLy hours. 1he sysLem wlll allow users Lo prlnL ouL recelpLs and LransacLlon hlsLory for a speclfled Llme perlod.