software requirement spesification

74
DOCUMENT SOFTWARE REQUIREMENT SPECIFICATION RESERVAROOM ROOM BORROWING APPLICATION for: Teknik Informatika ITS Prepared By: M Hendri Febriansyah (5114100036) Tosca Yoel Connery (5114100061) Jurusan Teknik Informatika - Institut Teknologi Sepuluh Nopember Kampus ITS Keputih Sukolilo Surabaya Jurusan Teknik Document Number Page SRS-001 1/#52

Upload: muhamad-hendri-febriasyah

Post on 05-Apr-2017

113 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Software Requirement Spesification

DOCUMENT

SOFTWARE REQUIREMENT SPECIFICATION

RESERVAROOMROOM BORROWING APPLICATION

for:

Teknik Informatika ITS

Prepared By:

M Hendri Febriansyah (5114100036)

Tosca Yoel Connery (5114100061)

Jurusan Teknik Informatika - Institut Teknologi Sepuluh Nopember

Kampus ITS Keputih Sukolilo Surabaya

Jurusan Teknik Informatika ITS

Document Number Page

SRS-001 1/#52Revision - DD MM YYYY

Page 2: Software Requirement Spesification

LIST OF CHANGESRevision Description

A

B

C

D

E

F

G

Jurusan Teknik Informatika ITS SRS-001 Page 2 from 62

Page 3: Software Requirement Spesification

INDEXDATE

- A B C D E F G

Ditulis oleh

Diperiksa oleh

Approved by

List Changes Page

Page Revision Page Revision

Jurusan Teknik Informatika ITS SRS-001 Page 3 from 62

Page 4: Software Requirement Spesification

Contents

1 Preliminary1.1 Purpose of Writing The Document1.2 Scope of The Problem1.3 Definitions and Terms1.4 Rules of Naming and Numbering1.5 Reference1.6 Document Overview

2 General Description of This Software2.1 General Description of System2.2 Product Function2.3 User Characteristics2.4 Limitation2.5 Operation Interface

3 General Requirement Description3.1 External Interface Requirement

3.1.1 Input/Output Interface3.1.2 Hardware Interface3.1.3 Software Interface3.1.4 Communication Interface

3.2 Functional Description3.2.1 Use Case Diagram3.2.2 Function 1: Create Account

3.2.2.1 Scenario: Create Account3.2.2.2 Activity Diagram: Create Account3.2.2.3 Sequence Diagram: Create Account 3.2.2.4 Object Collaboration Diagram: Create Account

3.2.3 Function 2: Edit Account3.2.3.1 Scenario: Edit Account 3.2.3.2 Activity Diagram: Edit Account

Jurusan Teknik Informatika ITS SRS-001 Page 4 from 62

Page 5: Software Requirement Spesification

3.2.3.3 Sequence Diagram: Edit Account 3.2.3.4 Object Collaboration Diagram: Edit Account

3.2.4 Function 3: View Schedule3.2.4.1 Scenario: View Schedule 3.2.4.2 Activity Diagram: View Schedule3.2.4.3 Sequence Diagram: View Schedule3.2.4.4 Object Collaboration Diagram: View Schedule

3.2.5 Function 4: Apply Proposal Music Studio3.2.5.1 Scenario: Apply Proposal Music Studio3.2.5.2 Activity Diagram: Apply Proposal Music Studio3.2.5.3 Sequence Diagram: Apply Proposal Music Studio3.2.5.4 Object Collaboration Diagram: Apply Proposal Music Studio

3.2.6 Function 5: Apply Proposal Classroom3.2.6.1 Scenario: Apply Proposal Classroom3.2.6.2 Activity Diagram: Apply Proposal Classroom3.2.6.3 Sequence Diagram: Apply Proposal Classroom3.2.6.4 Object Collaboration Diagram: Apply Proposal Laboratory

3.2.7 Function 6: Apply Proposal Laboratory3.2.7.1 Scenario: Apply Proposal Laboratory3.2.7.2 Activity Diagram: Apply Proposal Laboratory3.2.7.3 Sequence Diagram: Apply Proposal Laboratory3.2.7.4 Object Collaboration Diagram: Apply Proposal Laboratory

3.2.8 Function 7: Apply Proposal Hall3.2.8.1 Scenario: Apply Proposal Hall3.2.8.2 Activity Diagram: Apply Proposal Hall3.2.8.3 Sequence Diagram: Apply Proposal Hall3.2.8.4 Object Collaboration Diagram: Apply Proposal Hall

3.2.9 Function 8: Head of Major Give Permission3.2.9.1 Scenario: Head of Major Give Permission3.2.9.2 Activity Diagram: Head of Major Give Permission3.2.9.3 Sequence Diagram: Head of Major Give Permission3.2.9.4 Object Collaboration Diagram: Head of Major Give Permission

3.2.10 Function 9: Administrator Give Permission3.2.10.1 Scenario: Administrator Give Permission3.2.10.2 Activity Diagram: Administrator Give Permission3.2.10.3 Sequence Diagram: Administrator Give Permission3.2.10.4 Object Collaboration Diagram: Administrator Give Permission

3.2.11 Function 10: Get Permission3.2.11.1 Scenario: Get Permission3.2.11.2 Activity Diagram: Get Permission3.2.11.3 Sequence Diagram: Get Permission3.2.11.4 Object Collaboration Diagram: Get Permission

3.2.12 Function 11: Finish Borrowing3.2.12.1 Scenario: Finish Borrowing3.2.12.2 Activity Diagram: Finish Borrowing3.2.12.3 Sequence Diagram: Finish Borrowing3.2.12.4 Object Collaboration Diagram: Finish Borrowing

3.3 Classes Description3. 3.1 Class Diagram3.3.2 Description of The Problem Domain3.3.3 Description of The Class Controller

Jurusan Teknik Informatika ITS SRS-001 Page 5 from 62

Page 6: Software Requirement Spesification

3.3.4 Description of The Class Entity (Persistant)3.3.5 Description of The Class Boundary

3.4 Data Flow Diagram3.5 Non Functional Requirements3.6 Design Restriction3.7 Summary of Need

3.7.1 Summary of Functional Requirements3.7.2 Summary of Non Functional Requirements

Jurusan Teknik Informatika ITS SRS-001 Page 6 from 62

Page 7: Software Requirement Spesification

Daftar Tabel

Tabel 1 Aturan Penamaan dan PenomoranTabel 2 Karakteristik PenggunaTabel 3 Deskripsi Kelas Domain PersoalanTabel 4 Deskripsi Kelas PengendaliTabel 5 Deskripsi Kelas Entity Tabel 6 Deskripsi Kelas Boundary Tabel 7 Deskripsi Kebutuhan Non FungsionalTabel 8 Ringkasan Kebutuhan FungsionalTabel 9 Ringkasan Kebutuhan Non Fungsional

Jurusan Teknik Informatika ITS SRS-001 Page 7 from 62

Page 8: Software Requirement Spesification

List Picture

Picture 1. Use Case Diagram. 12Picture 2. Activity Diagram “Create Account” 13Picture 3. Activity Diagram “Edit Account” 16Picture 4. Activity Diagram “View Schedule” 17Picture 5. Activity Diagram “Apply Proposal Music Studio” 19Picture 6. Activity Diagram “Apply Proposal Classroom” 21Picture 7. Activity Diagram “Apply Proposal Laboratory” 24Picture 8. Activity Diagram “Apply Proposal Hall” 25Picture 9. Activity Diagram “Head of Major Give Permission” 27Picture 10. Activity Diagram “Administrator Give Permission” 29Picture 11. Activity Diagram “Get Permission” 30Picture 12. Activity Diagram “Finish Borrowing” 32Picture 13. Class Diagram 33

Jurusan Teknik Informatika ITS SRS-001 Page 8 from 62

Page 9: Software Requirement Spesification

1 Preliminary

1.1 Purpose of Writing The Document

This document contains the Software Requirements Specification (SRS) for Room Booking System. The purpose of writing this document is to provide an explanation of the results of the software to be built either in the form of a general overview as well as detailed and thorough explanations.

This document will be used as reference material in the process of development and evaluation materials during the process of software development and the finishing. With this Software Requirement Specification document, we expect this development will be better and have a good direction without making any ambiguity, especially for all developers of this room booking information system.

1.2 Scope of The Problem

The software that will we build is Room Booking Information System on Informatics Department, a web based desktop application that we can used to booking a classroom, hall, music studio, and laboratory on Informatics Department. This software can do all this things below: 1) Record all schedule of room usage by user2) A tools to book a room easily3) Media too view all schedule of the room reservation status

With this room booking software we hope that all user can find out the status of all room and make a booking easily for each room.

1.3 Definitions and Terms

Below is a list of important definitions and terms which will be used in this Software Requirement Specification document:

o SRS : Software Requirements SpecificationA document from analysis which is contain all requirement of this software

o IEEE : Institute of Electrical and Electronics Engineering International standard for developing and designing software

o ANSII : American National Standart Institute

Jurusan Teknik Informatika ITS SRS-001 Page 9 from 62

Page 10: Software Requirement Spesification

1.4 Rules of Naming and Numbering

This Software Requirement Software document is using various and different rules to naming and numbering for serveral certain part. The rules of naming and numbering that we will used in this document is listed on Table 1.

Table 1 Rules of Naming and Numbering

Point / Part Rule of Naming / NumberingFunctional Requirement SRS-FXX : Refering to the XXth functional requirementNon-Functional Requirement

SRS-NFXX : Refering to the XXth non-functional requirement

Summary of Functional Requirement

SRS-Fxxx where xxx is three digit number started from 000

Summary of Non-Functional Requirement

SKPL-NFxxx where xxx is three digit number started from 000

1.5 Reference

Documents below is used as reference while making this Software Requirement Specification:1) The Software Requirement Specification (SRS) document – IEEE 1999 by Karl E.

Wiegers.2) The User Guidelines and Software Requirement Specification, Informatics Departmen,

Institute Teknologi Sepuluh Nopember.

1.6 Document Overview

This document outlines consist of three chapter with this following explanation:● Chapter 1 Preliminary, an introduction of this Software Requirement Specification

that consist of purpose of this document, the scope of the problem, definitions and terms that used in this document, also general description of this document which is the summary of this Software Requirement Specification document.

● Chapter 2 General Description of This Software, this chapter define the perspective of software products, assumptions and dependencies used in this Room Booking information system development.

● Chapter 3 Detailed Requirements Description, describe all special requirements for this room booking system which includes an external interface requirements, functionality requirements, performance requirements, design constraints, attributes of software, and other requirements of this information system.

Jurusan Teknik Informatika ITS SRS-001 Page 10 from 62

Page 11: Software Requirement Spesification

2 General Description of This Software

2.1 General Description of System

This room booking information system gather all information about room that can be borrowed in Informatics Department. The information is like room capacity, schedule of reservation, reservation cost, and inventory of all room. There are four type of room that can be borrowed. Classroom, laboratory, hall, and music studio. User is divided into two kind, the first is informatics students, and the second is non-informatics student. Borrowing the room is free for informatics students. But for non-informatics student will be charged. All type of room have its own cost. There is also the administrator and head of major which have the right to give permission to borrow the room.

The information system that will we build has a couple main part based on the type of user :1) From Head of Major side, this actor can view all the schedule and give a decision

whether the reservation of the room is permitted or not based on type event that will be held on the reserved room.

2) From Administrator side, this actor have a same role, but the administrator will make sure that there is nothing will disturb this borrowing, may be something that not recorded like room repair.

This system has an access right protection for all type of user to prevent the user from doing things that not allowed into the system.

2.2 Product Function

This RESERVAROOM software has some main function:

1. (UC-001) User can create account2. (UC-002) User can edit account3. (UC-003) User can view schedule4. (UC-004) User can apply proposal for music studio5. (UC-005) User can apply proposal for classroom6. (UC-006) User can apply proposal for laboratory7. (UC-007) User can apply proposal for hall8. (UC-008) Head of Major can give permission9. (UC-009) Administrator can give permission10. (UC-010) User can get permission

Jurusan Teknik Informatika ITS SRS-001 Page 11 from 62

Page 12: Software Requirement Spesification

2.3 User Characteristics

The user characteristics of this information system is contained in this following table:No User Category Task Access Right in

ApplicationAbility to be Owned

1. Head of Major The highest right to give permission to borrow the room

Can give a decission whether the borrowing is permitted or not based on the purpose of the borrowing

1. Can operate a computer2. Can use the internet

2. Administrator Manage information system and oversee the granting of borrowing room

Can give a decision whether the borrowing is peritted or not based on the room condition

1. Can operate a computer2. Can use the internet3. Can use the database

3. Informatics User

Borrowing a room

Can propose to borrow a room

1. Can operate a computer2. Can use the internet

4. Non-informatics User

Borrowing a room and pay the cost for the room

Can propose to borrow a room

1. Can operate a computer2. Can use the internet

2.4 LimitationThis room booking information system development have limitation like:

1. Room booking information system created with Laravel, HTML, PHP, SQL-Server2. Interface only with a very basic style.3. A limited memory capacity, this memory is for saving user profile picture, data user,

room reservation status, and proposal.4. Software support like DBMS SQL-Server, Sublime Text,

2.5 Operation Interface

This room booking information system will worked under the specification :Operating System Platform : Microsoft Windows, Linux, and Mac OSOperating System version : Windows Server 2003/XP SP2/Vista/7/8 , Ubuntu 16.04, and

Mac OSDBMS : SQL-ServerFramework : Laravel, HTML, PHP, SQL-Server

Jurusan Teknik Informatika ITS SRS-001 Page 12 from 62

Page 13: Software Requirement Spesification

3 General Requirement Description

3.1 External Interface Requirement3.1.1 Input / Output InterfaceRESERVAROOM can used graphic interface (GUI). User also can interact with system

using keyboard and mouse on Windows, Linux and Mac operating system. 3.1.2 Hardware interfaceRESERVAROOM system running in computer server that has RESERVAROOM

system installed on it.3.1.3 Software InterfaceRESERVAROOM is program which is build using HTML, PHP, and SQL-Server.

Working on Windows OS, Linux OS, and Mac OS.3.1.4 Communication Interface

RESERVAROOM is connected to the internet.

3.2 Functional Description3.2.1 Use Case Diagram

Picture 1. Use Case Diagram

Jurusan Teknik Informatika ITS SRS-001 Page 13 from 62

Page 14: Software Requirement Spesification

3.2.2 Function 1: Create Account

3.2.2.1 Scenario: Create AccountUse Case Code UC 001Use Case Name Create AccountActor UserDescription This use case is used when a user want to sign up on

this information system so the user can borrow the room

Relation -

Precondition User doesn’t have an account to borrow the roomPost condition User have a registered account on the database of

this information systemNormal Flow

Actor System1. User get into the create account page

3. User input their name, NRP, email, phone number, address

2. System showing the register form that must be filled by the user

4. System checking the validity of user inputA1. The inputs is not valid5. System saving user input to the database6. Finish creating account

Alternative FlowA1. The input is not valid

Actor System

A1.2 User receive a notification that the input is not valid

A1.1 System display a notification that the input is not valid

A1.3 Back to number 2

Jurusan Teknik Informatika ITS SRS-001 Page 14 from 62

Page 15: Software Requirement Spesification

3.2.2.2 Activity Diagram: Create Account

Picture 2. Activity Diagram “Create Account”

Jurusan Teknik Informatika ITS SRS-001 Page 15 from 62

Page 16: Software Requirement Spesification

3.2.2.3 Sequence Diagram: Create Account

Picture 3. Sequence Diagram “Create Account”

3.2.2.4 Collaboration Diagram: Create Account

Jurusan Teknik Informatika ITS SRS-001 Page 16 from 62

Page 17: Software Requirement Spesification

Picture 4. Collaboration Diagram “Create Account”

3.2.3 Function 2: Edit Account

3.2.3.1 Scenario: Edit AccountUse Case Code UC 002Use Case Name Edit AccountActor UserDescription This use case describe how to edit an accountRelation -

Precondition User already have an account on the databasePost condition User account updated with a new data

Normal FlowActor System

1. User enter to the edit account page

3. User change the value of their previous input

2. System display a page that showing user’s account detail

4. System checking the validity of user’s inputA1. The input is not valid5. System update user’s data on the database6. Finish editing account

Alternative FlowA1. The input is not valid

Jurusan Teknik Informatika ITS SRS-001 Page 17 from 62

Page 18: Software Requirement Spesification

Actor System

A1.2 User receive a notification that the input is not valid, user have to press ‘OK’ button on the pop up to close the notification

A1.1 System showing a notification to that user input is not valid pop up

A1.3 Back to number 2

Jurusan Teknik Informatika ITS SRS-001 Page 18 from 62

Page 19: Software Requirement Spesification

3.2.3.2 Activity Diagram: Edit Account

Picture 5. Activity Diagram “Edit Account”

Jurusan Teknik Informatika ITS SRS-001 Page 19 from 62

Page 20: Software Requirement Spesification

3.2.3.3 Sequence Diagram: Edit Account

Picture 6. Sequence Diagram “Edit Account”

Jurusan Teknik Informatika ITS SRS-001 Page 20 from 62

Page 21: Software Requirement Spesification

3.2.3.4 Collaboration Diagram: Edit Account

Picture 7. Collaboration Diagram “Edit Account”

3.2.4 Function 3: View Schedule

3.2.4.1 Scenario: View Schedule

Use Case Code UC 003Use Case Name View ScheduleActor User or MajorDescription This use case describe how a user or major can

see all the schedule that show when a room is available to be booked and when a room is reserved by someone

Relation -

Precondition User or major have already login beforePost condition User and major can see all the room schedule

which is divided based on already booked room, waiting for confirmation, and still available

Normal FlowActor System

1. User / major accessing the view schedule page

3. User / major can search and filter the schedule base on time, room type, and availability

2. System show the schedule of every room

4. System show all the room that match with search category

Jurusan Teknik Informatika ITS SRS-001 Page 21 from 62

Page 22: Software Requirement Spesification

3.2.4.2 Activity Diagram: View Schedule

Picture 8. Activity Diagram “View Schedule”

Jurusan Teknik Informatika ITS SRS-001 Page 22 from 62

Page 23: Software Requirement Spesification

3.2.4.3 Sequence Diagram: View Schedule

Picture 9. Sequence Diagram “View Schedule”

3.2.4.4 Collaboration Diagram: View Schedule

Jurusan Teknik Informatika ITS SRS-001 Page 23 from 62

Page 24: Software Requirement Spesification

Picture 10. Collaboration Diagram “View Schedule”

3.2.5 Function 4: Apply Proposal Music Studio

3.2.5.1 Scenario: Apply Proposal Music Studio

Use Case Code UC 004Use Case Name Apply Proposal Music StudioActor UserDescription This use case describe how a user can apply proposal

and asking for permission to the head of major and administrator

Relation 1. Include (UC003) View Schedule2. Generalization from Apply Proposal

Precondition User already see the schedule and the user has not yet borrowed the room

Post condition Proposal for borrowing room has been sent to the head major

Normal FlowActor System

<<include>> View Schedule1. User enter to the ‘apply proposal’ page

3. User clicking ‘submit proposal’ button

5. User select the proposal from local

2. System show the detail of selected room

4. System provide an ‘upload proposal’ pop up to search proposal on local directory

Jurusan Teknik Informatika ITS SRS-001 Page 24 from 62

Page 25: Software Requirement Spesification

directory to upload6. User clicking ‘submit’ button 7. Checking the proposal extension and size of the

documentA1. File don’t match with the criteria8. Saving the proposal to the database9. Showing to the user that proposal has been submitted10. Give notification to the head of major and the administrator11. Finish applying proposal with message “Proposal submitted succesfully”

Alternative FlowA1. File do not match with the criteria

A1.2 User press the ‘ok’ button to close the notification

A1.1 System give a notification to the user through a pop up

A1.3 Back to number 3

Jurusan Teknik Informatika ITS SRS-001 Page 25 from 62

Page 26: Software Requirement Spesification

3.2.5.2 Activity Diagram: Apply Proposal Music Studio

Picture 11. Activity Diagram “Apply Proposal Music Studio”

Jurusan Teknik Informatika ITS SRS-001 Page 26 from 62

Page 27: Software Requirement Spesification

3.2.5.3 Sequence Diagram: Apply Proposal Music Studio

Picture 12. Sequence Diagram “Apply Proposal Music Studio”

Jurusan Teknik Informatika ITS SRS-001 Page 27 from 62

Page 28: Software Requirement Spesification

3.2.5.4 Collaboration Diagram: Apply Proposal Music Studio

Picture 13. Collaboration Diagram “Apply Proposal Music Studio”

3.2.6 Function 5: Apply Proposal Classroom

3.2.6.1 Scenario: Apply Proposal Classroom

Use Case Code UC 005Use Case Name Apply Proposal ClassroomActor UserDescription This use case describe how a user can apply proposal

and asking for permission to the head of major and administrator

Relation 1. Include (UC003) View Schedule2. Generalization from Apply Proposal

Precondition User already see the schedule and the user has not yet borrowed the room

Post condition Proposal for borrowing room has been sent to the head major

Normal FlowActor System

<<include>> View Schedule 1. User enter to the ‘apply proposal’ page

3. User clicking ‘submit proposal’ button

5. User select the proposal from local directory to upload6. User clicking ‘submit’ button

2. System show the detail of selected room

4. System provide an ‘upload proposal’ pop up to search proposal on local directory

7. Checking the proposal extension and size of the document

Jurusan Teknik Informatika ITS SRS-001 Page 28 from 62

Page 29: Software Requirement Spesification

A1. File don’t match with the criteria8. Saving the proposal to the database9. Showing to the user that proposal has been submitted10. Give notification to the head of major and the administrator11. Finish applying proposal with message “Proposal submitted succesfully”

Alternative FlowA1. File do not match with the criteria

A1.2 User press the ‘ok’ button to close the notification

A1.1 System give a notification to the user through a pop up

A1.3 Back to number 3

3.2.6.2 Activity Diagram: Apply Proposal Classroom

Jurusan Teknik Informatika ITS SRS-001 Page 29 from 62

Page 30: Software Requirement Spesification

Picture 14. Activity Diagram “Apply Proposal Classroom”

Jurusan Teknik Informatika ITS SRS-001 Page 30 from 62

Page 31: Software Requirement Spesification

3.2.6.3 Sequence Diagram: Apply Proposal Classroom

Picture 15. Sequence Diagram “Apply Proposal Classroom”

Jurusan Teknik Informatika ITS SRS-001 Page 31 from 62

Page 32: Software Requirement Spesification

3.2.6.4 Collaboration Diagram: Apply Proposal Classroom

Picture 16. Collaboration Diagram “Apply Proposal Classroom”

3.2.7 Function 6: Apply Proposal Laboratory

3.2.7.1 Scenario: Apply Proposal Laboratory

Use Case Code UC 006Use Case Name Apply Proposal LaboratoryActor UserDescription This use case describe how a user can apply proposal

and asking for permission to the head of major and administrator

Relation 1. Include (UC003) View Schedule2. Generalization from Apply Proposal

Precondition User already see the schedule and the user has not yet borrowed the room

Post condition Proposal for borrowing room has been sent to the head major

Normal FlowActor System

<<include>> View Schedule 1. User enter to the ‘apply proposal’ page

3. User clicking ‘submit proposal’ button

5. User select the proposal from local

2. System show the detail of selected room

4. System provide an ‘upload proposal’ pop up to search proposal on local directory

Jurusan Teknik Informatika ITS SRS-001 Page 32 from 62

Page 33: Software Requirement Spesification

directory to upload7. Checking the proposal extension and size of the documentA1. File don’t match with the criteria8. Saving the proposal to the database9. Showing to the user that proposal has been submitted10. Give notification to the head of major and the administrator11. Finish applying proposal with message “Proposal submitted succesfully”

Alternative FlowA1. File do not match with the criteria

A1.2 User press the ‘ok’ button to close the notification

A1.1 System give a notification to the user through a pop up

A1.3 Back to number 3

Jurusan Teknik Informatika ITS SRS-001 Page 33 from 62

Page 34: Software Requirement Spesification

3.2.7.2 Activity Diagram: Apply Proposal Laboratory

Picture 17. Activity Diagram “Apply Proposal Laboratory”

Jurusan Teknik Informatika ITS SRS-001 Page 34 from 62

Page 35: Software Requirement Spesification

3.2.7.3 Sequence Diagram: Apply Proposal Laboratory

Picture 18. Sequence Diagram “Apply Proposal Laboratory”

Jurusan Teknik Informatika ITS SRS-001 Page 35 from 62

Page 36: Software Requirement Spesification

3.2.7.4 Collaboration Diagram: Apply Proposal Laboratory

Picture 19. Collaboration Diagram “Apply Proposal Laboratory”

3.2.8 Function 7: Apply Proposal Hall

3.2.8.1 Scenario: Apply Proposal Hall

Use Case Code UC 007Use Case Name Apply Proposal HallActor UserDescription This use case describe how a user can apply proposal

and asking for permission to the head of major and administrator

Relation 1. Include (UC003) View Schedule2. Generalization from Apply Proposal

Precondition User already see the schedule and the user has not yet borrowed the room

Post condition Proposal for borrowing room has been sent to the head major

Normal Flow

Jurusan Teknik Informatika ITS SRS-001 Page 36 from 62

Page 37: Software Requirement Spesification

Actor System<<include>> View Schedule1. User enter to the ‘apply proposal’ page

3. User clicking ‘submit proposal’ button

5. User select the proposal from local directory to upload6. User clicking ‘submit’ button

2. System show the detail of selected room

4. System provide an ‘upload proposal’ pop up to search proposal on local directory

7. Checking the proposal extension and size of the documentA1. File don’t match with the criteria8. Saving the proposal to the database9. Showing to the user that proposal has been submitted10. Give notification to the head of major and the administrator11. Finish applying proposal with popup message “Proposal submitted succesfully”

Alternative FlowA1. File do not match with the criteria

A1.2 User press the ‘ok’ button to close the notification

A1.1 System give a notification to the user through a pop up

A1.3 Back to number 3

Jurusan Teknik Informatika ITS SRS-001 Page 37 from 62

Page 38: Software Requirement Spesification

3.2.8.2 Activity Diagram: Apply Proposal Hall

Picture 20. Activity Diagram “Apply Proposal Hall”

Jurusan Teknik Informatika ITS SRS-001 Page 38 from 62

Page 39: Software Requirement Spesification

3.2.8.3 Sequence Diagram: Apply Proposal Hall

Picture 21. Sequence Diagram “Apply Proposal Hall”

Jurusan Teknik Informatika ITS SRS-001 Page 39 from 62

Page 40: Software Requirement Spesification

3.2.8.4 Collaboration Diagram: Apply Proposal Hall

Picture 22. Collaboration Diagram “Apply Proposal Hall”

3.2.9 Function 8: Head of Major Give Permission

3.2.9.1 Scenario: Head of Major Give Permission

Use Case Code UC 008Use Case Name Head of Major Give PermissionActor Head of MajorDescription This use case show how a permission from head

of major is given to the userRelation Generalization from Give PermissionPrecondition The head of major has been logged in and receive a

notification that there is a reservation for a room waiting for confirmation

Post condition The head of major give his/her decision whether permitted or not

Normal FlowActor System

1. Head of major access the ‘give permission’ page

3. Head of major choose a schedule to confirm

5. Head of major clicking the ‘show proposal’ button

2. System showing all schedule that has been reserved by the user

4. System showing the detail of selected schedule

Jurusan Teknik Informatika ITS SRS-001 Page 40 from 62

Page 41: Software Requirement Spesification

7. Head of major checking the proposal8. Head of major give permission to the userA1. Permission declined

6. System directly show the proposal on the page

9. Finish

Alternative FlowA1. Permission declined

Actor SystemA1.1 Head of major giving a reason or comment to the user about why the proposal is declined

A1.2 System send a notification to the user that the proposal is declinedA1.3 Finish

Jurusan Teknik Informatika ITS SRS-001 Page 41 from 62

Page 42: Software Requirement Spesification

3.2.9.2 Activity Diagram: Head of Major Give Permission

Picture 23. Activity Diagram “Head of Major Give Permission”

Jurusan Teknik Informatika ITS SRS-001 Page 42 from 62

Page 43: Software Requirement Spesification

3.2.9.3 Sequence Diagram: Head of Major Give Permission

Picture 24. Sequence Diagram “Head of Major Give Permission”

Jurusan Teknik Informatika ITS SRS-001 Page 43 from 62

Page 44: Software Requirement Spesification

3.2.9.4 Collaboration Diagram: Head of Major Give Permission

Picture 25. Collaboration Diagram “Head of Major Give Permission

3.2.10 Function 10: Administrator Give Permission

3.2.10.1 Activity Diagram: Administrator Give Permission

Use Case Code UC 009Use Case Name Administrator Give PermissionActor AdministratorDescription This use case describe how administrator give a

permission to the user to reserve a roomRelation Generalization from Give PermissionPrecondition Head of major has given the permissionPost condition Administrator give a decision to the user whether

the permission is granted or declined Normal Flow

Actor System1. Administrator access the ‘give permission’ page

3. Administrator choose a schedule that has been confirmed by head of major to confirm

5. Administrator clicking the ‘show proposal’ button

2. System showing all schedule that has been confirmed by the head of major

4. System showing the detail of selected schedule

6. System directly show the proposal on the page

Jurusan Teknik Informatika ITS SRS-001 Page 44 from 62

Page 45: Software Requirement Spesification

7. Administrator checking the proposal8. Administrator give permission to the userA1. Permission declined 9. Finish

Alternative FlowA1. Permission declined

Actor SystemA1.1 Administrator giving a reason or comment to the user about why the proposal is declined

A1.2 System send a notification to the user that the proposal is declinedA1.3 Finish

3.2.10.2 Activity Diagram: Administrator Give Permission

Jurusan Teknik Informatika ITS SRS-001 Page 45 from 62

Page 46: Software Requirement Spesification

Picture 26. Activity Diagram “Administrator Give Permission”

Jurusan Teknik Informatika ITS SRS-001 Page 46 from 62

Page 47: Software Requirement Spesification

3.2.10.3 Sequence Diagram: Administrator Give Permission

Jurusan Teknik Informatika ITS SRS-001 Page 47 from 62

Page 48: Software Requirement Spesification

Jurusan Teknik Informatika ITS SRS-001 Page 48 from 62

Page 49: Software Requirement Spesification

Picture 27. Sequence Diagram “Administrator Give Permission”

3.2.10.4 Collaboration Diagram: Administrator Give Permission

Picture 28. Collaboration Diagram “Administrator Give Permission”

3.2.11 Function 10: Get Permission

3.2.11.1 Scenario: Get Permission

Use Case Code UC 010Use Case Name Get PermissionActor UserDescription This use case describe how user get a

permission to reserve a roomRelation -Precondition Head of major and administrator has given the

permission

Jurusan Teknik Informatika ITS SRS-001 Page 49 from 62

Page 50: Software Requirement Spesification

Post condition User know that permission has grantedNormal Flow

Actor System1. User access the ‘get permission’ page

2. System showing the reservation status3. Finish

Alternative Flow-

3.2.11.2 Activity Diagram: Get Permission

Picture 29. Activity Diagram “Get Permission”

3.2.11.3 Sequence Diagram: Get Permission

Jurusan Teknik Informatika ITS SRS-001 Page 50 from 62

Page 51: Software Requirement Spesification

Picture 30. Sequence Diagram “Get Permission”

3.2.11.4 Collaboration Diagram: Get Permission

Jurusan Teknik Informatika ITS SRS-001 Page 51 from 62

Page 52: Software Requirement Spesification

Picture 31. Collaboration Diagram “Get Permission”

3.2.12 Function 12: Finish Borrowing

3.2.12.1 Scenario: Finish Borrowing

Use Case Code UC 011Use Case Name Finish BorrowingActor UserDescription This use case describe how a user declare to

finish the borrowingRelation -Precondition User has borrow the roomPost condition User do not have access to the room

Normal FlowActor System

1. User access the ‘finish borrowing’ page

3. User declare that the borrowing is over by clicking the ‘finish’ button

2. System showing ‘finish borrowing’ page

5. System update the status of reservation to ‘finish’ state4. Finish

Alternative Flow-

Jurusan Teknik Informatika ITS SRS-001 Page 52 from 62

Page 53: Software Requirement Spesification

3.2.12.2 Activity Diagram: Finish Borrowing

Picture 32. Activity Diagram “Finish Borrowing”

Jurusan Teknik Informatika ITS SRS-001 Page 53 from 62

Page 54: Software Requirement Spesification

3.2.12.3 Sequence Diagram: Finish Borrowing

Picture 33. Sequence Diagram “Finish Borrowing”

3.2.12.4 Collaboration Diagram: Finish Borrowing

Picture 34. Collaboration Diagram “Finish Borrowing

Jurusan Teknik Informatika ITS SRS-001 Page 54 from 62

Page 55: Software Requirement Spesification

3.3 Classes Description

3.3.1 Class Diagram

Jurusan Teknik Informatika ITS SRS-001 Page 55 from 62

Page 56: Software Requirement Spesification

Jurusan Teknik Informatika ITS SRS-001 Page 56 from 62

Page 57: Software Requirement Spesification

Picture 35. Class Diagram

3.3.2 Replacement Class Description

Tabel 4 Deskripsi Kelas Pengendali

No. Nama Metode Atribut Tugas

1 Control Registrasi verifyInput()

Memverifikasi input yang dimasukkan user sebelum data di simpan ke database

insertData() Insert data ke database

2 Control Edit Account

getDataUser() Mencari data user yang diinginkan

verifyInputData()

Memverifikasi input yang dimasukkan user sebelum data di simpan ke database

updateData() Update data user yang ada di database

3 Control View Schedule

getData() Mencari data user yang diinginkan

filteringData()Filterisasi schedule berdasarkan bulan / minggu / hari

4 Control Get Permission

getData() Mencari data reservasi yang ada di database

getDataReservationRoom()Mencari data status reservasi yang di inginkan

5 Control Apply Proposal

chooseRoom() Memilih room yang akan dipinjam

verifyUploadFile()Memverifikasi file proposal sebelum diupload

savingProposal() Save file proposal ke database

6 Control Head Permission setStatusHeadOk() Memberikan approve

pada status proposal

7Control

Administrator Give Permission

getData() Mencari data reservasi yang ada di database

getDataReservationRoom() Mencari data reservasi yang ada di database

sendNotifyRevision()

Mengirimkan notifikasi kepada user untuk melakukan revisi proposal

8 Control Finish Borrowing getData() Mencari data reservasi

yang ada di database

Jurusan Teknik Informatika ITS SRS-001 Page 57 from 62

Page 58: Software Requirement Spesification

3.3.3 Entity Class Description (Persisten)

Picture 36. Physical Data Model

Tabel 5 Deskripsi Kelas Entity

No.

Nama Atribut Metode Tugas

1 USER

ID_USER : integer

setDataUser()

Set data user (create, update, delete) ke database

NAME : varcharNRP : varcharEMAIL : varcharPHONE : varcharPASSWORD : varcharSTATUS : varcharCREATE_AT : timestamp UPDATE_AT : timestamp

2 ROOM ID_ROOM : integer setRoomData() Set data room (create, update, delete) ke database

ROOM_NAME : varcharTYPE : varcharCOST : integerCAPACITY : integer

Jurusan Teknik Informatika ITS SRS-001 Page 58 from 62

Page 59: Software Requirement Spesification

CREATE_AT : timestampUPDATE_AT : timestamp

3 RESERVATION

ID_RESERVATION : integer

- setDataReservationRoom()

setPermission()saveToDatabase()

Set data end status dari reservasi

EVENT_NAME : varchar Set status permission ada status proposal dari reservasi

STARTDATE : timestamp Save proposal kedatabase agar dapat didownload oleh head of major dan admin

ENDDATE : timestampPROPOSAL : varcharPERMISSION_STATUS : varcharPROPOSAL_STATUS : varcharENDSTATUS : varcharCREATE_AT : timestampUPDATE_AT : timestamp

3.3.4 Boundary Class DescriptionTabel 6 Deskripsi Kelas Boundary

No. Nama Atribut Metode Tugas

Form Registration

chooseFormRegistration() Mengaktifkan form registrationshowForm() Menampilkan form registation

fillForm() Menampung inputan pada form registration

Form Edit account

chooseEditAccount() Mengaktifkan for edit accountshowFormEditAccount() Menampilkan form edit account

fillFormEdit() Menampung inputan pada form edit account

PressOkButton() Update data user ke database

UI View Schedule

chooseUIViewSchedule() Mengaktifkan UI View Schedule

inputCategory() Memilih jenis kategori yang diinginkan (bulan, minggu, hari)

showAllSchedule() Menampilkan seluruh schedule dalam satu bulan

UI Get Permission chooseGetPermission() Mengaktifkan UI Get PermissionResult() Menampilkan status permission

Jurusan Teknik Informatika ITS SRS-001 Page 59 from 62

Page 60: Software Requirement Spesification

pada sebuah reservasi

Form Apply Proposal

chooseApplyProposal() Mengaktifkan Form Apply Proposal

clickSubmitProposalForm()

Menyimpan inputan reservasi ke database

sistemShowDetail() Melihat detail reservasi yang pernah dilakukan

uploadProposal() Mengupload file proposal kedatabase

showNotification()Memberikan pesan notifikasi kepada user untuk melakukan revisi

pressOk() Menutup notifikasishowMessageFinishUploading()

Memberikan pesan bahwa file proposal berhasi diupload

Form Head Major Give Permission headGiveStatus() Memberikan status approve pada

proposal status

UIAdministrator

choosePermission() Memilih reservasi yang akan ditindak lanjuti

chooseSchedule() Melihat schedule

clickShowProposal() Memilih proposal yang akan didownload

showProposal() Menampilkan proposal yang telah didownload

showPermission() Menampilkan status permission

showDetailPermission() Menampilkan detail status permission

DeclinePermission()_ Memberikan status penolakan untuk sebuah reservasi

giveComment() Memberikan komentar terhadap reservasi user

Notify() Memberikan notifikasi

UI Finish Borrowing

chooseFinishBorrowing() Mengupdate end status pada sebuah reservas menjadi finish

showDataFinishBorowing() Menampilkan data dari reservasi

clickFinish() Menberikan status finish pada sebuah reservasi

Jurusan Teknik Informatika ITS SRS-001 Page 60 from 62

Page 61: Software Requirement Spesification

3.4 Data Flow Diagram

Picture 37. Data Flow Diagram

3.5 Non Functional RequirementsTabel 7 Deskripsi Kebutuhan Non Fungsional

SKPL-Id Parameter KebutuhanSKPL-N01 Availability Proses pengajuan perizinan bisa dilakukan kapan saja

karena bisa diakses melalui internetSKPL-N02 Performance Kecepatan proses bergantung pada serverSKPL-N03 Security Terdapat batasan hak akses antara user,

administrator, dan head of major.

3.6 Planning Restrictionsa. Rancangan ini hanya berfokus pada proses perizinan dalam peminjaman ruangan

yang berada di Jurusan Teknik Informatika ITSb. Teknologi yang digunakan menggunakan framework laravel 5.2

3.7 Summary of Needs

3.7.1 Summary of Functional Requirements

Jurusan Teknik Informatika ITS SRS-001 Page 61 from 62

Page 62: Software Requirement Spesification

Tabel 8 Ringkasan Kebutuhan Fungsional

SKPL-Id KeteranganSKPL-F001 Sistem bisa melakukan reservasi untuk ruangan tertentuSKPL-F002 Sistem bisa memperlihatkan daftar ruangan yang telah dipinjam oleh siapapunSKPL-F003 Sistem bisa memperlihatkan status peminjaman dari sebuah reservasi

3.7.2 Summary of Non Functional Requirements

Tabel 9 Ringkasan Kebutuhan Non Fungsional

SKPL-Id KeteranganSKPL-NF001 Sistem bisa diakses dari manapunSKPL-NF002 Sistem bisa diakses menggunakan sistem operasi apapun.SKPL-NF003 Sistem bisa diakses setiap waktu

Jurusan Teknik Informatika ITS SRS-001 Page 62 from 62