Friday, February 1, 2013



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.