0% found this document useful (0 votes)
84 views17 pages

Acronym Generator SRS

This document provides documentation for an Acronym Generator tool, including its overall description, design methodology, high level architecture, requirement gathering techniques, UML diagrams, requirement analysis, user interface, implementation details, and project timeline. The tool allows users to generate acronyms from input text in 3 seconds or less. It was developed using a waterfall model and utilizes a client-server architecture with React, JavaScript, CSS and HTML. Requirements were gathered through use cases, data flow diagrams and activity diagrams. The tool operates across major browsers and was designed for simplicity and usability.

Uploaded by

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

Acronym Generator SRS

This document provides documentation for an Acronym Generator tool, including its overall description, design methodology, high level architecture, requirement gathering techniques, UML diagrams, requirement analysis, user interface, implementation details, and project timeline. The tool allows users to generate acronyms from input text in 3 seconds or less. It was developed using a waterfall model and utilizes a client-server architecture with React, JavaScript, CSS and HTML. Requirements were gathered through use cases, data flow diagrams and activity diagrams. The tool operates across major browsers and was designed for simplicity and usability.

Uploaded by

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

Documentation for Acronym Generator

Tool
Contents
1. Introduction...........................................................................................................................................3
2. Overall Description................................................................................................................................3
2.1 Product Overview............................................................................................................................3
2.2 Operating Environment..................................................................................................................3
2.3 Design and Implementation Constraints........................................................................................3
3. Software Design Methodology..............................................................................................................4
4 High Level Architecture.........................................................................................................................4
4.1 Proposed architecture.....................................................................................................................4
4.2 Alternative Solutions and Tradeoffs...............................................................................................5
5. Requirement Gathering Technique......................................................................................................6
5.1 Use Case Actors...............................................................................................................................6
5.2. Use Case Diagram...........................................................................................................................6
4.3. Detailed Use Case............................................................................................................................6
4.3.1 Generate Acronym....................................................................................................................6
4.3.2 View Acronym...........................................................................................................................7
5. UML Diagrams......................................................................................................................................7
5.1 DFD...................................................................................................................................................7
5.2 Activity Diagram..............................................................................................................................8
6. Requirement Analysis...........................................................................................................................8
6.1 Functional Requirements...................................................................................................................8
6.1.1 Generate Acronym......................................................................................................................8
6.1.2 Add Text.....................................................................................................................................9
6.1.3 View Acronym...........................................................................................................................9
6.2. Non-Functional Requirements.......................................................................................................9
6.3 Assumptions...................................................................................................................................10
8. User Interface.......................................................................................................................................10
9. Implementation and Code...................................................................................................................11
9.1 How to run code file:.....................................................................................................................11
9.1 Code Explanation..........................................................................................................................11
10. Gantt Chart........................................................................................................................................16
11. References...........................................................................................................................................17
1. Introduction
Acronyms are a significant and unique part of our everyday vocabulary. A highly technical society's
demands have significantly increased the proportion of acronyms encountered in everyday language.
Acronyms can now be found in scientific and nonscientific journals (for example, DNA, EEG, CD-ROM,
DVD, radar, sonar, VAT, CPI, OXO, NATO, NHS, and so on) and are actively used in text messages and
e-mail communications (e.g., lol, MYOB, BW, etc.). It is not a new practice to shorten complex words
(e.g., INRI is an acronym that dates back to Roman times). Generating an acronym manually can be tiring
and a time taking long process, you have to do a lot of thinking into generating one acronym that might
not even be a good one. Therefore to save time and avoid human error we have created an automated
acronym generator to make this task simple and efficient. A tool created specifically for creating easy-to-
remember and pronounce acronyms and abbreviations.

2. Overall Description
2.1 Product Overview
The Acronym Generator creates acronyms from words by combining two to five keyword abbreviations.
An acronym is created by combining individual letters from sentences to create a new word. A simple and
effective automated tool for creating a good acronym. Simply write or copy and paste the text for which
you want to generate acronyms and press the Go button; the tool will generate a sufficient and easy-to-use
acronym list for you. It will only take you a few seconds to generate an acronym for your title, text, email,
and so on. This tool shall help you save your time and efforts in creating an easy and good acronym.

2.2 Operating Environment


OE-1: The System shall operate correctly with the following web browsers: Firefox versions 75
through 103.0; Google Chrome (all versions); and Apple Safari versions 10 through 15

2.3 Design and Implementation Constraints


Following are the design and implementation constraints.
CO-1: The system shall use the open source tools.
CO-2: React JS shall be used for frontend development.
CO-3: JavaScript, CSS, HTML is used as well

3. Software Design Methodology


We have used the waterfall as our design methodology for this project. And as the waterfall Model
depicts the software development process in a sequential linear flow. This means that any phase of the
development process can start only after the previous phase is finished. The phases in this waterfall model
do not overlap.

Advantages of using waterfall model

 Straightforward and simple to use


 Because of the model's rigidity, it is simple to manage. Specific deliverables and a review process
are included in each phase.
 Each phase is processed and finished separately.
 Works well for smaller projects with clearly defined requirements.
 There are distinct stages.
 Easily understood benchmarks
We choose waterfall model as it is very simple and easy to use and our project requirements were well
documented, clear, and consistent. There were no ambiguities in the requirements. Technology was well
understood and project was not too big.

4 High Level Architecture


4.1 Proposed architecture

Client Server
We used the architectural model that involves two entities and that is "client-server." In this architectural
model there is a server and a group of clients.
The server receives requests from client components, processes them, and then replies.
When a server agrees to a client's request, it establishes a connection with the client using a particular
protocol.
Servers can have state or not. A state-full server can deal with a number of client requests. It keeps track
of the client's requests in a log that is referred to as a "session."
4.2 Alternative Solutions and Tradeoffs
Following are the other alternative architectural solutions we took into our consideration as well.
Layered Architecture
It is a well-known design pattern also known as the n-tier pattern. Because the layered pattern is the de
facto norm for most Java EE applications, most designers, architects, and developers are familiar with it.
The components of this style are structured horizontally in layers, with each layer performing a specific
function in the application. Also, the types and quantities of layers that must be present in each pattern are
not specified in this design. The four standard levels of a layered architecture pattern are presentation,
business, persistence, and database. The business and persistence layers are sometimes combined into a
single layer called the business layer. Moreover, small applications may have three layers only while
large applications may have five or more layers. [8]

Pipe and filter


It is an architectural design paradigm that enables asynchronous or stream processing. Filters and pipes,
which are connections between filters, are among the various components of this pattern. Each filter in
this pattern is in charge of applying a function to the data; this is referred to as filtering. Filters can also
work in parallel. The final product is sent to the consumer, who is the sink. This pattern is appropriate for
big processes that can be broken down into smaller phases, allowing each filter to process one step at a
time and create all of the data for the final output. The UNIX pipe command, which pipes output from
one function to another as input, is an example of this pattern. [12]

Object Oriented Systems


All data is represented as distinct objects in the object-oriented system (OOS), with which the user and
other objects can interact. Each object in OOS contains data as well as information about the executable
file required to interpret that data. Furthermore, OOS allows users to focus solely on tasks rather than
tools. Object-oriented programming languages include C++, Java, and Smalltalk. [13]

5. Requirement Gathering Technique


5.1 Use Case Actors
Following are the actor of the proposed system i.e. End Users/customer

5.2. Use Case Diagram


Given below is the use case diagram of the system:
5.3. Detailed Use Case
Given below are the detailed use cases for the system

5.3.1 Generate Acronym


Use Case ID: UC-01
Use Case Name: Generate Acronym
Actors: End User (primary actor)
Description: User shall be able to generate acronym through the tool for their text online
Trigger: User clicks on the GO button
Preconditions: PRE-1. System is available to the user.
PRE-2. User has an active internet connection
Postconditions: POST-1. User generates the acronym successfully.
Normal Flow: 1. User visits the site.
2. User enters the text or words he wants to generate acronym for.
3. User clicks the Go button
4. System generate the acronyms
5. User view the acronym for the text
Alternative Flows: N/A
Exceptions: 2a. In step 2 of the normal flow if the user enters incorrect text or one word
1. System will show error message to enter correct text or more words
2. User enters the correct data.
3. Use case resumes on step 3 of normal flow.
Business Rules N/A
Assumptions 1. User has internet connection.

5.3.2 View Acronym


Use Case ID: UC-02
Use Case Name: View Acronym
Actors: End User (primary actor)
Description: User can view the acronym created by the system automatically.
Trigger: User navigates to the acronym section output of the UI.
Preconditions: PRE-1. System is available to the user.
PRE-2. User has an active internet connection
Postconditions: POST-1. User views the auto generated acronym successfully
Normal Flow: 1. User enters the text
2. User clicks the go button
3. Users view the result (acronym).
Alternative Flows: N/A
Exceptions: N/A
Business Rules N/A
Assumptions 1. User has internet connection.

6. UML Diagrams
6.1 DFD
Given below is the DFD 1 for
6.2 Activity Diagram
Given below is the activity diagram for the system
6.3 Sequence Diagram

7. Requirement Analysis
7.1 Functional Requirements
7.1.1 Generate Acronym
Identifier FR-01
Title Generate Acronym
Requirement User shall be able to generate easy and understandable acronyms from the tool
Source Client/supervisor.
Rationale In order for user to easily facilitate and generate automated acronyms by just a click
Business Rule (if User must have an internet connection
required)
Dependencies FR-02
Priority High
7.1.2 Add Text
Identifier FR-02
Title Add Text
Requirement User shall be able to add text (title, words etc.) he/she wants to generate acronym
for.
Source End User
Rationale In order for user to easily add text and also copy paste text
Business Rule (if User must have an internet connection
required)
Dependencies N/A
Priority High

7.1.3 View Acronym


Identifier FR-03
Title View Acronym
Requirement User shall be able to view the acronym generated by the tool for his/her text
Source End User
Rationale User can view the system auto generated acronym.
Business Rule (if User must have an internet connection
required)
Dependencies N/A
Priority High

7.2. Non-Functional Requirements


 Reliability

REL 1: The system shall have less than 6 hour’s downtime per two months
REL 2: Maximum Bugs per 500 lines should not be greater than 3.

 Usability

USE-1: The system user interface shall be user friendly. i.e. the minimum amount of time taken
by novice user to learn the system shall be 3 minutes.

7.3 Assumptions
Following are the assumptions for the proposed system.
1. The user has access to a good internet connection.
2. The system has a user friendly interface.
3. The system is easy to use.
4. The system is available 24/7 to the users.
8. User Interface
Given below are the user interface for the proposed system

9. Implementation and Code


9.1 How to run code file:
To run your code install Vs code in your system, Open your code file in VS code and run simple
commands
First Run npm install in your vs code terminal.
And run npm start in terminal and this will open localhost in your chrome. 

9.1 Code Explanation


Virtual DOM:
Virtual DOM is used by React to improve performance. The observable is used to identify state and prop
changes. React compares the virtual DOM versions using an effective different technique. Then it ensures
that batch modifications are transmitted to the actual DOM so that the UI may be painted or rendered
again.

Material UI
We have used Material UI for the tool. It is an open-source project with React components that
implement Google's Material Design.

 CssBaseline is sort of CSS reset added to your document's <head />. If you are familiar with
similar approaches like normalizing CSS which adds some default visual styling to default
elements, resets paddings and etc.

 Use typography to present your design and content as clearly and efficiently as possible. Too
many type sizes and styles at once can spoil any layout. A typographic scale has a limited set of
type sizes that work well together along with the layout grid.
 In Material Design, the physical properties of paper are translated to the screen. The
background of an application resembles the flat, opaque texture of a sheet of paper, and an
application's behavior mimics paper's ability to be re-sized, shuffled, and bound together in
multiple sheets.
 The Material Design responsive layout grid adapts to screen size and orientation, ensuring
consistency across layouts. Material UI for React has this component available for us and it is
very easy to integrate. We can the Grid component in ReactJS using the following approach.
 A divider is a thin line that groups content in lists and layouts. Material UI for React has this
component available for us, and it is very easy to integrate. We can use the Divider Component in
ReactJS using the following approach
 Text Field component is a complete form control including a label, input, and help text.
 Container components can be primarily referred to as the parent elements of other components in
a React app. They serve as a bridge between the normal components that render the UI and the
logic that makes the UI components interactive and dynamic. The most common function of a
container component is to obtain data

We call this a “root” DOM node because everything inside it will be managed by React DOM. Applications
built with just React usually have a single root DOM node. If you are integrating React into an existing app,
you may have as many isolated root DOM nodes as you like. It displays “Hello, world” on the page.
All other used are for styling and imported already 

Function response for outputs in all condition:


When function perform correctly, API run and shows response.
Handling data in array form and return response.

 Shows design view using container, typography, Grids and text fields etc.
9.3 API
As digital transformation efforts have accelerated over the last year, developers require modern API
tooling to build digital applications and services. RapidAPI provides a unified experience across the API
development lifecycle from developing APIs with RapidAPI Client to testing and monitoring them with
RapidAPI Testing.
We used and got motivation from Linguatools Sentence Generating API. It is an API for generating english
sentences for a given input. The API can realize simple sentences given a subject, a verb and an object.
Optional additional parameters allow to specify features like tense, number, voice, sentence type.

 10. Gantt Chart


Given below is the Gantt chart for the entire development made in MS Project.
11. References

Izura, C. and Playfoot, D. (2011). A normative study of acronyms and acronym naming. Behavior
Research Methods, 44(3), pp.862–889. doi:10.3758/s13428-011-0175-8.

S, S. (2017). A Study of Software Development Life Cycle Process Models. [online] papers.ssrn.com.
Available at: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2988291.

Sommerville, I., Columbus, B., New, I., San, Y., Upper, F., River, S., Cape, A., Dubai, T., Madrid, L.,
Munich, M., Montreal, P., Delhi, T., São, M., Sydney, P., Kong, H., Singapore, S. and Tokyo, T.
(n.d.). SOFTWARE ENGINEERING Ninth Edition. [online] Available at:
https://engineering.futureuniversity.com/BOOKS%20FOR%20IT/Software-Engineering-9th-Edition-by-
Ian-Sommerville.pdf.

‌Murudkar, D.S. (2020). All You Need to Know About Abbreviations and Acronyms. [online] Enago
Academy. Available at: https://www.enago.com/academy/abbreviations-and-acronyms/ [Accessed 3 Aug.
2022].

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy