Thành phần thứ hai là client trên android bao gồm các hàm kết nối tương ứng đến server, nhận dữ liệu, thao tác người dùng sau đó gửi yêu cầu đến server, nhận dữ liệu từ server hiển thị t
Trang 1LỜI CẢM ƠN
Lời đầu tiên, Em xin chân thành cảm ơn trường đại học công nghệ thông tin
và truyền thông, đại học Thái Nguyên đã tạo điều kiện thuận lợi cho phép em thực hiện bài đồ án tốt nghiệp này
Đặc biệt, Em xin chân thành cảm ơn tới Tiến Sĩ Nguyễn Toàn Thắng đã rất tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đề tài vừa qua
Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết, quý báu trong những năm tháng học tập tại Trường
Mặc dù em đã cố gắng, nhưng với trình độ còn hạn chế, trong quá trình làm
đồ án tốt nghiệp không tránh khỏi những thiếu sót Em hy vọng sẽ nhận được những ý kiến nhận xét, góp ý của các thầy cô giáo và các bạn về bài đồ án của em
để bài đồ án được hoàn thiện hơn
Em xin trân trọng cảm ơn!
Trang 2LỜI CAM ĐOAN
Em tên là: Tạ Huy Triệu – sinh viên lớp MMT-K10A, ngành truyền thông
và mạng máy tính, khoa công nghệ thông tin, trường Đại học Công Nghệ Thông Tin và Truyền Thông - Đại học Thái Nguyên, khóa 2011-2016
Em xin cam đoan đã thực hiện quá trình làm đồ án một cách khoa học, chính xác và trung thực
Toàn bộ kết quả của quá trình làm đồ án là thành quả của quá trình học tập, nghiên cứu của em, dưới sự hướng dẫn của Tiến sỹ Nguyễn Toàn Thắng Nội dung trong đồ án nếu có tham khảo, sử dụng tài liệu thông tin từ một số nguồn khác đều được trích dẫn trong phần tài liệu tham khảo
Em xin chịu trách nhiệm toàn bộ trước bài báo cáo của mình!
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH ẢNH 6
TỔNG QUAN ĐỀ TÀI 8
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 11
1.1 Khảo sát 11
1.2 Công nghệ xây dựng server 12
1.3 Công nghệ phát triển ứng dụng android 15
1.3.1 Giới thiệu chung về hệ điều hành android 15
1.3.2 Kiến trúc của android 15
1.3.3 Công nghệ phát triển ứng dụng android 19
1.4 Công nghệ xây dựng web 20
1.5 Công nghệ giao tiếp giữa ứng dụng android và web server 20
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 24
2.1 Yêu cầu hệ thống 24
2.2 Triển khai hệ thống 24
2.3 Các thành phần hệ thống 25
2.2 Phân tích thiết kế hệ thống 28
2.2.1 Biểu đồ UC 28
2.2.2 Đặc tả UC người dùng 30
2.2.3 Đặc tả UC Admin 33
2.2.4 Đặc tả UC Author 36
2.2.5 Biểu đồ lớp 40
2.2.6 Thiết kế dữ liệu 40
Trang 4CHƯƠNG III XÂY DỰNG HỆ THỐNG 43
3.1 Xây dựng web server 43
3.1.1 Tạo lớp kết nối tới SQLServer 43
3.1.2 Xây dựng web service 44
3.1.3 Xây dựng web client 45
3.1.4 Xây dựng hàm nén dữ liệu 48
3.2 Xây dựng ứng dụng client trên android 48
3.2.1 Tạo lớp kết nối và truyền dữ liệu với server 48
3.2.2 Tạo hàm giải nén dữ liệu nhận được từ server 49
3.2.3 Xây dựng ứng dụng android 50
CHƯƠNG IV : ỨNG DỤNG DEMO 52
4.1 Web server 52
4.2 Ứng dụng client trên android 54
4.3 Ứng dụng web client 57
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
Trang 5DANH MỤC BẢNG BIỂU
Bảng 2.1: Mối quan hệ giữa tác nhân và UC 28
Bảng 2.2: Luồng sự kiện chính UC đăng nhập 30
Bảng 2.3: Luồng sự kiện chính UC lấy danh sách tài nguyên 31
Bảng 2.4: Luồng sự kiện chính UC quản lý thông tin người dùng 32
Bảng 2.5: Luồng sự kiện chính UC Quản lý tài nguyên 33
Bảng 2.6: Luồng sự kiện chính UC Quản lý người dùng 34
Bảng 2.7: Luồng dữ liệu chính UC Quản lý thể loại 35
Bảng 2.8: Luồng sự kiện chính UC quản lý Album 36
Bảng 2.9: Luồng sự kiện chính UC quản lý tài nguyên 37
Bảng 2.10: Luồng dữ liệu chính UC Quản lý album 38
Bảng 2.11: Luồng sự kiện chính UC quản lý thông tin tác giả 39
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1: Các ứng dụng phân phối nội dung âm thanh 11
Hình 1.2: Mô hình web server 13
Hình 1.3: Cấu trúc stack hệ thống Android 15
Hình 2.1: Biểu đồ triển khai hệ thống 24
Hình 2.2: Các thành phần của hệ thống 25
Hình 2.3: Biểu đồ UC người dùng 29
Hình 2.4: Biểu đồ UC người quản trị 29
Hình 2.5: Biểu đồ UC tác giả 29
Hình 2.6: Biểu đồ luồng trình tự UC đăng nhập 30
Hình 2.7: Biểu đồ trình tự UC View Source 31
Hình 2.8: Biểu đồ trình tự UC quản lý thông tin người dùng 32
Hình 2.9: Luồng sự kiện chính UC quản lý tài nguyên của admin 33
Hình 2.10: Luồng sự kiện chính UC quản lý người dùng 34
Hình 2.11: Luồng sự kiện chính UC quản lý thể loại của admin 35
Hinh 2.12: Luồng sự kiện chính UC quản lý album của admin 36
Hình 2.13: Biểu đồ trình tự UC quản lý tài nguyên của author 37
Hình 2.14: Luồng sự kiện chính UC quản lý album của author 38
Hình 2.15: Luồng sự kiện chính UC quản lý thông tin tác giả 39
Hình 2.16: Biểu đồ lớp 40
Hình 2.17: Biểu đồ thiết kế cơ sở dữ liệu 40
Hình 3.1: Chọn SQLServer cần kết nối và cơ sở dữ liệu cần sử dụng 43
Hình 3.2: Khởi tạo lớp kết nối sử dụng LINQ 44
Hình 3.3: Các API server cung cấp cho Android client 45
Hình 3.4 : Tạo website trên visual studio 45
Hình 3.5: Các controller của hệ thống website 46
Trang 7Hình 3.6: Các model của hệ thống 47
Hình 3.7: Các thư mục view của hệ thống website 47
Hình 3.8: Sử dụng thư viện ICSharpCode.SharpZipLib.dll 48
Hình 3.9: Lớp MyKsoap 49
Hình 3.10: Hàm giải nén dữ liệu trên ứng dụng client android 50
Hình 3.11: Thiết kế giao diện ứng dụng client 51
Hình 4.1 : Hình ảnh web server cài đặt thành công 52
Hình 4.2 : Form nhập dữ liệu mà web service tự tạo 53
Hình 4.3: Giao diện chính ứng dụng client trên android 54
Hình 4.4: Danh sách các Singer, Album, Category 55
Hình 4.5: Danh sách tài nguyên được theo những điều kiện khác nhau 55
Hình 4.6: Cấu hình địa chỉ ip server cho ứng dụng client 56
Hình 4.7: Giao diện trang web của admin và author khi đăng nhập vào 57
Hình 4.8: Một số giao diện khác 58
Trang 8TỔNG QUAN ĐỀ TÀI
Lý do chọn đề tài
Ngày nay thiết bị di động không chỉ là thiết bị đàm thoại thông thường mà đang dần trở thành thiết bị thông minh để đáp ứng nhu cầu ngày càng cao của con người Sự phát triển của công nghệ, giá cả điện thoại cũng ngày càng rẻ hơn là các yếu tố khiến điện thoại thông minh ngày càng trở nên phổ biến Việc sử dụng điện thoại di động để trao đổi, lưu trữ các tài nguyên số đang trở nên thông dụng Vì vậy mà các vấn đề liên quan đến bảo mật, bảo vệ các dữ liệu nội dung số trên mạng như: mp3, video, ảnh, file văn bản, … ngày càng trở nên cấp thiết và quan trọng
Hiện nay, trên mạng có rất nhiều ứng dụng chia sẻ, phân phối nội dung số khác nhau trên nền tảng android Một số ứng dụng chia sẻ và phân phối như ZingMp3, nhaccuatui,… đã thành công trong việc chia sẻ nội dung số trên nền tảng android Tuy nhiên việc bảo vệ những dữ liệu chia sẻ, phân phối này trên môi trường mạng cũng như thiết bị là chưa có Việc xây dựng một ứng dụng đáp ứng được việc bảo vệ các tài nguyên số ngày trên môi trường mạng cũng như thiết bị là cần thiết
Vì vậy, với các vấn đề đưa ra ở trên, em đã đi đến việc tìm hiểu và thực
hiện đề tài: Xây dụng hệ thống phân phối nội dung số cho nền tảng android có
sử dụng các biện pháp bảo vệ dữ liệu trên môi trường mạng và thiết bị.
Ý tưởng xây dựng hệ thống
Với đề tài như trên hệ thống xây dụng gồm ba phần Phần thứ nhất là server dùng để quản lý lưu trữ các tài nguyên số, cung cấp các hàm chức năng kết nối và giao tiếp với client, đồng thời tiến hành mã hóa các tài nguyên số thành một dạng khác và gửi về cho client khi có yêu cầu Thành phần thứ hai là client trên android bao gồm các hàm kết nối tương ứng đến server, nhận dữ liệu, thao tác người dùng sau đó gửi yêu cầu đến server, nhận dữ liệu từ server hiển thị thông tin cho người
Trang 9dùng, đồng thời tải về các tài nguyên đã được mã hóa từ server khi có yêu cầu và giải mã dữ liệu về dữ liệu gốc để người dùng sử dụng Thành phần thứ ba là web client bao gồm giao diện web trên một phần mềm web browser bất kỳ Thành phần này sẽ cung cấp các chức năng cho người quản trị và người quản lý nội dung các chức năng để tương tác với cơ sở dữ liệu Đây là thành phần quan trọng cho phép người quản trị quản lý hệ thống với giao diện trực quan dễ thao tác, cho phép người quản lý nội dung quản lý nội dung chia sẻ của mình đồng thời đăng tải những nội dung cần chia sẻ trên một giao diện web thân thiện dễ sử dụng
Với ý tưởng như trên hệ thống được xây dựng sẽ đảm bảo việc chia sẻ cũng như quản lý của người có nhu cầu chia sẻ nội dung số của mình, nội dung chia sẻ
sẽ đến được với người dùng Đồng thời hệ thống sẽ cho phép người dùng có thể truy cập và xem những nội dung đã được chia sẻ theo đúng quyền hạn của mình Ngoài ra hệ thống sẽ giúp người quản trị đảm bảo việc hoạt động ổn định của hệ thống Thêm nữa hệ thống sẽ đáp ứng được việc dữ liệu truyền thông trên mạng được bảo vệ, không bị đánh cắp bên cạnh đó dữ liệu trên thiết bị cũng được bảo vệ
Phạm vi đề tài
Trong phạm vi bài đồ án tốt nghiệp của mình em xin demo thực hiện xây dựng hệ thống thực hiện việc phân phối một dạng tài nguyên số phổ biến hiện nay
là nội dung nhạc mp3, hình ảnh jpg và video mp4
Mục tiêu của đề tài
Mục tiêu của đề tài là giải quyết các vấn đề sau:
+ Xây dựng web server và các dịch vụ cho web server
+ Xây dựng ứng dụng trên android sử dụng các dịch vụ được cung cấp từ server
+ Xây dụng web client sử dụng MVC
+ Nén các tệp tin tài nguyên trên server khi người cung cấp nội dung tải lên server bằng web client
Trang 10+ Giải nén tệp tin nhận được từ server trên android
+ Kết nối và truyền dữ liệu giữa client và server
Trong quá trình trình thực hiện còn nhiều thiếu sót, không thể tránh khỏi những sai lầm trong phân tích thiết kế và những lỗi cài đặt chương trình Vì vậy
em mong nhận được sự ủng hộ đóng góp ý kiến của các thầy cô để bài thực tập tốt nghiệp của em được hoàn thiện hơn và em mong được lĩnh hội những kiến thức hay bổ ích từ thầy cô
Em xin chân trình cảm ơn!
Trang 11CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Khảo sát
Trên thị trường hiện nay tồn tại một số hệ thống phân phối nội dung số dạng nội dung âm thanh mp3 như ZingMp3, nhaccuatui, v.v…
+ ZingMp3: ZingMp3 là một ứng dụng trên di động của một trong những trang web chia sẻ nhạc trực tuyến lớn nhất Việt Nam Đây là một ứng dụng rất thành công với những ưu điểm nổi bật như: nội dung số phong phú, tốc độ nhanh,
dễ thực hiện và xử lý và quản lý nội dung dễ dàng
+ Nhaccuatui: Nhaccuatui cũng là một ứng dụng trên di động của một trang web chia sẻ nhạc trực tuyến vào hạng nhất nhì Việt Nam Đây là ứng dụng khá thành công khi đem lại cho người dùng những thuận lợi trong việc sử dụng ứng dụng như: đa dạng về nội dung, chia sẻ dễ dàng, quản lý đơn giản, xử lý nhanh, tốc
độ cao
Trang 12
Hình 1.1: Các ứng dụng phân phối nội dung âm thanh
+ Tuy nhiên cả hai ứng dụng trên là nội dung số của ứng dụng này có thể được thực thi trên ứng dụng còn lại, dữ liệu vẫn còn ở dạng nguyên gốc Vấn đề về việc bảo vệ dữ liệu trên từng thiết bị là chưa có Nội dung số được truyền đi trên mạng vẫn là nội dung gốc, không có một biện pháp bảo vệ dữ liệu vì vậy mà người khác có thể bắt được các gói tin và có được dữ liệu gốc ban đầu
+ Vì vậy một hệ thống mới cần được xây dựng để đáp ứng những yêu cầu
về việc đảm bảo dữ liệu truyền đi trên mạng không cho người thứ ba không có quyền truy cập có thể hiểu nội dung bản tin, dữ liệu lưu trữ trên thiết bị cá nhân cũng không thể thực hiện bởi một ứng dụng khác Hệ thống mới cần đáp ứng các
Trang 13yêu cầu cơ bản như:
Dữ liệu tài nguyên lưu trữ trên server phải được nén với một mã nhất định nào đó mà chỉ web server và ứng dụng client có thể hiểu được
Ứng dụng client và server phải được kết nối và truyền thông được với nhau
Dữ liệu tài nguyên nhận được trên client phải được giải nén để có được dữ liệu gốc ban đầu và hiển thị theo từng dạng dữ liệu cho người dùng
1.2 Công nghệ xây dựng server
Web server là một dịch vụ công nghệ thông tin xử lý các yêu cầu thông qua HTTP, các giao thức mạng cơ bản khác để phân phối thông tin trên world wide web Các chức năng chính của web server là để lưu trữ, xử lý và cung cấp các trang web cho người dùng Những dạng dữ liệu thường xuyên truyền tải giữa một web server với một ứng dụng client là các trang tài liệu HTML có thể bao gồm hình ảnh, kịch bản, file khác Ứng dụng client có thể là một trình duyệt web, một ứng dụng có thể đọc và truy xuất đến web server Ứng dụng client truy cập đến server bằng cách thực hiện một yêu cầu một tài nguyên nào đó trên server bằng cách sử dụng HTTP, khi server nhận được yêu cầu sẽ thực hiện xử lý yêu cầu và đáp ứng nội dung tài nguyên cần yêu cầu(nếu có) cho client
Trang 14Hình 1.2: Mô hình web server
Hiện nay có nhiều cách để xây dựng và chạy một web server được phân loại bằng ngôn ngữ sử dụng, xử lý trên web server bao gồm:
+ Web server PHP sử dụng ngôn ngữ lập trình PHP để xử lý các yêu cầu từ client và MySQL để lưu trữ cơ sở dữ liệu Ưu điểm của web server PHP là: Sử dụng ngôn ngữ lập trình PHP là một ngôn ngữ mã nguồn mở, rất phổ biến và dễ dàng viết mã Bên cạnh đó là sử dụng hệ quản trị cơ sở dữ liệu MySQL là một quản trị cơ sở dữ liệu dễ quản lý, tốc độ xử lý cao và dễ dàng sử dụng Tuy nhiên còn một số những nhược điểm của Web server PHP như: PHP là một ngôn ngữ dạng yếu và chỉ chạy được trên ứng dụng web Hệ quản trị cơ sở dữ liệu MySQL bảo mật chưa cao, quán trình phục hồi chậm chạp, không hỗ trợ truy vấn con và các thủ tục lưu trữ, bẫy lỗi, …
+ Web server Java sử dụng ngôn ngữ java để xử lý các yêu cầu từ client và
Trang 15Oracle Database để lưu trữ cơ sở dữ liệu Ưu điểm của web server Java là: sử dụng ngôn ngữ lập trình Java là một ngôn ngữ mã nguồn mở, rõ ràng và tách biệt, dễ dàng viết mã, ngôn ngữ hướng đối tượng rõ ràng, nhiều thư viên hỗ trợ lập trình
Hệ quản trị cơ sở dữ liệu sử dụng là Oracle Database là một hệ quản trị cơ sở dữ liệu lớn, được tích hợp các công cụ quản trị, tính bảo mật cao và thời gian đáp ứng nhanh Ngoài những ưu điểm trên thì Web server Java cũng có những nhược điểm như: ngôn ngữ lập trình java còn chập chạp, cần phải cấu hình nhiều để có thể chạy tốt, hệ quản trị cơ sở dữ liệu Oracle chưa được phổ biến, phí bản quyền tương đối cao, không tương thích với các công nghệ của Microsoft
+ Web server Net sử dụng ngôn ngữ lập trình C# để xử lý các yêu cầu từ client và SQLServer để lưu trữ cơ sở dữ liệu Ưu điểm của web sercer Net là: sử dụng ngôn ngữ lập trình C# là ngôn ngữ lập trình đơn giản hướng đối tượng, rõ ràng, tách biệt, mạnh mẽ, dễ dàng viết mã, nhiều thư viện hỗ trợ lập trình Hệ quản trị cơ sở dữ liệu hay được sử dụng là SQLServer là một hệ quản trị cơ sở dữ liệu lớn, mạnh mẽ, cấu trúc chặt chẽ, duy nhất, tính bảo mật cao, dễ dàng sử dụng Web server Net còn có một số nhược điểm như: ngôn ngữ C# chỉ hỗ trợ trên môi trường windown, SQLServer bảo mật cao nên phải cấu hình chính sác mới có thể
sử dụng
Từ những ưu điểm và nhược điểm kể trên của ba cách xây dựng web server
em chọn cách xây dựng web server trên nền ASP.Net sử dụng ngôn ngữ lập trình C# để viết mã và hệ quản trị cơ sở dữ liệu SQLServer 2005 để lưu trữ dữ liệu
+ Để thực hiện các truy vấn cơ sở dữ liệu trong SQLServer để xử lý và gửi phản hổi cho client em sử dụng cộng nghệ LINQ LINQ (Language Integrated Query) là một thư viện cung cấp cho ngôn ngữ lập trình C# và Visual Basi Thư viện này cung cấp khả năng truy vấn database ngay trên ngôn ngữ lập trình Khi sử dụng, LinQ sẽ mô phỏng lại cơ sở dữ liệu của bạn và lưu trong trương trình, sau đó mỗi thực thể sẽ được xây dựng thành mỗi class như mô hình MVC, từ đó ta có thể truy xuất database thông qua những class đó LINQ có thể viết truy vấn cơ sở dữ
Trang 16liệu cho rất nhiều các đối tượng, thực thể dữ liệu từ database Công nghệ này giúp giảm gánh nặng thao tác trên nhiều ngôn ngữ lập trình và cải thiện năng suất lập trình LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping) có bên trong NET Framework 3.5, nó cho phép mô hình hóa một cơ sở
dữ liệu dùng các lớp NET LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP) Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn
1.3 Công nghệ phát triển ứng dụng android
1.3.1 Giới thiệu chung về hệ điều hành android
Android là một nền tảng mã nguồn mở toàn diện được thiết kế cho các thiết
bị di động Nó là sự liên minh giữa ông lớn Google và Open Handset Alliance –các tập đoàn sản xuất thiết bị cầm tay nổi tiếng như Intel, SamSung, Toshiba… Với mục tiêu là tăng tốc việc đổi mới trong di động và cung cấp cho người tiêu dung nhiều tiện ích phong phú, ít tốn kém Android chính là công cụ để làm điều đó
Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấp thấp của Linux đến tất cả các thư viện gốc và tử các ứng dụng khung cho đến các ứng dụng hoàn chỉnh là hoàn toàn mở
Trong lịch sử phát triển, ban đầu Android thuộc sở hữu của công ty Android Inc Sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform Cuối năm 2007 liên minh Open HandsetAlliance được thành lập và được công bố, Android chính thức trở thành mã nguồn mở Phiên bản đầu tiên được phát hành vào tháng 11 năm 2007
1.3.2 Kiến trúc của android
Trang 17Hình
1.3: Cấu trúc stack hệ thống Android
Trang 18a, Tầng ứng dụng
Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như:
Các ứng dụng cơ bản được cài đặt đi liền với hệ điều hành như: gọi điện thoại (phone), quản lý danh bạ (contacts), duyệt web (browser), nhắn tin (sms), lịch làm việc (calendar), đọc email (email-client), bản đồ (map), quay phim chụp ảnh (camera)…
Các ứng dụng được cài thêm như các phần mềm (stock), các trò chơi (game), từ điển, …
Các chương trình có các đặc điểm là:
+ Viết bằng Java, phần mở rộng là apk
+ Khi mỗi ứng dụng được chạy, nó có phiên bản Virtual Machine được dựng lên phục vụ cho nó Nó có thể là một Active Program: chương trình có giao diện với người sử dụng hoặc là một background: chương trình chạy nền hay là dịch vụ
+ Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời điểm, có thể có nhiều chương trình chạy một lúc, tuy nhiên, với mỗi ứng dụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn
+ Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống
Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền
b, Application framework
Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên
Gồm các thành phần:
Trang 19+ Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như
cung cấp các công cụ điều khiển Activity
+ Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như
gọi điện thoại
+ XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực.
+ Location Manager: Cho phép xác định vị trí của điện thoại dựa vào hệ
thống định vị toàn cầu GPS và Google Maps
+ Window Manager: Quản lý việc xây dựng và hiển thị các giao diện
người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng
+ Notication Manager: Quản lý việc hiển thị các thông báo ( như báo có
tin nhắn,có email mới….)
c, Library
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android Điều này được thể hiện thông qua nền tảng ứng dụng Android Một số các thư viện cơ bản gồm:
+ Hệ thống thư viện C : triển khai BSD-derived có nguồn gốc từ các hệ
thống thư viện chuẩn C (libc), được sử dụng chỉ bởi hệ điều hành
+ Media Libraries – Dựa trên gói Video OpenCORE; các thư viện hỗ trợ
phát và ghi âm của các định dạng âm thanh và video phổ biến, cũng như các file hình ảnh tĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
+ Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị
+ LibWebCore - Đây là thành phần để xem nội dung trên web, được
sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX
+ SGL – Các cơ sở công cụ đồ họa 2D.
+ 3D libraries - Thực hiện dựa trên OpenGL ES 1.0 APIs; Thư viện sử dụng
hoặc là tăng tốc phần cứng 3D (nếu có) hoặc bao gồm tối ưu hóa phần mềm 3D
Trang 20+ SQLite - Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng
d, Android Runtime
Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java
có thể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Library) , chứa các lớp như JAVA IO, Collections, File Access Thứ hai là một máy ảo java (Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển
e, Linux kernel
Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process)
Tầng này có các thành phần chủ yếu :
+ Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu
nhận những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng )
+ Camera Driver: Điều kiển hoạt động của camera, nhận luồng dữ liệu từ
camera trả về
+ Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth.
+ USB driver: Quản lý hoạt động của các cổng giao tiếp USB
+ Keypad driver: Điều khiển bàn phím
+ Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi
+ Audio Driver: điều khiển các bộ thu phát âm thanh, giải mã các tính
hiệu dạng audio thành tín hiệu số và ngược lại
+ Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với
Trang 21mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện.
+ M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ
SD, flash
+ Power Madagement : Giám sát việc tiêu thụ điện năng.
1.3.3 Công nghệ phát triển ứng dụng android
Hiện nay, trên thực tế tồn tại ba công nghệ phát triển ứng dụng cho hệ điều hành android gồm: sử dụng java thuần túy để phát triển ứng dụng, sử dụng C++ để phát triển ứng dụng game, sử dụng công nghệ Cross platform hoặc Hybrid để viết ứng dựng từ một ngôn ngữ có thể chạy trên nhiều nền tảng hệ điều hành khách nhau
+ Sử dụng java thuần để phát triển ứng dụng android là công nghệ viết ứng dụng cơ bản và được google khuyên sử dụng Vì đây là nền tảng cơ bản của android, việc biên dịch để thực thi ứng dụng trên hệ điều hành android đã được tích hợp và tương thích trong các phần mềm lập trình Đa số các ứng dụng trên android hiện nay đều được viết từ nền tảng này Ngoài ra nền tảng này còn được google và các nhà phát triển ứng dụng liên tục cập nhật những bộ thư viện mới hỗ trợ người lập trình rất tốt Những phần mềm sử dụng nền tảng công nghệ này như: Android Studio, Elclipse,…
+ Sử dụng C++ để phát triển ứng dụng game là công nghệ tận dụng tốc độ
xử lý nhanh và tối ưu bộ nhớ của ngôn ngữ C++ để phát triển các ứng dụng game Với công nghệ này người lập trình sẽ viết mã trên C++ sau đó sử dụng công cụ NDK để chuyển đổi mã sang java để chạy trên hệ điều hành android
+ Sử dụng công nghệ Cross platform hoặc Hybrid là một cách tiếp cận mới cho các ứng dụng trên di động Với công nghệ này, ứng dụng chỉ cần viết một lần
có thể chạy được trên nhiều hệ điều hành khác nhau Công nghệ này sử dụng một
số ngôn ngữ như js (HTML5), C#(unity,xamarin) …
Cùng với sự tìm hiểu và những hiểu biết của mình về các công nghệ phát
Trang 22triển ứng dụng cho android thì em lựa chọn công nghệ sử dụng java thuần để phát triển ứng dụng trên android của đề tài Vì đây là nền tảng được hỗ trợ rất nhiều từ google nhất là từ khi phần mềm lập trình Android Studio của hãng được phát hành Bên cạnh đó thư viện hỗ trợ được viết bởi các hãng cũng khá phong phú và tiện dụng Tài liệu hướng dẫn sử dụng và học tập trên nền tảng này cũng rất nhiều.
Trang 231.4 Công nghệ xây dựng web
Hiện nay trên thị trường có rất nhiều công nghệ để xây dựng một trang web
từ đơn giản đến phức tạp nhất có thể kể đến như: sử dụng html và css thuần, sử dụng php thuần, MVC, wordpress, …
ASP.NET MVC là công nghệ sau ASP.NET Web Form cho phép ta phát triển ứng web gồm ba thành phần chính: model, view và controller Với ưu điểm nổi bật là nhẹ hơn (lighweigt), dễ kiểm thử giao diện và thừa hưởng các tính năng
có sẵn của ASP.NET đã khiến cho công nghệ này ngày càng phát triển (hiện nay
đã đến phiên bản MVC 5.2) Về bản chất thì đây là phần mở rộng của namespace System.Web được đặt trong namespace System.Web.Mvc
Mô hình MVC giúp bạn tạo được các ứng dụng phân tách rạch ròi các khía cạnh (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện) Mô hình MVC chỉ ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng Logic giao diện (UI logic) thuộc về views Logic nhập liệu (input logic) thuộc về controller
Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng dụng) thuộc về model Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng dụng và chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm
Mô hình MVC giúp thực hiện dự án một cách dể dàng và nhanh chóng, trong lúc HTML designer thiết kế giao diện ở tần view thì hai lập trình viên còn lại
sẻ đảm nhận logic ở tầng controller và các tác vụ ở tầng model
1.5 Công nghệ giao tiếp giữa ứng dụng android và web server
Đề tài thực hiện của em gồm hai thành phần chính là server và client trên android vì vậy mà vấn đề làm sao để ứng dụng android có thể hiểu và giao tiếp qua lại với web server là một trong những vẫn đề then chốt của đề tài Công nghệ thông dụng, phổ biến và dễ dàng để kết nối truyền thông giữa client và server là HTTP (Hypertext Transfer Protocol) Đây là giao thức chạy trên nền web dùng để truyền tải nội dung giữa web server và client Cơ chế hoạt động chính của HTTP là
Trang 24Requet và Response Client gửi Request đến cho server, server xử lý và trả về Response cho client Giao thức này sẽ đảm bảo vấn đề kết nối của ứng dụng client android với web server Vấn đề làm sao để client và server hiểu nhau thì hiện nay
có một số công nghệ hỗ trợ vấn đề này như: JSON, SOAP, WSDL,
+ JSON: JSON (JavaScript Object Noattion) là một định dạng hoán vị dữ liệu nhanh Chúng dễ dàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích
và phát sinh Chúng là cơ sở dựa trên tập hợp của Ngôn Ngữ Lập Trình JavaScript, tiêu chuẩn ECMA-262 phiên bản 3 - tháng 12 năm 1999 JSON là một định dạng kiểu text mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ họ hàng C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ khác Những đặc tính đó đã tạo nên JSON một ngôn ngữ hoán vị
dữ liệu lý tưởng JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến, theo tôi thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số JSON được xây dựng trên
2 cấu trúc:
Là tập hợp của các cặp tên và giá trị name-value Trong những ngôn ngữ khác nhau, đây được nhận thấy như là một đối tượng (object), bản ghi (record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list), hay mảng liên hợp
Là một tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ, thì được nhận thấy như là một mảng, véc tơ, tập hợp hay là một dãy sequence
Đây là một cấu trúc dữ liệu phổ dụng Hầu như tất cả các ngôn ngữ lập trình hiện đại đều hổ trợ chúng trong một hình thức nào đó
Trang 25"title" : "Chia sẻ để cuộc sống tốt đẹp hơn"
}
+ SOAP: SOAP (Simple Object Access Protocol) là một tiêu chuẩn của W3C, là giao thức sử dụng XML để định nghĩa dữ liệu dạng thuần văn bản (plain text) thông qua HTTP SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào Một thông điệp SOAP được chia thành hai phần
là header và body Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP Phần body chứa nội dung của thông điện SOAP
SOAP cung cấp một cơ chế đơn giản và gọn nhẹ cho việc trao đổi thông tin
có cấu trúc và định dạng giữa các thành phần trong một môi trường phân tán sử dụng XML SOAP được thiết kế dựa trên những chuẩn nhằm giảm chi phí tích hợp các hệ thống phân tán xây dựng trên nhiều nền tảng khác nhau ở mức càng thấp càng tốt
Ví dụ:
<ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ WSDL: WSDL (Web Services Description Language) là ngôn ngữ được
sử dụng để mô tả đầy đủ về Web Service theo chuẩn XML như các phương thức, kiểu dữ liệu,… dựa trên XML schema
Ví dụ: Một đoạn định nghĩa kiểu dữ liệu của WSDL cho phương thức HelloWorld()
Trang 26dữ liệu dùng để response được đặt tên “HelloWorldResponse”.
Với phạm vi đề tài và sự giúp đỡ của thư viện Ksoap2 trên android thì đề tài
em sẽ sử dụng giao thức SOAP để giao tiếp giữa android client và web server Vì SOAP hỗ trợ tốt trên cả android và web server, và nó là một giao thức không phụ thuộc vào ngôn ngữ lập trình cụ thể nào Bên cạnh đó SOAP có câu trúc thẻ XML đơn giản dễ hiểu và sử dụng
Trang 27CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Yêu cầu hệ thống
Hệ thống xây dựng ra cần có những yêu cầu sau:
+ Xây dựng web server và các dịch vụ cho web server
+ Xây dựng ứng dụng trên android sử dụng các dịch vụ được cung cấp từ server
+ Xây dụng web client sử dụng MVC
+ Nén các tệp tin tài nguyên trên server khi người cung cấp nội dung tải lên server bằng web client
+ Giải nén tệp tin nhận được từ server trên android
+ Kết nối và truyền dữ liệu giữa client và server
2.2 Triển khai hệ thống
Trang 28Hình 2.1: Biểu đồ triển khai hệ thống
Hệ thống được thiết kế gồm ba thành phần server, client trên android và web client kết nối trực tiếp với nhau để trao đổi thông tin thông qua giao thức HTTP
+ Thành phần web server: Web Server sẽ cung cấp các khả năng lưu trữ cơ
sở dữ liệu, các loại tài nguyên, tiếp nhận các yêu cầu từ client và phản hồi lại thông tin cần thiết dựa vào yêu cầu của client, cơ sở dữ liệu và tài nguyên hệ thống Bên cạnh đó Web Server sẽ thực hiện nén các tài nguyên khi có tài nguyên mới được them vào hệ thống
+ Thành phần client android: Thành phần này cung cấp giao diện xử lý người dùng, tiếp nhận các yêu cầu của người dùng, kết nối đến server, nhận dữ liệu
Trang 29từ server và hiển thị trực quan lên giao diện người dung Đồng thời android sẽ giải nén dữ liệu tệp nhận được từ web server để thực thi tài nguyên
+ Web client: Đây là thành phần sử dụng một web browser bất kỳ để thực hiện các truy vấn và hiển thị nội dung truy vấn Thành phần này có thể là chrome, coccoc,… Tất cả các yêu cầu từ thành phần này sẽ được gửi đến MVC và xử lý trả
về dữ liệu để hiển thị lên giao diện
2.3 Các thành phần hệ thống
Hình 2.2: Các thành phần của hệ thống
Hệ thống khi xây dựng sẽ bao gồm các thành phần: Database, LINQ, Webservice, SOAP, MyKsoap, Android System, Unzip File, MVC, Web Client,
Trang 30File System, Zip File.
+ Database: Database là bộ phận lưu trữ toàn bộ cơ sở dữ liệu của hệ thống dưới dạng bảng Trong hệ thống này chúng ta sử dụng hệ quản trị cơ sở dữ liệu SQLServer để quản trị dữ liệu Bộ phận này cung cấp các hàm truy vấn dữ liệu từ các bảng, trả về dữ liệu phù hợp có trong cơ sở dữ liệu của nó Dữ liệu đầu vào của bộ phận này là các câu truy vấn dữ liệu được ánh xạ từ bộ phận LINQ, kết quả truy vấn sẽ được trả về cho LINQ ở dạng bảng dữ liệu thỏa mãn
+ LINQ: LINQ là bộ phận chứa các liên kết đến SQLServer Bộ phận này đóng vai trò kết nối đến SQLServer, thực hiện các truy vấn để lấy về dữ liệu cần thiết Dữ liệu đầu vào của bộ phận này là các câu truy vấn được yêu cầu từ bộ phận web service hoặc MVC sau đó thực hiện truy vấn đến cơ sở dữ liệu và trả về dữ liệu mong muốn cho web service hoặc MVC xử lý tiếp
+ Webservice: Web service là bộ phận chứa các hàm chức năng của server, những hàm này sẽ mô tả chi tiết những dữ liệu nào mà server có thể tiếp nhận từ client android thông qua tên hàm hoặc dữ liệu nào mà server phản hổi lại cho client android thông qua tên hàm đó Bộ phận này sẽ nhận dữ liệu từ bộ phận SOAP sau đó xử lý dữ liệu, kiểm tra yêu cầu và gửi đến bộ phận LINQ để truy vấn
cơ sở dữ liệu Sau khi nhận được dữ liệu từ các truy vấn đến bộ phận LINQ dữ liệu
sẽ được xử lý và gửi trả lại bộ phận SOAP thông qua tên hàm Bộ phận này bộ phận quan trọng của hệ thống, tại đây tất cả dữ liệu trao đổi giữa client android và server đều được xử lý trước khi gửi đi cũng như truy cập cơ sở dữ liệu
+ MVC: MVC là bộ phận chứa các thành phần điều khiển, các model và các view để cung cấp cho Web Client những giao diện và chức năng tương ứng trên giao diện đó Thành phần này sẽ mô tả chi tiết những gì người dùng có thể thao tác với hệ thống thong qua giao diện web Dữ liệu đầu vào của thành phần này là các đường dẫn trên giao diện web và các dữ liệu người dùng nhập vào Dữ liệu này sẽ được xử lý, kiểm tra yêu cầu và gửi đến LINQ để truy vấn cơ sở dữ liệu Sauk hi nhận dược dữ liệu từ các truy vấn dữ liệu sẽ được xử lý và gửi trả về cho Web
Trang 31Client thong qua HTTP.
+ SOAP: SOAP là bộ phận tiếp nhận dữ liệu từ các yêu cầu từ ứng dụng android client sau đó chuyển đổi thành dữ liệu mà server có thể hiểu và thực hiện được để chuyển đến thành phần Web service thực hiện xử lý Đồng thời SOAP sẽ nhận các kết quả trả về từ web service thực hiện chuyển đổi sang định dạng phù hợp mà client android hiểu được sau đó gửi dữ liệu đó cho client thông qua HTTP
Bộ phận này đóng vai trò giống như một nhà phiên dịch giữa client và server Vì client và server sử dụng những công nghệ và ngôn ngữ lập trình khác nhau Nếu không có bộ phận này, client và server sẽ không thể hiểu những dữ liệu truyền thông qua lại
+ MyKsoap: MyKsoap là bộ phận chuyển đổi dữ liệu từ bộ phận Android thành các thông điệp yêu cầu gửi đến server và nhận dữ liệu từ server sau đó chuyển thành dữ liệu trên android để gửi dữ liệu cho bộ phận android xử lý tiếp
Bộ phận này đóng vai trò như là một nhà phiên dịch giúp android hiểu server và trao đổi thông tin được với server Nếu không có bộ phận này client và server sẽ không thể hiểu nhau và truyền thông được với nhau
+ Android System: Đây là bộ phận xử lý chính của ứng dụng client trên android Bộ phận này có nhiệm vụ xử lý hiển thị giao diện trên thiết bị di động của người dùng, đồng thời thông qua giao diện thành phần này sẽ tiếp nhận các yêu cầu của người dùng Những yêu cầu của người dùng sẽ được điều hướng xử lý đến các thành phần phù hợp như: SOAP để gửi thông điệp yêu cầu đến server hoặc bộ phận giải nén để khôi phục dữ liệu gốc ban đầu khi nhận từ server Đây là bộ phận chính xử lý mọi hoạt động của ứng dụng client trên android
+ Web Client: Bộ phận này chỉ là một web browser bất kỳ nào đó thực hiện nhiệm vụ hiển thị giao diện và các chức năng được phép của người dùng trên giao diện đó và tiếp nhận các yêu cầu xử lý của người dùng gửi dữ liệu cho server qua đường dẫn mà server đã cung cấp
+File System và Zip: Bộ phận này có nhiệm vụ lưu trữ và nén các tài
Trang 32nguyên của người dùng khi người dùng tải tài nguyên lên hệ thống với một mã cụ thể sau đó sẽ đọc các tài nguyên đã được nén gửi về cho thành phần Webservice
để gửi tài nguyên đã nén này cho client Việc nén có khóa bảo vệ này nhằm bảo vệ
dữ liệu gốc ban đầu không thể thấy được bởi các ứng dụng chặn bắt gói tin trên mạng
+ Unzip: Bộ phận này có nhiệm vụ khôi phục lại dữ liệu gốc ban đầu khi nhận được dữ liệu đã nén từ server Việc này cho phép những dữ liệu được gửi từ server chỉ có ứng dụng mới có thể hiểu và chuyển về dữ liệu gốc ban đầu để xử lý Đây chính là việc đáp ứng yêu cầu bảo vệ dữ liệu trên thiết bị client
Admin
Quản lý người dùngQuản lý tài nguyênQuản lý danh mụcQuản lý album
Author
Quản lý thông tinQuản lý tài nguyênQuản lý album
Trang 33Hình 2.3: Biểu đồ UC người dùng
Hình 2.4: Biểu đồ UC người quản trị
Trang 34Hình
2.5: Biểu đồ UC tác giả
Trang 352.2.2 Đặc tả UC người dùng
+ UC đăng nhập
Mục đích: Use case dùng để cho phép thành viên đăng nhập vào hệ thống
để có được những quyền hạn mà thành viên có đối với hệ thống
Tác nhân: Người dùng
Mô tả chung: Để đăng nhập người dùng đi đến menu và mở giao diện đăng nhập, sau đó nhập thông tin người dùng gồm username và password và nhấn nút đăng nhập
Luồng sự kiện chính:
Bảng 2.2: Luồng sự kiện chính UC đăng nhập Hành động của tác
nhân
Phản ứng của client Phản ứng của server
Chọn giao diện đăng
Nhận phản hồi của server
và thông báo kết quả
Nhận dữ liệu đăng nhập
từ clientKiểm tra dữ liệu đăng nhập
Phản hồi kết quả cho client
Trang 36Hình 2.6: Biểu đồ luồng trình tự UC đăng nhập
+ UC View Source
Mục đích: Use case này dùng để tải về danh sách các tài nguyên hiện có trên server theo một điều kiện cụ thể nào đó hoặc tất cả và hiển thị lên giao diện màn hình
Tác nhân: Người dùng
Mô tả chung: Khi người dùng vào giao diện chính hoặc click vào từng phần
đã định sẵn thì client sẽ gửi dữ liệu tới server để lấy danh sách dữ liệu yêu cầu và hiển thị lên giao diện cho người dùng Sau đó khi người dùng chọn một tài nguyên nào đó thì sẽ tải tài nguyên đó từ server về và thực thi tài nguyên đó
Luồng sự kiện chính:
Bảng 2.3: Luồng sự kiện chính UC lấy danh sách tài nguyên
Trang 37Hành động của tác
nhân
Phản ứng của client Phản ứng của server
Mở giao diện hoặc chọn
các nút đã định sẵn
Gửi dữ liệu mà người dùng yêu cầu cho serverNhận danh sách tài nguyên trả về từ server
và hiển thị lên giao diện
Nhận dữ liệu được gửi
Hình 2.7: Biểu đồ trình tự UC View Source
+ UC quản lý thông tin người dùng
Mục đích: Với use case này hệ thống cho phép người dùng có thể thay đổi cập nhật lại một vài thông tin như mật khẩu, tên hiển thị,…
Tác nhân: Người dùng
Mô tả chung: Khi người dùng muốn thay đổi một thông tin nào đó của mình
Trang 38người dùng chọn vào menu cài đặt sau đó chọn dữ liệu cần thay đổi và nhập dữ liệu thay đổi
muốn sửa đổi
Nhập thông tin mới
Hiển thị giao diện cài đặtHiển thị giao diện sửa thông tin
Gửi dữ liệu đã sửa đổi tới server
Nhận phản hổi và thông báo
Nhận thông tin cần sửa đổiKiểm tra tính hợp lệ của thông tin
Sửa thông tinGửi phản hồi lại cho client
Trang 39Hình 2.8: Biểu đồ trình tự UC quản lý thông tin người dùng
2.2.3 Đặc tả UC Admin
+ UC Quản lý tài nguyên
Mục đích: Use case này dùng để admin quản lý các thông tin của tài nguyên
để tiến hành khóa tài nguyên lại
Tác nhân: Admin
Mô tả chung: Trong quá trình vận hành hệ thống không tránh khỏi những tài nguyên không được phép, không phù hợp mà người dùng cố tình tải lên vì vậy người quản trị cần khóa những tài nguyên này lại
Luồng sự kiện chính
Bảng 2.5: Luồng sự kiện chính UC Quản lý tài nguyên
Trang 40Hoạt động của tác
nhân
Phản ứng của client Phản ứng của server
Chọn use case quản lý
Hình 2.9: Luồng sự kiện chính UC quản lý tài nguyên của admin