Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

EMBED CODE

Software Requirements Specification


Version <4.0>
Revision History
Date Version Description People
<17/NOV/17> <1.0> SRS Project Supervisor:
Ms.Sidra Siddiqui
Group Members:
Maham Mushtaq
(140682)
Muhammad Qasim
(140709)
Hassan Zaheer
(140697)

Confidential <Company Name>, 2019 Page 2


Table of Contents
1. Introduction 5
1.1 Purpose 5
1.2 Scope 5
1.3 Definitions, Acronyms, and Abbreviations 6
1.4 References 6
1.5 Overview 6

2. Overall Description 6

3. Specific Requirements 7
3.1 Functionality 7
3.1.1 Sell Configured to Project. 7
3.1.2 Provide comprehensive project details. 7
3.1.3 Detailed project Categorizations 7
3.1.4 Provide Search facility. 7
3.1.5 Maintain user and admin profile. 8
8
3.1.6 Email confirmation. 9
3.1.7 Allow reviews 9
3.1.8 Performing Unit test. 9
3.1.9 Search in solution explorer 9
3.1.10 Adding and deleting files 9
3.1.11 Consume API's 10
11
3.2 Usability 11
3.2.1 Graphical User Interface 11
3.2.2 Accessibility 11
3.3 Reliability & Availability 11
3.3.1 Back-end Internal Computers 11
3.3.2 Internet Service Provider 11
3.4 Performance 12
3.5 Security 12
3.5.1 Data Transfer 12
3.5.2 Data Storage 12
3.6 Supportability 13
3.6.1 Configuration Management Tool 13
3.7 Design Constraints 13
3.7.1 Standard Development Tools 13
3.7.2 Web Based Product 13
3.8 On-line User Documentation and Help System Requirements 13
3.9 Purchased Components 13
3.10 Interfaces 14
3.10.1 User Interfaces 14
3.10.2 Hardware Interfaces 14
3.10.3 Software Interfaces 14
3.10.4 Communications Interfaces 15
3.11 Licensing Requirements 15

Confidential <Company Name>, 2019 Page 3


Software Requirements Specification
1. Introduction

The introduction of the Software Requirements Specification (SRS) provides an overview of the
entire SRS with purpose, scope, definitions, acronyms, abbreviations, references and overview of
the SRS. The aim of this document is to gather and analyze and give an in-depth insight of the
complete ‘Embed Code’, that is an online website for managing the code intelligently, by
defining the problem statement in detail. It will explain the purpose and features of the system,
the interfaces of the system, what the system will do, the constraints under which it must operate
and how the system will react to external stimuli. This document is intended for both the
stakeholders and the developers of the system.

Purpose

The purpose of this document is to give a detailed description of the requirements for an online
web service named as ‘EMBED CODE’. It will illustrate the purpose and complete declaration
for the development of system. It will also explain system constraints, interface and interactions
with other external applications. This document is primarily intended to be proposed to a
customer for its approval and a reference for developing the first version of the system for the
development team.
In Short, this document is to present a detailed description of our online Web Service.
1.1 Product Scope

This system will be an online Web Service. This system will be designed to maximize the
editor’s productivity by providing tools to assist in automating the code properly according to
specific requirements and required frameworks, which would otherwise have to be performed
manually. By maximizing the editor’s work efficiency and production the system will meet the
editor’s needs while remaining easy to understand and use.
More specifically, this system is designed to allow an editor to manage and communicate
with a group of developers who are finding it difficult to find the perfect code that matches their
requirements and doesn’t have any dependency issues .So the scope of this project is to provide
error free code to developers.

1.3 Definitions, Acronyms, and Abbreviations

Configuration It means a product which is available / Selected from a catalogue can be customized.
FAQ Frequently Asked Questions
CRM Customer Relationship Management
RAID 5 Redundant Array of Inexpensive Disk/Drives

Confidential <Company Name>, 2019 Page 4


1.2 References and Acknowledgements

This document builds on the following references:

http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=online%20editors
http://ieeexplore.ieee.org/document/6784941/
http://ieeexplore.ieee.org/document/6784941/
http://ieeexplore.ieee.org/document/6694748/
http://ieeexplore.ieee.org/document/387775/
http://ieeexplore.ieee.org/document/7809816/authors?reload=true
http://ieeexplore.ieee.org/document/8009940/
http://ieeexplore.ieee.org/document/8009940/authors
https://www.visualstudio.com/en-us/docs/integrate/api/overview

1.3 Intended Audience

This document is to be read by the development team, the Web Users, marketing staff, testers,
designers, all the knowledge people and documentation writers. The SRS has been organized
approximately in order of increasing specificity. The developers need to become intimately
familiar with the SRS.
Others involved need to review the document as such:

System features – Developers need an understanding of the system features to write


meaningful and error free code and also give useful feedback.

1.4 Document conventions

In this document, we used the font ‘ Times New Roman’ of font size ‘12’ throughout for text.
Document text is single spaced and 1” margins are maintained.

1.7 Overview

The remaining sections of this document provide a general description, including characteristics
of the users of this project, the functional and data requirements of the product.
General description of the project is discussed in section 2 of this document.
Section 3 gives the functional requirements, the non-functional requirements, constraints,
assumptions and dependencies made. It also gives the user viewpoint of product.
Section 3 also gives the specific requirements of the product.
It also discusses the external interface requirements and gives detailed description of functional
requirements.
Section 4 is for supporting information.

Confidential <Company Name>, 2019 Page 5


2. Overall Description

This section will give an overview of the whole product. The product will be explained in its
context to show how it interacts with the users and introduce the basic functionality of it. It will
also describe what type of stakeholders that will use the system and what functionality is
available for each type. At last, the constraints and assumptions for the product will be presented.

2.1 Product functionality

3. It would provide templates for different applications.

1) Gives the facility to add modules and patterns to templates.


2) It would provide its own kind of editor.
3) It would have its own team service.
4) It would provide facility to consume API’S and generate API keys.

3.1 Users and characteristics

The users that would be using the product will be:

- Early developers:
Those early developers that want their code to be integrated at just one place without
facing the hassle of missed dependencies and older versions of frameworks. Moreover,
those users who are trying to work on XAMRIN based applications but are finding
difficulty in doing so.
- Professional developers.
This can also be easily used by all the professional developers.

3.2 Operating Environment

This project will be operating in the following:

PLATFORMS:

- Windows
- Mac
- IOS
- Android

The preferred Web Browser would be:


- Chrome
- Mozilla Firefox

Confidential <Company Name>, 2019 Page 6


3.3 User Documentation

1) We will be providing an option of ‘help’ in the Menu bar of the website. By clicking on
this option a help page will be displayed that would show all the information of every
component in the website.
2) There will also be a separate page for the question session, in case of any query about the
product.

3.4 Assumptions and Dependencies

- ASSUMPTIONS:

1) The template itself is of several MB’s. It might happen that due to low internet speed or any
other external factor the whole of the loading of template might take a lot of time.
So for that purpose , a virtual structure would be displayed to the user, that is exactly being
referenced to the template on the cloud/server. So that the user can easily work on it without
having to wait for the whole of the template to be loaded.
2) NuGet browser is to be integrated that will install the assemblies needed.

- DEPENDENCIES:

1) Cloud
2) Repository
3) API
4) Data

Confidential <Company Name>, 2019 Page 7


4. Specific Requirements

4.1 Functionality

FUNCTIONAL REQUIREMENTS
4.1.1 Sell Configured to Project.

4.1.1.1 The system shall display all the projects, created, that can be configured.
4.1.1.2 The system shall allow user to select the project to configure.
4.1.1.3 The system shall display all the available modules of the project to configure
4.1.1.4 The system shall enable user to add one or more modules to the configuration.
4.1.1.5 The system shall notify the user about any conflict in the current configuration.
4.1.1.6 The system shall allow user to update the configuration to resolve conflict in the current
configuration.
4.1.1.7 The system shall allow user to confirm the completion of current configuration
4.1.1.8 The modules can be uploaded, updated, deleted, imported and exported.

4.1.2 Provide comprehensive project details.

The system shall display detailed information of the selected project. It will contain the whole
information that to which template it is being associated.
It will also inform about who will be the author and what version of the project it is. Moreover,
with which framework version, the project is compatible.
It shall provide browsing options to see details of the project being created.

4.1.3 Detailed project Categorizations

It shall display detailed project categorization to the user for instance displaying which project is
belonging to which template, which module can be imported in which project.
It will place the right modules in the right projects all by itself.

4.1.4 Provide Search facility.

Confidential <Company Name>, 2019 Page 8


The system shall enable user to enter the search text in the search bar.
The system shall match characters and display all the matching projects based on the search.
The system shall notify the user when no matching project is found on the search.
- Editor:
In the editor, search and replace option will be provided. Multiple words can be selected
as well as replaced.

4.1.5 Maintain user and admin profile

The system shall allow user to create profile.


The system shall authenticate user credentials to view the profile.
The system shall allow user to update the profile information.
The system shall allow the user to view reviews.
The system shall allow the user to view the list of all the modules he had uploaded.
The system shall allow the user to view the list of all the created projects.

4.1.6 Email confirmation.

The system shall maintain user’s email information as a required part of user’s profile.

4.1.7 Allow reviews

The system shall display the reviews of each module, when it is selected.
The system shall enable the user to enter their reviews too.

4.1.8 Performing Unit Test:


The system shall allow the user to perform unit test and also create Unit test of his own choice.

4.1.9 Search in Solution explorer

The system shall allow the user to search in solution explorer.

4.1.10 Adding and deleting files

The system shall allow the user to add and delete files. Moreover, the user will be able to add and
edit the code.

4.1.11 Consume API’s

Confidential <Company Name>, 2019 Page 9


The system shall allow the user to consume Online API’S.

Non-Functional Requirements
There are a number of attributes of system that can serve as requirements. It is important
that required attributes must be specified so that their achievements lead to better
performance of the system. These required attributes are also known as quality attributes
as they increase the quality of a product.

In our system, we implemented following quality attributes or non-functional


requirements

4.2 Usability
4.2.1 Graphical User Interface

The Website shall be providing a uniform look and feel between all the web pages.

It shall provide use of icons and toolbars.

4.2.2 Accessibility

The system shall provide English language.

4.3 Reliability

The Website shall be reliable for everyone to use.

4.4 Availability

System should be available all the time.

4.5 Maintainability

It will update itself. In case of any error, error message will be displayed.

Confidential <Company Name>, 2019 Page 10


4.6 Performance

The Website should be user friendly, navigation should be easy and it should have good response
time.
It shall be based on web and has to be run from a web server.
It shall take initial load time depending on internet connection strength which also depends on
the media from which the product is run.
The performance shall depend upon hardware components of the user.

4.7 Security

4.7.1 Data Transfer

Every user using the Web service will have a username and a password.
The system shall automatically log out the user after a period of inactivity.

4.7.2 Data Storage

The web browser shall never display a customer’s password

The back-end servers shall never display user’s password. The user’s password may be reset but
never shown.

The back-end servers shall only be accessible to authenticated administrators.

The back-end databases shall be encrypted.

4.8 Design Constraints


4.8.1 Standard Development Tools

The system shall be using Microsoft SQL server for maintain the database.
The development environment will be Windows (7,8,8.1 or higher).
The development platform will be:
- Visual Studio 2017 enterprise
- ASP.NET Core with angular 2
- Team foundation server API
- Cloud azure portal

Confidential <Company Name>, 2019 Page 11


4.8.2 Synchronization:
It can be connected to Windows, Mac, IOS and android.

4.8.3 Memory:
There are no memory requirements.
The computers must be equipped with web browsers.

4.9 Logical database Requirements

The database tool SQL server will be used for storing:

1) Template information.
2) Users’ information and authentication.
3) API’s storage.
4) Unit Testing.

4.10 Purchased Components


The cost structure is:
- Cost of domain.
- Cost of server.

4.11 Interfaces

4.11.1 User Interfaces


- The user interface for the website shall be compatible to any browser such as Internet
Explorer, Mozilla or Chrome Netscape by which user can easily access it.
- It is user-friendly.
- The system is reliable.
- Interface can be easily understood by the user and no additional effort has to be done.

4.11.2 Hardware Interfaces

For developing this online website following are the hardware requirements:
Memory:
Minimum 2GB or higher.

Confidential <Company Name>, 2019 Page 12


Network:
As Internet connection is required, all hardware that is required to connect internet will be the
hardware interface e.g. Modem, Ethernet cable, WAN-LAN etc.

4.11.3 Software Interfaces

For developing this online Web service, the following are the software requirements:
Operating System:
- Windows
- Mac
- IOS
- Android
Database: Microsoft SQL server
Tools:
- Microsoft SQL server
-Visual Studio 2017 enterprise.
- Team foundation Server API
- Cloud Azure Portal

4.11.4 Communication Interfaces

It will be using the HTTP protocol for communication over the internet.
Moreover, the communication between the different parts of the system is important since
they depend on each other. However, in what way the communication is achieved is not
important for the system and is therefore handled by the underlying operating system for
the web portal.

4.12 Licensing Requirements


Not Applicable.

Confidential <Company Name>, 2019 Page 13

You might also like