You are on page 1of 11

Software Engineering

Scenario:

Social Networking App

Horizontal and Vertical Paging

Implementation of a Social Networking App:


​ Profile Page:
● Horizontal: Sketch the main layout with a profile picture, bio, and recent
activity feed.
● Vertical: Detail updating the profile picture, including user input and system
feedback.
​ Posting a Status Update:
● Horizontal: Show the main feed layout with a post creation button.
● Vertical: Detail the steps of creating a post, including text entry, image
attachment, and posting confirmation.
​ Commenting on a Post:
● Horizontal: Display a post with existing comments.
● Vertical: Detail the process of adding a comment, including the comment
box, submit button, and feedback for successful submission.
​ Navigating to Messages:
● Horizontal: Illustrate the main navigation bar with a messaging icon.
● Vertical: Detail the transition to the messages screen, including any loading
states or visual cues.
​ Notifications:
● Horizontal: Show the header with the notifications icon.
● Vertical: Detail the user interaction when clicking on a notification, taking
into account various notification types.
User Case Diagram
Activity Diagram
Class Diagram
Testing process into different levels of a social networking app

1. Unit Testing:
● Focus:
● Individual components or modules.
● Objective:
● Ensure each function and feature works as expected.
● Examples:
● Test the registration function to ensure user data is stored correctly.
● Test the comment class to verify comments are added and displayed
accurately.
● Test the notification method to ensure users receive notifications correctly.

2. Integration Testing:
● Focus:
● Interaction between components.
● Objective:
● Ensure that different modules work together seamlessly.
● Examples:
● Test the integration between the user profile module and the friend request
module.
● Test the interaction between the post-creation module and the notification
system.
● Test API integrations with third-party services for features like social media
sharing.

3. Performance Testing:
● Focus:
● Application responsiveness, scalability, and speed.
● Objective:
● Ensure the app performs well under various conditions.
● Examples:
● Test the load time of the news feed page when there are many posts.
● Evaluate server response times when multiple users are simultaneously
accessing the app.
● Conduct scalability tests to ensure the app can handle increased user activity
during peak times.

4. Security Testing:
● Focus:
● Identifying and fixing vulnerabilities.
● Objective:
● Protect user data and ensure the app is secure.
● Examples:
● Test for SQL injection vulnerabilities in user input fields.
● Conduct cross-site scripting (XSS) tests to prevent script injection attacks.
● Verify the encryption of sensitive user data such as passwords and personal
information.

5. Regression Testing:
● Focus:
● Ensure that new changes do not negatively impact existing functionality.
● Objective:
● Detect and fix any unintended side effects from recent updates.
● Examples:
● Re-run tests for user authentication after implementing a new login feature.
● Verify that the introduction of a new chat feature does not affect existing
messaging functionality.
● Re-test core functionalities like posting and liking to ensure they still work
after updates.

6. Acceptance Testing:
● Focus:
● Validates the overall functionality of the system as per user expectations and
business requirements.
● Objective:
● Ensure that the application satisfies business requirements.
● Validate that the app aligns with user expectations.
● Identify any gaps between the delivered product and the intended use.
● Examples:
● Conduct end-to-end scenarios such as user registration, friend requests, and
posting content to validate the overall user journey.
● Engage real users in scenarios that mimic real-world usage to gather
feedback on the application's usability.
● Confirm that features like privacy settings and content visibility align with
business requirements.

7. UI Testing:
● Focus:
● Validates the look, feel, and responsiveness of the user interface.
● Objective:
● Ensure that the UI elements are correctly displayed and aligned.
● Verify the responsiveness of UI elements to user interactions.
● Confirm that the UI adheres to design specifications and guidelines.
● Aspects Covered:
● Layout: Check for consistent and appealing layouts across different screen
sizes.
● Navigation: Verify that users can easily navigate through the app.
● Appearance: Confirm that UI elements, such as buttons and images, are
displayed correctly.
● Interactivity: Test how the UI responds to user inputs.
● Examples:
● Verify that buttons, links, and images are clickable and lead to the correct
destinations.
● Check the alignment and appearance of UI elements on various devices and
screen sizes.
● Test the responsiveness of the UI to different user interactions, such as
scrolling and tapping.
Software Project Planning Process in a Social Networking App

1. Understanding Requirements:
● Objective: Figure out what our social media app needs by talking to users and
stakeholders.
● Activities:
● Have meetings and interviews to find out what users want and need in the
app.
● Document these details, such as features like user profiles, posts, and
messaging.

2. Defining Project Scope:


● Objective: Decide what our social media app will and won't do.
● Activities:
● Clearly state what the app will include, like user posts and comments.
● Be clear about what's not included, such as e-commerce features.

3. Identifying Project Objectives and Goals:


● Objective: Set clear goals for the app, like getting lots of users and keeping them
engaged.
● Activities:
● Work with stakeholders to set goals, such as increasing user engagement or
reaching a certain number of active users.
● Prioritize these goals based on what's most important for a social app.

4. Creating a Work Breakdown Structure (WBS):


● Objective: Break down the work into smaller tasks for easier planning.
● Activities:
● List out all the tasks needed, like creating user accounts, managing posts,
and handling notifications.
● Organize these tasks into phases, milestones, and activities.

5. Resource Planning:
● Objective: Figure out who and what we need to make the app happen.
● Activities:
● Estimate what kind of people and tools we need for tasks like developing
features and handling multimedia content.
● Make sure our team has the skills and tools to build a social media app.

6. Estimating Time and Effort:


● Objective: Make realistic guesses about how long each task will take.
● Activities:
● Use past experiences and expert advice to estimate how much time and effort
each part of the app will take.
● Consider things like dependencies and possible challenges in the
development process.

7. Scheduling:
● Objective: Plan out when each task will get done to create a timeline.
● Activities:
● Use project management tools to create a timeline, showing when we'll finish
tasks like developing features or testing.
● Consider how tasks depend on each other and make sure we have enough
resources.

8. Risk Management:
● Objective: Identify and deal with possible problems before they happen.
● Activities:
● Think about what might go wrong, like privacy concerns or technical issues.
● Come up with plans to handle these problems and keep an eye on things
throughout the project.

9. Quality Planning:
● Objective: Set standards to make sure the app works well.
● Activities:
● Make a plan to check that the app meets certain standards, especially in
features like user interactions and multimedia sharing.
● Decide on criteria for accepting and approving different parts of the app.

10. Communication Planning:


● Objective: Make sure everyone on the team talks and works together well.
● Activities:
● Plan how the team will communicate, like through regular meetings or
updates.
● Identify who needs to know about what, especially when it comes to social
features.

11. Documenting the Project Plan:


● Objective: Write down all the plans in one document for everyone to follow.
● Activities:
● Put all the information into a clear project plan document, covering everything
from user needs to development decisions.
● Make sure the whole team can use this document as a guide.

12. Review and Approval:


● Objective: Get feedback and approval from the team before starting the work.
● Activities:
● Share the project plan with the team and stakeholders.
● Listen to feedback, make any needed changes, and get everyone's approval
before moving on.

Functional and Non-functional Requirements identification for a social


networking app

Functional Requirements:
​ User Registration and Authentication:
● Users should be able to create accounts.
● Users should be able to log in securely.
​ Profile Management:
● Users should be able to create and edit profiles.
● Users should be able to upload and manage profile pictures.
​ Connections and Networking:
● Users should be able to send friend requests.
● Users should be able to accept or decline friend requests.
● Users should be able to unfriend or block other users.
● Users should be able to see a list of their connections.
​ Posting and Sharing:
● Users should be able to create and publish posts.
● Users should be able to share posts with specific individuals, groups, or
publicly.
● Users should be able to like, comment, and share posts.
​ Messaging:
● Users should be able to send and receive direct messages.
● Users should be able to create group chats.
● Users should receive notifications for new messages.
​ Notifications:
● Users should receive notifications for friend requests, messages, and other
relevant activities.
​ Search and Discovery:
● Users should be able to search for other users.
● Users should be able to discover new connections based on interests or
mutual friends.
​ Privacy Settings:
● Users should be able to customize privacy settings for their profiles and
posts.
​ Events and Calendar:
● Users should be able to create and manage events.
● Users should be able to view and RSVP to events.

Non-Functional Requirements:
​ Performance:
● The app should have low latency for loading profiles, posts, and other
content.
● The app should be able to handle a large number of concurrent users.
​ Scalability:
● The app should be able to scale to accommodate an increasing number of
users over time.
​ Reliability:
● The app should be available and reliable with minimal downtime.
​ Security:
● User data should be securely stored and transmitted.
● Authentication and authorization mechanisms should be robust.
​ Usability:
● The user interface should be intuitive and easy to navigate.
● Accessibility features should be implemented for users with disabilities.
​ Compatibility:
● The app should be compatible with various devices and operating systems.
​ Data Backup and Recovery:
● Regular data backups should be performed.
● There should be a mechanism for data recovery in case of system failures.
​ Compliance:
● The app should comply with relevant data protection and privacy regulations.
​ Analytics and Monitoring:
● Implement analytics to track user engagement and behavior.
● Monitor system performance and log errors for troubleshooting.

You might also like