28
Software Requirements Specification for ICT and Engineering Innovation Marketplace (ICEngIM) Payment and Transaction Service Version 1.0 approved Prepared by Kiggundu Ismail Ssali <organization> 18/12/2019

Introduction · Web viewICT and Engineering Innovation Marketplace (ICEngIM) Payment and Transaction Service Version 1.0 approved Prepared by Kiggundu Ismail Ssali

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Software Requirements Specification for ICT and Engineering Innovation Marketplace (ICEngIM)Payment and Transaction Service.

Page 4

Software Requirements SpecificationforICT and Engineering Innovation Marketplace (ICEngIM) Payment and Transaction Service

Version 1.0 approved

Prepared by Kiggundu Ismail Ssali

18/12/2019

Table of Contents

1.Introduction11.1Purpose11.2Document Conventions11.3Intended Audience and Reading Suggestions11.4Product Scope21.5References22.Overall Description32.1Product Perspective3Product Functions32.2User lasses and Characteristics52.3Operating Environment52.4Design and Implementation Constraints62.5User Documentation62.6Assumptions and Dependencies73.External Interface Requirements73.1User Interfaces73.2Hardware Interfaces113.3Software Interfaces113.4Communications Interfaces124.System Features124.1Login and Registration124.2Make Donations134.2.1Description and Priority134.2.2Stimulus/Response Sequences134.2.3Functional Requirements134.3Provide Support Tickets144.3.1Description and Priority144.3.2Stimulus/Response Sequences144.3.3Functional Requirements144.4Make payments for artifacts144.4.1Description and Priority144.4.2Stimulus/Response Sequences144.4.3Functional Requirements155.Other Nonfunctional Requirements155.1Performance Requirements155.2Safety Requirements155.3Security Requirements165.4Software Quality Attributes16Reliability165.5Business Rules175.6Other Requirements186.Appendix A: Glossary18

Table of Figures

Figure 1:The major contents of the Payment and Transaction Service3

Figure 2: Payment Interface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.8

Figure 3: Donation Portal Interface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.9

Figure 4: Support Ticket intterface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.10

Figure 5: Analylics inteface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.11

Revision History

Name

Date

Reason for Changes

Version

Software Requirements Specification for ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.

Page ii

IntroductionPurpose

This document is the first release that elaborates the requirements of the ICT and Engineering Innovation Marketplace (ICEngIM) Payment and Transaction service.

The purpose of this document is to clearly define the requirements of the Payment and Transaction Service as gathered from the previous analysis phase of development. The system will handle payments and transactions on the marketplace both through global and local payment channels.

Document Conventions

When writing this document for the ICT and Engineering Innovation Marketplace (ICEngIM)Payment and Transaction service the following terminologies are to make the document more readable and effective. We used font style of times new romans, font size of 12pt for paragraphs, 14pt for heading 2, 16pt for heading 1, and all headings are bold.

Intended Audience and Reading Suggestions

This document is intended for different categories of people for example developers working on developing the Payment and Transaction Service, project managers responsible for managing and overseeing all development phases of the system, users that will be able to use the system after it has been fully implemented and tests that will be performed over the requirements within the capabilities of the system. The other parts of this document include overall description of the product that covers product functions, its operating environment and user characteristics and also a section on sub-system features that describes certain features of the product in particular. Lastly, the document covers the interfaces of the sub-system such as external and internal interfaces together with software and hardware interfaces. For purposes of a clear understanding of the document we suggest reading it starting from top level sections i.e., Overview and introduction as you proceed down was designed in a sequential format implying lower level sections are continuations of the top-level sections hence giving the reader proper understanding of the document.

Product Scope

The Payment and Transaction service is a sub-system of the ICT and Engineering Innovation Marketplace and its purpose is basically to handle payment and transactions that will take place on the overall platform. These are some of the relevant objectives and goals of the sub-system.

1. To enable users to make one-time and direct purchases for ready-to-use prototypes/projects and patents.

2. To provide a chance for users to request for technical support via support tickets.

3. To provide a chance for the projects to raise funds from different corners of the world through donations.

Benefits.

1. Clients purchase software artifacts on the Marketplace.

2. Young on-going projects are able to receive funds and donations through the platform.

3. Clients are able to request for support for specific project features.

References

[1] "9 Things to Look for in a Payment Gateway," Entrepreneur, 31 05 2017. [Online]. Available: https://www.entrepreneur.com/article/294964. [Accessed 14 12 2019].[2] "SiamPay," [Online]. Available: http://www.siampay.com/en/features.html. [Accessed 11 12 2019].[3] "ACID," Wikipedia, [Online]. Available: https://en.wikipedia.org/wiki/ACID. [Accessed 6 12 2019].

Overall DescriptionProduct Perspective

The Payment and Transaction service is an existing product but with newly improved features to help smoothen transactions on the marketplace.

An illustration to show the major contents of the Payment and Transaction service and what kind of information flows between the different components

Figure 1:The major contents of the Payment and Transaction Service

Product Functions [1]

1) REQ-1` The system shall enable a buyer choose a preferred payment method or option such as PayPal, Visa Card, MTN Mobile Money as well as direct bank transfers.

2) REQ-2 The system shall enable project adopters to raise support tickets for the additional features to be added to existing projects and pay for them using PayPal, Visa and mobile money.

3) REQ-3 The system shall enable the administrators to keep track of activities on the platform such as monitor tickets raised by customers, draw insights and generate reports.

User lasses and Characteristics

I. Project Adopters and Users.

These are people and organizations that will download and use the hosted software applications. For mature projects, these people will be users who will to purchase software artifacts on the Marketplace. All these users will be able to lodge and pay for support tickets through the marketplace.

II. Development Team:

Individuals that develop the software projects on the platform. The development team also responds to any support tickets being flagged in by project users.

III. Project Donors 

These are people who will donate towards the development of the projects that are hosted on the platform.

IV. The accounts platform account Manager(Admin)

This will be a role-based user that will oversee and authorize any payments to the teams. He will also be responsible for communicating to the teams and users in relation to financial transactions on the platform. 

Operating Environment

The payment workflow will be integrated in the large innovation marketplace that will be web-based that will be hosted on a secure server and accessed through common browsers like Google chrome, safari, Mozilla Firefox and Microsoft Edge must be installed on any computers.

Design and Implementation Constraints

The Payment and Transaction service will be incorporated onto the Marketplace hosting all kinds of Software artifacts that can be accessible through a variety of browsers. It will be accessed by only clients willing to purchase mature products, adopters testing growing projects, people donating to the on-going projects and development teams developing the hosted software and management teams overseeing the platform.

The database to hold the application’s transaction data will be deployed on a remote server to ensure transaction security and transaction data security.

Language requirements;

English will be the main language used on the platform, in the future international language like French, Spanish and Chinese on the user interface.

Communications protocols;

HTTPS and FTPS are the main communication protocols to be used when sending requests, receiving requests, sending and receiving files in both the mobile and web applications.

Security considerations;

User data such as client profile, Credit card information and Client identity will be handled by known secure transaction gateway API’s.

User Documentation

Documentation guiding on how to purchase products, donate and request for support will be provided via different links to specific pages containing all the required information.

Downloadable soft copy manuals in PDF will be availed on the web front ends to those who need them.

The platform will also host links, short-tutorials on YouTube as alternatives to short documents and manuals.

Assumptions and Dependencies

· Users of the system have to be familiar with making online transactions.

· We shall employ API third party software to integrate the different payment services.

· The service will be available to users with an internet connection.

· API integration will come with challenges and hence a lot of attention will be required during system maintenance and upgrading.

External Interface RequirementsUser Interfaces

The following user interfaces show ways how users will interact with the sub-system to carry out their desired activities.

Payment interface.

Figure 2: Payment Interface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.

The above user interfaces are only needed when users are trying to purchase software artifacts on the market place. They can select their preferred mode of payment and enter details so that processing starts and the transaction takes place.

Donation portal interface.

Figure 3: Donation Portal Interface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.

The interface above enables donors make donations to their preferred project or project feature. The user will select one of the project features of a given project to which they wish to donate and the payment method.

Support Ticket interface

Figure 4: Support Ticket intterface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.

The interface above shows the support ticket form. The user fills in all the required project details plus a description of the problem and then submits it.

Analytics interface

Figure 5: Analylics inteface of the ICT and Engineering Innovation Marketplace(ICEngIM)Payment and Transaction Service.

The above interface shows the sample analytics that will be used by the account manager. The users will also be able to track the progress of the features donated to. There will also be analytics of the project sales, monthly income, annual and monthly reports and so on.

Hardware Interfaces

The systems shall be accessed on the web by users with desktops, laptops and any device that contains a browser.

Software Interfaces

The system will run on Windows, Linux and Mac Operating systems. Since it is only web based, it will require user to use the various web browsers like Firefox, Chrome, UC Browser to access it. The devices should have a RAM of at least 1 GB for convenience.

Communications Interfaces

The communication between client and server takes place using the HTTPS. A web browser  initiates communication by making a request for a specific resource using HTTPS and the server responds with the content of that resource or an error message if unable to do so.

System Features [2]

The system comprises of three main features namely:

· Making payments for artifacts.

· Making Donations to artifacts

· Providing support tickets.

The other feature is registration of users’ credit card details or mobile phone numbers.

Login and Registration

4.1.1Description and Priority

The purpose of this feature is to allow users to register and also to login to the system. This requirement is of high priority.

4.1.2Stimulus/Response Sequences

Registration

i. The user fills in a username, email, password and credit card number

ii. The user clicks the Register button

iii. The system creates an account for the user.

Login

i. The user fills in the username and password.

ii. The user then clicks the Login button

iii. The user accesses the system.

4.1.3Functional Requirements

REQ-1: The system shall capture user credit card details such as card number, card holder name, billing address and country

Make DonationsDescription and Priority

The purpose of this feature is to allow donors to make donations to the artifacts provided by the system. This requirement is of high priority.

Stimulus/Response Sequences

i. The donor selects an artifact of interest

ii. The donor clicks the button Donate Now which prompts the donor to fill in a donation form

iii. The donor fills in the donation form which includes the card details and the amount.

iv. The donor submits the form and the system acquires the donation amount for the artifact.

Functional Requirements

REQ-3: The system shall allow payment using multiple currencies such as dollars, euros, shillings and pounds.

REQ-8: The system shall enable a donor choose a particular project and feature respectively to donate to.

Provide Support Tickets Description and Priority

The purpose of this feature is to provide support tickets to users who request for technical support regarding their artifacts. This feature is of medium priority.

Stimulus/Response Sequences

i. The user will click the Support Tickets button

ii. The user navigates the list of tickets and looks for his/her name and ticket ID

iii. The user clicks on the ticket that is assigned to him.

iv. The system provides details of the support ticket.

Functional Requirements

REQ-10: The system shall display active support tickets provided by various users of the platform.

REQ-11: The system shall enable payment of a particular support going to be worked on by the support team

Make payments for artifactsDescription and Priority

The purpose of this feature is to enable buyers purchase the artifacts displayed by the system. This feature is of high priority.

Stimulus/Response Sequences

i. The buyer clicks on the artifact of choice

ii. The buyer inputs the price at which he/she is willing to pay for the artifact.

iii. The buyer selects the payment method

iv. The buyer enters the credit card details for the purchase

v. The system notifies the buyer of the completed transaction

Functional Requirements

REQ-1: The system shall capture user credit card details such as card number, card holder name, billing address and country

REQ-2: The system shall enable a buyer choose a preferred payment method or option such as PayPal ,Visa Card, Mobile Money as well as direct bank transfers.

REQ-3: The system shall allow payment using multiple currencies such as dollars, euros, shillings and pounds.

REQ-5: The system shall allow one-time payments for clients that already need mature and complete artifacts to deploy in their organizations.

Other Nonfunctional RequirementsPerformance Requirements

The system should use less memory and will be easily accessible by the user. Memory management should be done wisely so that none of the memory part goes wasted. The system should have a fast response time of not more than 7 seconds and should be reactive on just a single click. The user interface should be easy to use and navigate so that users can carry make their transactions quickly.

Safety Requirements

By incorporating a secure database into the system, reliable performance and integrity of data is

ensured. There must be a power backup for server system. Since the product is of 24x7 availability there should be power backup for server which provides the information. Every day the data should be backup even when the operation of a user is not successful i.e., while performing the operation power failure occurs then data should be backed up.

Security Requirements

This Project must be safe and secure because customers will directly contact their accounts through the internet. Software will have to identify the valid customer according to his/her credit card details. So, it is a must to protect the system from major disasters by preventing the unauthorized access to the system. Certain security policies will be employed to prevent fraud like the Active charge back management or the CVV 2 Verification

Software Quality Attributes

Reliability

Data provided by the users is validated before giving the access to them. Security questions will be asked in case of unauthorized access. Data transactions will maintain ACID [3](Atomicity, Consistency, Isolation, Durability) properties. Atomicity guarantees that each transaction is treated as a single "unit", which either succeeds completely, or fails completely: if any of the statements constituting a transaction fails to complete, the entire transaction fails and the database is left unchanged. Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules. Isolation ensures that concurrent execution of transactions leaves the database in the same state that would have been obtained if the transactions were executed sequentially. Durability means that completed transactions (or their effects) are recorded in non-volatile memory.

Availability

System will be always available with connection established with server and server connected to database. In case of any server failure issues, a message will be displayed on application regarding it and issue will be resolved as soon as possible in order to avoid inconvenience to users.

Security

System will ask for user login and password in hidden pattern to gain the access. In case of any suspicious activities, system shall ask user security questions which the user provides at the time of account creation. In case the customer enters wrong login credentials, he/she can enter them for a maximum 5 times. After that, the system will be blocked. In order to gain access, the customer should contact admin. There shall be restrictions on number of transactions performed per minute.

Maintainability

Maintenance of this application is easy and flexible. Updating the user information and transaction history is done by admin. By selecting the user id/account number of a customer, updating the respective user’s information can be performed. Segregation of system into modules will facilitate easy handling of data and enhance the scalability of the system.

Business Rules

The system shall have both a super user and a user role for accessing and interacting with it. The Super user will deal with the backend work like the databases, user accounts and so on while the user will carry out the main system functions of transactions, donations or support tickets. The users will need personal accounts and a login into the system order to carry out transactions. Users will need to have credit cards with the banks specified by the system and valid phone numbers in order to perform the transactions.

Other Requirements

A stable internet connection will be required to access the system.

Appendix A: Glossary

Acronyms and Abbreviations

Meaning

HTTPS

Hyper Text Transfer Protocol Secure

ACID

Atomicity, Consistency , Isolation , Durability

CVV 2

Card Verification Value

FTPS

File Transfer Protocol

CustomerCheckout FormDonorDonationPortalValidated/Log tokensDonation logsSupport Ticket FormDev TeamCredit card InformationSupport Ticket detailsSupport Ticket FlagPayment GatewayEscrow AccountProcess paymentPayment ResponseDonation ResponseAccept/ Reject NotificationDonation detailsEncrpted credit card infoPayment ResponseEncrypted credit card info

CustomerCheckout FormDonorDonationPortalValidated/Log tokensDonation logsSupport Ticket FormDev TeamCredit card InformationSupport Ticket detailsSupport Ticket FlagPayment GatewayEscrow AccountProcess paymentPayment ResponseDonation ResponseAccept/ Reject NotificationDonation detailsEncrpted credit card infoPayment ResponseEncrypted credit card info