0% found this document useful (0 votes)
62 views20 pages

Software Requirements Specification: Version 1.0 Approved

The document provides a software requirements specification for an image compression web application called Comp2Dust. The specification includes sections on introduction and purpose, overall description of functions and interfaces, and specific requirements. Key features of Comp2Dust include compressing JPEG and PNG images, adjusting compression levels with a slider, and downloading optimized files. The system is designed to reduce image sizes while maintaining quality.

Uploaded by

ygt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views20 pages

Software Requirements Specification: Version 1.0 Approved

The document provides a software requirements specification for an image compression web application called Comp2Dust. The specification includes sections on introduction and purpose, overall description of functions and interfaces, and specific requirements. Key features of Comp2Dust include compressing JPEG and PNG images, adjusting compression levels with a slider, and downloading optimized files. The system is designed to reduce image sizes while maintaining quality.

Uploaded by

ygt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 20

Software Requirements

Specification

for

Comp2Dust

Version 1.0 approved

Prepared by Yiğit Şık

05/04/2021

f
Table of Contents

1. Introduction

1.1 Purpose

1.2 Scope

1.3 Definitions, Acronyms, and Abbreviations

1.4 References

1.5 Overview

2. The Overall Description

2.1 Product Perspective


2.1.1 System Interfaces
2.1.2 Interfaces
2.1.3 Hardware Interfaces
2.1.4 Software Interfaces
2.1.5 Communications Interfaces
2.1.6 Memory Constraints
2.1.7 Operations
2.1.8 Site Adaptation Requirements

2.2 Product Functions

2.3 User Characteristics

2.4 Constraints

2.5 Assumptions and Dependencies

2.6 Apportioning of Requirements

f
3. Specific Requirements

3.1 External interfaces

3.2 Functions

3.3 Performance Requirements

3.4 Logical Database Requirements

3.5 Design Constraints

Change History
Name Date Reason Version
Yiğit Şık 19/04/2021 Initial Commit 1.0.0

f
1. Introduction

1.1 Purpose

The purpose of this document is to present a detailed description of the “Comp2Dust”


image compression site. It will explain the purpose and features of the site, the interfaces
of the site, what the site will do and the constraints under which it must operate.

1.2 Scope

This web site is an online image compressor. It is designed to shrink files sizes
while maintaining the image quality. JPEG, and Png formats make most of the entire
internet’s image traffic. That is why this web site will be aiming these two format.
Due to increasing upload numbers each day, it become a need to optimize content.
So our system will provide optimization services for developers, web site owners,
people who have large archives and such…

f
1.3 Definitions, Acronyms, and Abbreviations.

Terms Definitions
SRS System Requirements
Specification
API Application Programming
Interface
GUI Graphical User Interface
Route Transportation path

IEEE Institute of Electrical and


Electronics Engineers
JPEG Joint Photographic Experts
Group
PNG Portable Graphics Format

1.4 References

IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements
Specifications. IEEE Computer Society, 1998.

1.5 Overview

f
The next chapter, the Overall Description section, of this document gives an
overview of the functionality of the product. It describes the informal requirements and is
used to establish a context for the technical requirements specification in the next
chapter.
The third chapter, Requirements Specification section, of this document is written
primarily for the developers and describes in technical terms the details of the
functionality of the product.

2. The Overall Description

This section will give an overview of the whole system. The system will be explained in
its context to show how the system interacts with other systems and introduce the basic
functionality of it. At last, the constraints and assumptions for the system will be
presented.

2.1 Product Perspective

f
The system consist two main functions that works on the client side. The user uploads an
image that he needs to compress. It can be Png or Jpeg file algorithm will detect which
file was uploaded and will run accordingly.The user will choose from options provided
and accept it. Then the newly processed file will be shown to screen, while its data
displayed. Finally the user can download his optimized file, and the data of the image he
decided to download will be saved to database for statistics purposes.

2.1.1 System Interfaces

f
Comp2Dust web site’s compression function operates on client side. This happens
through an external npm packages which will be explained in detail in chapter 3.
Site uses express js framework for routing and mongoose to upload image data to
MongoDB Atlas Server.

2.1.2 Interfaces

f
Comp2Dust planned to be a single page application which will consist a button to let
user upload an image, options bars to enter desired values and read only textareas to
display information about image and image containers to display the images.

2.1.3 Hardware Interfaces

f
Because Comp2Dust system is web based, it is compatible with all the
browsers and can be run on any operating system and processor.

2.1.4 Software Interfaces

MongoDB database with Atlas cloud service to keep image data but not images
themselves.

In terms of user interface, HTML, CSS, and Bootstrap library will be used to illustrate
the system attractively.

Client side compression function depends on npm package called “compress-js”.

Another npm package to called “body-parser” to get parsed information from HTML to
server side.

On the server side, express js will be used to handle routes and mongoose to connect
database.

Site will be hosted on Heroku servers.

2.1.5 Communications Interfaces

f
There is no communication interface yet. But a contact panel or registration system may
be included on scaling of product.

2.1.6 Memory Constraints

For the functions provided there is no limitation on uploaded image size. But only one
image can be processed once.

2.1.7 Operations

2.1.8 Site Adaptation Requirements

f
Comp2Dust system is able to perform every platform for example any browser that can
be run on any operating system so it does not need any adaptation to a particular
platform.

2.2 Product Functions

All use cases are explained below:


 Upload Image: Users can upload an image at a time that is desired to be optimized. This
can be done either input button or a drag over. The Image format must be .jpg or .png.
 Set Compression Rate: Sets compression value through a slider. It will have
immideate effect on image.
 Set Image Width: Sets image’s width dimension with a form element. It will show its
effect on compression slider used.

f
 Set Image Height: Sets image’s height dimension with a form element. It will show its
effect on compression slider used.
 Reset: Reset button sets all options to default value and puts back the original image.
 Download: Downloads the compressed image.

2.3 User Characteristics

Comp2Dust web site is an online platform available for every user who has an internet
connection and any popular browser such as Firefox,Mozilla,Chrome... Our intended
users are people who need smaller sizes for their environment. And since we have
covered three main formats that todays internet, we have common users.

2.4 Constraints

 The users can not upload files beside Jpeg and Png formats.
 Giff format can be compressed too but only initial frame and after compression it will no
longer animate. For that reasons we did’
 The ouput file type will be only .jpg file.

2.5 Assumptions and Dependencies

User interface and some functionalities can change during the development process of
project. And also new functionalities can be added which is able to change the dependent
system requirements.

f
The compression algorithm can be switched to better one. Or can be constructed from
scratch on possibility.

2.6 Apportioning of Requirements.

 The scientific algorithm may not be developed to time and resource constraints
 There might be lack of use case on gathered image statistics

3. Specific Requirements

In this section we will explain the specific requirements in three layered architecture.

3.1 External Interfaces

The system shall consist of user friendly web based user interfaces which are
explained in 2.2. Product Functions section and whose prototype given in section
2.1.2.

3.2 Functions

f
Use Case ID UC1
Actor(s) User
Description Upload Image
Preconditions No precondition
Post conditions No post condition
Precedence Mandatory
Normal flow of event
1. The user opens the browser.
2. User presses input button or
Drags the image to the image
card.

Alternative Flow(s) Flow 1:


1. If user, uploads a file in wrong
format a warning message will be
shown by the system.

Flow 2:
1. If image sucsessfuly loads user
will be ready to set options and
compress the iamge.

f
Use Case ID UC2
Actor(s) User
Description Set Compression Rate
Preconditions There need to be an image
uploaded previously.
Post conditions No post condition
Precedence Mandatory
Normal flow of event
1. The user uses slider to set
compression rate.
2. Effect of compression
occurs immediately after
first step.

Alternative Flow(s) Flow 1:


1. If user uploads an image that
has been fully compressed before,
the image will not compressed
more.

Use Case ID UC3

f
Actor(s) User
Description Set Image Width
Preconditions There need to be an image
uploaded previously.
Post conditions In order to see the effect, user
must use compression slider.
Precedence Optional
Normal flow of event
1. The user sets the width
through input selector
which is placed in options
card.
2. User uses slider and sees
the effect.

Alternative Flow(s) Flow 1:


1. If user sets width to 0, an alert
message will be shown. If user
not changes the value and still use
slider to compress, the algorithm
will use its old with value.

Use Case ID UC4

f
Actor(s) User
Description Set Image Height
Preconditions There need to be an image
uploaded previously.
Post conditions In order to see the effect, user
must use compression slider.
Precedence Optional
Normal flow of event
1. The user sets the height
through input selector
which is placed in options
card.
2. User uses slider and sees
the effect.

Alternative Flow(s) Flow 1:

1 If user sets height to 0, an alert


message will be shown. If user
not changes the value and still use
slider to compress, the algorithm
will use its old with value.

Use Case ID UC5


Actor(s) User
Description Reset
Preconditions There need to be an image
uploaded previously.
Post conditions User will be able to log in to the
system

f
Precedence Optional
Normal flow of event
1. The user clicks to reset
button.
2. Option values cleared
3. The original image loads
again.

Use Case ID UC6


Actor(s) User
Description Download
Preconditions There need to be an image
uploaded previously.
Post conditions No post condition
Precedence Mandatory
Normal flow of event
1. The user satisfied with the
results.
2. User clicks download
button to get his optimized
image.
3. Data of the Image uploads
from server to MongoDB
database.

3.3 Performance Requirements

Comp2Dust web application can only compress one image at a time. It takes less than a
second.

3.4 Logical Database Requirements

f
These properties will be saved to database.

3.5 Design Constraints

User interface should be simple and straightforward.

You might also like