SlideShare a Scribd company logo
Software Design Specification Document (SDD)
By David M. Jones
November 16, 2014
Table of Contents
1. Introduction
…………………………………………………………………………
…………………… 1
1.1 Purpose
…………………………………………………………………………
…………… 1
1.2 Scope
…………………………………………………………………………
………………. 1
1.3 Definitions and acronyms
…………………………………………………………… 1
2. References
…………………………………………………………………………
…………………….. 1
3. Decomposition description
………………………………………………………………………. 2
3.1 Module decomposition
……………………………………………………………… 3
3.2 Concurrent process decomposition
………………….………………………. 9
3.3 Data decomposition
………………………………………………………………… 10
4 Dependency description
…………………………………………………………………………
. 11
4.1 Intermodule dependencies
……………………………………………………… 13
4.2 Interprocess dependencies
……………………………………………………… 14
4.3 Data dependencies
………………………………………………………………….. 15
5. Interface description
…………………………………………………………………….…
……… 16
5.1 Module description
…………………………………………………………….……. 16
5.2 Process description
………………………………………………………………….. 24
6. Detailed design
…………………………………………………………………………
…….….….. 25
6.1 Module detailed design
………………………………………………….………. 25
6.2 Data detailed design
……………………………………………………….….…… 30
1. Introduction
1.1 Purpose
This document’s purpose is to document the set of requirements
for the development of a software
management system for a bed and breakfast operation. It
describes how reservations and financial
transactions are made. It also specifies the human to computer
graphical user interface screens.
1.2 Scope
This Bed and Breakfast Management System enables a the
automated operation of a 3 bedroom bed and
breakfast business. Customers can call the Bed and Breakfast
reservation phone number and give desired
reservation dates. A staff member can check the available and
give the daily price rate for each room. The
customer can provide a reservation guarantee date. The guest
reservation information will be entered by
the staff member while the customer is on the phone. After the
stay, there is a check out process.
Additionally the owner can generate a profit report to monitor
the financial status of the operation.
1.3 Definitions
a. BBMS – Bed and Breakfast Management System
b. Reservation – A room assigned to a guest stay for a specific
date range
c. Guarantee – Financial contract between the management of
the bed and breakfast and a guest that
a room reservation will be available to the guest
d. Workflow – Sequential steps needed to accomplish a task
e. Domain Object – A computer entity that holds information
for a given function
f. User interface – A computer graphical element that enables
the user to interact with the software
g. GUI – Graphical User Interface which the method by which
the user interacts with the BBMS
2. References
IEEE. Std 1016-1998 IEEE Recommended Practice for Software
Design Descriptions. IEEE Computer Society,
1998.
3. Decomposition description
Entity Relationship Diagram
This describes the complete ERD for the entire BBMS. It shows
the relationship between domain objects, as
shown in blue, and their services, as shown in gray.
Reservation
Check Out
Profit Report
ViewCalendar
room: Rooms
reservation: Reservations
setRoomId(integer): void
setReservationId: void
getPrice(double): void
getReservedFlag(boolean): void
getReservationStartDate(date):void
getReservationEndDate(date):void
MakeReservation
room: Rooms
reservation: Reservations
setReservated (boolean): void
addReservation(integer): void
setGuaranteed(boolean): void
putGuaranteedDate(date): void
putStartDate(date): void
putEndDate(date): void
AddGuest
reservation: Reservations
guest: Guests
addGuest(integer): void
putFirstName(string): void
putLastName(string): void
putAddress(string): void
putPhone(integer): void
putCreditCardNumber(integer): void
putCreditCartExpDate(integer): void
MakePayment
guest: Guests
payment: Payments
addPayment(integer): void
putPaymentDate(date): void
putTotalAmount(double):void
putPaymentAmount(double): void
getCreditCardNumber(integer): void
chargePayment(double): void
PrintReport
payment: Payments
getStartDate(date): void
getEndDate(date): void
getPaymentDate(date): void
getAmount(double): void
printStartDate(date): void
printEndDate(date):void
printProfit(double):void
Rooms
roomId: Integer
roomRate: Double
reserved: Boolean
ReservationId: Double
Reservations
reservationId: Integer
startDate: Date
endDate: Date
guaranteed: Boolean
guarenteeDate: Date
roomId: Integer
guestId: Integer
paymentId: Integer
Guests
guestId: Integer
lastName: String
firstName: String
address: String
phoneNumber: Integer
creditCardNumber: Integer
creditCardExpDate: Integer
Payments
guestId: Intiger
paymentDate: Date
amountPaid: Double
totalAmount: Double
CheckOut
guest: Guests
reservation: Reservations
payment: Payments
room: Rooms
displayGuests(string): void
setGuestId(integer): void
getAmountOwed(double): void
getCreditCardNumber(integer):void
chargeAmount(double): void
setRoomUnreserved(boolean): void
3.1 Module decomposition
This BBMS is comprised of 4 different components, providing
specific functions of the software system. The
overall design has the following functions: User Interface,
Services, Domain objects, and Database. The high
level architectural context diagram shows how the user
interface, services, and domain objects function
together and how they access the database.
Architectural Context Diagram
This architectural context diagram shows the 4 contexts. The
first is the user interface where staff interact
with the computer. The second is the software services used
throughout the full operation of the BBMS. The
third part diagrams the data domain objects contain the data.
The last part is the database that is the
software mechanism of data disk storage and retrieval.
Services
User
Interface
Domain
Objects
Database
Stores
Retrieves
Stores
Retrieves
Manages
Interacts
3.1.1 User Interface
This module contains the GUI functions of user interface. The
external part of this system is the computer
monitor, keyboard, mouse. Although not part of the GUI, a
printer is also an external part for printing the
profit report.
Architectural Context Diagram of the User Interface
3.1.1.1 Main Menu
This is the first user interface entity. It gives the user the choice
of starting new reservations, checking out a
guest, and printing the profit report. The Reports selection that
goes to the profit report is password
protected.
3.1.1.2 Calendar Lookup
This displays a calendar with room reservation days in
highlighted date squares on the calendar. The room is
selected by a button. Additionally the daily price rate for the
selected room is shown at the top of the
screen. Also the process interfacing with this screen will check
the selected room’s guaranteed reservation
date and if it is expired, the room is marked and displayed as
unreserved.
3.1.1.3 Room Reservation
This is the starting point of making a reservation. The start and
end dates can be entered manually or by a
pop-up calendar button in the date boxes. The room is reserved
and the user clicks the button the create
the reservation and go on the entering guest data. The
reservation can be canceled with the cancel button.
3.1.1.3 Guest Information
Calendar Lookup Room Reservation Guest Information Guest
Payment
Check Out
User
Interface
Main Menu
Print Report
This is where the guest name, address, and credit card
information is entered. The save guest button is then
clicked to go to the next screen. If the user wishes to cancel the
reservation, the cancel button is clicked and
the room is marked a unreserved.
3.1.1.4 Guest Payment
This screen is where the user enters the guest’s payment. Also if
the reservation is guaranteed the
guaranteed box is clicked and the guarantee date is entered.
3.1.1.5 Finalize Payment
This screen is accessed by way of the main menu Check Out
button. It lists guest names by room number.
The user clicks the desired guest name and the total amount of
the customer’s bill is displayed. If there is
any balance due the finalize payment button will atomically
charge that amount to the guest’s credit card. If
the is no balance due the finalize payment button only
completes the stay.
3.1.2 Services
This module contains the descriptions of the services required
for the data processing of the BBMS
functions. It provides output and input to the user interface and
manages the domain objects. It’s functions
include looking up reservation dates for rooms, making the
reservation, final checkout, and the profit report.
Architectural Context Diagram of the Services
3.1.2.1 CalenderLookup Service
This service retrieves reservation dates for a selected room and
displays the start to end dates on calendar
screen. Since the user is relaying room reservation to the
potential guest over the phone, the daily cost rate
is also displayed on the screen for the selected room.
3.1.2.2 MakeReservation Service
This service is used to reserve the selected room by setting the
room’s reserved flag to true and creating a
reservation record. The reservation record is populated with the
start and end dates. It sets the reservation
guaranteed flag and date. This service’s logic is triggered by the
Create Reservation button being clicked on
the user interface screen.
3.1.2.3 AddGuest Service
This service creates a guest record and populates it with the
guest’s name, address, phone number, and
credit card information. This logic is triggered by clicking Save
Guest button on the user interface screen.
Clicking Cancel on that screen will set the room reserved flag to
false and deleting the reservation record.
3.1.2.4 MakePayment Service
CalendarLookup
ReserveRoom
AddGuest
MakePayment
CheckOut
Services
ProfitLossReport
This service makes a payment by the guest for reserving a room.
When the payment amount is obtained, a
payment record is created and the guest’s credit card is charged.
This logic is triggered by clicking the Make
Payment button on the screen. If the Cancel Reservation button
is clicked, the room’s reserved flag is set to
false, the customer record is deleted, and the reservation record
is deleted.
3.1.2.5 CheckOut Sercvice
This service is executed upon guest checkout. If there is any
balance due, that amount is charged to the
guest’s credit card. It sets the room’s reserved flag to false.
3.1.2.6 ProfitReport Service
This service calculates the sum of the payment record amounts
and prints the profit report.
3.1.3 Domain Objects
This module contains the descriptions of the domain objects
required for the functioning of the BBMS
functions. These objects contain the data used in the 7 services.
Architectural Context Diagram of the Domain Objects
3.1.3.1 Room
This object contains the daily price rate of the room and the flag
stating if it is reserved.
3.1.3.2 Reservation
This object contains the reservation information that is assigned
to a room.
3.1.3.3 Guest
This object contains the guest information that is assigned to a
reservation.
3.1.3.4 Payments
This object contains the payments made by a guest.
Room Reservation Guest Payments
Domain
Objects
3.1.4 Database
This module describes the software mechanism by which data in
the domain objects is stored and retrieved
to the disk drive for long term storage. The database preserves
the data state of the BBMS regardless of
which service is current functioning. Also if the computer is
shut down for maintenance, the database allows
the BBMS to start backup with the same data state that was in
the system before the shutdown.
Architectural Context Diagram of the Database
Database
Services
Domain
Objects
3.2 Concurrent process decomposition
This describes the processes from the user interface through the
services to the domain objects. The
services function independently of the user. Also the services
create, update, and delete the domain objects
of the BBMS.
3.2.1 Display Reservation Entity
This entity is used to display reservation dates in calendar
format for a selected room.
3.2.2. Make Reservation Entity
This entity is used to make the reservation of the selected room.
It creates a new reservation, new guest,
and first payment.
3.2.3 Check Out Entity
This entity is use for a selected guest to make payment of any
balance due. It also sets the room the guest
stayed in to available for reservation.
3.3 Data Decomposition
This describes the software entities that contain data for the
operation of the BBMS.
3.3.1 Room Entity
This entity holds data for determining if a room is available for
reservation and also holds the daily rate price
of the room.
3.3.2 Reservation Entity
This entity holds the reservation data for a reserved room.
3.3.3 Guest Entity
This entity holds the guest data associated to a reserved room.
3.3.4 Payments Entity
This entity holds the payment data the a guest pays for the stay
in the room.
4. Dependency Description
Data Flow Diagram
Service functions create, update, and delete domain objects
which have the data stored on the disk drive by
the database mechanism.
Services
Reserve
Room
Check Out
Display
Calendar
Add Guest
Information
Make
Payment
Domain
Objects
Room
Reservation
Guest
Payments
Print profit
report
Creates
Updates
Deletes
Out: roomNumber
In: roomRate
In: startDate
In: endDate
Out: roomNumber
Out: reserved
Out: guaranteed
Out : guaranteedDate
Out: startDate
Out: endDate
Out: reservatinId
Out: name
Out: Address
Out: CreditCard
In: name
In: roomRate
Out: payment
In: names
Out: customerId
In: totalAmount
In: amountDue
In: creditCard
In: roomNumber
Out:Reserved
In:payments
Out: profitLoss
Main Menu
Database
Stores
Retrieves
Stores
Retrieves
4.1 Intermodule Dependencies
There are 4 key modules of the BBMS. They are user interface,
services, domain objects, and the database.
Intermodule Dependency Diagram
4.1.1 User Interface Module
This module is dependent on the service module for the user
GUI operation. It is also dependent on the
domain objects for data entry and display.
4.1.2 Services Module
This module is dependent on the data that is contained in the
domain objects.
4.1.3 Domain Objects Module
This module are dependent on the services to process the data
contained in it.
4.1.4 Database Module
This module is dependent on the services module to store,
retrieve, and delete data that is used in the
BBMS. It is also dependent on the domain objects module for
the actual data that is processed in the
services module.
User
Interface
Services
Domain
Objects
Interacts
Manages
Database
Stores
Retrieves
Stores
Retrieves
4.2 Interprocess Dependencies
Interprocess Dependency Diagram
4.2.1 ViewCalendar is dependent on the MakeReservation
service to display the reserved start and end
dates for a selected room.
4.2.2 AddGuest is dependent on the MakeReservation service to
create a reservation record so it can update
it with the guest ID number.
4.2.3 MakePayment is dependent on the AddGuest service to get
the guest ID number for the guest
payment.
4.2.4 CheckOut is dependent on the AddGuest service to get the
guest name and guest ID number. It is also
dependent on the MakePayment to get any amount still owed by
the guest.
4.2.4 GenerateReport is dependent on the MakePayment service
to get the sum of the payments made.
ViewCalendar
room: Rooms
reservation: Reservations
setRoomId(integer): void
setReservationId: void
getPrice(double): void
getReservedFlag(boolean): void
getReservationStartDate(date):void
getReservationEndDate(date):void
MakeReservation
room: Rooms
reservation: Reservations
setReservated (boolean): void
addReservation(integer): void
setGuaranteed(boolean): void
putGuaranteedDate(date): void
putStartDate(date): void
putEndDate(date): void
AddGuest
reservation: Reservations
guest: Guests
addGuest(integer): void
putFirstName(string): void
putLastName(string): void
putAddress(string): void
putPhone(integer): void
putCreditCardNumber(integer): void
putCreditCartExpDate(integer): void
MakePayment
guest: Guests
payment: Payments
addPayment(integer): void
putPaymentDate(date): void
putTotalAmount(double):void
putPaymentAmount(double): void
getCreditCardNumber(integer): void
chargePayment(double): void
PrintReport
payment: Payments
getStartDate(date): void
getEndDate(date): void
getPaymentDate(date): void
getAmount(double): void
printStartDate(date): void
printEndDate(date):void
printProfit(double):void
CheckOut
guest: Guests
reservation: Reservations
payment: Payments
room: Rooms
displayGuests(string): void
setGuestId(integer): void
getAmountOwed(double): void
getCreditCardNumber(integer):void
chargeAmount(double): void
setRoomUnreserved(boolean): void
PrintReport
payment: Payments
getStartDate(date): void
getEndDate(date): void
getPaymentDate(date): void
getAmount(double): void
printStartDate(date): void
printEndDate(date):void
printProfit(double):void
4.3 Data Dependencies
Data dependencies are associated with the process
dependencies.
Data Dependency Diagram
4.3.1 Rooms and Reservations are dependent by roomID.
4.3.2 Reservations and Guests are dependent by guestID.
4.3.3 Guests and Payments are dependent by guestID.
ViewCalendar
room: Rooms
reservation: Reservations
setRoomId(integer): void
setReservationId: void
getPrice(double): void
getReservedFlag(boolean): void
getReservationStartDate(date):void
getReservationEndDate(date):void
MakeReservation
room: Rooms
reservation: Reservations
setReservated (boolean): void
addReservation(integer): void
setGuaranteed(boolean): void
putGuaranteedDate(date): void
putStartDate(date): void
putEndDate(date): void
AddGuest
reservation: Reservations
guest: Guests
addGuest(integer): void
putFirstName(string): void
putLastName(string): void
putAddress(string): void
putPhone(integer): void
putCreditCardNumber(integer): void
putCreditCartExpDate(integer): void
MakePayment
guest: Guests
payment: Payments
addPayment(integer): void
putPaymentDate(date): void
putTotalAmount(double):void
putPaymentAmount(double): void
getCreditCardNumber(integer): void
chargePayment(double): void
PrintReport
payment: Payments
getStartDate(date): void
getEndDate(date): void
getPaymentDate(date): void
getAmount(double): void
printStartDate(date): void
printEndDate(date):void
printProfit(double):void
Rooms
roomId: Integer
roomRate: Double
reserved: Boolean
ReservationId: Double
Reservations
reservationId: Integer
startDate: Date
endDate: Date
guaranteed: Boolean
guarenteeDate: Date
roomId: Integer
guestId: Integer
paymentId: Integer
Guests
guestId: Integer
lastName: String
firstName: String
address: String
phoneNumber: Integer
creditCardNumber: Integer
creditCardExpDate: Integer
Payments
guestId: Intiger
paymentDate: Date
amountPaid: Double
totalAmount: Double
CheckOut
guest: Guests
reservation: Reservations
payment: Payments
room: Rooms
displayGuests(string): void
setGuestId(integer): void
getAmountOwed(double): void
getCreditCardNumber(integer):void
chargeAmount(double): void
setRoomUnreserved(boolean): void
5. Interface Description
5.1 Module Description
The module description of the interface description is a
description of the user interface.
User Interface
The user interface provides the users through the use of GUI’s
with the means of interacting with the BBMS
software system. The functions in the user interface gives the
ability to:
1. Check the selected room available by calendar display.
2. Reserve a room.
3. Enter Guest information.
4. Guarantee a reservation.
5. Make initial payment.
6. Checkout.
a. Make final, if any, payment
b. Automatically set the room reserved flag to available
5.1.1 Main Menu
Bed and Breakfast Management System
Reservations
Check Out
Reports
5.1.2 Reservation Calendar
The reservation calendar screen presents the user with a
calendar display with colored boxes for the days
that the selected room is reserved. The Previous and Next
Month buttons bring the previous or next month
into the display. The Room buttons select the room to check
reservations for. At the top of the screen the
daily room rate price for the selected room is displayed. If the
user wants to make a reservation the Start
Reservation button is clicked, otherwise Cancel returns to the
main menu.
Sun Mon Tue Wed Thu Fri Sat
1 2
8
15
22
29
9
16
23
30
3
10
17
4 5 6 7
11 12 13 14
18 19 20 21
24 25 26 27
31
28
Room 1
Room 2
Room 3
Start Reservation
Exit
< Previous Month
Next Month >
Daily room rate $120.00
5.1.3 Room Reservation Entry
Reservation Start Date
12/14/2014
Reservation End Date
12/16/2014
Room 1
Room 2
Room 3
Create Reservation
Cancel
Daily Rate $120.00
Guaranteed X Guaranteed Date 12/10/2014
5.1.4 Guest Data Entry
The guest data entry screen provides the user with the ability to
enter the guest’s name, address, phone
number, and credit card information. To save the data entered,
the Save Guest button is clicked. The Cancel
button returns to the main menu.
Cancel Save Guest
First Name
Last Name
Address
Phone (999)999-9999
Credit Card Number 999-999-999-9999 Expiration Date
99/99/99
5.1.5 Payment Entry
The payment entry screen display’s the guest’s name and the
daily room price rate for the room. The
Guaranteed box is clicked and the guarantee date is entered if
the reservation is guaranteed. The payment
amount is entered. When the Make Payment button is clicked,
the guest’s credit card is charged and the
payment for that guest is stored. If Canceled Reservation is
clicked the guest data is deleted from the
database, the room reserved flag for that room is cleared, and
the system returns to the main menu screen.
John Smith
Daily Room Rate $120.00
Payment Amount $360.00
Make Payment Cancel Reservation
Total Amount $360.00
5.1.6 Check Out
The check out screen is displayed when the Check Out button is
clicked from the main menu. A selection list
of names assigned to each room is displayed. The user clicks
the guest name to check out. If there is any
balance still owed by the customer, the Finalize button will
charge any remaining amount owed by the guest
to the guest’s credit card. Also when the Finalize button is
clicked, the reserved flag is automatically cleared
for that room in the room database.
Guest name 1
Guest name 2
Guest name 3
Room 1
Room 2
Room 3
Total amount $999.99
Balance Due $999.99
Finalize Cancel
5.1.7 Profit Report
The profit report screen is displayed when the Reports button of
the main menu is clicked. It produces a sum
of all payments made with in enter date range by month and
year. When the Print button is clicked, the
report is printed on the printer. The Exit button returns to the
main menu.
Print
Starting
Month 1 2014 Year
Ending
Month 12 2014 Year
Exit
Sum of all Payments:
Month
$999,999.99
5.2 Process Description
This is the descriptions of the processes, known as services,
interface with each other.
5.2.1 CalenderLookup Service
This service interfaces with the MakeReservation service to get
the room is reserved or not flag from the
Rooms.
5.2.2 MakeReservation Service
This service interfaces with the AddGuest service since the
added guest makes the reservation.
5.2.3 AddGuest Service
This service interfaces with the MakeReservation service since
guest information is associated with the new
reservation. It also interfaces with the MakePayment service
since the guest that was added makes a payent
forthereservatin.
5.2.4 MakePayment Service
This service interfaces with the AddGuest service since the
added guest makes the payment for the room
reservation.
5.2.5 CheckOut Sercvice
This service interfaces with the MakeReservation, AddGuest,
and MakePayment services. Since it access the
Rooms, Guests, Reservations, and Payments objects with data
that was created and updated by these
services.
5.2.6 ProfitReport Service
This service interfaces with the MakePayment service. The
common data object is the Payments object. The
interface occurs as payments are recorded in MakePayments and
totaled in PorfitReport.
6. Detailed Design
6.1 Module Detailed Design
6.1.1 ViewCalendar Module
This module is a service that uses Room and Reservation
domain objects to display reservation dates in
calendar format as well as the daily room price rate for a
selected room. The module has 2 attributes that
are shown below.
1. room: This attribute holds the select room number used to get
the selected room from the Rooms.
2. Reservation: This attribute holds the reservations object
The functions in this module are:
1. setRoomId(integer): This sets the room selection roomId in
the rooms object to return information
on that room.
2. getPrice(double): This returns the daily rate for the selected
room.
3. setReservationId (integer): This sets the reservation id index
in the reservations object
4. getReservedFlag(boolean): This determines if a room is
reserved or not.
5. getReservationStartDate(date): This gets the starting date of
the reservation.
6. getReservationEndDate(date): This gets the ending date of
the reservation.
ViewCalendar
room: Rooms
reservation: Reservations
setRoomId(integer): void
setReservationId: void
getPrice(double): void
getReservedFlag(boolean): void
getReservationStartDate(date):void
getReservationEndDate(date):void
6.1.2 MakeReservation Module
This module is a service that reserves a room. It gets the
starting date and the ending date of the
reservation. The module has 2 attributes that are shown below.
1. room: This attribute holds room data that is used to update
the rooms object
2. reservation: This attribute holds the reservation data that is
used to add a reservation to the
reservations object.
The functions in this module are:
1. setReserved(boolean): This sets the reserved flag to true in
the rooms object.
2. addReservation(integer): This adds a reservation record to the
reservation object with a reservation
id as the reservation index value.
3. setGuaranteed(boolean): This set the guaranteed flag in the
reservation record of the reservation
object.
4. putGuaranteedDate(date): This puts the guaranteed date in
the reservation record of the
reservation object.
5. putStartDate(date): This puts the starting reservation date in
the reservation object by reservation
Id.
6. putEndDate(date): This puts the ending reservation date in
the reservation object by reservation Id.
MakeReservation
room: Rooms
reservation: Reservations
setReservated (boolean): void
addReservation(integer): void
setGuaranteed(boolean): void
putGuaranteedDate(date): void
putStartDate(date): void
putEndDate(date): void
6.1.3 AddGuest Module
This module is a service that creates and populates a guest
record in the guests object. It also adds the
guestId index value in the newly created reservation record.
The module has 2 attributes that are shown
below.
1. reservation: This attribute holds the reservation index id for
the reservation record in the
reservations object.
2. guest: This attribute holds the guest information used to
create a new guest record in the guests
object.
The functions in this module are:
1. addGuest(integer): This adds a guest record to the guests
object with guestId as the index value. It
also puts the guest id in the guestId index value in the
reservation record of the reservation object.
2. putFirstName(string): This puts the guest first name in the
guest record.
3. putLastName(string): This puts the guest last name in the
guest record.
4. putAddress(string): This puts the guest address in the guest
record.
5. putPhone(integer): This puts the guest phone number in the
guest record.
6. putCreditCardNumber(integer): This puts the guest credit
card number in the guest record.
7. putCreditExpDate(interger): This puts the guest credit card
expiration date in the guest record.
AddGuest
reservation: Reservations
guest: Guests
addGuest(integer): void
putFirstName(string): void
putLastName(string): void
putAddress(string): void
putPhone(integer): void
putCreditCardNumber(integer): void
putCreditCartExpDate(integer): void
6.1.4 MakePayment Module
This module is a service that creates and populates a payment
record in the Payments object. It is indexed
by the guest id value. The module has 2 attributes that are
shown below.
1. guest: This attribute holds the credit card number from the
guest record to charge the payment
against.
2. payment : This attribute holds the data used to create and
populate a payment record in the
payments object.
The functions of this module are:
1. addPayment(integer): This creates a payment record in the
payments object with a guest id as the
index value.
2. putPaymentDate(date): This put the date the payment is made
in the payment record. The date is
used for printing the profit report month and by year.
3. putTotalAmount(double): This puts the total amount owed in
the payment record.
4. putPaymentAmount(douoble): This puts the payment amount
in the payment record.
5. getCreditcardNumber(integer): This gets the credit card.
6. chargePayment(double): This charges the payment against the
guest’s credit card.
MakePayment
guest: Guests
payment: Payments
addPayment(integer): void
putPaymentDate(date): void
putTotalAmount(double):void
putPaymentAmount(double): void
getCreditCardNumber(integer): void
chargePayment(double): void
6.1.5 CheckOut Module
This module is a service that charges any remaining payment
amount due by the guest to the guest’s credit
card. It sets the room reserved flag to false. This module has 4
attributes as shown below.
1. guest: This attribute holds the guest name and guest id for
the reservation index value. It also holds
the credit card number if there is any remaining amount owed to
be charged.
2. reservation: This attribute gets the room index number from
the reservation object that is retrieved
by the guest id.
3. payment: This attribute holds any remaining amount to be
paid by the guest.
4. room: This attribute sets the room reserved flag to false for
the room record that is retrieved from
room id n the guest record.
The functions of this module are:
1. displayGuests(string): This displays all the guest names by
room number for guest selection in the
GUI.
2. setGuestId(integer): This sets the guest id index value from
the selected guest name in the GUI.
3. getAmountOwed(double): This gets any remaining amount
still owed by the guest
4. getCreditCardNumber(integer): This executes if there is any
remaining amount owed and gets the
guest’s credit card number.
5. chargeAmount(double): This executes if there is any
remaining amount owed and charges it against
the guest’s cred card.
6. setRoomUnreserved(boolean): This accessed the room
number indexed from the reservation record
and sets the room reserved flag to false.
CheckOut
guest: Guests
reservation: Reservations
payment: Payments
room: Rooms
displayGuests(string): void
setGuestId(integer): void
getAmountOwed(double): void
getCreditCardNumber(integer):void
chargeAmount(double): void
setRoomUnreserved(boolean): void
6.1.6 PrintReport Module
This module is a service that that adds up the payments by a
selection of months or by year for printing the
profit report. This module has 1 attribute as shown below.
1. payment(double): This is used to adding the payments by date
for a total that is to be printed in the
profit report.
The functions of this module are:
1. getStartDate(date): This gets the starting date of payments to
be totaled from the GUI.
2. getEndDate(date): This gets the ending date of payments to
be totaled from the GUI.
3. getPaymentDate(date): This gets the payment date to see if
the payment was made within the
range of dates selected in the profit report.
4. getAmount(double): This gets the amount of the payment
made for the running total of payments
made.
5. printStartDate(date): This prints the starting date of payments
included in the report.
6. printEndDate(date): This prints the ending date of payments
included in the report.
7. printProfit(double): This prints the sum of all payments made
within the selected date range.
PrintReport
payment: Payments
getStartDate(date): void
getEndDate(date): void
getPaymentDate(date): void
getAmount(double): void
printStartDate(date): void
printEndDate(date):void
printProfit(double):void
6.2 Data Detailed Design
6.2.1 Room Entity
This entity is used to represent information contained in a room
record of the Rooms object. It holds the
daily price rate of the room and a boolean flag used to indicate
if a room is reserved or not. There are 4
attributes as shown below.
1. roomId(integer): This is the room number and is the index of
the Rooms object.
2. roomRate(double): This is the daily price rate of the room.
3. reserved (boolean): This is the flag to tell if the room is
reserved or not.
4. reservationId(integer): This is the reservation index id
number of the reservation currently reserving
the room.
Rooms
roomId: Integer
roomRate: double
reserved: boolean
reservationId: integer
6.2.2 Reservations Entity
This entity is used to represent a reservation of a room. It is an
added record to the Reservations object. It
holds the reservation dates and guaranteed information. When a
guest record is created in the Guests
object Reservations is updated with the guest ID of the guest
that reserved the room. When a payment
record is created in the Payments object the payment ID is
updated with the payment ID form the
corresponding payment. There are 8 attributes as shown below.
1. reservationId(integer): This is the index value of the newly
created reservation record.
2. startDate(date): This is the starting date of the reservation.
3. endDate(date): This is the ending date of the reservation.
4. guaranteed(Boolean): This is the flag to tell if the reservation
is guaranteed.
5. guaranteedDate(date): This is the date of the guarantee.
6. roomId(integer): This is the room number the reservation was
made for.
7. guestId(integer): This is the index value of the guest ID that
made the reservation from the Guests
object.
8. paymentId(integer):This is the payment index number for the
payment made for the reservation
from the Payments object.
Reservations
reservationId: Integer
startDate: Date
endDate: Date
guaranteed: Boolean
guarenteeDate: Date
roomId: Integer
guestId: Integer
paymentId: Integer
6.2.3 Guests Entity
This entity is used to represent the information of the guest who
is making the reservation. There are 6
attributes as shown below.
1. guestId(integer): This is the index number if the guest record
in the Guests object. It is used in the
Reservations and Payments objects.
2. lastName(string): This is the last name of the guest making
the reservation.
3. firstName(string): This is the first name of the guest making
the reservation.
4. address(string): This is the address of the guest making the
reservation.
5. creditCardNumber(integer): This is the guest’s credit card
number.
6. creditCartExpDate(integer): This is the expiration month and
year of the guest’s credit card
Guests
guestId: Integer
lastName: String
firstName: String
address: String
phoneNumber: Integer
creditCardNumber: Integer
creditCardExpDate: Integer
6.2.4 Payments Entity
This entity is used to represent payments made by guests in the
BBMS operation. There are attributes as
shown below.
1. guestId(integer): This is the ID number of the guest making
the payment.
2. paymentDate(date): This is the date that the payment was
made. This date is used in the
PrintReport service so a start and end range of dates can be
selected.
3. amountPaid(double): This is the amount of the payment made
by the guest.
4. totalAmount(double): This is the full amount the guest is to
pay. It is calculated by the room rate
multiplied by the number of days in the stay.
Payments
guestId: Intiger
paymentDate: Date
amountPaid: Double
totalAmount: Double
Scenario
You have been asked to lead a software development team to
build a system fulfilling the Statement of Need specified in
project 1. Your team is employed by a small company. The
customer wants a project that balances reasonable development
cost, timely delivery, software quality, and functionality.
In this project, you will work as part of team to define, refine,
and proof test case descriptions for the B&B system. If you do
not submit project 3 as part of a team you shall receive a zero
for this project.
Assume that the code for your B&B system has been developed
based on the SDD whose requirements trace through the SRS to
the SS. The next step is to develop a software test specification
(STS) that describes the test cases that you will perform to
verify correctness and validate compliance to customer
requirements of your B&B system.
You will select components from the Architectural Context
Diagram (ACD) for the B&B system and using the derived use
case and software requirements set for each software component
(as detailed in project 2) write the complete set of associated
white and black box test case definitions.
Completing this project will require that you produce a software
test specification (STS) document for the system. The objective
is to produce a cookbook for testers. A tester really only needs
the STS, the test environment, the test tools, the test data, and
of course, the software.
STS Templates
Please develop your STS using the IEEE Standard for Software
Test Documentation, standard 829-1998, posted in the Course
Resources > eReserves.Section6 in the IEEE Std 829-1998 is
most relevant to this assignment, so focus on completing this
section as thoroughly as you can.
The assignment
Complete the template as best as you can. Make any reasonable
assumptions based on your understanding of the problem that
allow you to address as many sections of the STS template as
possible. (Please read the “project descriptions” in the project
description section of the syllabus for additional context and
information on course projects).
Pay special attention to the following. The bulk of your grade
will be decided on how well you address these issues.
· Detailed Test Environment description - including test
hardware, software, test tools, and data
· White Box Test Cases (at least two): including; name of
the component being tested, test inputs, and expected outputs
· Black Box Test Cases: Select (at least) two components from
your ACD and using the derived use cases, scenarios, and
software requirements set for each of those components (from
your SRS), write the complete set of associated black box test
case definitions, including; name of the component being tested,
test inputs, expected outputs, and requirement(s) from the SRS
being tested.
· Traceability matrix: Each test case is used to assess
compliance to a SRS/SS requirement (i.e., Black Box) or to
assess correct computation, e.g., correct inventory level (i.e.,
White Box). Your Test Cases should trace to one or more SRS
requirements. See Table 4.4 (week 5 activities module 4
reading: Testing Strategies and Techniques) for an example of a
Traceability Matrix. (Please endeavor to use the use
cases/scenarios and requirements as you specified them in your
SRS).
Also please see chapter 7: Software Testing and chapter 8:
Software Testing Strategies from the online text (Books 24x7:
Software Engineering, Second Edition by Bharat Bhushan
Agarwal and Sumit Prakash Tayal) for additional context and
information on testing.
Section 7.6 discusses white-box testing; section 7.7 discusses
black-box testing; section 7.9 discusses test case design;
Hints and suggestions
1. For the STS, we shall be using only a subset of the IEEE
template; specifically section 6 of the IEEE (Test Case
Specification). Refer to Module 4 (week 5 activities module 4
reading: Testing Strategies and Techniques) for information on
software testing and examples of black-box and white-box test
case definitions. Remember: Each test case is used to assess
compliance to a SRS/SS requirement (i.e., Black Box) or to
assess correct computation, e.g., correct inventory level (i.e.,
White Box). Here are the details required for each test case
description:
· Test objective
· unique test case identifier
· input specification
· output specification
· special environment conditions
· special procedural requirements
· execution procedure steps
· dependencies
2. You are encouraged to select and use any one of your team
member's ACD, use cases or requirements set to complete this
assignment. Collaborate with your team and decide who has the
best representation to use.
Make sure your work is neat and legible. Your charts,
illustrations and diagrams can be done using any word
processing, drawing, and/or software CASE drawing tool (or by
hand) as long as it is neat and organized. Embed or scan any
diagrams that you create in your STS document—do not upload
them separately.
SRS Homework Project for
David M. Jones
Bed and Breakfast Management System
SRS
1. Introduction
1.1 Purpose
The purpose of this SRS document is to provide a detailed
description of the Bed and Breakfast Management System. It
will detail the purpose and features of this software and
hardware system. It will describe what the system will do and
its constraints. Also it will detail human interaction, program
input and output.
1.2 Scope
This system will be a Bed and Breakfast Management System. It
will manage reservations and monitor expenses and profits. The
design is to enable automatic reservations based on room
availability by a given date. The will enable customers enter
desired stay and duration dates to see what rooms are available
and what the rate is. Once the start and end dates for the
selected room are entered, the customer will make a reservation
by paying a deposit payment for one day. The payment is made
by entering a credit card number. In addition to payment
information, the customer's name, address, and phone number
are inputted. Reservations are held without guarantee for an
agreed upon date. If the reservation is not guaranteed by that
date, the reservation will be dropped.
1.3 Definitions, acronyms, and abbreviations
Guest – The person paying to stay at the bed and breakfast
Guarantee – A contract between the owners of the bed and
breakfast and the prospective guest the the selected room will
be available within the reservation dates
ERD - Entity Relationship Diagram
1.4 References
IEEE. IEEE Std 830-1998 IEEE Recommended Practice for
Software Requirements Specifications. IEEE Computer Society,
1998.
1.5 Overview
The next section, Overall Description, of this document
provides an overview of this system's functionality. It describes
the product functions , requirements for its operation, and
expected operation outcome. The Specific Requirements section
is written primarily for the development of the software for this
system and details the system functionality.
2. Overall description
2.1 Product Perspective
The Bed and Breakfast Management System is a self-contained
system. It is a system that can be used with any Bed and
Breakfast operation. It that has 2 main database structures. The
first database structure is for room reservations. It has the
following entities: room availability, rate, reservations,
customer information. The second database structure is for
financial record keeping. It has the following entities: AR, AP,
GL and record the customer payments. The GL has the profit-
loss report. The financial database receives input from
payments. It is used for all financial transactions. It also has
user input for expenses and output for monies in payments, and
the profit-loss statement. There are two types of users: customer
and supplier. The hardware is a network of desktop computers, a
central computer that manages the databases, and an Internet
web server that is a service leased from a web server company.
The operating system are Windows 7 Profession for staff users,
Linux for the database server of the reservation and financial
systems.
2.2 Product Functions
The functions of the Bed and Breakfast Management System are
as follows.
2.2.1 Room reservation lookup
2.2.2 Reservation entry
2.2.3 Guest entry
2.2.4 Guest check out
2.2.5 Payment processing
2.2.6 Profit report
2.3 User characteristics
The users of the BBMS are staff and managers of a small bed
and breakfast operation. They have sufficient knowledge on
using the Windows operating system and computer hardware.
They will have training on operating the BBMS software.
2.4 Constraints
There are no constrains other than what is needed to operate a
small bed and breakfast operation.
2.5 Assumptions and dependencies
In order for the BBMS to operate the following assumptions are
made:
2.5.1 The business provides a computer on which the BBMS can
run.
2.5.2 The business provides a telephone service with which the
customer can call in to make a reservation.
3. Specific Requirements
3.1 External interface requirements
The requirements are to enable the user interaction with the
BBMS.
3.1.1 User interfaces
3.1.1.1 Main menu – Displays choice of making a reservation,
checking a guest out, and printing the profit report.
3.1.1.2 Calendar – Displays any reservations by calendar days a
room may have.
3.1.1.3 Reservations – Provides a means to make a reservation
3.1.1.4 Check out – Charges any amount owed by a selected
guest and removes the reservation for the room the guest stayed
in.
3.1.1.5 Profit report – Display the total of all payments made by
a given range of months.
3.2 Objects
The following is a decomposition of attributes and methods as
represented in the ERD.
3.2.1 Rooms
The Room attributes are:
3.2.1.1 roomNumber – The room number
3.2.1.2 dailyRate – The cost per day to stay in the room
3.2.1.3 reserved – A boolean value to indicate if a room is
reserved or not
3.2.1.4 reservationId – The ID number belong to the reservation
assigned to the room
3.2.2 Guests
The guest attributes are:
3.2.2.1 lastName – The guest’s last name
3.2.2.2 firstName – The guest’s firstname
3.2.2.3 address – The guest’s address
3.2.2.3 phoneNumber – The guest’s telephone number
3.2.2.4 creditCardNumber – The guest’s credit card number
3.2.2.5 creditCartExpDate – The expiration date of the credit
card
3.2.3 Reservations
3.2.3.1 guestId - ID number of guest who is making the
reservation
3.2.3.2 roomId – The room number the reservation is made for
3.2.3.2 roomNumber – The room number the guest will stay in
3.2.3.3 startDate – The first day of the stay
3.2.3.4 lastDay – The last day of the stay
3.2.3.5 guaranteed – A boolean value to indicate if the room is
reserved
3.2.3.6 guaranteeDate - The date the reservation guaranteed for
3.2.4 Payments
3.2.4.1 guestId - ID number of guest who is making the payment
3.2.4.2 paymentDate – The date the payment was made
3.2.4.3 amountPaid – The amount paid for the room so far
3.2.4.4 totalAmoutn – The total amount that is payable

More Related Content

Similar to Software Design Specification Document (SDD) By Da.docx

hotel managment system (1)
hotel managment system (1)hotel managment system (1)
hotel managment system (1)
Muhammad Umer Lari
 
Hotel_Management_System_ANALYSIS_AND_DES.doc
Hotel_Management_System_ANALYSIS_AND_DES.docHotel_Management_System_ANALYSIS_AND_DES.doc
Hotel_Management_System_ANALYSIS_AND_DES.doc
SimranPhulwani3
 
online job portal system
online job portal systemonline job portal system
online job portal systemKrishna Ranjan
 
Dhis2 android user_man
Dhis2 android user_manDhis2 android user_man
Dhis2 android user_man
Eliot Kalenga
 
Hotel Management system in C++
Hotel Management system in C++ Hotel Management system in C++
Hotel Management system in C++
Prince Kumar
 
Software requirements Specification
Software requirements SpecificationSoftware requirements Specification
Software requirements Specification
Preshan Pradeepa
 
HOTEL MANAGEMENT SYSTEM vi.docx
HOTEL MANAGEMENT SYSTEM vi.docxHOTEL MANAGEMENT SYSTEM vi.docx
HOTEL MANAGEMENT SYSTEM vi.docx
KartikeySingh87567
 
Fingerprint based transaction system
Fingerprint based transaction systemFingerprint based transaction system
Fingerprint based transaction system
sagar solanky
 
online room booking system
online room booking systemonline room booking system
online room booking system
manuchinna
 
Flight Booking System
Flight Booking SystemFlight Booking System
Flight Booking System
IRJET Journal
 
Dynamics 365 Customer Service workspace in a day
Dynamics 365 Customer Service workspace in a dayDynamics 365 Customer Service workspace in a day
Dynamics 365 Customer Service workspace in a day
HungPham381
 
Train-Ticket_Booking-System-Presentation.pptx
Train-Ticket_Booking-System-Presentation.pptxTrain-Ticket_Booking-System-Presentation.pptx
Train-Ticket_Booking-System-Presentation.pptx
Shadman Rahman
 
HRO4A: Front Office Finals 01 folio plus manual
HRO4A: Front Office Finals 01 folio plus manual HRO4A: Front Office Finals 01 folio plus manual
HRO4A: Front Office Finals 01 folio plus manual
Our Lady of Fatima University (OLFU) - Antipolo Campus
 
Cms instruction 1.0
Cms instruction 1.0Cms instruction 1.0
Cms instruction 1.0
Julio Chachaima
 
srs for railway reservation system
 srs for railway reservation system srs for railway reservation system
srs for railway reservation system
khushi kalaria
 
hotel management dbms.docx
 hotel management dbms.docx hotel management dbms.docx
hotel management dbms.docx
KaranamManideep1
 
An Enhanced Authentication System Using Face and Fingerprint Technologies
An Enhanced Authentication System Using Face and Fingerprint TechnologiesAn Enhanced Authentication System Using Face and Fingerprint Technologies
An Enhanced Authentication System Using Face and Fingerprint Technologies
iosrjce
 
M017637484
M017637484M017637484
M017637484
IOSR Journals
 

Similar to Software Design Specification Document (SDD) By Da.docx (20)

Srs mine
Srs mineSrs mine
Srs mine
 
hotel managment system (1)
hotel managment system (1)hotel managment system (1)
hotel managment system (1)
 
report8sem
report8semreport8sem
report8sem
 
Hotel_Management_System_ANALYSIS_AND_DES.doc
Hotel_Management_System_ANALYSIS_AND_DES.docHotel_Management_System_ANALYSIS_AND_DES.doc
Hotel_Management_System_ANALYSIS_AND_DES.doc
 
online job portal system
online job portal systemonline job portal system
online job portal system
 
Dhis2 android user_man
Dhis2 android user_manDhis2 android user_man
Dhis2 android user_man
 
Hotel Management system in C++
Hotel Management system in C++ Hotel Management system in C++
Hotel Management system in C++
 
Software requirements Specification
Software requirements SpecificationSoftware requirements Specification
Software requirements Specification
 
HOTEL MANAGEMENT SYSTEM vi.docx
HOTEL MANAGEMENT SYSTEM vi.docxHOTEL MANAGEMENT SYSTEM vi.docx
HOTEL MANAGEMENT SYSTEM vi.docx
 
Fingerprint based transaction system
Fingerprint based transaction systemFingerprint based transaction system
Fingerprint based transaction system
 
online room booking system
online room booking systemonline room booking system
online room booking system
 
Flight Booking System
Flight Booking SystemFlight Booking System
Flight Booking System
 
Dynamics 365 Customer Service workspace in a day
Dynamics 365 Customer Service workspace in a dayDynamics 365 Customer Service workspace in a day
Dynamics 365 Customer Service workspace in a day
 
Train-Ticket_Booking-System-Presentation.pptx
Train-Ticket_Booking-System-Presentation.pptxTrain-Ticket_Booking-System-Presentation.pptx
Train-Ticket_Booking-System-Presentation.pptx
 
HRO4A: Front Office Finals 01 folio plus manual
HRO4A: Front Office Finals 01 folio plus manual HRO4A: Front Office Finals 01 folio plus manual
HRO4A: Front Office Finals 01 folio plus manual
 
Cms instruction 1.0
Cms instruction 1.0Cms instruction 1.0
Cms instruction 1.0
 
srs for railway reservation system
 srs for railway reservation system srs for railway reservation system
srs for railway reservation system
 
hotel management dbms.docx
 hotel management dbms.docx hotel management dbms.docx
hotel management dbms.docx
 
An Enhanced Authentication System Using Face and Fingerprint Technologies
An Enhanced Authentication System Using Face and Fingerprint TechnologiesAn Enhanced Authentication System Using Face and Fingerprint Technologies
An Enhanced Authentication System Using Face and Fingerprint Technologies
 
M017637484
M017637484M017637484
M017637484
 

More from jensgosney

Students are expected to watch at least 30 minutes of political ne.docx
Students are expected to watch at least 30 minutes of political ne.docxStudents are expected to watch at least 30 minutes of political ne.docx
Students are expected to watch at least 30 minutes of political ne.docx
jensgosney
 
Student will review prior readings (Chapter #8) and Klein Journal Ar.docx
Student will review prior readings (Chapter #8) and Klein Journal Ar.docxStudent will review prior readings (Chapter #8) and Klein Journal Ar.docx
Student will review prior readings (Chapter #8) and Klein Journal Ar.docx
jensgosney
 
Student Name Date Read the following case study and thorou.docx
Student Name Date Read the following case study and thorou.docxStudent Name Date Read the following case study and thorou.docx
Student Name Date Read the following case study and thorou.docx
jensgosney
 
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docxStrategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
jensgosney
 
Sociology in a Nutshell A Brief Introduction to the Discipl.docx
Sociology in a Nutshell A Brief Introduction to the Discipl.docxSociology in a Nutshell A Brief Introduction to the Discipl.docx
Sociology in a Nutshell A Brief Introduction to the Discipl.docx
jensgosney
 
Struggling to understand how to implement a Hash bucket for program..docx
Struggling to understand how to implement a Hash bucket for program..docxStruggling to understand how to implement a Hash bucket for program..docx
Struggling to understand how to implement a Hash bucket for program..docx
jensgosney
 
StratificationWhat are three ways that social stratification is .docx
StratificationWhat are three ways that social stratification is .docxStratificationWhat are three ways that social stratification is .docx
StratificationWhat are three ways that social stratification is .docx
jensgosney
 
Strategy maps are used in creating a balanced scorecard. Give one st.docx
Strategy maps are used in creating a balanced scorecard. Give one st.docxStrategy maps are used in creating a balanced scorecard. Give one st.docx
Strategy maps are used in creating a balanced scorecard. Give one st.docx
jensgosney
 
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docxSOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
jensgosney
 
Structured DebateBased on the required readings, lecture mater.docx
Structured DebateBased on the required readings, lecture mater.docxStructured DebateBased on the required readings, lecture mater.docx
Structured DebateBased on the required readings, lecture mater.docx
jensgosney
 
Software Test DocumentCard Czar Android AppCMSC .docx
Software Test DocumentCard Czar Android AppCMSC .docxSoftware Test DocumentCard Czar Android AppCMSC .docx
Software Test DocumentCard Czar Android AppCMSC .docx
jensgosney
 
Software Training ProgramABC Company has 50,000 employees and wa.docx
Software Training ProgramABC Company has 50,000 employees and wa.docxSoftware Training ProgramABC Company has 50,000 employees and wa.docx
Software Training ProgramABC Company has 50,000 employees and wa.docx
jensgosney
 
Soft skills are most often characterized as the personal attribu.docx
Soft skills are most often characterized as the personal attribu.docxSoft skills are most often characterized as the personal attribu.docx
Soft skills are most often characterized as the personal attribu.docx
jensgosney
 
Software Engineering Capstone .docx
Software Engineering Capstone                                   .docxSoftware Engineering Capstone                                   .docx
Software Engineering Capstone .docx
jensgosney
 
Strength–Based Approaches PaperCovering Displaced Homemake.docx
Strength–Based Approaches PaperCovering Displaced Homemake.docxStrength–Based Approaches PaperCovering Displaced Homemake.docx
Strength–Based Approaches PaperCovering Displaced Homemake.docx
jensgosney
 
Sociology Project CLASSROOM .docx
Sociology Project                            CLASSROOM .docxSociology Project                            CLASSROOM .docx
Sociology Project CLASSROOM .docx
jensgosney
 
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docxSocometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
jensgosney
 
Sociology and General Education [1964]By Robert Bierstedt.docx
Sociology and General Education [1964]By Robert Bierstedt.docxSociology and General Education [1964]By Robert Bierstedt.docx
Sociology and General Education [1964]By Robert Bierstedt.docx
jensgosney
 
Sociological Observation of a Sporting Event Student Name .docx
Sociological Observation of a Sporting Event Student Name  .docxSociological Observation of a Sporting Event Student Name  .docx
Sociological Observation of a Sporting Event Student Name .docx
jensgosney
 
Socioautobiography Assignment GuidelinesThe purpose of this assign.docx
Socioautobiography Assignment GuidelinesThe purpose of this assign.docxSocioautobiography Assignment GuidelinesThe purpose of this assign.docx
Socioautobiography Assignment GuidelinesThe purpose of this assign.docx
jensgosney
 

More from jensgosney (20)

Students are expected to watch at least 30 minutes of political ne.docx
Students are expected to watch at least 30 minutes of political ne.docxStudents are expected to watch at least 30 minutes of political ne.docx
Students are expected to watch at least 30 minutes of political ne.docx
 
Student will review prior readings (Chapter #8) and Klein Journal Ar.docx
Student will review prior readings (Chapter #8) and Klein Journal Ar.docxStudent will review prior readings (Chapter #8) and Klein Journal Ar.docx
Student will review prior readings (Chapter #8) and Klein Journal Ar.docx
 
Student Name Date Read the following case study and thorou.docx
Student Name Date Read the following case study and thorou.docxStudent Name Date Read the following case study and thorou.docx
Student Name Date Read the following case study and thorou.docx
 
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docxStrategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
Strategy DevelopmentDiscuss the role that an I-O psychologist pl.docx
 
Sociology in a Nutshell A Brief Introduction to the Discipl.docx
Sociology in a Nutshell A Brief Introduction to the Discipl.docxSociology in a Nutshell A Brief Introduction to the Discipl.docx
Sociology in a Nutshell A Brief Introduction to the Discipl.docx
 
Struggling to understand how to implement a Hash bucket for program..docx
Struggling to understand how to implement a Hash bucket for program..docxStruggling to understand how to implement a Hash bucket for program..docx
Struggling to understand how to implement a Hash bucket for program..docx
 
StratificationWhat are three ways that social stratification is .docx
StratificationWhat are three ways that social stratification is .docxStratificationWhat are three ways that social stratification is .docx
StratificationWhat are three ways that social stratification is .docx
 
Strategy maps are used in creating a balanced scorecard. Give one st.docx
Strategy maps are used in creating a balanced scorecard. Give one st.docxStrategy maps are used in creating a balanced scorecard. Give one st.docx
Strategy maps are used in creating a balanced scorecard. Give one st.docx
 
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docxSOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
 
Structured DebateBased on the required readings, lecture mater.docx
Structured DebateBased on the required readings, lecture mater.docxStructured DebateBased on the required readings, lecture mater.docx
Structured DebateBased on the required readings, lecture mater.docx
 
Software Test DocumentCard Czar Android AppCMSC .docx
Software Test DocumentCard Czar Android AppCMSC .docxSoftware Test DocumentCard Czar Android AppCMSC .docx
Software Test DocumentCard Czar Android AppCMSC .docx
 
Software Training ProgramABC Company has 50,000 employees and wa.docx
Software Training ProgramABC Company has 50,000 employees and wa.docxSoftware Training ProgramABC Company has 50,000 employees and wa.docx
Software Training ProgramABC Company has 50,000 employees and wa.docx
 
Soft skills are most often characterized as the personal attribu.docx
Soft skills are most often characterized as the personal attribu.docxSoft skills are most often characterized as the personal attribu.docx
Soft skills are most often characterized as the personal attribu.docx
 
Software Engineering Capstone .docx
Software Engineering Capstone                                   .docxSoftware Engineering Capstone                                   .docx
Software Engineering Capstone .docx
 
Strength–Based Approaches PaperCovering Displaced Homemake.docx
Strength–Based Approaches PaperCovering Displaced Homemake.docxStrength–Based Approaches PaperCovering Displaced Homemake.docx
Strength–Based Approaches PaperCovering Displaced Homemake.docx
 
Sociology Project CLASSROOM .docx
Sociology Project                            CLASSROOM .docxSociology Project                            CLASSROOM .docx
Sociology Project CLASSROOM .docx
 
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docxSocometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
Socometal Rewarding African WorkersBy Evalde Mutabazi and C. B.docx
 
Sociology and General Education [1964]By Robert Bierstedt.docx
Sociology and General Education [1964]By Robert Bierstedt.docxSociology and General Education [1964]By Robert Bierstedt.docx
Sociology and General Education [1964]By Robert Bierstedt.docx
 
Sociological Observation of a Sporting Event Student Name .docx
Sociological Observation of a Sporting Event Student Name  .docxSociological Observation of a Sporting Event Student Name  .docx
Sociological Observation of a Sporting Event Student Name .docx
 
Socioautobiography Assignment GuidelinesThe purpose of this assign.docx
Socioautobiography Assignment GuidelinesThe purpose of this assign.docxSocioautobiography Assignment GuidelinesThe purpose of this assign.docx
Socioautobiography Assignment GuidelinesThe purpose of this assign.docx
 

Recently uploaded

Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 

Recently uploaded (20)

Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 

Software Design Specification Document (SDD) By Da.docx

  • 1. Software Design Specification Document (SDD) By David M. Jones November 16, 2014 Table of Contents 1. Introduction ………………………………………………………………………… …………………… 1 1.1 Purpose ………………………………………………………………………… …………… 1 1.2 Scope ………………………………………………………………………… ………………. 1 1.3 Definitions and acronyms …………………………………………………………… 1 2. References ………………………………………………………………………… …………………….. 1 3. Decomposition description ………………………………………………………………………. 2
  • 2. 3.1 Module decomposition ……………………………………………………………… 3 3.2 Concurrent process decomposition ………………….………………………. 9 3.3 Data decomposition ………………………………………………………………… 10 4 Dependency description ………………………………………………………………………… . 11 4.1 Intermodule dependencies ……………………………………………………… 13 4.2 Interprocess dependencies ……………………………………………………… 14 4.3 Data dependencies ………………………………………………………………….. 15 5. Interface description …………………………………………………………………….… ……… 16 5.1 Module description …………………………………………………………….……. 16 5.2 Process description ………………………………………………………………….. 24 6. Detailed design ………………………………………………………………………… …….….….. 25 6.1 Module detailed design ………………………………………………….………. 25 6.2 Data detailed design ……………………………………………………….….…… 30 1. Introduction
  • 3. 1.1 Purpose This document’s purpose is to document the set of requirements for the development of a software management system for a bed and breakfast operation. It describes how reservations and financial transactions are made. It also specifies the human to computer graphical user interface screens. 1.2 Scope This Bed and Breakfast Management System enables a the automated operation of a 3 bedroom bed and breakfast business. Customers can call the Bed and Breakfast reservation phone number and give desired reservation dates. A staff member can check the available and give the daily price rate for each room. The customer can provide a reservation guarantee date. The guest reservation information will be entered by the staff member while the customer is on the phone. After the stay, there is a check out process. Additionally the owner can generate a profit report to monitor the financial status of the operation. 1.3 Definitions
  • 4. a. BBMS – Bed and Breakfast Management System b. Reservation – A room assigned to a guest stay for a specific date range c. Guarantee – Financial contract between the management of the bed and breakfast and a guest that a room reservation will be available to the guest d. Workflow – Sequential steps needed to accomplish a task e. Domain Object – A computer entity that holds information for a given function f. User interface – A computer graphical element that enables the user to interact with the software g. GUI – Graphical User Interface which the method by which the user interacts with the BBMS 2. References IEEE. Std 1016-1998 IEEE Recommended Practice for Software Design Descriptions. IEEE Computer Society, 1998. 3. Decomposition description
  • 5. Entity Relationship Diagram This describes the complete ERD for the entire BBMS. It shows the relationship between domain objects, as shown in blue, and their services, as shown in gray. Reservation Check Out
  • 6. Profit Report ViewCalendar room: Rooms reservation: Reservations setRoomId(integer): void setReservationId: void getPrice(double): void getReservedFlag(boolean): void getReservationStartDate(date):void getReservationEndDate(date):void MakeReservation room: Rooms reservation: Reservations setReservated (boolean): void addReservation(integer): void setGuaranteed(boolean): void putGuaranteedDate(date): void putStartDate(date): void putEndDate(date): void
  • 7. AddGuest reservation: Reservations guest: Guests addGuest(integer): void putFirstName(string): void putLastName(string): void putAddress(string): void putPhone(integer): void putCreditCardNumber(integer): void putCreditCartExpDate(integer): void MakePayment guest: Guests payment: Payments addPayment(integer): void putPaymentDate(date): void putTotalAmount(double):void putPaymentAmount(double): void getCreditCardNumber(integer): void chargePayment(double): void
  • 8. PrintReport payment: Payments getStartDate(date): void getEndDate(date): void getPaymentDate(date): void getAmount(double): void printStartDate(date): void printEndDate(date):void printProfit(double):void Rooms roomId: Integer roomRate: Double reserved: Boolean ReservationId: Double Reservations reservationId: Integer startDate: Date endDate: Date guaranteed: Boolean guarenteeDate: Date roomId: Integer guestId: Integer paymentId: Integer
  • 9. Guests guestId: Integer lastName: String firstName: String address: String phoneNumber: Integer creditCardNumber: Integer creditCardExpDate: Integer Payments guestId: Intiger paymentDate: Date amountPaid: Double totalAmount: Double CheckOut guest: Guests reservation: Reservations payment: Payments room: Rooms displayGuests(string): void setGuestId(integer): void getAmountOwed(double): void getCreditCardNumber(integer):void chargeAmount(double): void setRoomUnreserved(boolean): void
  • 10. 3.1 Module decomposition This BBMS is comprised of 4 different components, providing specific functions of the software system. The overall design has the following functions: User Interface, Services, Domain objects, and Database. The high level architectural context diagram shows how the user interface, services, and domain objects function together and how they access the database. Architectural Context Diagram This architectural context diagram shows the 4 contexts. The first is the user interface where staff interact with the computer. The second is the software services used throughout the full operation of the BBMS. The
  • 11. third part diagrams the data domain objects contain the data. The last part is the database that is the software mechanism of data disk storage and retrieval. Services User Interface Domain Objects Database Stores Retrieves Stores Retrieves Manages Interacts 3.1.1 User Interface This module contains the GUI functions of user interface. The
  • 12. external part of this system is the computer monitor, keyboard, mouse. Although not part of the GUI, a printer is also an external part for printing the profit report. Architectural Context Diagram of the User Interface 3.1.1.1 Main Menu This is the first user interface entity. It gives the user the choice of starting new reservations, checking out a guest, and printing the profit report. The Reports selection that goes to the profit report is password protected. 3.1.1.2 Calendar Lookup This displays a calendar with room reservation days in highlighted date squares on the calendar. The room is selected by a button. Additionally the daily price rate for the selected room is shown at the top of the
  • 13. screen. Also the process interfacing with this screen will check the selected room’s guaranteed reservation date and if it is expired, the room is marked and displayed as unreserved. 3.1.1.3 Room Reservation This is the starting point of making a reservation. The start and end dates can be entered manually or by a pop-up calendar button in the date boxes. The room is reserved and the user clicks the button the create the reservation and go on the entering guest data. The reservation can be canceled with the cancel button. 3.1.1.3 Guest Information Calendar Lookup Room Reservation Guest Information Guest Payment Check Out User Interface Main Menu Print Report This is where the guest name, address, and credit card information is entered. The save guest button is then
  • 14. clicked to go to the next screen. If the user wishes to cancel the reservation, the cancel button is clicked and the room is marked a unreserved. 3.1.1.4 Guest Payment This screen is where the user enters the guest’s payment. Also if the reservation is guaranteed the guaranteed box is clicked and the guarantee date is entered. 3.1.1.5 Finalize Payment This screen is accessed by way of the main menu Check Out button. It lists guest names by room number. The user clicks the desired guest name and the total amount of the customer’s bill is displayed. If there is any balance due the finalize payment button will atomically charge that amount to the guest’s credit card. If the is no balance due the finalize payment button only completes the stay. 3.1.2 Services This module contains the descriptions of the services required for the data processing of the BBMS
  • 15. functions. It provides output and input to the user interface and manages the domain objects. It’s functions include looking up reservation dates for rooms, making the reservation, final checkout, and the profit report. Architectural Context Diagram of the Services 3.1.2.1 CalenderLookup Service This service retrieves reservation dates for a selected room and displays the start to end dates on calendar screen. Since the user is relaying room reservation to the potential guest over the phone, the daily cost rate is also displayed on the screen for the selected room. 3.1.2.2 MakeReservation Service This service is used to reserve the selected room by setting the room’s reserved flag to true and creating a reservation record. The reservation record is populated with the start and end dates. It sets the reservation
  • 16. guaranteed flag and date. This service’s logic is triggered by the Create Reservation button being clicked on the user interface screen. 3.1.2.3 AddGuest Service This service creates a guest record and populates it with the guest’s name, address, phone number, and credit card information. This logic is triggered by clicking Save Guest button on the user interface screen. Clicking Cancel on that screen will set the room reserved flag to false and deleting the reservation record. 3.1.2.4 MakePayment Service CalendarLookup ReserveRoom AddGuest MakePayment CheckOut Services ProfitLossReport This service makes a payment by the guest for reserving a room. When the payment amount is obtained, a
  • 17. payment record is created and the guest’s credit card is charged. This logic is triggered by clicking the Make Payment button on the screen. If the Cancel Reservation button is clicked, the room’s reserved flag is set to false, the customer record is deleted, and the reservation record is deleted. 3.1.2.5 CheckOut Sercvice This service is executed upon guest checkout. If there is any balance due, that amount is charged to the guest’s credit card. It sets the room’s reserved flag to false. 3.1.2.6 ProfitReport Service This service calculates the sum of the payment record amounts and prints the profit report. 3.1.3 Domain Objects This module contains the descriptions of the domain objects required for the functioning of the BBMS functions. These objects contain the data used in the 7 services.
  • 18. Architectural Context Diagram of the Domain Objects 3.1.3.1 Room This object contains the daily price rate of the room and the flag stating if it is reserved. 3.1.3.2 Reservation This object contains the reservation information that is assigned to a room. 3.1.3.3 Guest This object contains the guest information that is assigned to a reservation. 3.1.3.4 Payments This object contains the payments made by a guest. Room Reservation Guest Payments Domain Objects
  • 19. 3.1.4 Database This module describes the software mechanism by which data in the domain objects is stored and retrieved to the disk drive for long term storage. The database preserves the data state of the BBMS regardless of which service is current functioning. Also if the computer is shut down for maintenance, the database allows the BBMS to start backup with the same data state that was in the system before the shutdown. Architectural Context Diagram of the Database Database
  • 20. Services Domain Objects 3.2 Concurrent process decomposition This describes the processes from the user interface through the services to the domain objects. The services function independently of the user. Also the services create, update, and delete the domain objects of the BBMS. 3.2.1 Display Reservation Entity This entity is used to display reservation dates in calendar format for a selected room. 3.2.2. Make Reservation Entity This entity is used to make the reservation of the selected room. It creates a new reservation, new guest, and first payment. 3.2.3 Check Out Entity This entity is use for a selected guest to make payment of any balance due. It also sets the room the guest stayed in to available for reservation.
  • 21. 3.3 Data Decomposition This describes the software entities that contain data for the operation of the BBMS. 3.3.1 Room Entity This entity holds data for determining if a room is available for reservation and also holds the daily rate price of the room. 3.3.2 Reservation Entity This entity holds the reservation data for a reserved room. 3.3.3 Guest Entity This entity holds the guest data associated to a reserved room. 3.3.4 Payments Entity This entity holds the payment data the a guest pays for the stay in the room. 4. Dependency Description
  • 22. Data Flow Diagram Service functions create, update, and delete domain objects which have the data stored on the disk drive by the database mechanism. Services Reserve Room Check Out
  • 24. In: roomRate In: startDate In: endDate Out: roomNumber Out: reserved Out: guaranteed Out : guaranteedDate Out: startDate Out: endDate Out: reservatinId Out: name Out: Address Out: CreditCard In: name In: roomRate Out: payment In: names Out: customerId In: totalAmount In: amountDue In: creditCard In: roomNumber Out:Reserved In:payments Out: profitLoss Main Menu Database Stores
  • 25. Retrieves Stores Retrieves 4.1 Intermodule Dependencies There are 4 key modules of the BBMS. They are user interface, services, domain objects, and the database. Intermodule Dependency Diagram 4.1.1 User Interface Module This module is dependent on the service module for the user GUI operation. It is also dependent on the domain objects for data entry and display. 4.1.2 Services Module
  • 26. This module is dependent on the data that is contained in the domain objects. 4.1.3 Domain Objects Module This module are dependent on the services to process the data contained in it. 4.1.4 Database Module This module is dependent on the services module to store, retrieve, and delete data that is used in the BBMS. It is also dependent on the domain objects module for the actual data that is processed in the services module. User Interface Services Domain Objects Interacts Manages Database Stores
  • 27. Retrieves Stores Retrieves 4.2 Interprocess Dependencies Interprocess Dependency Diagram 4.2.1 ViewCalendar is dependent on the MakeReservation service to display the reserved start and end dates for a selected room.
  • 28. 4.2.2 AddGuest is dependent on the MakeReservation service to create a reservation record so it can update it with the guest ID number. 4.2.3 MakePayment is dependent on the AddGuest service to get the guest ID number for the guest payment. 4.2.4 CheckOut is dependent on the AddGuest service to get the guest name and guest ID number. It is also dependent on the MakePayment to get any amount still owed by the guest. 4.2.4 GenerateReport is dependent on the MakePayment service to get the sum of the payments made. ViewCalendar room: Rooms reservation: Reservations setRoomId(integer): void setReservationId: void getPrice(double): void getReservedFlag(boolean): void getReservationStartDate(date):void getReservationEndDate(date):void
  • 29. MakeReservation room: Rooms reservation: Reservations setReservated (boolean): void addReservation(integer): void setGuaranteed(boolean): void putGuaranteedDate(date): void putStartDate(date): void putEndDate(date): void AddGuest reservation: Reservations guest: Guests addGuest(integer): void putFirstName(string): void putLastName(string): void putAddress(string): void putPhone(integer): void putCreditCardNumber(integer): void putCreditCartExpDate(integer): void MakePayment
  • 30. guest: Guests payment: Payments addPayment(integer): void putPaymentDate(date): void putTotalAmount(double):void putPaymentAmount(double): void getCreditCardNumber(integer): void chargePayment(double): void PrintReport payment: Payments getStartDate(date): void getEndDate(date): void getPaymentDate(date): void getAmount(double): void printStartDate(date): void printEndDate(date):void printProfit(double):void CheckOut
  • 31. guest: Guests reservation: Reservations payment: Payments room: Rooms displayGuests(string): void setGuestId(integer): void getAmountOwed(double): void getCreditCardNumber(integer):void chargeAmount(double): void setRoomUnreserved(boolean): void PrintReport payment: Payments getStartDate(date): void getEndDate(date): void getPaymentDate(date): void getAmount(double): void printStartDate(date): void printEndDate(date):void printProfit(double):void 4.3 Data Dependencies
  • 32. Data dependencies are associated with the process dependencies. Data Dependency Diagram 4.3.1 Rooms and Reservations are dependent by roomID. 4.3.2 Reservations and Guests are dependent by guestID. 4.3.3 Guests and Payments are dependent by guestID. ViewCalendar room: Rooms
  • 33. reservation: Reservations setRoomId(integer): void setReservationId: void getPrice(double): void getReservedFlag(boolean): void getReservationStartDate(date):void getReservationEndDate(date):void MakeReservation room: Rooms reservation: Reservations setReservated (boolean): void addReservation(integer): void setGuaranteed(boolean): void putGuaranteedDate(date): void putStartDate(date): void putEndDate(date): void AddGuest reservation: Reservations guest: Guests addGuest(integer): void putFirstName(string): void putLastName(string): void putAddress(string): void putPhone(integer): void
  • 34. putCreditCardNumber(integer): void putCreditCartExpDate(integer): void MakePayment guest: Guests payment: Payments addPayment(integer): void putPaymentDate(date): void putTotalAmount(double):void putPaymentAmount(double): void getCreditCardNumber(integer): void chargePayment(double): void PrintReport payment: Payments getStartDate(date): void getEndDate(date): void getPaymentDate(date): void getAmount(double): void printStartDate(date): void printEndDate(date):void printProfit(double):void
  • 35. Rooms roomId: Integer roomRate: Double reserved: Boolean ReservationId: Double Reservations reservationId: Integer startDate: Date endDate: Date guaranteed: Boolean guarenteeDate: Date roomId: Integer guestId: Integer paymentId: Integer Guests guestId: Integer lastName: String firstName: String address: String phoneNumber: Integer creditCardNumber: Integer creditCardExpDate: Integer
  • 36. Payments guestId: Intiger paymentDate: Date amountPaid: Double totalAmount: Double CheckOut guest: Guests reservation: Reservations payment: Payments room: Rooms displayGuests(string): void setGuestId(integer): void getAmountOwed(double): void getCreditCardNumber(integer):void chargeAmount(double): void setRoomUnreserved(boolean): void 5. Interface Description 5.1 Module Description The module description of the interface description is a description of the user interface.
  • 37. User Interface The user interface provides the users through the use of GUI’s with the means of interacting with the BBMS software system. The functions in the user interface gives the ability to: 1. Check the selected room available by calendar display. 2. Reserve a room. 3. Enter Guest information. 4. Guarantee a reservation. 5. Make initial payment. 6. Checkout. a. Make final, if any, payment b. Automatically set the room reserved flag to available
  • 38. 5.1.1 Main Menu Bed and Breakfast Management System Reservations
  • 39. Check Out Reports 5.1.2 Reservation Calendar The reservation calendar screen presents the user with a calendar display with colored boxes for the days that the selected room is reserved. The Previous and Next Month buttons bring the previous or next month
  • 40. into the display. The Room buttons select the room to check reservations for. At the top of the screen the daily room rate price for the selected room is displayed. If the user wants to make a reservation the Start Reservation button is clicked, otherwise Cancel returns to the main menu. Sun Mon Tue Wed Thu Fri Sat 1 2 8 15 22 29 9 16 23 30 3
  • 41. 10 17 4 5 6 7 11 12 13 14 18 19 20 21 24 25 26 27 31 28 Room 1 Room 2 Room 3 Start Reservation Exit < Previous Month Next Month >
  • 42. Daily room rate $120.00 5.1.3 Room Reservation Entry Reservation Start Date 12/14/2014 Reservation End Date 12/16/2014 Room 1 Room 2 Room 3 Create Reservation Cancel Daily Rate $120.00 Guaranteed X Guaranteed Date 12/10/2014
  • 43. 5.1.4 Guest Data Entry The guest data entry screen provides the user with the ability to enter the guest’s name, address, phone number, and credit card information. To save the data entered, the Save Guest button is clicked. The Cancel button returns to the main menu. Cancel Save Guest
  • 44. First Name Last Name Address Phone (999)999-9999 Credit Card Number 999-999-999-9999 Expiration Date 99/99/99 5.1.5 Payment Entry The payment entry screen display’s the guest’s name and the daily room price rate for the room. The Guaranteed box is clicked and the guarantee date is entered if the reservation is guaranteed. The payment amount is entered. When the Make Payment button is clicked, the guest’s credit card is charged and the
  • 45. payment for that guest is stored. If Canceled Reservation is clicked the guest data is deleted from the database, the room reserved flag for that room is cleared, and the system returns to the main menu screen. John Smith Daily Room Rate $120.00 Payment Amount $360.00 Make Payment Cancel Reservation Total Amount $360.00 5.1.6 Check Out
  • 46. The check out screen is displayed when the Check Out button is clicked from the main menu. A selection list of names assigned to each room is displayed. The user clicks the guest name to check out. If there is any balance still owed by the customer, the Finalize button will charge any remaining amount owed by the guest to the guest’s credit card. Also when the Finalize button is clicked, the reserved flag is automatically cleared for that room in the room database. Guest name 1 Guest name 2 Guest name 3 Room 1 Room 2
  • 47. Room 3 Total amount $999.99 Balance Due $999.99 Finalize Cancel 5.1.7 Profit Report The profit report screen is displayed when the Reports button of the main menu is clicked. It produces a sum of all payments made with in enter date range by month and year. When the Print button is clicked, the report is printed on the printer. The Exit button returns to the
  • 48. main menu. Print Starting Month 1 2014 Year Ending Month 12 2014 Year Exit Sum of all Payments: Month $999,999.99 5.2 Process Description This is the descriptions of the processes, known as services, interface with each other. 5.2.1 CalenderLookup Service This service interfaces with the MakeReservation service to get the room is reserved or not flag from the Rooms.
  • 49. 5.2.2 MakeReservation Service This service interfaces with the AddGuest service since the added guest makes the reservation. 5.2.3 AddGuest Service This service interfaces with the MakeReservation service since guest information is associated with the new reservation. It also interfaces with the MakePayment service since the guest that was added makes a payent forthereservatin. 5.2.4 MakePayment Service This service interfaces with the AddGuest service since the added guest makes the payment for the room reservation. 5.2.5 CheckOut Sercvice This service interfaces with the MakeReservation, AddGuest, and MakePayment services. Since it access the Rooms, Guests, Reservations, and Payments objects with data that was created and updated by these services. 5.2.6 ProfitReport Service This service interfaces with the MakePayment service. The common data object is the Payments object. The
  • 50. interface occurs as payments are recorded in MakePayments and totaled in PorfitReport. 6. Detailed Design 6.1 Module Detailed Design 6.1.1 ViewCalendar Module This module is a service that uses Room and Reservation domain objects to display reservation dates in calendar format as well as the daily room price rate for a selected room. The module has 2 attributes that are shown below. 1. room: This attribute holds the select room number used to get the selected room from the Rooms. 2. Reservation: This attribute holds the reservations object The functions in this module are: 1. setRoomId(integer): This sets the room selection roomId in the rooms object to return information on that room. 2. getPrice(double): This returns the daily rate for the selected room.
  • 51. 3. setReservationId (integer): This sets the reservation id index in the reservations object 4. getReservedFlag(boolean): This determines if a room is reserved or not. 5. getReservationStartDate(date): This gets the starting date of the reservation. 6. getReservationEndDate(date): This gets the ending date of the reservation. ViewCalendar room: Rooms reservation: Reservations setRoomId(integer): void setReservationId: void getPrice(double): void getReservedFlag(boolean): void getReservationStartDate(date):void getReservationEndDate(date):void
  • 52. 6.1.2 MakeReservation Module This module is a service that reserves a room. It gets the starting date and the ending date of the reservation. The module has 2 attributes that are shown below. 1. room: This attribute holds room data that is used to update the rooms object 2. reservation: This attribute holds the reservation data that is used to add a reservation to the reservations object. The functions in this module are: 1. setReserved(boolean): This sets the reserved flag to true in the rooms object. 2. addReservation(integer): This adds a reservation record to the reservation object with a reservation id as the reservation index value. 3. setGuaranteed(boolean): This set the guaranteed flag in the reservation record of the reservation object.
  • 53. 4. putGuaranteedDate(date): This puts the guaranteed date in the reservation record of the reservation object. 5. putStartDate(date): This puts the starting reservation date in the reservation object by reservation Id. 6. putEndDate(date): This puts the ending reservation date in the reservation object by reservation Id. MakeReservation room: Rooms reservation: Reservations setReservated (boolean): void addReservation(integer): void setGuaranteed(boolean): void putGuaranteedDate(date): void putStartDate(date): void putEndDate(date): void
  • 54. 6.1.3 AddGuest Module This module is a service that creates and populates a guest record in the guests object. It also adds the guestId index value in the newly created reservation record. The module has 2 attributes that are shown below. 1. reservation: This attribute holds the reservation index id for the reservation record in the reservations object. 2. guest: This attribute holds the guest information used to create a new guest record in the guests object. The functions in this module are: 1. addGuest(integer): This adds a guest record to the guests object with guestId as the index value. It also puts the guest id in the guestId index value in the reservation record of the reservation object. 2. putFirstName(string): This puts the guest first name in the guest record.
  • 55. 3. putLastName(string): This puts the guest last name in the guest record. 4. putAddress(string): This puts the guest address in the guest record. 5. putPhone(integer): This puts the guest phone number in the guest record. 6. putCreditCardNumber(integer): This puts the guest credit card number in the guest record. 7. putCreditExpDate(interger): This puts the guest credit card expiration date in the guest record. AddGuest reservation: Reservations guest: Guests addGuest(integer): void putFirstName(string): void putLastName(string): void putAddress(string): void putPhone(integer): void putCreditCardNumber(integer): void putCreditCartExpDate(integer): void
  • 56. 6.1.4 MakePayment Module This module is a service that creates and populates a payment record in the Payments object. It is indexed by the guest id value. The module has 2 attributes that are shown below. 1. guest: This attribute holds the credit card number from the guest record to charge the payment against. 2. payment : This attribute holds the data used to create and populate a payment record in the payments object. The functions of this module are: 1. addPayment(integer): This creates a payment record in the payments object with a guest id as the index value. 2. putPaymentDate(date): This put the date the payment is made in the payment record. The date is
  • 57. used for printing the profit report month and by year. 3. putTotalAmount(double): This puts the total amount owed in the payment record. 4. putPaymentAmount(douoble): This puts the payment amount in the payment record. 5. getCreditcardNumber(integer): This gets the credit card. 6. chargePayment(double): This charges the payment against the guest’s credit card. MakePayment guest: Guests payment: Payments addPayment(integer): void putPaymentDate(date): void putTotalAmount(double):void putPaymentAmount(double): void getCreditCardNumber(integer): void chargePayment(double): void
  • 58. 6.1.5 CheckOut Module This module is a service that charges any remaining payment amount due by the guest to the guest’s credit card. It sets the room reserved flag to false. This module has 4 attributes as shown below. 1. guest: This attribute holds the guest name and guest id for the reservation index value. It also holds the credit card number if there is any remaining amount owed to be charged. 2. reservation: This attribute gets the room index number from the reservation object that is retrieved by the guest id. 3. payment: This attribute holds any remaining amount to be paid by the guest. 4. room: This attribute sets the room reserved flag to false for the room record that is retrieved from room id n the guest record. The functions of this module are: 1. displayGuests(string): This displays all the guest names by
  • 59. room number for guest selection in the GUI. 2. setGuestId(integer): This sets the guest id index value from the selected guest name in the GUI. 3. getAmountOwed(double): This gets any remaining amount still owed by the guest 4. getCreditCardNumber(integer): This executes if there is any remaining amount owed and gets the guest’s credit card number. 5. chargeAmount(double): This executes if there is any remaining amount owed and charges it against the guest’s cred card. 6. setRoomUnreserved(boolean): This accessed the room number indexed from the reservation record and sets the room reserved flag to false. CheckOut
  • 60. guest: Guests reservation: Reservations payment: Payments room: Rooms displayGuests(string): void setGuestId(integer): void getAmountOwed(double): void getCreditCardNumber(integer):void chargeAmount(double): void setRoomUnreserved(boolean): void 6.1.6 PrintReport Module This module is a service that that adds up the payments by a selection of months or by year for printing the profit report. This module has 1 attribute as shown below. 1. payment(double): This is used to adding the payments by date for a total that is to be printed in the profit report. The functions of this module are: 1. getStartDate(date): This gets the starting date of payments to be totaled from the GUI. 2. getEndDate(date): This gets the ending date of payments to
  • 61. be totaled from the GUI. 3. getPaymentDate(date): This gets the payment date to see if the payment was made within the range of dates selected in the profit report. 4. getAmount(double): This gets the amount of the payment made for the running total of payments made. 5. printStartDate(date): This prints the starting date of payments included in the report. 6. printEndDate(date): This prints the ending date of payments included in the report. 7. printProfit(double): This prints the sum of all payments made within the selected date range. PrintReport payment: Payments getStartDate(date): void getEndDate(date): void getPaymentDate(date): void getAmount(double): void printStartDate(date): void printEndDate(date):void printProfit(double):void
  • 62. 6.2 Data Detailed Design 6.2.1 Room Entity This entity is used to represent information contained in a room record of the Rooms object. It holds the daily price rate of the room and a boolean flag used to indicate if a room is reserved or not. There are 4 attributes as shown below. 1. roomId(integer): This is the room number and is the index of the Rooms object. 2. roomRate(double): This is the daily price rate of the room. 3. reserved (boolean): This is the flag to tell if the room is reserved or not. 4. reservationId(integer): This is the reservation index id number of the reservation currently reserving the room.
  • 63. Rooms roomId: Integer roomRate: double reserved: boolean reservationId: integer 6.2.2 Reservations Entity This entity is used to represent a reservation of a room. It is an added record to the Reservations object. It holds the reservation dates and guaranteed information. When a guest record is created in the Guests object Reservations is updated with the guest ID of the guest that reserved the room. When a payment record is created in the Payments object the payment ID is updated with the payment ID form the corresponding payment. There are 8 attributes as shown below. 1. reservationId(integer): This is the index value of the newly created reservation record. 2. startDate(date): This is the starting date of the reservation. 3. endDate(date): This is the ending date of the reservation. 4. guaranteed(Boolean): This is the flag to tell if the reservation is guaranteed.
  • 64. 5. guaranteedDate(date): This is the date of the guarantee. 6. roomId(integer): This is the room number the reservation was made for. 7. guestId(integer): This is the index value of the guest ID that made the reservation from the Guests object. 8. paymentId(integer):This is the payment index number for the payment made for the reservation from the Payments object.
  • 65. Reservations reservationId: Integer startDate: Date endDate: Date guaranteed: Boolean guarenteeDate: Date roomId: Integer guestId: Integer paymentId: Integer 6.2.3 Guests Entity This entity is used to represent the information of the guest who is making the reservation. There are 6 attributes as shown below. 1. guestId(integer): This is the index number if the guest record in the Guests object. It is used in the Reservations and Payments objects. 2. lastName(string): This is the last name of the guest making the reservation. 3. firstName(string): This is the first name of the guest making the reservation. 4. address(string): This is the address of the guest making the reservation.
  • 66. 5. creditCardNumber(integer): This is the guest’s credit card number. 6. creditCartExpDate(integer): This is the expiration month and year of the guest’s credit card Guests guestId: Integer lastName: String firstName: String address: String phoneNumber: Integer creditCardNumber: Integer creditCardExpDate: Integer 6.2.4 Payments Entity This entity is used to represent payments made by guests in the BBMS operation. There are attributes as
  • 67. shown below. 1. guestId(integer): This is the ID number of the guest making the payment. 2. paymentDate(date): This is the date that the payment was made. This date is used in the PrintReport service so a start and end range of dates can be selected. 3. amountPaid(double): This is the amount of the payment made by the guest. 4. totalAmount(double): This is the full amount the guest is to pay. It is calculated by the room rate multiplied by the number of days in the stay. Payments
  • 68. guestId: Intiger paymentDate: Date amountPaid: Double totalAmount: Double Scenario You have been asked to lead a software development team to build a system fulfilling the Statement of Need specified in project 1. Your team is employed by a small company. The customer wants a project that balances reasonable development cost, timely delivery, software quality, and functionality. In this project, you will work as part of team to define, refine, and proof test case descriptions for the B&B system. If you do not submit project 3 as part of a team you shall receive a zero for this project. Assume that the code for your B&B system has been developed based on the SDD whose requirements trace through the SRS to the SS. The next step is to develop a software test specification (STS) that describes the test cases that you will perform to verify correctness and validate compliance to customer requirements of your B&B system. You will select components from the Architectural Context Diagram (ACD) for the B&B system and using the derived use case and software requirements set for each software component (as detailed in project 2) write the complete set of associated white and black box test case definitions. Completing this project will require that you produce a software test specification (STS) document for the system. The objective is to produce a cookbook for testers. A tester really only needs the STS, the test environment, the test tools, the test data, and of course, the software. STS Templates Please develop your STS using the IEEE Standard for Software
  • 69. Test Documentation, standard 829-1998, posted in the Course Resources > eReserves.Section6 in the IEEE Std 829-1998 is most relevant to this assignment, so focus on completing this section as thoroughly as you can. The assignment Complete the template as best as you can. Make any reasonable assumptions based on your understanding of the problem that allow you to address as many sections of the STS template as possible. (Please read the “project descriptions” in the project description section of the syllabus for additional context and information on course projects). Pay special attention to the following. The bulk of your grade will be decided on how well you address these issues. · Detailed Test Environment description - including test hardware, software, test tools, and data · White Box Test Cases (at least two): including; name of the component being tested, test inputs, and expected outputs · Black Box Test Cases: Select (at least) two components from your ACD and using the derived use cases, scenarios, and software requirements set for each of those components (from your SRS), write the complete set of associated black box test case definitions, including; name of the component being tested, test inputs, expected outputs, and requirement(s) from the SRS being tested. · Traceability matrix: Each test case is used to assess compliance to a SRS/SS requirement (i.e., Black Box) or to assess correct computation, e.g., correct inventory level (i.e., White Box). Your Test Cases should trace to one or more SRS requirements. See Table 4.4 (week 5 activities module 4 reading: Testing Strategies and Techniques) for an example of a Traceability Matrix. (Please endeavor to use the use cases/scenarios and requirements as you specified them in your SRS). Also please see chapter 7: Software Testing and chapter 8: Software Testing Strategies from the online text (Books 24x7: Software Engineering, Second Edition by Bharat Bhushan
  • 70. Agarwal and Sumit Prakash Tayal) for additional context and information on testing. Section 7.6 discusses white-box testing; section 7.7 discusses black-box testing; section 7.9 discusses test case design; Hints and suggestions 1. For the STS, we shall be using only a subset of the IEEE template; specifically section 6 of the IEEE (Test Case Specification). Refer to Module 4 (week 5 activities module 4 reading: Testing Strategies and Techniques) for information on software testing and examples of black-box and white-box test case definitions. Remember: Each test case is used to assess compliance to a SRS/SS requirement (i.e., Black Box) or to assess correct computation, e.g., correct inventory level (i.e., White Box). Here are the details required for each test case description: · Test objective · unique test case identifier · input specification · output specification · special environment conditions · special procedural requirements · execution procedure steps · dependencies 2. You are encouraged to select and use any one of your team member's ACD, use cases or requirements set to complete this assignment. Collaborate with your team and decide who has the best representation to use. Make sure your work is neat and legible. Your charts, illustrations and diagrams can be done using any word processing, drawing, and/or software CASE drawing tool (or by hand) as long as it is neat and organized. Embed or scan any diagrams that you create in your STS document—do not upload them separately.
  • 71. SRS Homework Project for David M. Jones Bed and Breakfast Management System SRS 1. Introduction 1.1 Purpose The purpose of this SRS document is to provide a detailed description of the Bed and Breakfast Management System. It will detail the purpose and features of this software and hardware system. It will describe what the system will do and its constraints. Also it will detail human interaction, program input and output. 1.2 Scope This system will be a Bed and Breakfast Management System. It will manage reservations and monitor expenses and profits. The design is to enable automatic reservations based on room availability by a given date. The will enable customers enter
  • 72. desired stay and duration dates to see what rooms are available and what the rate is. Once the start and end dates for the selected room are entered, the customer will make a reservation by paying a deposit payment for one day. The payment is made by entering a credit card number. In addition to payment information, the customer's name, address, and phone number are inputted. Reservations are held without guarantee for an agreed upon date. If the reservation is not guaranteed by that date, the reservation will be dropped. 1.3 Definitions, acronyms, and abbreviations Guest – The person paying to stay at the bed and breakfast Guarantee – A contract between the owners of the bed and breakfast and the prospective guest the the selected room will be available within the reservation dates ERD - Entity Relationship Diagram 1.4 References IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. IEEE Computer Society, 1998. 1.5 Overview The next section, Overall Description, of this document provides an overview of this system's functionality. It describes the product functions , requirements for its operation, and expected operation outcome. The Specific Requirements section is written primarily for the development of the software for this system and details the system functionality. 2. Overall description 2.1 Product Perspective
  • 73. The Bed and Breakfast Management System is a self-contained system. It is a system that can be used with any Bed and Breakfast operation. It that has 2 main database structures. The first database structure is for room reservations. It has the following entities: room availability, rate, reservations, customer information. The second database structure is for financial record keeping. It has the following entities: AR, AP, GL and record the customer payments. The GL has the profit- loss report. The financial database receives input from payments. It is used for all financial transactions. It also has user input for expenses and output for monies in payments, and the profit-loss statement. There are two types of users: customer and supplier. The hardware is a network of desktop computers, a central computer that manages the databases, and an Internet web server that is a service leased from a web server company. The operating system are Windows 7 Profession for staff users, Linux for the database server of the reservation and financial systems. 2.2 Product Functions The functions of the Bed and Breakfast Management System are as follows. 2.2.1 Room reservation lookup 2.2.2 Reservation entry 2.2.3 Guest entry 2.2.4 Guest check out 2.2.5 Payment processing 2.2.6 Profit report 2.3 User characteristics The users of the BBMS are staff and managers of a small bed and breakfast operation. They have sufficient knowledge on using the Windows operating system and computer hardware.
  • 74. They will have training on operating the BBMS software. 2.4 Constraints There are no constrains other than what is needed to operate a small bed and breakfast operation. 2.5 Assumptions and dependencies In order for the BBMS to operate the following assumptions are made: 2.5.1 The business provides a computer on which the BBMS can run. 2.5.2 The business provides a telephone service with which the customer can call in to make a reservation. 3. Specific Requirements 3.1 External interface requirements The requirements are to enable the user interaction with the BBMS. 3.1.1 User interfaces 3.1.1.1 Main menu – Displays choice of making a reservation, checking a guest out, and printing the profit report. 3.1.1.2 Calendar – Displays any reservations by calendar days a room may have. 3.1.1.3 Reservations – Provides a means to make a reservation 3.1.1.4 Check out – Charges any amount owed by a selected guest and removes the reservation for the room the guest stayed in. 3.1.1.5 Profit report – Display the total of all payments made by
  • 75. a given range of months. 3.2 Objects The following is a decomposition of attributes and methods as represented in the ERD. 3.2.1 Rooms The Room attributes are: 3.2.1.1 roomNumber – The room number 3.2.1.2 dailyRate – The cost per day to stay in the room 3.2.1.3 reserved – A boolean value to indicate if a room is reserved or not 3.2.1.4 reservationId – The ID number belong to the reservation assigned to the room 3.2.2 Guests The guest attributes are: 3.2.2.1 lastName – The guest’s last name 3.2.2.2 firstName – The guest’s firstname 3.2.2.3 address – The guest’s address 3.2.2.3 phoneNumber – The guest’s telephone number 3.2.2.4 creditCardNumber – The guest’s credit card number 3.2.2.5 creditCartExpDate – The expiration date of the credit card 3.2.3 Reservations 3.2.3.1 guestId - ID number of guest who is making the reservation 3.2.3.2 roomId – The room number the reservation is made for 3.2.3.2 roomNumber – The room number the guest will stay in 3.2.3.3 startDate – The first day of the stay
  • 76. 3.2.3.4 lastDay – The last day of the stay 3.2.3.5 guaranteed – A boolean value to indicate if the room is reserved 3.2.3.6 guaranteeDate - The date the reservation guaranteed for 3.2.4 Payments 3.2.4.1 guestId - ID number of guest who is making the payment 3.2.4.2 paymentDate – The date the payment was made 3.2.4.3 amountPaid – The amount paid for the room so far 3.2.4.4 totalAmoutn – The total amount that is payable