Objectives of the software
This document describes the SRS (software requirements specification) for the software infrastructure for a SKI resorts reservations and booking system with extended features that include social media and payment processing systems. The software is to enable client interaction with the system as well as management interaction with the software form the back end. The software presents a distinct system that Cool Ski Resorts will use to manage client bookings and relations, advertise its products through social media to reach a wider market, and perform management services including generating activity and sales reports from a database. The system will be used by all branches of Cool Ski Resorts and will be run from a single database that will enable a single high level view of the entire Coll Ski Resort location/ chains.
Detailed requirements are inherited from higher level requirement priorities; in writing this SRS, the below terminologies are used;
User Requirements (UR): Describes the requirements of the intended users for the entire system
Web Server (WS) ; refers to the content container that is made up of two layers- the overlay that is a collection of various web services hosts and SLA (service level agreement) – core, allocator, and policy agent that pertains to the underlying hardware infrastructure. The SRS is written in accordance with the IEEE recommended method for writing SRS
This SRS document is written for consumption of system developers, database designers, project manager, web application and website developers, marketers (digital), and system integrators as well as administrators and the executive sponsor. The database designers will get useful information on how the system is supposed to record and give out various management reports and what kind of information it will capture. The web application and website developers will use it to understand the kind of interface to develop, its features, functionality, and queries to include in the wb interface. The system integrators will understand how the various parts and components of the system are supposed to work, including integration with social media, cloud computing, and mobile computing platforms. Administrators will understand how they can update and maintain the system, as well as how to use the system for management purposes. The executive sponsor will get an idea of the kind of application being developed and how it works while the project manager will understand the functionalities of the system and therefore, control its development to ensure it meets the needs of the user as specified in this SRS.
System Users
The objective of the software is to enable automated and online based use and management of Cool Ski Resorts; the software application will enable customers to interact with it intuitively, including to post queries, register/ log in to the system, make a reservation by posting a reservation query, get confirmation for a reservation, book/ hire ski apparel, and reserve accommodation. Further, the system will allow the customer to fine tune their preferences, choosing available packages, specifying any desired meals and drinks, their intended period of stay, and the date they intend to use the system. Further, it will enable the customers to make payments through the online portal and get confirmation of the booking. The system will also enable management interaction to have a high level view of transactions, generate reports, and link it with social media for purposes of customer service and digital advertising. The software application and its functionality will be data base driven and based on cloud computing prnciples
References
This SRS is developed based on the IEEE recommendations for SRS as detailed in IEEE Std 610.12-1990. The other reference standards that this SRS refers include;
ASTM E1340-96, Standard Guide for Rapid Computerized Systems Prototyping
IEEE Std 610.12-1990, IEEE Standard Glossary for Software Engineering Terminology
All the various standards described in IEEE Std 830-1998
Principles of User Interface Design Standards found at https://www.interaction-design.org/literature/article/principle-of-consistency-and-standards-in-user-interface-design
This SRS describes a software application that will be database driven and that will replace an existing manual Ski Resorts Reservation system currently being used by Cool Ski Resorts and it is a new self contained product that will be used by customers to make inquiries and reservations while management will use it for making management decisions, report generation, and marketing and advertising through its social media links. Being a web based system, this SRS will have a web based interface for data driven operations and performance, as well as a cloud instance to ensure continuous availability and enable business process continuity as well as universal access. The software will run on a cloud and internet network, and be accessed from various access points including computers, the internet, and mobile applications. The system will be linked and synchronized to all the Cool Ski Resorts branches and chains and will thus be a unified management system for the resort
The Cool Ski Resorts software system will enable customers (new and existing) to access and use it from any location, given that it will be web/ cloud based. Users will be able to register on the web interface, or log in if already registered, and conduct transactions, including making bookings, payments, and getting these confirmations.. users will also be able to view available products, services, and offers from the intuitive interface and post queries that can be replied to immediately via the available chat features. Further, social media users can also be able to post queries and get responses, as well as participate in online discussions about the business, service quality, and products on offer. The management of Cool Ski Resorts will use the software application for management purposes, decision making, payment processing, and for advertising and marketing. The management services will be made possible by the systems’ ability to take in and store records and generate various reports, such as occupancy, rentals for ski equipment and apparel, room bookings, meal bookings, stock levels, sales, and number of clients with their booking dates and times. It will use the system as a front-line customer service portal where queries can be responded to in real time through chat, through social media where clients can post queries or make comments and get responses. The management will also use the system for advertising through its social media links to reach a wider client base and to increase its presence and visibility through the portal.
Web Server
<Identify the various user classes that you anticipate will use this product. User classes may be differentiated based on frequency of use, subset of product functions used, technical expertise, security or privilege levels, educational level, or experience. Describe the pertinent characteristics of each user class. Certain requirements may pertain only to certain user classes. Distinguish the favored user classes from those who are less important to satisfy.>
The software application will operate on a cloud environment, with a cloud driven database and a web interface hosted on a cloud server. The cloud architecture will be a hybrid one, with the public cloud hosting the backups and BPO instance, while a private cloud will be located at the Ski Resort data center. Here, the application will run on modern servers with a networked environment, working through a bridge to connect to the cloud platform. The Ski Resorts Staff will use computers and laptops (even tablets) to access the services after their log in credentials are approved. Users will access the system from the web using a computer, from their mobile devices 9using a tablet of smart phone). The data center will have modern hardware with virtualized servers to reduce hardware costs and use and enhance scalability. The private cloud servers will run on Linux based systems while the public cloud will use IaaS (infrastructure as a service0 and PaaS (platform as a service) model with the interface being web 2,0 interfaces for web access
The system will have to support different languages used in its geographic area, and so must have a language conversion application. The system is designed with the goals of scalability, hence the use of a cloud platform and virtualization to enhance scalability (Brandon, 2013). For security purposes, the private server will be run on a Linux environment; this is also due to cost implications so as to minimize costs and for security because the Linux server environment kernel will be modified to enhance security. Because of scalability, a cloud platform will be used so that resources can be requisitioned based on demand; if there are many users, the cloud services provider will increase available memory and processing power and charge the resort per use. The private cloud will host the records and sensitive cloud information that will then have to be encrypted for security purposes, so the system will operate withing an encrypted environment. Modern programming standards will be used, including My SQL for the database, Java for the web interface scripts, Perl for web-database interaction, PHP for the web server, Python for further applications, C++ for system integration programming, and Flash for multimedia. The system will use a customized third party pay processing platform and enable payment using a variety of means, including digital wallets, cards, and online payment platforms, and be linked to the resorts’ baning system.
IEEE recommended method for writing SRS
The software will have a detailed user documentation for administrators
A simplified user manual for users of the system
Online help features
Tutorials in media format for quick reference
in addition, the users will be trained on using the system, with user training manuals p
provided for this purpose
It is assumed that the intended user swill have basic computer knowledge and be able to use the system as required
The internet will continue to run smoothly most of the time
The required budget is available so there are no interruptions in development
The team to develop the system have the requisite technical skills and knowledge to get the system up and running as desired
There will be no rules barring using client data in cloud platforms, and that user privacy and relevant data privacy policies will be adhered to
The system will not require major updates in the short term as it is designed for future compatibility with many interfaces
Any third party interfaces it will be using will not cause incompatibilities, such as new versions of Flash
The system will have a web interface with a scrip to manage user details and linked to the SQL server. Users will be able to register on the web interface or log in for existing customers by entering their user name and password. For additional security, especially during payment, a two level authentication can be used involving a mobile device confirmation. New users will register with their details including name, address, e-mail, telephone number, and gender. During payments, the issue of security is paramount and so security features must be implemented at the interface. Very high priority
user visits website,
If new, is promoted to register in case they want to make a booking or query
If existing, are prompted to enter their log in credentials 9user name, password)
Second authentication needed from a unique code sent to registered users’ mobile number
REQ-1: <1>Security feature
REQ-2: <2>log in portal
REQ 3 <3>Enter personal details
REQ 4 <4> log out
A robust SQL database that will be the driving force for the system; the database will be in a data center with a cloud application. The database is very crucial for the functioning of the system (data capture and report generation), very high priority
When users want to register or log in to the system, their details are managed from the database
Construction Details
Administrators can generate various reports from the database through queries based on a graphical user interface
All transactions are recorded and stored in the database and can be tracked (logging)
REQ 1: <1>Must accept information only within a specified range (for instance card numbers must only be digits/ numeric)
REQ 2: <2>Offer audit tracking and historical data
REQ 3: <3>Authentication services for users (internal and external)
REQ 4: <4> Generate reports as per request
REQ 5: Work with other interfaces including the web interface
The system must be able to process payments using a variety of vendor cards such as VISA, Master-card and different payment methods including mobile wallets and PayPal. Very high priority
Once a user has given their details and logged in, the system should prompt them to make payments once they select and confirm a service using a convenient accepted payment mode
REQ 1 <1> Accept only authorized payment modes
REQ 2 <2> Require authentication of user payment mode
REQ 3 <3> Deduct the specific invoice/ cart amount
REQ 4 <4> Show a total due in the cart
REQ 5 <5> Give confirmation of successful processing of payment
The system should generate various reports from captured transactions, in general (such as total sales in a week) and specific, such as transaction history of a given client. This is a very high priority feature
Authorized users will be authenticated and allowed to log in to the system and generate specific reports, such as by resort branch/ chain/ and in a format that can be understood
REQ 1 <1> Require authentication before accessing reports
REQ 2 <2> Generate desired report in a few seconds
REQ 3 <3> generate various different types of reports
<Describe the logical characteristics of each interface between the software product and the users. This may include sample screen images, any GUI standards or product family style guides that are to be followed, screen layout constraints, standard buttons and functions (e.g., help) that will appear on every screen, keyboard shortcuts, error message display standards, and so on. Define the software components for which a user interface is needed. Details of the user interface design should be documented in a separate user interface specification.>
Cloud based
mobile devices
Computers
The web interface will be hosted on the cloud and accessed over the internet using the HTTP protocol
The private cloud will have servers hosted on Linux Server (Ubuntu Server 16.04.1 LTS)
Architecture
The virtual machines will be implemented in VMWare Workstation Pro
Database ; My SQL
Application software to run on Windows (Windows 7 or higher), Mac devices (Ma OS X)
Web portal to run on Mozilla Firefox 45.x series
Google Chrome 0.3.154 or higher
Safari 6.1.6 or newer version
Internet Explorer v 10 or newer
The system will run on hyper text Transfer Protocol running on the internet transport layer and File transfer protocols of the data layer
It will operate on the TCP/ IP internet protocol that will enable mobile access
Private cloud will be networked using IPV4 LAN and WAN networks
Cloud Environment running on HTTP using IaaS and PaaS
Data will b transported using AES 256 bit encryption
The system will not slow down even at maximum requests (when many users are logged in at the same time); the cloud scaled architecture will provision more resources if demand increases
Software will not crash more than one a year (cloud instance available for BPC) in case of crashes
System to be accessible 24 ours from any web connected device with a browser
99.9% uptime required
Because or risks of identity theft and exploits, data will be transmitted in encrypted form for any data sent or received
The website will use latest encryption and safety standards, including HTTPS
Two level authentication for making payments of logging in
End to end encryption of networks
Encrypted database
Software tested to be free from bugs and loopholes/ exploits using ethical hacking and testing techniques
The servers, networks will have high level firewall with a phsyical firewall
Anti malware programs for viruses, worms, and malware will also be installed
Network traffic monitoring to check against Denial of Service Attacks
hybrid cloud architecture with cloud instances to ensure business procees continuity and offer real time backup
Data to be managed based on the applicable Data Privacy Act
Data to be encrypted to minimize exploits from hackers
personal data will not be shared by any entity, either for commercial or other reasons
users must log in using provided credentials (customers) with two level authentication used during payments
Internal users such as staff will have secured API’s for log in purposes to cloud based services
Access to data center restricted (physically) and will encrypted access codes
Access to certain resources limited and require two level authentication (Such as accounting system)
The software must be inter-operable with any future systems that may be developed
the software must be inter-operable with other systems, including relevant banking and pay processing systems
Must be portable and work in different browser and operating system interfaces
testability: The software must perform at the same level in different commonly used environments and browsers
Robustness is inbuilt so that in continues to perform optimally even under heavy use (many requests)
The system interface to be designed using human computer interaction (HCI) principles and be tested with actual users to make the interface intuitive and easy to use
Development to follow an Agile framework with iterative development and testing to remove any issues at every stage of development#System must resist attacks and in the event of a massive attack, give a warning and shut down, enabling the cloud based version to run as the compromised system is fixed
Maintenance will be possible through patches and updates installed from a cloud/ web based server (Wieringa & Persson, 2010, p. 27)
Database must be scalable and be located in the cloud in a hybrid architecture
Languages conversion must be inbuilt into the system
System must generate all user logs whenever accessed for tracking
Must have several reuse features, including scripts and database for future use
Mobile environment compatible
References
Brandon, J. (2013). 4 Tech Innovations That Improve Data Center Scalability. [online] CIO. Available at: https://www.cio.com/article/2380321/data-center/4-tech-innovations-that-improve-data-center-scalability.html [Accessed 30 Apr. 2018].
Wieringa, R. and Persson, A. (2010). Requirements engineering: foundation for software quality. Berlin: Springer, p.27.