Software Requirement Phase Development Project: Student: Bùi M NH Linh Class: CLC07CNTT
Software Requirement Phase Development Project: Student: Bùi M NH Linh Class: CLC07CNTT
Software Requirement Phase Development Project: Student: Bùi M NH Linh Class: CLC07CNTT
I. Introduction
1. Purpose
The purpose of this document is to present a detailed requirement of the Library
Management Online System. In this document, the purpose, feature, interface of the
system a will be explained Also, the domain system will be illustrate by use case
diagram, scenarios, and communication diagrams. This document is intended for
both the stakeholders and the developers of the system and will be likely related to
software development process.
2. Scope of project
The system is made for a local university, in which students and staffs (or librarians)
can login into the system to perform their own function. In our project, the system is
implement as much as possible, all basic functions will be try to make like the real
one running in the real world. The system will facilitate communication between
staffs, students, and teacher via E-Mail. All the actors in system are identified with
his or her own id, which is provided by university. Going to the detail, the system
also contains a relational database containing a list of students, librarian and teachers.
3. Glossary
Term Definition
4. References
- UML 2 Toolkit.- Wiley Publishing. Pdf
- OO_Analysis&Design_UML_2005.pdf
5. Overview of documents
Extension :
4.1 reader submit without entering keywords
4.1.a system ask user for entering keywords before choose to submit
4.1.b reader enter keywords into search box and submit
6.1.System found no item and ask user whether he/she want to search for another item.
6.1.a.user choose Yes and enter another keyword for searching
6.1.b. user choose No and no more search progress is performed
viewDetail
Extension :
4.1.System check whether user is already log-on.
7.1.a.if user is log-on reader, system display full information and its extension:
viewComment, checkAvailble, postComment, and Rating.
7.1.b. if user is not a log-on reader, system display information without postCommnet
and Rating function
viewComment
Extension :
browseCatalog
feedback
Register
Download
Borrow
checkAvaiable
Extension :
postComment
Extension :
3.1.user not fill username or password before submit
3.1.a.system requires user to enter missing information, user enter username and
password again and then submit
3.1.b. system requires user to enter missing information, user cancel process and return
to homepage
4.1.system found that log-in information was invalid
4.1.a.system requires user to log in again, user enter username and password again and
then submit
4.1.b. system requires user to log in again, user cancel process and return to homepage
Extension :
7.1.System ask user for confirming his rating.
7.1.a.User confirm rating by click Ok button. Product is rated.
7.1.b. User click Cancel button, no new rating are added to product
checkStatus
extensionRequest
Logout
Login
Extension :
5.1.user not fill username or password before submit
5.1.a.system requires user to enter missing information, user enter username and
password again and then submit
5.1.b. system requires user to enter missing information, user cancel process and return
to homepage
6.1.system found that log-in information was invalid
6.1.a.system requires user to log in again, user enter username and password again and
then submit
6.1.b. system requires user to log in again, user cancel process and return to homepage
AdminLogin
Extension :
5.1.user not fill username or password before submit
5.1.a.system requires user to enter missing information, user enter username and
password again and then submit
5.1.b. system requires user to enter missing information, user cancel process and return
to homepage
6.1.system found that log-in information was invalid
6.1.a.system requires user to log in again, user enter username and password again and
then submit
6.1.b. system requires user to log in again, user cancel process and return to homepage
addUser
Extension :
3.1.user not fill username or password before submit
3.1.a.system requires user to enter missing information, user enter username and
password again and then submit
3.1.b. system requires user to enter missing information, user cancel process and return
to homepage
4.1.system found that log-in information was invalid
4.1.a.system requires user to log in again, user enter username and password again and
then submit
4.1.b. system requires user to log in again, user cancel process and return to homepage
5.1.some fields are missing filled by user
9.1.a.system requests user to fill all the fields, user fill all the missing fields and submit
9.1.b. system requests user to fill all the fields, user cancel register process and back to
homepage
10.1. system found that some unique-required fields have already existed in database
10.1.a. system requests user to change the information of the fields that have existed
information, user try another information and submit
10.1.b. system requests user to change the information of the fields that have existed
information, user cancel process and return to homepage
removeUser
updateUser
changePassword
Extension :
3.1.User enters wrong password
3.1.a.System ask user for enter again.
3.1.b If user enter wrong password up to 3 times. System locks user
9.1 User select “Yes ” button , the user password has been changed.
9.2 User select “No ” button, system roll back to previous page
10.1. System display message that “new password do not mtach”
10.1.a.System ask user for enter again
manageProfiles
viewProfile
Extension :
manageItem
Extension :
addItem
Extension :
8.1 User select “Yes ” button , the new Item has added.
8.2 User select “No ” button, system roll back to previous page
removeItem
manageComment
Extension :
removeComment
editComment
getReport
Weekly
Monthly
Annually
SearchMaterial
viewComment
browseCatalog
Help
Register
Download
checkAvaiable
rateItem
extensionRequest
Login
AdminLogin
addUser
updateUser
changePassword
viewProfile
manageItem
1.6.2. login-register
B. SYSTEMS ANALYSIS.
I. STATIC ANALYSIS
1.Finding classes
1.1.Account
1.2.Staff
1.3.member
1.4.MemberManagement
1.5.Category
1.6.EMaterialManegment
1.8.EMaterial
1.9.Borrow
1.11.Ebook
2.1 Member-staff-Accout
2.3.Member-EMaterial
2.5.Staff-member
3.Class diagram
1.Communication diagrams.
searchMaterial
viewDetail
browseCatalog
feedback
register
checkAvailable
rateItem
Remove item
Update item
Remove comment
Edit comment
Get report
addUser
changePassword
extensionRequest
manageItem
manageProfile
removeUser
viewProfile
member:
requestExtension()
borrow:
makeBorrow()
account:
login()
logout()
search()
memberManagement
addUser()
deleteUser()
setUser()
editUser()
category:
addCatalog()
removeCatalog()
editCatalog()
addMaterial()
removeMaterial()
editMaterial()
deleteMaterial()
editComment()
report
getReport()
deleteReport()
Ematerial
comment()
rateMaterial()
checkAvailable()
3.State-chart diagrams.
searchMaterial
download
borrow
postComment
View Profile
Remove item
Manage comment
adminLogIn
checkStatus
Logout
manageItem
ManageUser
removeUser
viewProfile
I. System design.
1. Technology.
On the client side, we would consider the case so that the client or user will be feel the
most convenient. The user will not have to install any software in order to use the library
system. Because our library system is designed in the internet environment, so we want
the user to use their desktop and use the browser such as Firefox and IE. Just by entering
the URL of our library website, so that the user can access to the system and use the
function of system. Because, user who access to the library site must has an interactive
interface to manipulate and interact with system. Therefore, we can consider to choose
one in 3 technology: HTML/CGI, Java Applets, and Flash. Due to the portability, we can
eliminate the Java Applet. The use of Flash can cause delay so that the better choice for
us to implement our system is HTML/CGI
Once on the server side, servlets are a good choice for processing CGI requests because
they’re portable, they’re efficient and they have access to all the facilities of J2EE, which
provides everything that the servlets might need (such as access to distributed transaction
management). Traditional scripting raises issues with portability, expressive power and
performance; .Net technologies raise issues with portability. Once servlets are being used
as the entry point to our servers, the obvious choice for producing dynamic web pages is
the JSP mechanism.
Our system provides a variety of services so we will use the three tiers
architecture. In this topology, each service involves at least three machines:
o the data tire stores the data and provides safe concurrent access
o The middle tier: known as business logic tier or serer tier. In this layer, we
will run multiple threaded program code using large processors
o Client tier: represents the user interface to the user, so they can enter data
and view results.
The three tiers provide many benefits over other architectures. Some of them are:
o Separation of concern
o Using the right machine for the job: we will have a vision of how to
choose hard ware for our implementation. We will adjust our budget to fit
to our project
o Improve performance: we can have benefit from load balancing abilities
o Improve security: Each layer will responsible for some roles, so it is easier
to deploy security policy to our system
o Flexibility: The redundancy in each layer will help us to improve the
ability of the administrator to remove or upgrade one machine without
degrade the performance of the whole system
In our system, we will utilize the Internet to provide access to multiple users. The
technology used will be discussed in the next section. The output for user is only
HTML page that provide user a way of browsing the store and they can also input
data that needed for their transaction. These data will be encrypted and send to the
server for processing and saving in the system DB.
In our system, all the servers are located at the same location, so there is no need
for distributed data method. Furthermore, we do not need a VPN to provide
access for tele-workers.
Our intranet, which contains all server and database, should be protected by
firewall. In general, a security policy will be built and deployed to protect
sensitive data from the outside attack.
Our system will use the Client Server architecture. The customer Web browser
issue requests to Web server, which in turn issue instruction to the back-end
systems. The distributed is not appropriate for our system because this store is not
a very large system. The peer-to peer, in most case, is not suitable for an e-
commerce system because of many problems like synchronizing and security. Our
system will handle many transactions, which can involve in the bank account of
the system, so the security problem must be considered.