component level design

56
11/18/2014 1

Upload: nadia-nahar

Post on 12-Jul-2015

128 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Component level design

11/18/2014 1

Page 2: Component level design

• Md. Arif Ibne Ali – BSSE0308

• Md. Shafiuzzaman – BSSE0322

• Nadia Nahar – BSSE0327

11/18/2014 2

Page 3: Component level design

11/18/2014 3

Page 4: Component level design

User

user_typeuser_namepassworduser_statuse-mail

authenticate()search()renew()booking()

Administrator

user_namepassworde-mail

configure()authenticate()

Librarian

user_namepassworde-mail

issue()retrieve()add()edit()delete()

Report

report_nointended_userdatereport_type

notifyUser()blockUser()

Item

item_typecall_numberitem_statusassigned_user

issueItem()retrieveItem()itemAvailability()

Fine

fine_typefine_amountassigned_userassigned_itemfine_rateborrowing_duration

generateReport()updateUser()calculateFineAmount()

11/18/2014 4

Page 5: Component level design

11/18/2014 5

Page 6: Component level design

DAO

insert()update()delete()select()

GUI

menu_itemsthemeelements

update()link()

DB Connect

connectionStringdatabaseNamedatabaseUserPassworddatabaseType

connect()

11/18/2014 6

Page 7: Component level design

11/18/2014 7

Page 8: Component level design

search

renew

booking

User

user_typefacultystudnentresearcher

user_namepassworduser_status

blockedactivedeactivereported

e-mail

inputItem()retreive()arrange()show()selectItem()showItemDetail()renewRequest()update()booking()

DAOSearch

inputItem()retreive()arrange()show()

DAORenew

selectItem()showItemDetail()renewRequest()update()

User

user_typeuser_namepassworduser_statuse-mail

authenticate()search()renew()booking()

11/18/2014 8

Page 9: Component level design

issue

retreive

Librarian

user_namepassworde-mail

selectUser()checkUserStatus()selectItem()checkItemStatus()show()updateItem()updateUser()selectUser()checkFine()selectItem() updateItem()updateUser()add()edit()delete()

DAOIssue

selectUser()checkUserStatus()selectItem()checkItemStatus()show()updateItem()updateUser()

DAORetreive

selectUser()checkFine()selectItem() updateItem()updateUser()

Librarian

user_namepassworde-mail

issue()retrieve()add()edit()delete()

11/18/2014 9

Page 10: Component level design

itemAvailability

Item

item_typeBookCD/DVDJournalNewspaperMagazine

call_numberitem_status

AvailableUnavailable

assigned_userGeneralSpecial

issueItem()retrieveItem()selectItemType()connectDatabase()countItemNo()notifyLibrarian()

DAOitemAvailability

selectItemType()connectDatabase()countItemNo()notifyLibrarian()

Item

item_typecall_numberitem_statusassigned_user

issueItem()retrieveItem()itemAvailability()

11/18/2014 10

Page 11: Component level design

notifyUser

blockUser

Report

report_nointended_userdatereport_type

fine_reportblock_reportreturn_reportyearly_report

selectUser() selectItem()getData()generateNotification()acquireEmailAddress()sendNotification()selectUser()getData()generateNotification()acquireEmailAddress()sendNotification()changeUserStatus

DAOnotifyUser

selectUser() selectItem()getData()generateNotification()acquireEmailAddress()sendNotification()

DAOblockUser

selectUser()getData()generateNotification()acquireEmailAddress()sendNotification()changeUserStatus()

Report

report_nointended_userdatereport_type

notifyUser()blockUser()

11/18/2014 11

Page 12: Component level design

calculateFine

generateReport

Fine

fine_typegeneral_finespecial_finedestruction_fine

fine_amountassigned_user

GeneralSpecial

assigned_itemAvailableUnavailable

fine_rateborrowing_durationgetDuration()getItemType()getRate()calculate()getNotification()calculateFineAmount()getUser()acquireEmailAddress()sendNotification()updateUser()

DAOcalculateFine

getDuration()getItemType()getRate()calculate()

DAOgenerateReport

getNotification()calculateFineAmount()getUser()acquireEmailAddress()sendNotification()updateUser()

Fine

fine_typefine_amountassigned_userassigned_itemfine_rateborrowing_duration

calculateFineAmount()generateReport()updateUser()

11/18/2014 12

Page 13: Component level design

11/18/2014 13

Page 14: Component level design

1.ItemList := InputItem(itemName)

1.ItemDetails := selectItem(itemName)2.ItemStatus := renewRequest(itemDetails)

11/18/2014 14

Page 15: Component level design

1.userDetails := selectUser(userName)2.userStatus := checkUserStatus (user)

3.itemDetails := selectItem(itemName)4.itemStatus := checkItemStatus (item)

11/18/2014 15

Page 16: Component level design

1.userDetails := selectUser(userName)

3.itemDetails := selectItem(itemName)

2.Fine := checkFine(User)

11/18/2014 16

Page 17: Component level design

1.itemAvailability := notify(Item,ItemNumber)

11/18/2014 17

Page 18: Component level design

1.userDetails := selectUser(userName)3.confirmation := sendNotification (report)

2.itemDetails := selectItem(itemName)

11/18/2014 18

Page 19: Component level design

1.userDetails := selectUser(userName)3.confirmation := sendNotification (report)4. confirmation := changeUserStatus(user)

2.itemDetails := selectItem(itemName)

11/18/2014 19

Page 20: Component level design

1.duration := getDuration(user,item)

3.fineRate := getRate(itemType)

2.itemType := getItemType(item)

11/18/2014 20

Page 21: Component level design

1.fineNotification := getNotification()2.userDetails := getUser()3. email := acquireEmail(user)

4.confirmation := reportGenerateAndSend(fineDetails)

11/18/2014 21

Page 22: Component level design

11/18/2014 22

Page 23: Component level design

search

renew

booking

itemList

<<interface>>search

PassNametoFindItem()

11/18/2014 23

Page 24: Component level design

search

renew

booking

selectItem

<<interface>>renew

PassItemtoRenew()

itemStatus

11/18/2014 24

Page 25: Component level design

issue

retreive

selectItem

<<interface>>issue

PassItemtoIssue()

selectUser

11/18/2014 25

Page 26: Component level design

issue

retreive

selectItem

<<interface>>retrieve

PassItemtoRetrieve()

selectUser

checkFine

11/18/2014 26

Page 27: Component level design

itemAvailability

notify

<<interface>>itemAvailability

NotifyLibarianAboutItemAvailability ()

11/18/2014 27

Page 28: Component level design

notifyUser

BlockUser

selectItem

<<interface>>notifyUser

sendNotificationtoUser()

selectUser

11/18/2014 28

Page 29: Component level design

notifyUser

BlockUser

selectItem

<<interface>>blockUser

passUsertoBlock()

selectUser,

changeUserStatus

11/18/2014 29

Page 30: Component level design

calculateFine

generateReport

getDuration

<<interface>>calculateFine

PassUserItemtoCalculateFine()

getFineRate

getItemType

11/18/2014 30

Page 31: Component level design

calculateFine

generateReport

getUser

<<interface>>generateReport

PassUserToGenetareReport()

getReport

11/18/2014 31

Page 32: Component level design

11/18/2014 32

Page 33: Component level design

Attribute Name Class Data Type/Data Structure

user_type user enum

user_name user,administrator,librarian string

password user,administrator,librarian string

user_status user enum

e-mail user,administrator,librarian string

report_no report int

intended_user report int

date report date

report_type report enum

11/18/2014 33

Page 34: Component level design

Attribute Name Class Data Type/Data Structure

fine_type fine enum

fine_amount fine int

assigned_user fine,item int

assigned_item fine int

fine_rate fine double

borrowing_duration fine int

item_type item enum

call_number item int

item_status item enum

11/18/2014 34

Page 35: Component level design

11/18/2014 35

Page 36: Component level design

11/18/2014 36

Input Item

Validate Input

retrieve

Arrange Alphabetically

Arrange by Arrival Date

Arrange by Category

show

arrangeType=Name

arrangeType=ArrivalDate

arrangeType=Category

Page 37: Component level design

11/18/2014 37

Select Item

Show Item Details

Renew Request

Check Item Availability

Update

available

Not available

Page 38: Component level design

11/18/2014 38

Select User

Select Item

Check Item Availability

Update Item,User

available

Not available

Check User Availability

active

blocked

Page 39: Component level design

11/18/2014 39

Select User

Select Item

Update User

Check Fine

no

yes Generate Report

Update Item

Page 40: Component level design

11/18/2014 40

Select Item

Count Item No

Connect DB

Notify Librarian

Page 41: Component level design

11/18/2014 41

Select User

Get Data

Select Item

Generate Notification

Send Notification

Page 42: Component level design

11/18/2014 42

Select User

Get Data

Select Item

Generate Notification

Send Notification

Block User

Page 43: Component level design

11/18/2014 43

Get Duration

Get Rate

Get Item Type

Calculate

Page 44: Component level design

11/18/2014 44

Get Notification

Get User

Calculate Fine

Acquire Email

Send Notification

Update User

Page 45: Component level design

11/18/2014 45

Page 46: Component level design

• Date Source

– User Database

– Item Database

• Required Class

– DB Connect

– DAO

11/18/2014 46

DAO

insert()update()delete()select()

DB Connect

connectionStringdatabaseNamedatabaseUserPassworddatabaseType

connect()

Page 47: Component level design

11/18/2014 47

Page 48: Component level design

11/18/2014 48

Administrator

Page 49: Component level design

11/18/2014 49

Librarian

Page 50: Component level design

11/18/2014 50

User

Page 51: Component level design

11/18/2014 51

Item

Page 52: Component level design

11/18/2014 52

Report

Page 53: Component level design

11/18/2014 53

DAO

Page 54: Component level design

11/18/2014 54

Page 55: Component level design

11/18/2014 55

Central Processor

Database Server

Proxy Web Server

Remote PC

Control Panel Unit

Library PC http

Source Communication

Page 56: Component level design

Thank You!!!

11/18/2014 56