SYSTEM REQUIREMENTS SPECIFICATION FOR DREAMHOME INFORMATION SYSTEM
Abbreviations and Acronyms
DBMS - Database Management System
DFD – Data Flow Diagram
GB – Giga Byte
GHz – Giga Hertz
HDD – Hard Disk Drive
OS – Operating System
RAM – Random Access
Memory
SRS – System
Requirements Specification
Table of Contents
1. Introduction
This
is a database system that handles information of DreamHome Database System.
1.1 Purpose of the system
The
purpose of this system is to improve communication and sharing of information
between departments, employees and clients of the DreamHome Database System.
1.2 Document convention
Throughout
this document of SRS, the font style used is: font name-Times new Roman, font
size-12pt, line spacing-1.5
1.3 Intended audience
This
system is intended to support the members of DreamHome Database System, namely:
staff members, clients and other non-staff members.
1.4 Project Scope
The
development of this system will minimize the use of paper to store necessary
information for the organization.
2. Overall Descriptions
2.1 Product perspective
The
development of this system is not a replacement development of the paper based
one but it is a new development aimed at solving the problem of paper work.
2.2 Product features
The
system will enable a user to:
·
Login
into system
·
Update
the information
·
View
information
·
Search
for information in the database system
2.3 User Classes and Characteristics
This
system will be accessed and used by different users with different
characteristics, below are the users with their characteristics
·
System administrator: the administrator will be able
to-view all information, modify, update and delete information in the database.
·
Branch Supervisors: these will be able to view part of
the information in the database and edit (update) just part of the database
·
Normal users (clients and publishers): these will be able to view only
part of the information database. That is, able to register, login and view their
relevant information.
Use case diagram for
DreamHome Database
Figure 1: Use case diagram for DreamHome Database
2.4 Operating Environment
This system will run on different OS such as
Windows (all Windows XP versions, all Windows Vista versions, all Windows 7
versions and all Windows 8 versions) and Linux.
The database management system (DBMS) which
will be used is MySQL, a free and reliable DBMS supporting relational
databases. The system will run under normal computer specification (at least 20GB
of HDD, 512 MB of RAM and 1.6 GHz processor).
2.5 Design and Implementation constraints
In
database creation the following designing procedures will be used:
·
Data
flow diagrams (DFD)
·
Data
Dictionary
·
E-R
Diagram
In
the database implementation MySQL server will be used.
After
the delivery of this software system, there will be on field training for users
(system administrator, Branch supervisors, clients and Newspaper publishers)
Data
Flow Diagrams for DreamHome Database
Figure
2: Context Diagram for DreamHome Database System
Figure 3: Data Flow
Diagram (DFD) level 0 for DreamHome Database System
Figure 4: Data Flow
Diagram (DFD) level 1 process 1 for DreamHome Database System
Figure 5: Data Flow
Diagram (DFD) level 1 process 3 for DreamHome Database System
Figure 6: Data Flow
Diagram (DFD) level 6 and 7 process 1 for DreamHome Database System
Data Dictionary for
DreamHome Database
DATA DICTIONARY FOR BRANCH
Branch = branch_no +
address + telephone_no + member_name + manager
branch_no = characters
(eg. DH001)
characters = {A-Z |
0-9}
address = street + city
+ postcode
street = characters
character = {A-Z | 0-9
| special characters}
special characters =
{/}
city = characters
character = {A-Z | a- z
| special characters}
special character = {-
‘}
postcode ={ integer}
integer = 0-9
telephone_no =
country_code + local_number + user_number
country_code = special
character + integer
special character = {+}
local_number = integer
user_number = integer
member_name = title +
firstName + (middleName) + surname
title = [Mr | Mrs |
Miss | Dr | Prof | Rev | Sheikh | Eng]
firstName = {character}
middleName =
{character}
middleName =
{character}
surname = {character}
character = {A-Z | a-z
| special character}
special character = {-
‘}
manager =
date_of_position + current_branch_office + monthly_bonus_payment
date_of_position = date
current_branch_office =
office_number + office_name
office_number = integer
office_name =
{character}
character = {A-Z | a-z}
monthly_bonus_payment =
special character + integer
special character = £
{integer} = 0 - 9
DATA DICTIONARY FOR STAFF
Staff = staff_number +
staff_name + staff_address + staff_position + staff_salary + (supervisor_name)
+ {current_branch_office}
staff_number =
{character}
{character} = {A-Z |
0-9 | special character}
special character = {/}
staff_name = {title +
firstName + (middleName) + surname}
title = [Mr | Mrs |
Miss | Dr | Prof | Rev | Sheikh | Eng]
firstName = {character}
middleName =
{character}
middleName =
{character}
surname = {character}
character = {A-Z | a-z
| special character}
special character = {-
‘}
staff_address = {street
+ city + postcode}
street = characters
character = {A-Z | 0-9
| special characters}
special characters =
{/}
city = characters
character = {A-Z | a- z
| special characters}
special character = {-
‘}
postcode ={ integer}
integer = 0-9
staff_position =
manager + supervisor + assistant
manager = sfaff_number
supervisor =
{staff_number}
assistant =
{staff_number}
staff_salary = amount
(in £)
(supervisor_name) =
{firstName + middleName + surname}
{current_branch_office}
= {office_number + office_name}
DATA DICTIONARY FOR
PROPERTIES FOR RENT
properties_for_rent =
property_no + property_type + no_of_rooms + monthly_rent + property_owner
property_number = {A-Z
| 0-9 | special characters}
special characters = {/
-}
property_type =
fixed_property + movable_property
fixed_property =
{characters}
movable_property =
{characters}
character = {A-Z | a-z}
no_of_rooms = integer
monthly_rent = {amount}
property_owner = {staff_no}
DATA DICTIONARY FOR
PROPERTY OWNERS
property_owner =
private_owner + business_owner
private_owner= owner_no
+ owner_name + owner_address + owner_telephone_no
owner_no = {integer}+
special_character
special_character= {/}
owner_name ={first_name
+ (middle_name) + surname}
owner_address = {street
+ city + postcode}
telephone_no =
{country_code + local_number + user_number}
business_owner =
business_id + business_name + type_of_business +
business_address + business_tel_no
business_name = {character}
business_type =
{character}
business _address =
{street + city + postcode}
business _tel_no =
{country_code + local_number + user_number}
business_contact_name =
{characters}
DATA DICTIONARY FOR
CLIENT
client= client_no+ name
+ telephone _number+ accommodation +
max_rent + staff
client_no= integer
+ (special_char)
integer = 0-9
special_char =[#;/;@
;$;&]
client_name = {title +
firstName + (middleName) + surname}
title = [Mr | Mrs |
Miss | Dr | Prof | Rev | Sheikh | Eng]
client_telephone_no ={
country_code + local_number + user_number}
accommodation_type =
[permanent | temporary]
max_rent ={ £}
staff = registration +
client_date + branch_details
registration =
{integer}
{integer} = 0 – 9
client_date = {date}
branch_details =
name+number
name={characters}
number={interger}
DATA DICTIONARY FOR
LEASE
lease = lease_no + client + property
lease_no = {integer}
client = client_no +
client_name + client_address
client_no =
{characters}
client_name = {title +
firstName + (middleName) + surname }
client_address =
{street + city + postcode }
property = property_no
+ monthly_rent + method_of_payment + duration_of_lease
property_no =
{characters}
monthly_rent = {£}
method_of_payment =
[cash | cheque]
duration_of_lease =
date_lease_start + date_lease_finish
date_lease_start =
{date}
date_lease_finish =
{date}
DATA DICTIONARY FOR NEWSPAPERS
newspaper=property_no + address + type + number_of_rooms + rent +date_advertised
+ newspaper_name + cost + telephone_no + contact_name
property_no= {character}
address = {street +
city + postcode }
type={character}
number_of_rooms={integer}
rent={amount}
date_advertised={date}
newspaper_name = {character}
cost={amount}
telephone_no ={
country_code + local_number + user_number}
contact_name={character}
E-R Diagram for DreamHome
Database
Figure 7: Entity
Relationship Diagram (ERD) for DreamHome Database System
2.6 User documentation
The
DreamHome Database System will have user documentation (user manual guide)
which will direct the users on how to use the system. These documents will be
available online and hard copy documents for insuring availability of the
information.
2.7 Assumptions and Dependencies
The
system will depend on the availability of Windows or Linux OS,
MySQL server, and new versions of Mozilla Firefox (v8.0b or above) or Opera
(v11.1.1). Therefore if these software components miss, the system will not
work.
3. System features
This
part of system features has been mentioned above (2.2) in the part of product
features
4. External Interface Requirements
4.1 User interfaces
The
DreamHome Database System will have good user interface which will enable
system users to view the data in the database easily. The user interface will
show necessary directives which will help the user on how to access data in a
database.
Example:
The login form will look like this
Figure 8: Login form
The
navigations in the system will look like this
Figure 9: Branch Supervisor
page
5. Other Nonfunctional Requirements
5.1 Performance requirements
The
DreamHome Database System will have good performance that will help users to
easily access information and sharing information. The system will be faster in
such a way that the execution time will be minimal. Also, the system will have
minimal or no errors and if the errors occur the system will alert the user on
the required command.
5.2 Safety requirements
This system will require safe
environment which is free from viruses, Trojans and other malware.
5.3 Security requirements
The DreamHome Database System should be
secured from unauthorized access, that is, only authorized users will have
access to the database. This will be ensured through authentication of the
users that will involve use of combination of username and password. This will
avoid unauthorized editing, changing or deleting of data from the system.
5.4 System quality attributes
The DreamHome Database System will have high quality in the sense
that it will meet the requirements of users and it will be easily maintainable.
5.5 Project documentation
The
DreamHome Database System will have the project documentation which will enable
the other software developers to develop this system depending on the new user
requirements.
Glossary
Database: A shared collection of logically related data (and a description
of this data), designed to meet the information needs of an organization.
Database
management system (DBMS): A software system that
enables users to define, create, and maintain the database and provides
controlled access to the database.
Data flow diagram (DFD): A diagram that illustrates how data moves through an information
system.
References
Bowman,
K. (2004). Systems Analysis: A Beginner’s Guide - Sheffield Hallam
University. New York: Palgrave Macmillan.
Marris,
T. (2007). Systems Analysis and Design: Data Dictionaries.
Teorey,
T., Lightstone, S., Nadeau, T. (2006). Database
Modeling & Design: Logical Design. Fourth Edition. San Francisco:
Elsevier Inc.
Yeates,
D. Wakefield, T.(2004). System Analysis
and Design. Second Edn. Harlow: Pearson Education Limited.
1 comments:
Please access this blog
Post a Comment