SUBMITTED BY ZAIN UL Abedin Khan ROLL NO 2021-UAM-2289 SUBMITTED TO MAM MARYAM SOHAIL SUBJECT ENGINEERING DEPARTMENT SEMESTER SOFTWARE REQUIREMENT COMUTER SCIENCE BS-IT (D) 5TH DATE MNS UNIVERSITY OF AGRICUTURE MULTAN Functional Requirements Analysis a. Reference App(s) - Twitter b. Core Features of Twitter User authentication and profile management Tweeting (posting short messages) Following/unfollowing other users Retweeting and liking tweets Replying to tweets Direct messaging Hashtags and mentions Trending topics and search functionality c. Functional Requirements for Your App 1. User Authentication and Profile Management Users must be able to create accounts, log in, and manage their profiles. 2. Tweeting Users can compose and post short messages (tweets). 3. Social Networking Features Users can follow/unfollow other users. 4.Interaction with Tweets Users can retweet, like, and reply to tweets made by others. 5. Direct Messaging Users should be able to send direct messages to other users. 6. Hashtags and Mentions Users can use hashtags and mentions in their tweets. 7. Search Functionality Users can search for other users, tweets, and trending topics. d. Clarity in Feature Functionality Tweeting involves typing a message and clicking a "Tweet" button. -Interaction with tweets includes options to retweet, like, and reply, with a simple click action. Hashtags and mentions can be added within a tweet, linking to related content. Direct messaging functions similar to a chat interface. Non-Functional Requirements Identification a. Performance, Security, and Usability Aspects of Twitter performance: Fast loading times, especially for the feed and interactions. Security: Secure user authentication, data encryption, and privacy settings. Usability: Intuitive UI/UX, consistent design elements, and accessibility. b. Non-Functional Requirements for Your App 1. Performance Response time for actions like loading feeds and sending messages should be under 1 second. 2. Security Data encryption for user credentials, secure storage, and secure communication. 3.Usability Adhere to UI/UX design principles, ensuring ease of use and accessibility. Design and Implementation Constraints: a. Technology Stack Frontend: React Native or Flutter for cross-platform mobile development. -Backend: Node.js with Express.js, MongoDB for database, and WebSocket for realtime updates. Hosting: AWS or Azure for scalability. b. Project Timelin - ... Define milestones based on feature complexity and estimate development time for each. For example: Milestone 1: User authentication and profile management (2 weeks) Milestone 2: Tweeting and interaction features (4 weeks) c. Budgetary Constraints and Resource Availability Allocate budget for development, hosting, marketing, and maintenance. Assess available human resources, considering hiring needs. d. Third-Party Integrations or API Integration with Twitter API for certain functionalities. Integration with a text analysis API for sentiment analysis of tweets. e. Hardware and Software Constraints for End-Users Minimum device specifications: Android 6.0+/iOS 10+, at least 2GB RAM, and a modern multi-core processor.