You are on page 1of 34

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

MÔN: ĐỒ ÁN TỐT NGHIỆP


ĐỀ TÀI: XÂY DỰNG HỆ THỐNG GIAO TIẾP MẠNG XÃ HỘI

Giảng viên hướng dẫn: PHƯƠNG VĂN CẢNH


Sinh viên thực hiện: LƯƠNG TRỌNG BÁCH
Mã sinh viên: 1681210106
Lớp: D11-CNPM
Chuyên ngành: Công nghệ phần mềm
Khóa: 2016-2021

Hà Nội, ngày 28 tháng 10 năm 2020


TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

MÔN: ĐỒ ÁN TỐT NGHIỆP


ĐỀ TÀI: XÂY DỰNG HỆ THỐNG GIAO TIẾP MẠNG XÃ HỘI

Giảng viên hướng dẫn: PHƯƠNG VĂN CẢNH


Sinh viên thực hiện: LƯƠNG TRỌNG BÁCH
Mã sinh viên: 1681210106
Lớp: D11-CNPM
Chuyên ngành: Công nghệ phần mềm
Khóa: 2016-2021

Hà Nội, ngày 15 tháng 12 năm 2020

2
PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện:


Họ và tên Chữ ký Ghi chú

Lương Trọng Bách

Giảng viên chấm:


Họ và tên Chữ ký Ghi chú

Giảng viên hướng dẫn chấm:


Họ và tên Chữ ký Ghi chú

Phương Văn Cảnh

3
MỤC LỤC

Chương 1: Tổng quan về hệ thống........................................................................1


1.1 Giới thiệu về đề tài..........................................................................................1
1.2 Lý do chọn đề tài.............................................................................................2
1.3 Khảo sát hệ thống............................................................................................2
1.4 Công cụ thiết kế...............................................................................................2
Chương 2: Phân tích thiết kế hệ thống..................................................................7
2.1 Phân tích hệ thống...........................................................................................7
2.1.1 Xác định các tác nhân hệ thống....................................................................7
2.1.2 Biểu đồ Use-case tổng quan.........................................................................7
2.1.3 Biểu đồ chi tiết các Use-case........................................................................8
2.1.4 Biểu đồ trình tự...........................................................................................12
2.1.5 Biểu đồ lớp.................................................................................................15
2.1.6 Biểu đồ thành phần .......................................................................16
2.1.7 Biểu đồ triển khai.......................................................................................17
2.2 Thiết kế hệ thống...........................................................................................17
2.2.1 Thiết kế tổng thể hệ thống..........................................................................17
2.2.2 Thiết kế chi tiết hệ thống............................................................................18
Chương 3: Cài đặt và đánh giá hệ thống.............................................................24
3.1 Cài đặt hệ thống.............................................................................................24
3.2 Thử nghiệm hệ thống trên nhiều môi trường khác nhau...............................24
3.3 Đánh giá, so sánh kết quả thực nghiệm.........................................................24
3.4 Kết luận việc đánh giá...................................................................................24
KẾT LUẬN.........................................................................................................26

4
DANH MỤC VIẾT TẮT

SEO : Search Engine Optimization – Tối ưu hóa công cụ tìm kiếm


MySQL : Hệ quản trị cơ sở dữ liệu
MongoDB : Hệ quản trị cơ sở dữ liệu
Navicat 12 : Công cụ quản trị dữ liệu đa kết nối
Java Spring Boot : Framework Java Spring mới nhất
CSS : Viết tắt của “ Cascading Style Sheets”
JS : Viết tắt của javascript
Linux : Hệ điều hành

5
LỜI NÓI ĐẦU
Trong lời đầu tiên của báo cáo thực tập môn học “Đồ án thực tập tốt
nghiệp”, em muốn gửi những lời cảm ơn và biết ơn chân thành nhất của mình
tới tất cả những người đã hỗ trợ, giúp đỡ em về kiến thức và tinh thần trong quá
trình thực hiện bài làm.
Em xin chân thành gửi lời cảm ơn tới các thầy, cô giáo trong Trường Đại
học Điện Lực nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức cũng như
kinh nghiệm quý báu trong suốt quá trình học tập.
Đặc biệt, em xin gửi lời cảm ơn đến Giáo viên hướng dẫn Phương Văn
Cảnh, giảng viên Khoa Công nghệ thông tin - Trường Đại học Điện Lực. Thầy
đã tận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quá trình
nghiên cứu và học tập của em. Trong thời gian học tập với thầy, em không
những tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm
việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả. Đây là những điều rất
cần thiết cho em trong quá trình học tập và công tác sau này.
Do thời gian thực hiện có hạn kiến thức còn nhiều hạn chế nên bài làm
của nhóm em chắc chắn không tránh khỏi những thiếu sót nhất định. Cá nhân
em rất mong nhận được ý kiến đóng góp của thầy, cô giáo và các bạn để em có
thêm kinh nghiệm và tiếp tục hoàn thiện đồ án của mình.

Em xin chân thành cảm ơn!

6
Chương 1: Tổng quan về hệ thống
1.1 Giới thiệu về đề tài
Ứng dụng của bài toán rất rõ ràng và được thể hiện ngay qua tên đề tài đó
là xây dựng một ứng dụng giao tiếp ngay trên web, tức là một trang web cho
phép người dùng trao đổi thông điệp một cách nhanh chóng. Và không như các
phần mềm ứng dụng chat yêu cầu phải cài đặt phần mềm lên máy tính vừa tốn
thời gian vừa tốn tài nguyên máy tính, web chat mà khóa luận hướng tới để xây
dựng vừa đơn giản vừa tiện lợi lại có thể sử dụng mọi lúc mọi nơi. Đấy là sự
tiện lợi lớn nhất mà web chat mang lại cho người dùng. Đó cũng chính là xu
hướng chung của các hệ thống hiện nay.
Với hệ thống giao tiếp này chúng ta hoàn toàn có thể đưa vào như một
chức năng gắn kèm với một trang web, một diễn đàn trên Internet. Một trang
web thông tin sẽ trở nên thu hút người dùng hơn nếu nó có thêm các chức năng
của hệ thống web chat mà ta đang nói đến
1.2 Lý do chọn đề tài
- Sự ra đời của thế hệ web 4.0 tạo nên một cuộc cách mạng thật sự trên thế
giới internet. Đó là cuộc cách mạng không chỉ về công nghệ mà còn ở cách thức
sử dụng, trong đó mọi người cùng tham gia đóng góp cho xã hội ảo tạo thành
một môi trường cộng đồng, chứ không chỉ đơn thuần “duyệt và xem” như trước
đây. Trong đó, mạng xã hội đã và đang dần trở thành một phần không thể thiếu
trong cuộc sống hiện đại. Nó mang đến cho con người cơ hội được kết nối một
cách dễ dàng, để chia sẻ sở thích, thói quen và suy nghĩ…
- Mạng xã hội ngày càng phát triển rộng khắp và chứng tỏ sức hút và vai
trò của mình trong mọi mặt của đời sống xã hội như: thương mại, học tập, giải
trí. Trong đó, xu hướng ứng dụng mạng xã hội trong các hoạt động trao đổi
thông tin đã phổ biến rộng rãi trên thế giới và cả ở Việt Nam. Hiện tại, đã có rất
nhiều nghiên cứu về việc ứng dụng mạng xã hội trong hoạt động giao tiếp trao
đổi thông tin. Vì những lý do trên, đề tài ” Xây dựng hệ thống giao tiếp mạng xã
hội” được chọn làm đề tài cho đồ án thực tập của tôi. Đề tài đi sâu vào tìm hiều,

1
phân tích các tính chất đặc trưng của hệ thống giao tiếp, trao đổi thông tin. Từ
đó, đề tài đưa ra những đặc tính cần có của một hệ thống giao tiếp mạng xã hội
và đề xuất xây dựng một hệ thống giao tiếp tiện ích
1.3 Khảo sát hệ thống
1.3.1 Khái niệm mạng xã hội
- Mạng xã hội, hay gọi là mạng xã hội ảo, (tiếng Anh: social
network) là dịch vụ nối kết các thành viên cùng sở thích trên Internet lại
với nhau với nhiều mục đích khác nhau không phân biệt không gian và
thời gian.
1.3.2 Các đặc tính mạng xã hội
- Dựa trên người dùng
Mạng xã hội trực tuyến được xây dựng và định hướng bởi chính
người sử dụng. Người dùng sẽ quyết định nội dung của các trang mạng xã
hội trực tuyến… Sự định hướng nội dung đó được xác định bởi bất cứ ai
tham gia vào cuộc thảo luận. Đây là những gì tạo nên sự thú vị và tính
động mà mạng xã hội mang lại cho người dùng internet.
- Tính cá nhân
Ở các trang mạng xã hội, mỗi thành viên đều có một hồ sơ với một
trang cá nhân của riêng mình. Người dùng có quyền thiết lập các thông tin
cá nhân, đăng tải các bài viết và thiết lập cho nó tính riêng tư, công khai
cho toàn bộ bạn bè hoặc công khai trong giới hạn một số thành phần bạn
bè của họ
- Tương tác
Một đặc tính khác của các mạng xã hội hiện đại là sự tương tác.
Người dùng trên các trang mạng xã hội có thể giao tiếp một cách dễ dàng
và tham gia các trò chơi trực tuyến với nhau.
1.3.3 Giới thiệu một số mạng xã hội

2
YmeetMe
YmeetMe là ứng dụng chat làm quen với người lạ khá phổ biến tại
Việt Nam trong thời gian gần đây với gần 1,000,000 thành viên, trong đó
thường xuyên sử dụng và online hàng ngày lên tới 100,000 thành viên.
Ứng dụng này vừa cho phép bạn chat thông qua việc yêu cầu kết bạn bằng
tính năng gửi “Thích” lẫn nhau, vừa cho phép người sử dụng cho thể chat
trực tiếp với người bạn không quen mà không cần kết bạn thông qua tính
năng “Làm quen” hoặc “Chat luôn” khi bạn vào thăm hồ sơ của đối tượng.

Khác với những phần mềm chat với người lạ khác, khi những người
dùng có thể bị mạo danh hoặc không thực tế, YmeetMe yêu cầu các thành
viên tham gia xác thực tài khoản thông qua CMT hoặc các giấy tờ có liên
quan như hồ sơ lao động, bằng chứng nhận để đảm bảo xây dựng một
cộng đồng người sử dụng chất lượng và an toàn nhất. Điểm thú vị là ứng
dụng này gần như miễn phí

3
Zalo
Zalo App là ứng dụng chat với người lạ trên điện thoại của Việt
Nam rất phổ biến hiện nay. Zalo là mạng xã hội số một tại Việt Nam với
số lượng người sử dụng lên đến vài chục triệu. Đặc biệt là có tạo các
phòng trò chuyện kết bạn, giao lưu với nhau. Và thêm nữa là có thể chát
làm quen với những người xung quanh bạn ở nếu họ có online và sử dụng
Zalo với tốc độ gửi tin nhắn cực nhanh. Ứng dụng chat với người lạ của
Zalo được tích hợp với rất nhiều emoticon và hình động, âm thanh vui
nhộn, giàu cảm xúc.
Chatible Facebook Messenger
Chatible Messenger là một tính năng mới được cập nhật trên
Facebook, cho phép người dùng có thể chat với người lạ trên Messenger.
Chatible Facebook được hiểu đơn giản là một tài khoản Facebook
Messenger đặc biệt giúp chúng ta tìm kiếm một người bạn ngẫu nhiên
cũng đang sử dụng Chatible và cùng chat, trò chuyện, nhắn tin với nhau.
Tính năng Chatible sẽ giúp người dùng có thể mở rộng các mối
quan hệ thông qua những người mà chúng ta ngẫu nhiên quen biết hay chỉ
đơn giản là tìm một người lạ để nói chuyện và tâm sự về những muộn
phiền trong cuộc sống
Ola
Ola từ lâu đã được biết đến như 1 trong những ứng dụng chat với
người lạ, kết bạn làm quen đầu tiên ở Việt Nam. Ứng dụng đơn giản, dễ
sử dụng hỗ trợ với đầy đủ tính năng của Ola cho di động. Có thể điểm qua
1 vài tính năng quan trọng giúp người sử dụng có thể kết nối và chat với
người lạ như tính năng ME được thiết kế hiện đại, tiện dụng, chat cộng
đồng với khoảng 200 phòng chat luôn đông đúc, chat bộ đàm vui nhộn,
quản lý kho media, upload nhiều ảnh cùng lúc. Và nhiều tính năng hấp
dẫn khác nữa

4
Twoo
Twoo là một ứng dụng chat phát triển nhanh nhất trong số các ứng
dụng được nhắc đến ở bài viết này. Twoo hiện có khoảng 150 triệu người
dùng. Đặc biệt, ứng dụng này bao gồm khá nhiều tính năng thú vị. Nó
giống như một ứng dụng chat và một mạng xã hội đi kèm. Bạn có thể
chat, tìm bạn theo khu vực địa lý, chia sẻ hình ảnh với bạn bè như kiểu ở
Facebook
Telegram
Telegram là một dịch vụ nhắn tin dựa trên bộ lưu trữ dữ liệu đám
mây giúp cho các tin nhắn bạn gửi đi luôn được bảo mật an toàn. Nó có
thể truy cập từ tất cả các thiết bị của bạn cùng một lúc. Bạn có thể gửi tin
nhắn, hình ảnh, video, và các tập tin dưới bất kỳ hình thức nào của
Telegram và tổ chức các nhóm cho 5000 người hoặc các kênh để phát
sóng tới các đối tượng không giới hạn.
Facebook Messengers
Facebook có ứng dụng nhắn tin riêng biệt giúp bạn giao tiếp với bạn
bè và gia đình rất thuận tiện. Ứng dụng này được kết nối trực tiếp đến
danh bạ điện thoại của bạn, bạn cso thể có thể thêm các liên lạc, hoặc cho
phép một người nào đó thêm bạn làm địa chỉ liên lạc, bằng cách quét các
mã bảo vệ từ Facebook.
Dựa vào các đặc tính của mạng xã hội, hệ thống giao tiếp sẽ có các
chức năng sau:
• Đăng ký, đăng nhập hệ thống
• Tạo thông tin cá nhân
• Chỉnh sửa thông tin cá nhân
• Tìm kiếm và kết bạn
• Quản lý thông báo
• Gửi tin nhắn riêng, tạo nhóm
• Streaming

5
1.4 Công cụ thiết kế
1.4.1 Tìm hiểu về MVC
• Khái niệm
Mô hình MVC (Model – View - Controller) là một kiến trúc phần
mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm, nó
giúp cho các developer tách ứng dụng của họ ra 3 thành khác nhau
Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng
biệt và độc lập với các thành phần khác
• Ưu điểm
Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế do
được chia thành các thành phần độc lập nên giúp phát triển ứng dụng
nhanh, đơn giản, dễ nâng cấp, bảo trì
• Nhược điểm
Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh,
tốn thời gian trong quá trình phát triển, Tốn thời gian trung chuyển
dữ liệu của các thành phần
1.4.2 Tìm hiểu về Nodejs
1.4.2.1 Nodejs là gì?

• Node.js là một mã nguồn mở, một môi trường cho các máy chủ và
ứng dụng mạng.

• Node.js sử dụng Google V8 JavaScript engine để thực thi mã, và một


tỷ lệ lớn các mô-đun cơ bản được viết bằng JavaScript. Các ứng dụng
node.js thì được viết bằn JavaScript.

• Node.js chứa một thư viện built-in cho phép các ứng dụng hoạt động
như một Webserver mà không cần phần mềm như Nginx, Apache
HTTP Server hoặc IIS.

• Node.js cung cấp kiến trúc hướng sự kiện (event-driven) và non-


blocking I/O API, tối ưu hóa thông lượng của ứng dụng và có khả năng
mở rộng cao

6
• Mọi hàm trong Node.js là không đồng bộ (asynchronous). Do đó, các
tác vụ đều được xử lý và thực thi ở chế độ nền (background
processing)
1.4.2.2 Nhược điểm của Nodejs

• Ứng dụng nặng tốn tài nguyên Nếu bạn cần xử lý các ứng dụng tốn tài
nguyên CPU như encoding video, convert file, decoding encryption…
hoặc các ứng dụng tương tự như vậy thì không nên dùng NodeJS (Lý
do: NodeJS được viết bằng C++ & Javascript, nên phải thông qua thêm
1 trình biên dịch của NodeJS sẽ lâu hơn 1 chút). Trường hợp này bạn
hãy viết 1 Addon C++ để tích hợp với NodeJS để tăng hiệu suất tối đa!

• NodeJS và ngôn ngữ khác NodeJS, PHP, Ruby, Python .NET …thì
việc cuối cùng là phát triển các App Web. NodeJS mới sơ khai như các
ngôn ngữ lập trình khác. Vậy nên bạn đừng hi vọng NodeJS sẽ không
hơn PHP, Ruby, Python… ở thời điểm này. Nhưng với NodeJS bạn có
thể có 1 ứng dụng như mong đợi, điều đó là chắc chắn 

1.4.2.3 Ưu điểm của Nodejs

• Đặc điểm nổi bật của Node.js là nó nhận và xử lý nhiều kết nối chỉ
với một single-thread. Điều này giúp hệ thống tốn ít RAM nhất và chạy
nhanh nhất khi không phải tạo thread mới cho mỗi truy vấn giống PHP.
Ngoài ra, tận dụng ưu điểm non-blocking I/O của Javascript mà Node.js
tận dụng tối đa tài nguyên của server mà không tạo ra độ trễ như PHP

• JSON APIs Với cơ chế event-driven, non-blocking I/O(Input/Output)


và mô hình kết hợp với Javascript là sự lựa chọn tuyệt vời cho các dịch
vụ Webs làm bằng JSON.

• Ứng dụng trên 1 trang (Single page Application) Nếu bạn định viết 1
ứng dụng thể hiện trên 1 trang (Gmail?) NodeJS rất phù hợp để làm.
Với khả năng xử lý nhiều Request/s đồng thời thời gian phản hồi
nhanh. Các ứng dụng bạn định viết không muốn nó tải lại trang, gồm
rất nhiều request từ người dùng cần sự hoạt động nhanh để thể hiện sự
chuyên nghiệp thì NodeJS sẽ là sự lựa chọn của bạn.

• Shelling tools unix NodeJS sẽ tận dụng tối đa Unix để hoạt động. Tức
là NodeJS có thể xử lý hàng nghìn Process và trả ra 1 luồng khiến cho
hiệu xuất hoạt động đạt mức tối đa nhất và tuyệt vời nhất.

7
• Streamming Data (Luồng dữ liệu) Các web thông thường gửi HTTP
request và nhận phản hồi lại (Luồng dữ liệu). Giả xử sẽ cần xử lý 1
luồng giữ liệu cực lớn, NodeJS sẽ xây dựng các Proxy phân vùng các
luồng dữ liệu để đảm bảo tối đa hoạt động cho các luồng dữ liệu khác.

• Ứng dụng Web thời gian thực Với sự ra đời của các ứng dụng di động
& HTML 5 nên Node.js rất hiệu quả khi xây dựng những ứng dụng thời
gian thực (real-time applications) như ứng dụng chat, các dịch vụ mạng
xã hội như Facebook, Twitter,…

Chương 2: Phân tích thiết kế hệ thống


2.1 Phân tích hệ thống
2.1.1 Xác định các tác nhân hệ thống
Qua quá trình tìm hiểu và khảo sát thực tế, xem xét đến các quan hệ và
tác động của hệ thống giao tiếp, ta xác định được các tác nhân có tương tác với
hệ thống đó là:
Quản trị hệ thống: Tác nhân này tham gia vào hệ thống với quyền
cao nhất: quản lý user, quản lý contact…
Người sử dụng: Tác nhân này tham gia vào hệ thống để trò chuyện, giao
tiếp, kết bạn…

8
2.1.2 Biểu đồ Use-case tổng quan

Hình 1: Biểu đồ Usecase tổng quan

2.1.3 Biểu đồ chi tiết các Use-case


Use-case Đăng nhập
- Use-case mô tả cách người dùng đăng nhập vào mạng xã hội.
- Use-case này bắt đầu khi một actor muốn đăng nhập vào mạng xã
hội.
+ Hệ thống yêu cầu actor nhập tên đăng nhập và mật khẩu.
+ Actor nhập tên và mật khẩu.
+ Hệ thống kiểm chứng tên và mật khẩu được nhập. Nếu hợp lệ thì
actor được phép đăng nhập vào hệ thống.

9
Hình 2: Biểu đồ use-case đăng nhập.
Use-case Đăng ký
-Use-case này mô tả cách người dùng đăng ký làm thành viên mới
- Use-case này bắt đầu khi một actor muốn đăng ký vào làm thành
viên của hệ thống.
+ Hệ thống yêu cầu bắt buộc actor nhập các thông tin tài khoản
như : Tên đăng nhập, Mật khẩu và Mật khẩu nhập lại để người dùng xác
nhận lại mật khẩu. Nếu Tên đăng nhập hợp lệ và là duy nhất thì actor mới
được sử dụng tên đăng nhập đó. Mật khẩu phải hợp lệ với yêu cầu ký tự.
+ Hệ thống còn yêu cầu nhập các thông tin cần thiết cho việc quản
lý và giới thiệu như: Tên hiển thị, Họ tên, Ngày sinh, Giới tính, CMND,
Quê quán, Nick chat, Điện thoại, Địa chỉ.
+ Yêu cầu actor nhập chính xác Email để để hệ thống có thể gửi
link kích hoạt cho actor.
+ Yêu cầu click đúng link verify token.
+ Hệ thống kiểm tra các yêu cầu hợp lệ. Lúc này use-case kết thúc.

10
Hình 3: Biểu đồ use-case đăng ký.
Use-case thông tin cá nhân
-Use-case này bắt đầu khi một actor muốn quản lý thông tin cá nhân
- Use-case này bắt đầu khi một actor muốn quản lý thông tin cá
nhân. Hệ thống yêu cầu actor chọn chức năng:
+ Nếu actor chọn “Xem thông tin cá nhân” thì luồng phụ “Xem
thông tin cá nhân” được thực hiện.
+ Nếu actor chọn “Sửa thông tin cá nhân” thì luồng phụ “Sửa thông
tin cá nhân” được thực hiện.
+ Nếu actor chọn “Đổi mật khẩu” thì luồng phụ “Đổi mật khẩu”
được thực hiện.

11
Hình 4: Biểu đồ use-case thông tin cá nhân.
Use case Kết bạn
- Use-case này bắt đầu khi một user muốn kết bạn
- Hệ thống sẽ yêu cầu user chọn “Kết bạn”
+ Hệ thống yêu cầu user nhập tên người user muốn kết bạn
+User nhập đầy đủ thông tin yêu cầu
+ User bấm gửi, hệ thống sẽ tiến hành gửi lời mời. Lúc này use-case
sẽ kết thúc

Hình 5: Biểu đồ use-case kết bạn.

12
Use case Tìm kiếm bạn bè
- Use-case này cho phép tìm kiếm bạn bè
+ Hệ thống yêu cầu bạn nhập tên user muốn tìm kiếm
+ User bấm tìm, hệ thống sẽ danh sách các user

Hình 6: Biểu đồ use-case tìm kiếm bạn bè.

13
2.1.4 Biểu đồ trình tự

Biểu đồ trình tự đăng nhập

14
Biểu đồ trình tự đăng ký

Biểu đồ trình tự sửa thông tin user

15
Biểu đồ trình tự gửi yêu cầu kết bạn

Biểu đồ trình tự tìm kiếm bạn bè

16
2.1.5 Biểu đồ lớp

Hình 7: Biểu đồ lớp module thông tin cá nhân

Hình 8: Biểu đồ lớp module bạn bè

17
Hình 9: Biểu đồ lớp module thông báo

2.1.6 Biểu đồ thành phần

Hình 10: Biểu đồ thành phần

18
2.1.7 Biểu đồ triển khai

Hình 11: Biểu đồ triển khai

2.2 Thiết kế hệ thống


2.2.1 Thiết kế tổng thể hệ thống
- Thiết kế tổng thể hệ thống là một trong những công việc đầu tiên mà bất
kỳ công ty, đơn vị thực hiện một dự án Công Nghệ Thông Tin cần làm.
- Đây được coi là bộ xương sống của toàn bộ dự án, để từ đó phát triển
thêm các chi tiết bên trong dự án. Việc xác định các công việc là vô cùng quan
trọng.
- Xác định các mục tiêu và rằng buộc ở mức độ tổng thể
• Xác định các mục tiêu kiến trúc: Lượng thời gian dành cho mỗi giai đoạn
thiết kế kiến trúc sẽ phụ thuộc vào sự phức tạp của các mục tiêu hướng đến.
• Xác định ai sẽ là người sử dụng thiết kế kiến trúc: Xét các yêu cầu và
kinh nghiệm của họ để làm cho kết quả thiết kế dễ tiếp cận hơn.
• Xác định các mặt hạn chế, khó khăn, trong lựa chọn sử dụng công nghệ,
trong sử dụng, triển khai hệ thống: Hiểu và biết được những khó khăn đó sẽ
giúp chúng ta không lãng phí quá nhiều thời gian hoặc không bị bất ngờ với
những tình huống ngoài ý muốn.
- Hình dung tổng quan về hệ thống:
• Xác định loại hệ thống thông tin sử dụng
• Xác định hạn chế triển khai hệ thống

19
• Xác định phong cách thiết kế kiến trúc. Một phong cách kiến trúc là một
tập hợp các nguyên tắc.
• Xác định công nghệ sử dụng trong hệ thống
2.2.2 Thiết kế chi tiết hệ thống
2.2.2.1 Thiết kế cơ sở dữ liệu
Bảng cơ sở dữ liệu

Hình 12: Bảng cơ sở dữ liệu


2.2.2.2 Thiết kế truy vấn, thủ tục: thu thập xử lý thông tin chuẩn xác
theo đúng nghiệp vụ.
- Sử dụng các một vài câu lệnh truy vấn, thao tác trong SQL để có thể
truy vấn cơ sở dữ liệu:
• Câu lệnh Select ( Select *, Select … From ,..) là một câu lệnh cơ bản
nhất trong SQL, mục đích là truy vấn dữ liệu trong các bảng (Table).
• Câu lệnh Distinct được sử dụng cùng với Select, dùng để select các dữ
liệu, bỏ qua các dữ liệu trùng nhau. Cú pháp là: Select distinct <column1>,
<column2> ....
• Where là câu lệnh nhằm giới hạn phạm vi tìm kiếm. Cú pháp là

20
: Select column from table where điều kiện
 Câu lệnh BETWEEN cũng được sử dụng trong việc giới hạn thời
gian.
- Sử dụng các thủ tục (PROCEDURE) để lưu lại nhiều câu lệnh mà ta cần
dùng lại nhiều lần trong dự án
2.2.2.3 Thiết kế giao diện hệ thống
- Dưới đây là một số hình ảnh mà nhóm dự án dự kiến sẽ xây dựng giao
diện cho hệ thống giao tiếp mạng xã hội
- Vì thời gian chưa cho phép nên giao diện chưa thể hoàn thiện.

Hình 13: Giao diện đăng nhập

Hình 14: Giao diện đăng ký

21
Hình 15: Giao diện thay đổi mật khẩu

Hình 16: Giao diện thông tin cá nhân

22
Hình 17: Giao diện chính

Hình 18: Modal thông báo

23
Hình 19: Modal quản lý liên lạc

Hình 20: Modal tạo nhóm liên lạc

24
2.2.2.4 Thiết kế báo cáo
- Thiết kế báo cáo với đẩy đủ các bước xây dựng trong dự án khi thiết kế
hệ thống
- Báo cáo là bản ghi quá trình thực hiện toàn bộ các công đoạn trong dự
án từ thiết kế tổng thể hệ thống đến thiết kế chi tiết hệ thống
Kết luận về việc triển khai phân tích thiết kế hệ thống
- Như vậy thì việc triển khai thiết kế một hệ thống giao tiếp mạng xã hội
đã được thực hiện và đã đáp ứng được cơ bản yêu cầu của người dùng.
- Xây dựng được một bản triển khai thiết kế hệ thống sẽ giúp cho những
người phát triển dễ dàng hình dung ra các yêu cầu nghiệp vụ mà hệ thống cần
được xây dựng, từ đó phát triển đúng hướng dự án.
- Việc phân tích hệ thống là công việc quan trọng đầu tiên và cần thiết để
có thể phát triển và xây dựng dự án.
- Phân tích hệ thống sẽ giúp người lập trình có thể hình dung ra những
yêu cầu và các chức năng của trang web cần tới. Từ đó có thể xây dựng ra được
bộ khung cho toàn bộ dự án.
- Việc phân tích hệ thống đúng, chính xác nghiệp vụ của dự án sẽ giúp
những rủi ro, sai xót giảm thiểu ở mức tối đa, giảm chi phí cho công ty. - Như
vậy, mọi dự án đều phải được phân tích hệ thống một cách chính xác, kỹ càng
để có thể giúp dự án đi vào các bước triển khai thực tế, là một khâu vô cùng
quan trọng, quyết định sự thành công hay thất bại của bất kỳ dự án Công Nghệ
Thông Tin nào.

25
Chương 3: Cài đặt và đánh giá hệ thống
3.1 Cài đặt hệ thống
- Hệ thống sau khi được xây dựng và phát triển xong sẽ được bộ phận
Test kiểm thử, kiểm tra lỗi.
- Khi đã hoàn toàn đẩy đủ các yếu tố cần có, hệ thống sẽ được bàn giao
cho công ty, khách hàng sử dụng
- Chạy file awesome-chat.exe đã được bàn giao để chạy hệ thống
- Đào tạo nhân sự vận hành
- Bảo trì, sửa chữa hệ thống trong vòng 3 năm.
3.2 Thử nghiệm hệ thống trên nhiều môi trường khác nhau
- Thử nghiệm hệ thống trên nhiều hệ điều hành khác nhau như Windows/
Mac OS/ Linux
- Chạy trên cả nền tảng Mobile như Android/IOS
3.3 Đánh giá, so sánh kết quả thực nghiệm
- Sau quá trình chạy thử trên nhiều hệ điều hành khác nhau, các thành
viên trong nhóm phát triển đã rút ra được các nhận xét như sau:
• Hệ thống chạy tốt nhất trên hệ điều hành Windows/Mac OS. Hệ điều
hành Linux thì vẫn còn một số lỗi cần sửa chữa, khắc phục.
• Nền tảng mobile thì trang web vận hành ổn định, chất lượng đúng với
kỳ vọng của nhóm phát triển.
- Hệ thống sau khi test đã đưa vào vận hành và sử dụng trôi chảy.
- Đã khắc phục những vấn đề và làm hài lòng khách hàng.
- Thể hiện được tinh thần và trách nhiệm của công ty trong dự án.
3.4 Kết luận việc đánh giá
- Như vậy là việc đánh giá, so sánh kết quả thực nghiệm đã chỉ ra những
ưu điểm và nhược điểm của hệ thống.
- Người quản lý sẽ dựa vào đó để có thể tổng hợp được những công việc
cần làm để khắc phục những lỗi còn tồn tại, phát triển hơn nữa những ưu điểm
đã có.

26
- Công việc đánh giá là cần thiết và là chìa khóa cho sự phát triển của dự
án.
- Việc đánh giá phải được thực hiện một cách chính xác, rõ ràng để giúp
cho dự án được phát triển lớn hơn nữa.
- Qua việc đánh giá này, nhóm phát triển dự án sẽ được trau dồi thêm
kinh nghiệm để phát huy cho các dự án sau. Đó mới là những điểu mà công ty
và nhóm dự án hướng tới.

27
KẾT LUẬN

Sau một thời gian tích cực làm việc, nghiên cứu của cá nhân em với sự
hướng dẫn, chỉ bảo nhiệt tình của thầy giáo hướng dẫn – thầy Phương Văn
Cảnh, em đã hoàn thành bản báo cáo của mình với đề tài thực tập: “Xây dựng
hệ thống giao tiếp mạng xã hội”.
Qua đồ án này, cá nhân em đã hiểu và biết được quy trình để có thể quản
lý một dự án công nghệ thông tin mà ở đây là dự án website giao tiếp này. Quy
trình từ những bước đầu tiên thực hiện dự án đến bước cuối cùng để vận hành
dự án.
Đó là những kiến thức vô cùng quan trọng, cần thiết mà em có thể trải
nghiệm được tại nơi thực tập cũng như đi làm sau này.
Trong quá trình nghiên cứu và xây dựng lên đồ án này, cá nhân em đã rất
cố gắng nhưng đồ án này vẫn còn có nhiều thiếu sót. Em rất mong nhận được sự
đóng góp, chỉ bảo của thầy, cô.
Em xin chân thành cảm ơn!

28

You might also like