0% found this document useful (0 votes)
41 views

Software Engineering

The document discusses planning and testing for a social networking app. It outlines the key steps in planning the app including understanding requirements, defining scope, setting goals, and creating a work breakdown structure. It then describes different types of testing for the app at the unit, integration, performance, security, regression, acceptance, and UI levels. Finally, it provides an overview of the software project planning process covering understanding needs, scheduling, risk management, quality planning, and documentation.

Uploaded by

acidic.abdullah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Software Engineering

The document discusses planning and testing for a social networking app. It outlines the key steps in planning the app including understanding requirements, defining scope, setting goals, and creating a work breakdown structure. It then describes different types of testing for the app at the unit, integration, performance, security, regression, acceptance, and UI levels. Finally, it provides an overview of the software project planning process covering understanding needs, scheduling, risk management, quality planning, and documentation.

Uploaded by

acidic.abdullah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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