You are on page 1of 15

Text Editor using Python

ROHAN SHIVDE(200160107043)
DEBASIS ROUT (200160107042)

Software Requirements Specification

Document

Version: 1.0 Date: 11/22/2022


Table of Contents

1 INTRODUCTION
1.1 BACKGROUND
1.2 OBJECTIVE
1.3 SCOPE
1.4 FEATURES
1.5 GANTT CHART AND PERT CHART

2 REQUIREMENTS
2.1 FUNCTIONAL REQUIREMENTS
2.2 NON FUNCTIONAL REQUIREMNETS
2.3 HARDWARE SPECIFICATION
2.4 SOFTWARE SPECIFICATION

3 DESIGNING
3.1 DATA MODEL
3.2 ARCHITECTURE
3.3 DIAGRAMS

4 IMPLEMENTATION
4.1 CODING
4.2 PROTOTYPE

5 TESTING
5.1 TESTING METHOD
5.2 TEST CASES

6 COST ESTIMATION
6.1 CALCULATE PROJECT COST

7 RISK IDENTIFICATION

8 CONCLUSION FUTURE SCOPE REFERNCE


1. INTRODUCTION

A text editor refers to any form of computer program that enables users to create, change,
edit, open and view plain text files. They come already installed on most operating systems
but their dominant application has evolved from notetaking and creating documents to
crafting complex code. This time we are going to create a Text Editor Project using Python.
This text editor will have a basic function to save a file.

About Text Editor


Text Editor is a simple application that helps a user to write texts and save it in a file. It is a
basic beginners project but very interesting to make.  we are going to create a text editor
which will have several options like copy, paste, save, save as etc. 

1.1 OBJECTIVE :

A text editor is a program that saves your files without formatting. Word processors


such as MS-Word or OpenOffice.org Writer include formatting information when
they save a file -- that is how the program knows to bold certain text and
italicize others. Today, text editors are a core part of a developer’s toolbox and are
most commonly used to create computer programmes, edit hypertext markup
language (HTML), and build and design web pages.

1.2 SCOPE :

A text editor is a program that allows you to open, view, and edit plain text files. Unlike word
processors, text editors do not add formatting to text, instead of focusing on editing functions
for plain text. Text editors are used by a wide variety of people, for a wide variety of
purposes. Simplify the workflow and a timely execution of necessary work scope

1.3 FEATURES
The right text editor and/or coding GUI (graphical user interface) environments makes a
scientific workflow more efficient. You will use text editors for many different purposes
including:

 Interacting with tools at that command line: For example, you use a text editor when
you use Git for version control to write merge and commit message.
 Writing  scripts to process files: If you want to very quickly process a large set of text
files, you will often use  at the command line. You will use a text editor to write that
script.
 Scientific programming: Many scientists and coders work in a text editor to write
their code

1.4 GANTT CHART


1.5 PERT CHART
2 REQUIREMENTS :

2.1 FUNCTIONAL REQUIREMENTS :


The ability to change text by adding, deleting and rearranging letters, words,
sentences and paragraphs. Text editing is the main operation users perform in word
processors, which typically also handle graphics and other multimedia files. It edits
the texts and word process the text. Tasks will be fast to add and organise

2.2 NON FUNCTIONAL REQUIREMENTS :


Increase productivity and it saves your time. They’re also equipped to open very large
files and read them at speed. It is fast and has not any delay in the typing and printing
on the screen. The function like insertion of the shapes and other visual representation
it should be well connected to the hard drive of the desktop, thus it does not provide
any delay in the fetching of the data from the computer. The features should perform
well and it should not be the reason of the reason of the lagging in the computer.

2.3 HARDWARE SPECIFICATION


Interfacing in which we connect our hardware with a computer in any programming
language so, in this article I explain how to interface hardware(Arduino) with python3
in three different ways and also explain how to input in python with voice command.
We have to install these libraries in windows to interface your hardware with python3.

2.4 SOFTWARE SPECIFICATION


1. Pydev- Code completion and analysis.
2. Pycharm- Executes edits and debugs Python code without any external
requirements.
3. Sublime Text – Opens large files and supports many languages.
4. IDLE- It can be used to create, modify and execute python scripts. It offers features
like syntax highlighting, auto-completion & smart indent.
5.Visual Studio Code- A powerful code management engine, having a large number
of extensions.
3 DESIGN
USE CASE DIAGRAM

Architecture
4. Implementation
4.1 Coding
4.2 Prototype
5.Testing

Software Testing is a method to check whether the actual software product matches
expected requirements and to ensure that software product is Defect free. It involves
execution of software/system components using manual or automated tools to
evaluate one or more properties of interest. The purpose of software testing is to
identify errors, gaps or missing requirements in contrast to actual requirements.

5.1 Testing method


The prototype was simple thus very few testing method were applied on the
software. First the some simple text was typed on the prepared text editor. The
prototype was checked for the delay between typing and displaying on the screen.
The theoretical testing method were not necessary for the testing . The individual
component such as the scroll bar and the save button is also tested

5.2 Test case


NONE
6. COST ESTIMATION

Finding the cost required to make software , by finding out our budget and dividing
that money into parts to use it efficiently. Main cost of the development is to make
payment of the developers required to develop the software, so that they work on full
potential.

For our project we haven’t spend a lot of money on out project we just need to pay to
developers. IDE required to make software is free of cost and our system(laptop) is
capable of making out project so we don’t need to spend money on that. As we are the
developers of out project so we don’t pay ourselves and save that money as well. Our
main expenditure is on deployment, to represent our software to most people we
require a large platform so that we can get a strong user base which will help us on
their platform.

If in case of system failure (problem in our laptops) we will require the repairing cost
which will be covered under project budget

6.1 Cost estimation


Our expenditure is quite less because of the simple nature if our project. The LOC
are very less in the number and if add other feature like font size, color and insertion
of the picture it may go upto 100+ plus LOC. But it is short thus the cost is negligible
7. RISK IDENTIFICATION

Risk identification is the most important stage in project risk management. It


determines the possible hazards that can affect the successful launch and development
of the project.

To make our software a success, we need to identify the risk and try to avoid those
risks by reviewing and by iterative methods we can identify risk in advance.
Below given are some risk which might affect our to-do list software.
 IT security threats (malware and ransomware)
A security threat is a malicious act that aims to corrupt or steal data or disrupt an
organization's systems or the entire organization. A security event refers to an
occurrence during which company data or its network may have been exposed.
 Long app reviewing time
If our software requires too much time to load all the interfaces then it could
disappoint our users and make bad impression on customers regarding software.
 Leaving of a team member
Leaving of a team member in middle of the project is very risky as it delays the
project deadline and also contribute to the increment in cost.
 System failure
If something unusual happens which doesn’t allow our software to work flawlessly
then it could also leave mark of bad impression on the user.
8. CONCLUSION

Currently the text editor is very simple just show the letters and saves the txt file in
the desktop . Due to the simple nature of the software the cost is cheap. Our goal is to
keep on adding more feature and keep the software user friendly and easy to use
without any failure of the system. We want to add database to save data in the remote
place
8.1 FUTURE SCOPE
We want to add cloud computing technology to store some data in the
remote place .Add feature like font styling sizing ,adding the picture from
internet or the device, helping in the formatting data to make user work
effortless. To improve the UI of the software . Provide the facility of the
making the table in the file
9. REFERENCE

The simple text editor which can be use as the widgets or sicky note with low cost and
feature and potential to develop in the future with more technology

You might also like