example software for a virtual library (borrowing books using the internet) internt terminal db

18
Example Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Upload: heather-carter

Post on 29-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Example

Software for a virtual library (borrowing books using the Internet)

Internt terminal

DB

Page 2: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Preferences

You have a team of 2 peopleFirst deliverance after 3 monthsDevelop software for:

User InterfaceUser – library communicationDatabaseAdministration

Use iterative implementationFinal release after 8 months

Page 3: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Main activities Requirement analysis and definition System design User interface

Design Implementation

User – library communication Design Implementation

Database Design Implementation

Administration Design Implementation

System integration Testing Deliverance

Page 4: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Iterative implementation Gantt chart

ID Task Name Start End DurationQ1 03 Q2 03 Q3 03

Jan Feb Mar Apr May Jun Jul Aug

1 112h2003-01-202003-01-01Requirements analysis

2 112h2003-02-072003-01-21System design

11 34h2003-08-072003-08-01User interface

12 34h2003-08-132003-08-07User - library communication

5 50h2003-03-052003-02-25Database

6 50h2003-03-132003-03-05Administration

7 46h2003-03-202003-03-13System integration

8 50h2003-03-282003-03-20Testing

9 16h2003-03-312003-03-28System deliverance

3 50h2003-02-172003-02-07User interface

4 50h2003-02-252003-02-17User - library communication

13 34h2003-08-192003-08-13Database

14 34h2003-08-252003-08-19Administration

15 10h2003-08-262003-08-25System integration

16 30h2003-08-292003-08-26Testing

17 8h2003-08-292003-08-29Final system deliverance

10 704h2003-07-312003-04-01Iterative development

Page 5: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Task

Define main requirementsCreate Use Case diagram capturing the

requirementsCreate an architecture designCreate conceptual designCreate sequence diagramsCreate class diagram

Page 6: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Actors

Two main actors:The person borrowing books, UserThe person administering the library, Librarian

Page 7: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

The User

A user should be able to:Search for booksReserve bookLogin to be able to borrow books

Page 8: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Search for books

Name: Search for books

Initiator: User

Goal: Get a list of books

1. User enters search criteria, e.g. author, title, ISBN, etc.

2. The system searches its database for matches

3. The system returns the result

Extensions:

2. Search failed, no results

a. System allows User to try again

b. Resume at 1

Page 9: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Reserve book

Name: Reserve book

Initiator: User

Goal: Reserve specified book

1. The User wants to reserve specified book

2. The system marks specified book as reserved

Extensions

2. All copies of the book are already reserved

a. The system adds the User to reserve queue

b. The system notifies the User

c. Stop

Page 10: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

The Librarian

The Librarian should be able to:Mark a book as available when a book is

returned (Unreserve book)Add new book to the database

Page 11: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Unreserve book

Name: Unreserve book

Initiator: Librarian

Goal: Mark a book as available

1. The Librarian gets a returned book

2. The Librarian unreserves the book

Extensions

2. Another user has reserved a copy of this book

a. The system marks the book as reserved by the next user in the reserve queue

b. Stop

Page 12: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Use Case diagram

Login

Unreserve book

Add new book

Librarian

Reserve book

<< include >>

Search for books

User

Page 13: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Three-Tiers Client-Server Architecture

Database

Databasedriver

Libraryserver

Adminclient

Userclient

Presentation layer (Client)

Application layer (Server)

Data layer

Page 14: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Library server conceptual design

User

AdminUser

ReserveQueue

** **

Library

*

1

*

1

* 1* 1

Book

1

1

1 *1 *

1

1

Page 15: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Sequence diagram for Search

Library DatabaseUser : User

search()query()

returnResult()

showResult()

Page 16: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Sequence diagram for Unreserve

Server : Librarya Librarian : Librarian a Book : Book q : ReserveQueue

unReserveBook() unReserve()getNextUser

reserve()

Page 17: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Sequence diagram for login, search and reserve

a User : User Server : Library a Book : Book q : ReserveQueueOnlineUser : User

login()

search()

showResult()

reserveBook()reserveBook()

reserve()addUserToQueue()

addReservedBook()

notify()

logout()

Page 18: Example  Software for a virtual library (borrowing books using the Internet) Internt terminal DB

Library server class diagram

ReserveQueue

usersbook

getNextUser()addUserToQueue()

Library

userslibrariansbooks

login()logout()search()addNewBook()reserveBook()unReserveBook()

Librarian

unReserveBook()addNewBook()

* 1* 1

User

nameIDrQueues

reserveBook()changeUserDetails()getReservedBooks()addReserveQueue()

** **

*

1

*

1

Book

authortitleISBNrQueuereservedreservedByUser

reserve()unReserve()

1

1

1

1

1 *1 *