You are on page 1of 9

Software Requirements

Specification
for

Graphics Editor

Sidhant Narayan

120CS0199

Department of Computer Science

NIT Rourkela
Software Requirements Specification for Graphics Editor

Page ii

Table of Contents
1. Introduction 1
2. Overall Description 2
3. Functional Requirements 3
4. External interface requirements 5
5. Performance Requirements 6
6. Other Nonfunctional Requirement 6
7. Other requirements 7
Software Requirements Specification for Graphics Editor Page 1

1. Introduction

1.1 Purpose
The purpose of this document is to present a detailed description of graphic editing
software. The goal of the system is to develop software, in which users will be able to
draw lines, rectangles, circles, various geometrical shapes and can insert text in them.
Over all with the help of this software user can draw flow chart easily.

1.2 Product Scope


User can draw various geometrical shapes easily and can adjust the shape, style, location
of the particular object in the crated graphics. It will be very useful for students, professors
to create flow charts while preparing presentation for particular concept. User can import
bit map images into graphics. .User will also be able to download the graphics ,which will fit in
computer screen.

1.3 Definitions
GEI – Graphic Editing Interface
CSCI – Computer software configuration item
SQL - Structured query language
JPEG - Joint photographic experts group
PNG – Portable Network Graphics
SRS – Software Requirement Specification

1.4 References
IEEE SRS format

MS office paint

1.5 Over view of developers responsibilities

Developers need to create a user interface so that users can interact with the editor. Developers
need to develop a function, so that the graph can fit into a full screen and one part of the graph can
be moved from one part to another easily. The editor should able to access the disk of the computer
so they user can download the graphics and retrieve it whenever he/she wants it.
Software Requirements Specification for Graphics Editor Page 2

2. Overall Description

2.1 Product Perspective


While preparing a presentation or document for a particular topic, we need flow chart
diagrams to represent a particular concept in easily understandable way. Currently, we
use paint and many other software s for this purpose. But this software mainly
concentrates on creating flowcharts in effort less way.

2.2 Product Functions


User should be able to do following functions:
✓ Drawing lines, circles, ellipses, rectangles, polygons.
✓ Insert text in the geometrical shapes.
✓ Select object with the help of mouse.
✓ Modify the shape, size, location, color; fill style, line style, line width.
✓ Change the context in text.
✓ Copy or move the selected object to a different location, or deleting a selected
object.
✓ Saving the created graphics under user specified name and loading previously
created graphics from the disk.
✓ Defining a rectangular area on the screen and zooming the area to fill the entire
screen.
✓ Import bitmap pictures into specified position in the drawing.
✓ Shift the displayed drawing along any direction by a specified amount.

2.3 User Characteristics


No special knowledge or skills shall be assumed on the part of the users. Users shall not
be expected to learn a set of commands in order to start using the application. Users shall
not be expected to remember a list of commands while using the software – these shall
be provided via menus, tool palettes, or help screens. Users shall be protected from data
loss, such as closing a drawing without saving it first.

2.1 General Constraints


Operating system: windows 10
Database: SQL database
Language: English

Platform: java
Software Requirements Specification for Graphics Editor Page 3

3. Functional Requirements

3.1 Graphic Editing Interface


The external interface shall provide a user interface for viewing and editing. It shall
provide a view of the current file we are working on, along with the ability to zoom in and
out, and to scroll to any parts of the figure not visible in the current view. It shall also
provide a set of tools for editing, including the ability to draw different shapes and to add
texts, and to set various parameters concerning the visual appearance of the figure. All
user interaction with the software shall be handled by external interface. Hence the
external interface shall also provide user commands for opening and saving to files, for
navigating the file system. It shall not store any data about the current figure. The external
interface shall also be able to select a particular figure and move it as per the user
command.

3.1.1 Internal Data

The external interface shall store information about the past sequence of edit actions, so
that it can provide a multi-level undo. It shall allow the user to undo an entire sequence of
edits, back to the last time the figure was saved to a file. The saved list of edit actions
shall be cleared each time the current figure is saved. The external interface shall store a
list of recently opened files to allow the user instant access to these files. It shall store
user preferences, including the size, position and zoom level of the current view, so that
these can be restored if the software is closed and reopened.

3.1.2 User Commands

The external interface shall make the following commands available to the user. These
commands shall be provided by whatever interface mechanisms are appropriate, (ex:
pull-down or pop-up menus, tool palettes, keyboard shortcuts, etc…). A combination of
such mechanisms may be used if usability testing suggests they are helpful.

• New: initializes the current empty page to draw the figure on. This
command must give the user a warning (and a chance to cancel the
operation) if the previous figure has not been saved since the last edit

• Open: allows the user to browse the directory structure to select a file to
open. This command must give the user a warning (and a chance to cancel
the operation) if the previous figure has not been saved since the last edit.

• Save: saves the figure to the most recent file associated with this figure. If
the current graph has been initialized and not yet saved to a file, this
command functions the same as the “save as” command.
Software Requirements Specification for Graphics Editor Page 4

• Save as: this command shall prompt the user to select a directory and a
filename to save the current file. If the selected filename already exists, this
command shall ask the user to confirm whether to overwrite the existing file.

• Export: this command shall prompt the user to select a directory and a
filename to export an image (bitmap type) to the current drawing.

• Scroll: allows the user to scroll to all parts of the graph that are not visible in
the current view, without changing the zoom level. If the entire drawing is
visible, this command shall not be enabled.

• Undo: allows the user to undo edit actions. A multi-level undo shall be
provided to allow the user to keep undoing edit actions, back to the last
saved version of the file.

• Redo: allows the user to ‘undo’ an undo command. This command shall be
enabled immediately after an undo command has been used, and disabled
as soon as other edit actions are performed.

• Repeat: allows the user to repeat the last edit action on the current
selection.

• Revert: allows the user to revert to the last saved version of the current
drawing. This command must ask the user to confirm that they wish to
discard all edits to the current drawing.

• Print: opens the printer window to print the currently opened drawing. If
there is no printer connected, the drawing shall be saved to a pdf format.

• Select: the user can select a particular figure on the drawing by clicking
mouse pointer on that particular object.

• Change characteristics: upon selecting a figure on the drawing, the user


shall be able to access this command. This command can change the size,
shape, colour, highlight mode, context (for texts) of the selected figure.

• Move: upon selecting a figure, user shall be able to move the particular
object along any direction by specified amount.

• Delete: upon selecting a figure, user shall be to delete the selected figure
from current drawing.

User drawing commands (Provided as a tool bar with icons for each command)

• Zoom in: allows the user to zoom in on the current view, centred on the
mouse pointer
Software Requirements Specification for Graphics Editor Page 5

.
• Zoom out: allows the user to zoom out from the current view. Enough levels
of magnification shall be provided to allow the user to zoom out such that the
entire drawing is visible (even if much of the detail is lost).

• Draw circle: the user shall be able to draw a circular shaped figure on the
screen using the mouse.

• Draw line: the user shall be able to draw a straight line on the screen using
the mouse.

• Draw rectangle: The user shall be able to draw rectangle on screen at any
coordinates.

• Draw ellipse: user shall be able to ellipse shaped figure on screen with the
help of mouse.

• Draw polygon: the user shall be able to draw a polygon upon specifying the
number of edges..

• Add text: this command forms a selected rectangular region on the screen
where any text can be entered and can be moved around the drawing.

3.1.3 Pan function


Pan function to shift the displayed drawing along any direction by a specified amount.

3.1.4 Fit screen function

A fit screen function to make the entire created graphics fit the screen by automatically
adjusting the zoom and pan values.

3.1.5 Grouping function

A grouping function to handle complex drawings. A group can be formed by selecting a


set of objects. A group can include other groups as well. A drawing object can be a
member of at most one group. A Group behaves as a single entity for move, copy and
delete operations

4. External interface requirements


4.1. User Interfaces
Software Requirements Specification for Graphics Editor Page 6

All interaction with the user shall be via the GEI CSCI. The interface provided by the GEI
may be graphical or textual. The interface shall always give a view of the current graph. If
the current graph is too large to display on the screen, the GEI shall display part of it, and
provide controls for scrolling to the hidden parts. The GEI shall also provide a mechanism
for zooming out, to allow the user to see the entire graph in a single view (without
necessarily seeing all the detail). The GEI shall also provide an interface for loading and
saving files. It shall provide a visual reminder if the current graph has been edited but not
yet saved, and in this state, shall warn the user if she attempts to close the graph (or open
a different one) without saving the current graph first. It shall also provide a warning if the
user attempts to overwrite an existing file. For ease of use, the GEI shall allow the user to
browse the file system when opening or saving files, and the GEI shall remember the
name and location of the last file opened.

4.2 Hardware Interfaces

None

4.3 Software Interfaces

The system shall make use of the operating system calls to the file management system
to store and retrieve files containing drawings and images.

5. Performance Requirements
The system shall respond to each user input within 2 seconds. The system shall be able
to handle large diagrams, as would be generated from typical reverse engineering tools.
When laying out large diagrams, speed is important. If the layout will take more than a few
seconds, the user shall be warned of this, and given a progress indicator. There are no
other performance requirements.

6. Other Nonfunctional Requirement

6.1 Standards compliance


The input and output file formats should conform to the JPEG, PNG formats.
All language used in the software (including manuals and documentation) should comply
with current University of Toronto guidelines for decency and equal opportunities
Software Requirements Specification for Graphics Editor Page 7

6.2 Hardware limitations


Processor: Intel i5
Storage: 512 GB

Graphics Card

7. Other requirements

> Some standard templates can be added for user reference.

> Can be integrated with different editing tools

> Colour management can be added

> Social media can be integrated

> Support documentation should be added

You might also like