University of Computer Studies Yangon

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

UNIVERSITY OF COMPUTER STUDIES YANGON

2023-2024 ACADEMIC YEAR

Messaging System
IS-101 (Introduction to Software Engineering)
Project Report
Presented By Group

Thuta Nyan (YKPT-22366)


Aung Kaung Myat (YKPT-22333)

Thurein Htet (YKPT-22355)


Thura Aung (YKPT-22352)
Lin Pyae Bo (YKPT-22359)

Kaung Khant Lin (YKPT-22334)


TABLE OF CONTENTS
ABSTRACT................................................................................ 1

CHAPTER(1) INTRODUCTION.............................................. 2
1.1 Objectives....................................................................... 2
1.2 User Stories ................................................................... 3
1.3 Benefits of this Project................................................... 4

CHAPTER (2) FUNCTIONAL REQUIREMENTS................. 5


2.1 Sending Multimedia...................................................... 5
2.2 Chats.............................................................................. 6
2.3 User Perspective............................................................ 6
2.4 Security.......................................................................... 6
2.5 MoSCoW........................................................................ 7

CHAPTER (3) NON-FUNCTIONAL REQUIREMENT..........


3.1 Non-functional Requirements........................................ 7
7
CHAPTER (4) UML DIAGRAMS............................................ 11
4.1 UML Diagrams................................................................ 11
4.2 Use Case Diagram.......................................................... 11
4.3 Class Diagram................................................................ 11
4.4 Sequence Diagram.......................................................... 12

CHAPTER (5)........................................................................... 16
CONCLUSION.......................................................................... 16
5.1 Summary of Project Objectives..................................... 16
5.2 Summery of the Whole Project..................................... 18
List of Figures
4.1 Diagram 1 14
4.2 Diagram 2 15
4.3 Diagram 3 16
ABSTRACT

The messaging system is a versatile and indispensable tool for communication


that offers more than just text messages. It has three main aspects: file sharing,
voice and video calls, and in-app live chat.
The system allows users to share different types of files securely and reliably. It
uses robust encryption to protect the files and ensures accurate routing and
delivery. To optimize performance, it stores large files in the system database
and shares only links.
The system also enables users to make voice and video calls within the
application. This feature enhances the communication experience and allows
users to interact more personally and conveniently.
The system integrates a live chat feature that allows users to chat with other
users or customer support agents in real time. This feature provides instant
feedback and assistance and improves user satisfaction and loyalty.
The modern messaging system is a comprehensive solution for communication
that streamlines the process for applications and users. It prioritizes user
experience and message security and boasts a user-friendly interface and fast
delivery. It is a powerful and innovative tool that leverages the capabilities of
the messaging system
CHPATER 1
INTRODUCTION

A messaging system is a digital platform designed to facilitate real-time


communication between individuals or groups through text, multimedia, voice, and
video exchanges. These applications have become an integral part of modern
communication, offering users a convenient and efficient way to connect with friends,
family, colleagues, and acquaintances across the globe.
1.1 Objectives
This system aims the users to bring better experience by the following objectives.
1. Enhancing User Experience: Prioritizing a seamless and intuitive user
experience ensures that users can navigate the messaging platform effortlessly,
leading to higher engagement and satisfaction.
2. Ensuring Security and Privacy: Implementing robust security measures, such
as end-to-end encryption, is crucial for protecting user data and maintaining
trust in the messaging platform, especially in an age where privacy concerns
are paramount.
3. Facilitating Efficient Communication: Providing features that enable swift
and effective communication, such as real-time messaging and multimedia
sharing, ensures that users can connect and collaborate seamlessly, improving
productivity and user satisfaction.
4. Supporting Accessibility: Ensuring that the messaging platform is accessible
to users with disabilities promotes inclusivity and ensures that all users can
benefit from its features, aligning with principles of equality and usability.
1.2 User Stories

Messaging with others


 As an ordinary user, I want to send and receive text messages with other
users, so that I can communicate with them easily.

User Registration:
 As a new user, I should be able to register easily using my email or social
media accounts. Verification steps should be secure and straightforward.

Attendee Invitation
 As a user, the app should support automated reminders to ensure
attendees stay informed about the event. It should be able to invite
attendees by email or through a shareable link.

Intuitive User Interface


 Upon login, the app should present a clean and intuitive interface.
 Main features, such as messaging, event creation, and attendee
management, should be easily accessible.

Multimedia
 As a user, I want to attach files, images, videos, and audio clips to my
messages, so that I can share different types of content with other users.
 As a user, I want to see when my messages are delivered and read by the
recipients, so that I can know the status of my communication.

Team Collaboration
 As a user, I want to create and join group chats with multiple users, so
that I can have conversations with more than one person at a time.
RSVP tracking
 As a user, I want to make voice and video calls with other users, so that I
can talk to them in real time and see their faces.
 As a user, I want to use emojis, stickers, and GIFs in my messages, so
that I can express my emotions and personality.
 As a user, I want to edit and delete my messages, so that I can correct my
mistakes or remove unwanted content.
 As a user, I want to mute or block other users, so that I can avoid
unwanted or annoying messages.
 As a user, I want to customize my profile and settings, so that I can
personalize my messaging experience.
 As a user, I want to access the messaging system from different devices
and platforms, so that I can stay connected wherever I am.

Clear UI and UX For everyone


 As an elderly user, I want the design simple and familiar to everyone. It
should feature large, easily readable fonts and clear, familiar icons.
Emphasis on voice typing or voice message functions would greatly
enhance usability.
 As a user with visual impairments, I want the app to be accessible via
screen readers and voice commands so that I can access its functions.
 As a middle-aged user, I want the messaging system functions' guide in
word or video file, so that users like me who have a little knowledge
about technology would be easy to use that system.

Security features
 As a user who values privacy and security, I want to use the messaging
app that prioritizes robust cybersecurity measures, ensuring the
confidentiality, integrity and authenticity of my communication.
User Authentication and Group Chat
 As a user, I want easy functions to change password when the user
verification has passed if the user forgets his own password.
 As a user, I want to send a in-group text message to a selected few,
ensuring that only the intended recipient can access the message.
 As a user, I want to share a large file with a colleague without worrying
about attachment size limits.
 As a user, I want to conduct a video conference with multiple team
members simultaneously through the messaging applications.
 As a user, I want to make a video call conference with others users not in
a group.
 As a user, I want to receive notifications for new messages or calls even
when the messaging application is running in the background.
1.3 Benefits of the system
Using messaging system provides a myriad of benefits that contribute to the
convenience, efficiency, and flexibility of communication in the digital age. Here are
some key advantages:
 Instant Communication Messaging: The system allows users to send and
receive messages in real-time, enabling swift and immediate communication.
This is particularly beneficial for time-sensitive conversations or when quick
responses are necessary.
 Cost-Effective many messaging: system use internet data or Wi-Fi for
communication, reducing the reliance on traditional SMS or voice calls, which
may incur additional charges. This can result in significant cost savings,
especially for international communication.
 Multimedia Sharing: Users can share a variety of multimedia content, including
photos, videos, audio messages, and documents. This facilitates a richer and
more engaging form of communication compared to traditional text messages.
 Group Chats Messaging system supports group conversations, allowing
multiple users to participate in a single chat. This is useful for coordinating
activities, planning events, or staying connected with friends, family, or
colleagues.
 Emojis and Stickers Expressing: emotions in text can sometimes be
challenging, but messaging system often include a wide array of emojis,
stickers, and GIFs to enhance communication and convey feelings more
effectively.
 Voice and Video Calls Many messaging: system offer voice and video calling
features, enabling users to have face-to-face conversations or voice calls
without additional charges, especially when using internet connectivity.
 Sync Across Devices Messaging: system also allows users to sync their
conversations across multiple devices. This ensures that users can seamlessly
switch between devices without losing their chat history or missing important
messages.
 Notification Alerts: Users receive instant notifications for new messages,
keeping them informed and allowing for quick responses. This feature is
crucial for staying updated on important conversations.
 Global Connectivity Messaging: system connects people globally, overcoming
geographical barriers. Users can communicate with friends, family, and
colleagues regardless of their location, fostering international connections.
 Security and Privacy Many messaging: system prioritizes security and privacy,
employing encryption measures to protect user data. End-to-end encryption, in
particular, ensures that only the intended recipients can access the messages.
 Offline Messaging Some messaging: system allows users to send messages
even when offline. These messages are delivered once the device reconnects to
the internet, ensuring that communication remains uninterrupted.
 Business and Productivity Integration Messaging : system also integrate with
business and productivity tools, allowing users to collaborate, share files, and
conduct meetings within the same platform.
 Overall, messaging system have become indispensable tools for
communication, offering a versatile and efficient means of staying connected in
our fast-paced, digital world.
CHAPTER 2
FUNCTIONAL REQUIREMENTS

2.1 Sending Multimedia


Sending and Receiving Text Messages
- Users should be able to send and receive text messages to and from other users.
Messages should be delivered in real-time to ensure quick communication.

Attachment of Files, Images, Videos, and Audio Clips


- Users should be able to attach various types of files to their messages for sharing
content.
- The messaging app should support file formats commonly used for images, videos,
and audio clips.

Message Status Indicators


- Users should be able to see the delivery and read status of their messages.
- The app should display indicators such as "sending", “send” and "seen" to show
message status.

Voice and Video Calls


- Users should have the ability to make voice and video calls with other users.
- The app should support real-time communication through voice and video calls.

Message Editing and Deletion


- Users should have the option to edit and delete their messages to correct mistakes or
remove unwanted content.
2.2 Chats
Group Chats
- Users should be able to create and join group chats with multiple users.
- Group chats should support multiple participants for group conversations.

Mute and Block Function


- Users should be able to mute or block other users to avoid unwanted or annoying
chats.

2.3 User Perspective


Profile Customization and Settings
- Users should be able to customize their profiles and adjust settings to personalize
their messaging experience.

Cross-Device Access
- Users should be able to access the messaging system from different devices and
platforms to stay connected.

2.4 Security
Privacy and Security Measures
- The messaging app should prioritize robust cybersecurity measures to ensure the
confidentiality, integrity, and authenticity of user communications.
2.5 MoSCoW Prioritization
Must
Requirement Justification
Sending and Receiving Text Messages Essential for basic communication
functionality.
Voice and Video Calls Crucial for enabling real-time
communication.
Message Editing and Deletion Ensures user control over communication.
Group Chats Facilitates group communication.
Mute and Block Function Provides user control over communication
environment.

Should
Requirement Justification
Attachment of Files, Images, Videos, and Audio Enhances the versatility of the platform.
Clips
Message Status Indicators Improves user experience and communication
clarity.
Profile Customization and Settings Enhances user experience and personalization.
User Account Improves usability and user engagement,
fostering customer relationships.
Requirement Justification

Could
Requirement Justification
Voice and Video Calls Additional features can enhance user experience
but are not critical for basic functionality.
Message Editing and Deletion Additional features for message organization can
improve user experience but are not critical.
Mute and Block Function Including advanced security features like two-
factor authentication can enhance user security.
Group Chats Additional features for group chat management
can improve user experience but are not critical.
Requirement Justification

Wouldn’t
Requirement Justification
Message Status Indicators Retracting sent messages is a non-essential
feature that can be considered for future
updates.
Attachment of Files, Images, Videos, and Audio Annotating files is a non-essential feature that
Clips can be omitted for the initial release.
Profile Customization and Settings Setting chat permissions is a non-essential
feature that can be considered for future
updates.
User Account Reporting abusive users is a non-essential
feature that can be considered for future
updates.
Requirement Justification
CHAPTER 3
NON-FUNCTIONAL REQUIREMENTS

3.1 Non-functional requirements

Text Messaging Experience: Ensure a seamless and responsive text messaging


experience within the app.

Group Chat Functionality: Create an intuitive interface for easy creation and joining
of group chats.

Real-time Communication: Enable high-quality voice and video call features for
real-time communication.

Expression Options: Integrate emojis, stickers, and GIFs for effective expression in
messages.

User Blocking: Facilitate straightforward muting or blocking of other users for


managing unwanted interactions.

Elderly-Friendly Design: Design the app with simplicity, featuring large, readable
fonts for elderly users.

Accessibility Features: Prioritize accessibility features like screen reader support and
voice commands for users with visual impairments.

User Guides for Tech Novices: Provide clear guides, both in written and video
formats, for users with limited technology knowledge.

Password Recovery: Ensure a user-friendly password recovery process after


successful verification.
Selective Group Messaging: Guarantee in-group text messaging, limiting access to
selected recipients.

Large File Sharing: Implement capabilities for sharing large files without restrictive
attachment size limits.

Team Video Conferencing: Facilitate seamless video conferences with multiple team
members within the messaging application.

Individual Video Call Conferencing: Support video call conferences with individual
users outside of group settings.

Background Notifications: Enable timely notifications for new messages or calls


even when the app is running in the background.
CHAPTER (4)
UML DIAGRAMS

In the previous chapters, we have described user stories, functional and non-
functional requirements. But to represent the stakeholders more clearly and
understandably, we have to use graphical representations or designs. Graphical
designs are mechanisms for transformation of the user requirements into a form that
not only help the stakeholders to understand the system easily but also help the
developers for the development of the system.

4.1 UML Diagrams


Unified Modeling Language (UML), emerged in the mid-1990s as a
collaborative effort by industry leaders Grady Booch, James Rumbaugh, and Ivar
Jacobson, who sought a standardized method for visualizing and documenting
software systems, serves as a standardized visual language for modeling software
systems. It offers a robust set of diagrams to represent various aspects of system
architecture, behavior, and interactions. UML diagrams aid communication among
stakeholders, enhance system understanding, and facilitate efficient design, analysis,
and documentation of complex software systems. This modeling diagrams have
become the standard in nowadays.
In this project , we used 3 type of diagrams to describe our system.
1. Use-case Diagram
2. Class Diagram
3. Sequence Diagram
CHAPTER 5
CONCLUSION

The project is dedicated to crafting a versatile messaging platform tailored to


modern communication demands. With an array of features like text messaging, file
sharing, voice/video calls, and live chat, it's designed to elevate user experience,
prioritize security, and ensure accessibility. Through meticulous consideration of user
stories, functional requirements, and non-functional aspects, the project aims to
deliver a comprehensive solution that meets diverse communication needs.
Employing UML diagrams to visualize system architecture enhances
understanding and facilitates effective development. Ultimately, the goal is to develop
a robust and user-friendly messaging system seamlessly integrated into the digital
landscape, catering to the communication preferences of individuals and businesses
alike.
By focusing on user experience, security, and accessibility, the project aims to
create a messaging platform that stands out in the contemporary digital realm.
Embracing features such as text messaging, file sharing, voice/video calls, and live
chat, it aims to provide a holistic solution for modern communication challenges.
Through detailed analysis of user needs, functional requirements, and non-
functional considerations, the project seeks to develop a comprehensive solution that
caters to a diverse user base. Utilizing UML diagrams to depict system architecture
enhances communication and fosters efficient development practices. Ultimately, the
aim is to deliver a robust and intuitive messaging system that seamlessly integrates
into users' lives, empowering them to connect and communicate effectively in today's
fast-paced digital world.

You might also like