Acronym Generator SRS
Acronym Generator SRS
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.
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]
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
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
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
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.
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].