VINH UNIVERSITY SCHOOL OF ENGINEERING AND TECHNOLOGY PROJECT REPORT ON SOFTWARE ENGINEERING DESIGNING AND IMPLEMENTING THE ICHAT MOBILE APPLICATION Instructor Cao Thanh Son, PhD Students Nguyen Thi Na[.]
Trang 1PROJECT REPORT ON SOFTWARE ENGINEERING
DESIGNING AND IMPLEMENTING THE ICHAT MOBILE APPLICATION
Instructor: Cao Thanh Son, PhD.
Students: Nguyen Thi Na, 19574802010085
Que Dai Thang, 19574802010134 Nguyen Kham Doan, 19574802010093
Nghe An – 12/2022
Trang 2TABLE OF CONTENTS
PREAMBLE 4
LIST OF ACRONYMS 5
LIST OF TABLES 6
LIST OF FIGURES 7
CHAPTER 1 PROBLEM DESCRIPTION 9
1.1 Problem 9
1.2 Professional survey 9
1.2.1 User 9
1.2.2 Function 9
1.3 System Requirements 10
1.4 Scope of implementation 10
1.5 Some related apps 10
1.5.1 Messenger App 10
1.5.2 Zalo App 11
1.6 Deployment plan and project management tool 13
1.6.1 Deployment plan 13
1.6.2 Project management tool 13
CHAPTER 2 SYSTEM ANALYSIS AND DESIGN 17
2.1 The functional hierarchy diagram 17
2.2 Functional analysis and design 17
2.2.1 Use case diagram 17
2.2.1.1 Function overview 17
2.2.1.2 Account verification 19
2.2.1.3 Chat 20
2.2.1.4 Group management 21
2.2.1.5 Manage friends list 22
Trang 32.2.1.6 Account management 23
2.2.2 Activity chart 24
2.2.2.1 Functional Analysis: Login 24
2.2.2.2 Functional Analysis: Chat 25
2.2.2.3 Functional Analysis: Manage friends list 26
2.2.2.4 Functional Analysis: Group management 27
2.2.2.5 Functional Analysis: Account management 28
2.2.3 Sequence diagram 29
2.2.3.1 Login chart 29
2.2.3.2 Video call chart 29
2.2.3.3 Add friend chart 30
2.2.3.4 Chat chart 31
2.3 Database 32
2.3.1 Database tables 32
2.3.2 Database diagram 35
CHAPTER 3 SYSTEM DEPLOYMENT 36
3.1 Tools used 36
3.2 User interface 36
3.2.1 Login Interface 36
3.2.2 Registration Interface 37
3.2.3 Home page interface 37
3.2.4 Friend search interface 38
3.2.5 Interface to add friends 38
3.2.6 Interface to delete friends 39
3.2.7 Chat interface 39
3.2.8 Call interface 40
3.2.9 Group creation interface 40
Trang 43.2.10 Group information interface 41
3.2.11 Interface to remove members from the group 41
3.2.12 Interface for adding members to the group 42
3.2.13 The personal information management interface 42
3.2.14 Settings interface 43
CONCLUSIONS 44
1 Achievement 44
2 Future direction 44
REFERENCES 45
Trang 5In today's era, when information technology is constantly developing strongly,all jobs are done through technological devices such as laptops and phones, whichhave helped us save a lot of time Management software and applications are widelyavailable, which has helped people a great deal in the digital transformation era,applying science and technology to most areas of life Besides, solving work throughtechnological devices also allows us to connect to more people, expand the customerbase, and can easily exchange work proactively, quickly and indirectly
Because of that, a number of messaging applications were born, helping toconnect people with each other And our team has also based on the criteria and thegoal is to help users have an interesting chat application, a friendly and easy-to-useinterface, full of necessary features as well as guaranteed reliability and high security
Our team would like to thank lecturer PhD Cao Thanh Son - who directlyguided and contributed valuable comments during the process of our team working onthe project to be able to complete the project in the best way
Due to limited time and knowledge, errors will inevitably occur during projectimplementation Hopefully, through this project, we would like to receive yourcontributions and positive feedback so that our team can draw lessons for themselves,
as well as to better improve other projects that we have We will do it in the future
We sincerely thank you!
Trang 6LIST OF ACRONYMS
1 MQTT Message Queuing Telemetry Transport
2 OTT Over The Top
3 VNG Vietnamese technology company
Trang 8LIST OF FIGURES
Fig 1.1 Messenger App
Fig 1.2 Zalo App
Fig 1.3 All phases of project management
Fig 1.4 Initial planning and implementation
Fig 1.5 Modify details and add requirements
Fig 1.6 Compatibility Review and Modification
Fig 1.7 Check and complete the remaining tasks
Fig 1.8 Job details in any table
Fig 2.1 The functional hierarchy diagram
Fig 2.2 System use case diagram
Fig 2.3 Use case chart: Account verification
Fig 2.4 Use case diagram: Chat
Fig 2.5 Use case diagram: Group management
Fig 2.6 Use case chart: Manage friends list
Fig 2.7 Use case chart: Account management
Fig 2.8 Function activity chart: Login
Fig 2.9 Function activity chart: Chat
Fig 2.10 Function activity chart: Manage friends list
Fig 2.11 Function activity chart: Group management
Fig 2.12 Function activity chart: Account management
Fig 2.13 Function sequence diagram: Login
Fig 2.14 Function sequence diagram: Video call
Fig 2.15 Function sequence diagram: Add friend
Fig 2.16 Function sequence diagram: Chat
Fig 2.17 Database Diagram
Fig 3.1 Login Interface
Fig 3.2 Registration Interface
Fig 3.3 Home page interface
Trang 9Fig 3.5 Interface to add friends
Fig 3.6 Interface to delete friends
Fig 3.7 Chat interface
Fig 3.8 Call interface
Fig 3.9 Group creation interface
Fig 3.10 Group information interface
Fig 3.11 Interface to remove members from the group
Fig 3.12 Interface for adding members to the group
Fig 3.13 The personal information management interface
Fig 3.14 Settings interface
Trang 10CHAPTER 1 PROBLEM DESCRIPTION
This chapter will focus on presenting the problem of deploying the design of achat application project as well as resources related to the topic, as well as dividing thework of each team member and the model associated with the tool to monitor andmanage the progress of the project
Our group chat application mainly focuses on messaging and calling functions.And based on those two functions upgrade and add other necessary functions such aspeer to peer chat and group chat With an easy-to-use interface, it ensures all thenecessary functions for a chat application And the goal is to bring new and excitingexperiences to users As well as how to deploy, build the interface accordingly andensure safety and reliability for users
1.2 Professional survey
1.2.1 User
Users are those who wish to exchange contact information with one or moreother users who already have an account in the application Each user storedinformation including: Username, password, email, profile picture, connectionrequest, creation date, creation time, token, phone number and about
Trang 11user interface, ensuring confidentiality, personal information safety, and qualitystability for users when using the application.
1.3 System Requirements
- The built application must meet the user's requirements, and ensure the fullfunctions of a chat application such as messaging, personal information management,search, adding, deleting friends, and creating groups;
- Chat application must be able to run on different mobile devices with the twomost popular operating systems Android and IOS
1.4 Scope of implementation
- Survey method: research the popular features of a chat application requiredthrough existing chat applications such as Messenger, Zalo;
- Learn about the processes and how a chat application works;
- Survey users about their needs and desires for a chat application, get opinions
on the experiences they would like to have with the chat application;
- See some references to get ideas, as well as learn from experience to knowwhat to do and what to avoid
1.5 Some related apps
1.5.1 Messenger App
Messenger is a messaging application created by the publisher Facebook,connected to the social network Facebook used to let people text, call video, or evensend videos, or recordings easily Today Messenger is one of the most usedapplications, especially among young people around the world, thanks to its extremelyspecial features, which Messenger receives an enthusiastic response
Trang 12Fig 1.1 Messenger App
Trang 13Messenger was originally just a Facebook Chat feature, but later it was splitinto a separate application, allowing users to transmit messages using characters,images, voice, and works on many platforms such as websites, phones and computers.
Features of Messenger:
- Messenger allows you to text and also allows you to make phone calls orvideo calls for free;
- Messenger automatically hides messages from strangers;
- Messenger's features can't help but mention group video calls;
- Messenger has a feature to send recordings to friends;
- Messenger can change the text color, change the name of the chat person orgroup name, and even the icon
1.5.2 Zalo App
Zalo is an OTT application, that allows users to text and call other users onmobile and computer platforms As an application of VNG (Vietnamese technologycompany), appeared on the market in 2012, until now, Zalo has become an extremelypopular application
Fig 1.2 Zalo App
The convenience of registering a new account and easier to use, so mostsmartphone users install Zalo With 80 million users and more in the future, Zalo is agreat environment for business exploitation Zalo's connection method is simpler thanFacebook's, so business people can find better customers
In another aspect, Zalo is also considered a content-sharing social network
Trang 14With the feature that allows users to update information and images on their personalpage and track updates from friends, Zalo creates a more diverse connection thanother messaging applications.
High security is also one of the reasons why Zalo is always at the top of choicefor companies and agencies to exchange jobs online Zalo user scale is very large andtends to increase higher and more active
Zalo uses phone numbers to identify accounts This is one of the advantages ofZalo when we want to search for a user if we only have phone number information, so
we can easily connect with customers when we have their phone number in theprocess of previous sales
Features of Zalo:
- Free video and audio calls to other Zalo users;
- Record and send voice messages;
- Send photos, videos, stickers, GIFs, location messages and more;
- Share statuses and moments with the Log function;
- Follow the mainstream news;
- Free group meetings with a large number of participants
1.6 Deployment plan and project management tool
3 From 19/11/2022 to01/12/2022 The team conducts analysis and addsfeatures to the project. All members
4 From 02/12/2022 Review all interfaces and write thereport. All members
Trang 15to 09/12/2022
5 From 20/12/2022 Finalize the app and report All members
T1.1 Table Deployment plan
1.6.2 Project management tool
- Project management tool: Trello;
- Apply management model: Agile-scrum;
- The project implementation plan is divided into several different phases Help manage and divide work effectively and project on schedule
a All phases of project management
This is the main interface of a team project, managed by the app Trello Thisproject will include tables that are divided into different stages when choosing a modeldevelop the software the way the team wants to manage the project
Fig 1.3 All phases of project management
b Project management - Initial planning and implementation
This is phase one of the project: Initial planning and implementation This tablecontains lists Each list stores various cards to represent the different execution steps
Trang 16of the stage Lists in stage one include: Need to do, Doing, Done and Unfinished Thecards in the Need to do list include Plan, Requirements Analysis, Design andimplementation, Test and Review The cards in the Doing list include Analysis andDesign of various types of charts, Design of User Interface and Database, Coding Thecards in the Done list include: Building different types of charts, meet the customer.The cards in the Unfinished list include Coding.
Fig 1.4 Initial planning and implementation
c Project Management - Modify details and add requirements
This is phase two of the project: Modify details and add requirements Lists instage one include: Need to do, Doing, Done and Unfinished The cards in the Need to
do list include Requirements Analysis, Design and implementation, Testing The cards
in the Doing list and Done list include Analysis the requirement, Design interface anddatabase The cards in the Unfinished list include Coding
Trang 17Fig 1.5 Modify details and add requirements
d Project Management - Compatibility Review and Modification
This is phase two of the project: Modify details and add requirements Lists instage three include: Need to do, Doing, Done and Unfinished The cards in the Need
to do list include Design and implementation, Testing, Make project report The cards
in the Unfinished list include Coding
Fig 1.6 Compatibility Review and Modification
e Project Management - Check and complete the remaining tasks
Trang 18This is the phase where software testing begins Complete the report contentand other necessary functions of the application.
Fig 1.7 Check and complete the remaining tasks
f Job details in any table
This is the content of a card In this card, detail the work to be done, divide thework for each member of the group and set the time to complete the work In addition,
it is possible to change the cover photo, attach files, add members to each project,show the status of completed or not, and much more
Trang 19Fig 1.8 Job details in any table
Trang 20CHAPTER 2 SYSTEM ANALYSIS AND DESIGN
The content of this chapter will focus on analyzing and designing functionalityfor chat applications through different types of diagrams Describe in detail thenecessary functions for the application, thereby designing the database accordingly
2.1 The functional hierarchy diagram
The Manage iChat includes the following functions: Manage Profile, MakeFriends, Chat, Create Groups and Manage Settings The Profile Management includesthe following functions: Add information and Edit information The Make friendsincludes the following functions: Search, Add and Delete friends The Chat includesthe following functions: Send File, Image, Text and Video The Make Group includesthe following functions: Add, Delete and Search Member
Fig 2.1 The functional hierarchy diagram
2.2 Use case diagram
2.2.1 Function overview
This is a use case diagram that summarizes the functions available in the system
Chart name System use case diagram
Step 1: Users login into the system according to the
Trang 21Describe registered account
Step 2: After logging in to the system, users can use thefollowing functions: chat, create groups, view friends list,add, delete friends or members in the group if that person
is the creator group, manage profiles and settings
Fig 2.2 System use case diagram
2.2.2 Account verification
Fig 2.3 Use case chart: Account verification
Trang 22Function name Account verification
Step 3: Login: - Success: Fulfill other requests;
- Failure: Switch to forked stream
Step 4: Sign out
Event branching stream:
Step 1: User login failed
- The system sends a failed login message;
- Ask the user to re-login;
- The user agrees then go back to the first step of the login;
- The user does not agree to end the use case
Step 2: User chooses forgot password
- At this time, the system automatically sends an email tothe user's pre-registered email for the user to authenticate theaccount to change the new password;
- The user agrees to authenticate to change the password
of the system to update the database;
- User does not agree to end the use case
The following
condition
The user is successfully logged in and can use the functionsavailable to them in the chat application
Trang 232.2.3 Chat
Fig 2.4 Use case diagram: Chat
Function name Chat
Step 3: The user selects any chat and performs thefunctions available in the chat
End of use case
The following
condition
Users can use the functions included in the chat to maketheir requests
Trang 242.2.4 Group management
Fig 2.5 Use case diagram: Group management
Function name Group management
Step 3: The user selects the friends to add to the groupand selects "next"
Step 4: The system will add a list of friends to the groupselected by the user
Step 5: Users name the group, change the avatar and canadd members to the group if desired and select "next"Step 6: The system will update the group information andthe list of members of the group
End of use case
The following
condition New group created successfully
Trang 252.2.5 Manage friends list
Fig 2.6 Use case chart: Manage friends list
Function name Manage friends list
Step 4: The system will perform the function selected bythe user and update the friend list
End of use case
The following
condition Users have a list of friends at their disposal