University of Computer Studies Yangon
University of Computer Studies Yangon
University of Computer Studies Yangon
Messaging System
IS-101 (Introduction to Software Engineering)
Project Report
Presented By Group
CHAPTER(1) INTRODUCTION.............................................. 2
1.1 Objectives....................................................................... 2
1.2 User Stories ................................................................... 3
1.3 Benefits of this Project................................................... 4
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
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.
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.
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
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
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.
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.
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.
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.