component level design

Post on 12-Jul-2015

128 Views

Category:

Engineering

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

11/18/2014 1

• Md. Arif Ibne Ali – BSSE0308

• Md. Shafiuzzaman – BSSE0322

• Nadia Nahar – BSSE0327

11/18/2014 2

11/18/2014 3

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

11/18/2014 5

DAO

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

GUI

menu_itemsthemeelements

update()link()

DB Connect

connectionStringdatabaseNamedatabaseUserPassworddatabaseType

connect()

11/18/2014 6

11/18/2014 7

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

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

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

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

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

11/18/2014 13

1.ItemList := InputItem(itemName)

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

11/18/2014 14

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

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

11/18/2014 15

1.userDetails := selectUser(userName)

3.itemDetails := selectItem(itemName)

2.Fine := checkFine(User)

11/18/2014 16

1.itemAvailability := notify(Item,ItemNumber)

11/18/2014 17

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

2.itemDetails := selectItem(itemName)

11/18/2014 18

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

2.itemDetails := selectItem(itemName)

11/18/2014 19

1.duration := getDuration(user,item)

3.fineRate := getRate(itemType)

2.itemType := getItemType(item)

11/18/2014 20

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

4.confirmation := reportGenerateAndSend(fineDetails)

11/18/2014 21

11/18/2014 22

search

renew

booking

itemList

<<interface>>search

PassNametoFindItem()

11/18/2014 23

search

renew

booking

selectItem

<<interface>>renew

PassItemtoRenew()

itemStatus

11/18/2014 24

issue

retreive

selectItem

<<interface>>issue

PassItemtoIssue()

selectUser

11/18/2014 25

issue

retreive

selectItem

<<interface>>retrieve

PassItemtoRetrieve()

selectUser

checkFine

11/18/2014 26

itemAvailability

notify

<<interface>>itemAvailability

NotifyLibarianAboutItemAvailability ()

11/18/2014 27

notifyUser

BlockUser

selectItem

<<interface>>notifyUser

sendNotificationtoUser()

selectUser

11/18/2014 28

notifyUser

BlockUser

selectItem

<<interface>>blockUser

passUsertoBlock()

selectUser,

changeUserStatus

11/18/2014 29

calculateFine

generateReport

getDuration

<<interface>>calculateFine

PassUserItemtoCalculateFine()

getFineRate

getItemType

11/18/2014 30

calculateFine

generateReport

getUser

<<interface>>generateReport

PassUserToGenetareReport()

getReport

11/18/2014 31

11/18/2014 32

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

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

11/18/2014 35

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

11/18/2014 37

Select Item

Show Item Details

Renew Request

Check Item Availability

Update

available

Not available

11/18/2014 38

Select User

Select Item

Check Item Availability

Update Item,User

available

Not available

Check User Availability

active

blocked

11/18/2014 39

Select User

Select Item

Update User

Check Fine

no

yes Generate Report

Update Item

11/18/2014 40

Select Item

Count Item No

Connect DB

Notify Librarian

11/18/2014 41

Select User

Get Data

Select Item

Generate Notification

Send Notification

11/18/2014 42

Select User

Get Data

Select Item

Generate Notification

Send Notification

Block User

11/18/2014 43

Get Duration

Get Rate

Get Item Type

Calculate

11/18/2014 44

Get Notification

Get User

Calculate Fine

Acquire Email

Send Notification

Update User

11/18/2014 45

• Date Source

– User Database

– Item Database

• Required Class

– DB Connect

– DAO

11/18/2014 46

DAO

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

DB Connect

connectionStringdatabaseNamedatabaseUserPassworddatabaseType

connect()

11/18/2014 47

11/18/2014 48

Administrator

11/18/2014 49

Librarian

11/18/2014 50

User

11/18/2014 51

Item

11/18/2014 52

Report

11/18/2014 53

DAO

11/18/2014 54

11/18/2014 55

Central Processor

Database Server

Proxy Web Server

Remote PC

Control Panel Unit

Library PC http

Source Communication

Thank You!!!

11/18/2014 56

top related