Software Requirements Specification
Microblogging Application (Twitter-
like)
Version 1.1
Prepared by:
John Wick
Black Widow
Alexander McQueen
Published on……
Based on IEEE Std 830-1998
IEEE Computer Society
Sponsored by the
Software Engineering Standards Committee
Table of Contents
1. Introduction................................................................................................................... 3
1.1 Purpose.................................................................................................................................... 3
1.2 Scope......................................................................................................................................... 3
1.3 Definitions, Acronyms, and Abbreviations..................................................................3
1.4 References.............................................................................................................................. 3
1.5 Overview................................................................................................................................. 3
2. Overall Description...................................................................................................... 3
2.1 Product Perspective............................................................................................................ 3
2.2 Product Functions................................................................................................................ 4
2.2.1 Function of the Software..............................................................................................................................4
2.2.2 User Access Right............................................................................................................................................4
2.3 User Characteristics............................................................................................................ 4
2.4 Constraints............................................................................................................................. 4
2.5 Assumptions and Dependencies.....................................................................................5
3. Specific Requirements................................................................................................. 5
3.1 External Interface Requirements................................................................................... 5
3.1.1 User Interfaces..................................................................................................................................................5
3.1.2 Hardware Interfaces......................................................................................................................................5
3.1.3 Software Interfaces.........................................................................................................................................5
3.1.4 Communications Interfaces........................................................................................................................6
3.2 Functional Requirements..................................................................................................6
3.2.1 Usecase Diagram..............................................................................................................................................6
3.2.2 Diagram Context..............................................................................................................................................7
3.2.3 Data Flow Diagram.........................................................................................................................................7
3.3 Performance Requirements............................................................................................. 7
3.4 Design Constraints............................................................................................................... 7
3.5 Software System Attributes (Non-functional Requirements)...............................7
3.5.1 Reliability............................................................................................................................................................7
3.5.2 Availability......................................................................................................................................................... 7
3.5.3 Security................................................................................................................................................................ 7
3.5.4 Maintainability................................................................................................................................................. 7
3.5.5 Portability...........................................................................................................................................................7
3.6 Other Requirements............................................................................................................ 8
Appendices (Optional)..................................................................................................... 8
Index...................................................................................................................................... 8
1. Introduction
1.1 Purpose
This document specifies the requirements for a microblogging application similar to Twitter.
It defines both functional and non-functional requirements to guide development. The
intended audience includes software developers, testers, project managers, and clients.
1.2 Scope
The system allows users to register, post short messages (tweets), follow other users, like
and comment on posts, and receive real-time notifications. This specification covers the
backend API, basic frontend functionality, and integration points. It does not include third-
party mobile client development.
1.3 Definitions, Acronyms, and Abbreviations
API: Application Programming Interface
UI: User Interface
Tweet: A short text message posted by a user (up to 280 characters)
1.4 References
IEEE Std 830-1998 Software Requirements Specification
OAuth 2.0 Specification
REST API Design Guidelines
1.5 Overview
This document is organized into sections detailing general system context (Section 2),
specific functional and non-functional requirements (Section 3), followed by supporting
materials.
2. Overall Description
2.1 Product Perspective
Describes the system's context, components, and interfaces (system, user, hardware,
software, communication).
The microblogging application is a standalone web-based system. It consists of a frontend
client (browser-based UI) and a backend RESTful API. The system interfaces with external
services such as email providers and push notification services. It is deployed in a cloud
environment and uses a relational database to store user data, tweets, and social
interactions.
2.2 Product Functions
Summarizes major functions of the software and describes the system users and defines
their access privileges or roles within the system.
2.2.1 Function of the Software
User registration and login
Posting and deleting tweets
Following and unfollowing users
Liking and commenting on tweets
Real-time notifications
Viewing personal and public timelines
2.2.2 User Access Right
Users/Actors User Access Right/User Roles
End users are authorized to access their
accounts, manage their own content, and use
General user
the system’s features for searching and
interacting with available content.
Manage user accounts
Administrator
Manage system settings
2.3 User Characteristics
Describes general user profiles, skills, and experience levels.
The system targets general internet users with basic web browsing skills. No technical
knowledge is required. Administrators will require moderate technical knowledge to manage
user reports and platform settings.
2.4 Constraints
Lists limitations (e.g., hardware, legal, regulatory).
Maximum tweet length is 280 characters
Only modern web browsers are supported (Chrome, Firefox, Safari)
2.5 Assumptions and Dependencies
Lists factors assumed to exist or external systems the software depends on.
Stable internet connection is available for all users
The system relies on external services for email verification and push notifications
Backend server and database will be deployed on a cloud provider such as AWS or
Azure
3. Specific Requirements
3.1 External Interface Requirements
Detailed description of all inputs into and outputs from the software system.
3.1.1 User Interfaces
UI design expectations.
Web-based UI with responsive design. Users can view timelines, post tweets, and manage
profiles.
(in this section insert the design; such as wireframes, mockups or a Figma link.)
3.1.2 Hardware Interfaces
Interfaces to hardware (e.g., sensors, devices)
No specific hardware required;
Operates on standard desktops, laptops, and mobile devices.
3.1.3 Software Interfaces
Integration with other software or APIs.
Integrates with email service Amazon SES
Push notifications used Amazon SNS
3.1.4 Communications Interfaces
Network protocols, ports, message formats.
All communication uses HTTPs.
Backend API follows REST principles
uses JSON format.
3.2 Functional Requirements
Detailed “shall” statements describing what the software must do.
FR-01: The system shall allow users to register using email and password.
FR-02: The system shall send a verification email after registration.
FR-03: The system shall allow users to log in using verified credentials.
FR-04: The system shall allow users to post tweets up to 280 characters.
FR-05: The system shall allow users to delete their own tweets.
FR-06: The system shall allow users to follow and unfollow other users.
FR-07: The system shall display a timeline of tweets from followed users.
FR-08: The system shall allow users to like and comment on tweets.
FR-09: The system shall send push notifications for new followers, mentions, and
likes.
FR-10: The system shall allow users to edit their profiles.
In this section, also describe the product functions visually using such as a use-case
diagram (provide the corresponding scenarios), Diagram context and DFD.
3.2.1 Usecase Diagram
only for example
3.2.2 Diagram Context
3.2.3 Data Flow Diagram
3.3 Performance Requirements
Speed, throughput, response time, capacity, etc.
The system shall respond to user requests within 2 seconds for 95% of all
interactions.
The backend shall support at least 10,000 concurrent users.
The system shall handle up to 100 tweets per second during peak usage.
3.4 Design Constraints
Standards, platform limitations, mandated technologies.
The system must use OAuth 2.0 for authentication.
The backend must be built using Node.js and the frontend using React.
The database must be PostgreSQL.
3.5 Software System Attributes (Non-functional Requirements)
3.5.1 Reliability
Required reliability of the software system at time of delivery.
The system shall have a mean time between failures (MTBF) of at least 1 month.
3.5.2 Availability
Availability level for the entire system such as checkpoint, recovery, and restart.
The system shall be available 99.9% of the time, excluding scheduled maintenance.
3.5.3 Security
Protection from accidental or malicious access, use, modification, destruction, or
disclosure.
All user data must be encrypted using AES-256.
User passwords must be stored using bcrypt hashing.
3.5.4 Maintainability
Ease of maintenance of the software itself.
The source code must follow clean coding standards and include automated tests.
The system must allow hotfix deployment without restarting the entire system.
3.5.5 Portability
Ease of porting the software to other platforms.
The frontend must be responsive across mobile, tablet, and desktop browsers.
3.6 Other Requirements
Any other requirements not covered above.
The system must support multi-language UI (English and Bahasa Indonesia).
All user activity must be logged and auditable.
The system must comply with data privacy laws (GDPR).
Appendices (Optional)
Supporting material, glossaries, sample inputs/outputs.
Index
To help locate key sections or requirements.