1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) đồ án 3 đề tài tìm HIỂU THUẬT TOÁN HIERARCHICAL CLUSTERING

24 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 348,3 KB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH CÔNG NGHỆ THÔNG TIN  ĐỒ ÁN ĐỀ TÀI: TÌM HIỂU THUẬT TỐN HIERARCHICAL CLUSTERING GHVD: TS SVTH: NGUYỄN QUANG HIỀN 16110070 Mục lục CHƯƠNG Page-3 Danh mục hình Page-4 Danh mục bảng Page-5 CHƯƠNG GIỚI THIỆU 1.1 Mô tả đề tài Hiện nay, với phát triển Internet công nghệ đại giúp trình giáo dục ngày phát triển đặc biệt mơ hình giáo dục trực tuyến Ở nhiều nước phát triển giới Mỹ, Hàn Quốc, Nhật Bản hình thức giáo dục E- Learning ngày phát triển Tại Việt Nam, bối cảnh nước hướng đến cách mạng 4.0, việc áp dụng công nghệ đại vào giáo dục ngày trọng Những mơ hình học tập thông minh thông qua môi trường trực tuyến phát triển mạnh mẽ Học viên cần đăng ký thành viên qua thiết bị có kết nối mạng Internet học tập đâu Không cần phải lên lớp ngày, chờ đợi giảng viên, phải xếp thời gian để di chuyển đến lớp học Học trực tuyến khơng cịn gói gọn đối tượng sinh viên cao đẳng, đại học mà mở rộng cấp bậc từ tiểu học đến trung học sở, trung học phổ thông Việc học trở nên đơn giản hiệu em biết vận dụng thiết bị công nghệ môi trường Internet ảo để tiếp thu tri thức thật Theo so sánh việc học trực tuyến học offline, môn học lĩnh vực, việc học môi trường trực tuyến giúp rút ngắn khoảng 40 - 60% thời gian hoàn thành toàn kiến thức, tiết kiệm từ 50 - 70% chi phí Chính khơng lớp học, khóa học trực tuyến mở để thơng qua mơi trường trực tuyến Khơng phải khóa học cho sinh viên, khóa học trực tuyến chứng minh ưu dành cho đối tượng học sinh tiểu học, trung học Cùng với phát triển bùng nổ ngành công nghệ thông tin, với nhu cầu sử dụng ứng dụng mobile ngày nâng cao, điện thoại di động thông minh dần trở thành phần thiếu nhiều người sống ngày Tiến công nghệ trải nghiệm người dùng thúc đẩy phát triển thị trường thiết kế ứng dụng di động Cứ cập nhật hệ điều hành tạo cải tiến thiết kế mobile app để đáp ứng nhu cầu người dùng thời đại cơng nghệ Page-1 Q nhóm thực đề tài “Xây dựng ứng dụng học trực tuyến tảng andoid” nhằm mục đích đáp ứng nhu cầu xu hướng học trực tuyến điện thoại thông minh thịnh hành ngày 1.2 Thực tiễn  Xây dựng client giao tiếp với server  Ứng dụng hỗ trợ đầy đủ tính chương trình học online  Người dùng lưu thông tin cá nhân, xem lại học học, nhận xét đánh giá khóa học  Liên kết mạng xã hội facebook, goole CHƯƠNG 2.1 CƠ SỞ LÝ THUYẾT Hệ điều hành Android Android hệ điều hành dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: hiệp hội gồm công ty phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại chạy Android bán vào tháng 10 năm 2008 Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự Ngoài ra, Android cịn có cộng đồng lập trình Page-2 viên đơng đảo chuyên viết ứng dụng để mở rộng chức thiết bị, loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng Android, số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng Android, ước tính khoảng 25 tỷ lượt Những yếu tố giúp Android trở thành tảng điện thoại thông minh phổ biến giới, vượt qua Symbian vào quý năm 2010, công ty công nghệ lựa chọn họ cần hệ điều hành khơng nặng nề, có khả tinh chỉnh, giá rẻ chạy thiết bị công nghệ cao thay tạo dựng từ đầu Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác Android chiếm 75% thị phần điện thoại thơng minh tồn giới vào thời điểm quý năm 2012, với tổng cộng 500 triệu thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày Sự thành cơng hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi "cuộc chiến điện thoại thông minh" công ty công nghệ Được xây dựng tảng mở, thư viện đa năng, mạnh mẽ với nguyên lý mở, Android nhanh chóng cộng đồng lập trình viên di động hưởng ứng mạnh mẽ Nền tảng Android tích hợp nhiều tính bật: Android hệ điều hành nhân Linux, đảm bảo tương tác với phần cứng, quản lý nhớ, điều khiển tiến trình tối ưu cho thiết bị di động  Bộ ứng dụng khung cho phép sử dụng lại thay thành phần riêng lẻ  Máy ảo Dalvik tối ưu cho thiết bị di động, chạy ứng dụng lập trình ngơn ngữ Java  Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, WebKit, OpenGL trình quản lý đa phương tiện Page-3  Hỗ trợ chuẩn đa phương tiện phổ biến, thoại GSM, Bluetooth EDGE, 3G Wifi  Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc…  Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích hợp với Eclipse SDK Android cung cấp tập hợp đầy đủ phần mềm cho thiết bị di động bao gồm: hệ điều hành, khung ứng dụng ứng dụng 2.1.1 Đặc điểm  Tính mở Android xây dựng từ lên cho phép người phát triển tạo ứng dụng di động hấp dẫn với đầy đủ điểm mạnh thiết bị cầm tay có Android hồn tồn mở, ứng dụng gọi tới chức lõi điện thoại tạo gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết tính cho người dùng Android xây dựng nhân Linux mở Thêm nữa, sử dụng máy ảo mà tối ưu hóa nhớ phần cứng với mơi trường di động Android mã nguồn mở, mở rộng để kết hợp tự công nghệ trội Nền tảng tiếp tục phát triển cộng đồng phát triển để tạo ứng dụng di động hồn hảo  Tính ngang hàng ứng dụng Với Android, khơng có khác ứng dụng điện thoại với ứng dụng bên thứ ba Chúng xây dựng để truy cập tới loạt ứng dụng dịch vụ điện thoại Với thiết bị xây dựng tảng Android, người dùng đáp ứng đầy đủ nhu cầu mà họ thích Chúng ta đổi hình nền, kiểu gọi điện thoại, hay ứng Page-4 dụng Chúng ta chí hướng dẫn điện thoại xem ảnh thích  Dễ xây dựng ứng dụng Android cung cấp thư viện giao diện lập trình ứng dụng đồ sộ công cụ để viết ứng dụng phức tạp Ví dụ, Android cho phép người phát triển biết vị trí thiết bị cho phép thiết bị giao tiếp với để tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp Thêm nữa, Android cịn bao gồm cơng cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng 2.2 Kiến trúc thành phần 2.2.1 Kiến trúc tổng quát Android bao gồm bốn thành phần sau:  Hệ điều hành  Thư viện giao diện lập trình ứng dụng  Khung ứng dụng  Ứng dụng Page-5 2.2.2 Hệ điều hành Android sử dụng nhân Linux 2.6 làm nhân cho dịch vụ hệ thống bảo mật, quản lý nhớ, quản lý tiến trình (xử lý tiến trình, đa luồng), ngăn xếp mạng trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không đây, v.v…) Nhân Linux có vai trị lớp trừu tượng phần cứng phần mềm Tuy phát triển dựa vào nhân linux thực nhân linux nâng cấp sửa đổi nhiều để phù hợp với tính chất thiết bị Page-6 cầm tay hạn chế vi xử lý, dung lượng nhớ, kích thước hình, nhu cầu kết nối mạng không dây 2.2.2.1 Các thành phần nhân Linux:  Display Driver: Điều khiển việc hiển thị lên thu nhận điều khiển người dùng lên hình (di chuyển, cảm ứng…)  Camera Driver: điều khiển hoạt động camera, nhận luồng liệu từ camera  Bluetooth Driver: Điều khiển thiết bị phát thu sóng Bluetooth  USB Driver: Điều khiển bàn phím  Wifi Driver: Chịu trách nhiệm việc thu phát sóng wifi  Audio Driver: Điều khiển thu phí phát âm thanh, giải mã tính hiệu dạng audio thành tín hiệu số ngược lại  Power Management: Giám sát việc tiêu thụ điện  M-system Driver: Quản lý việc đọc ghi… lên thiết bị nhớ thẻ SD, flash  Binder IPC Driver: Chịu trách nhiệm việc kết nối liên lạc với mạng vô tuyến CDMA, GSM, 3G, 4G, E để đảm bảo chức truyền thông thực 2.2.2.2 Library Android cung cấp số APIs cho phát triển ứng dụng Danh sách API sau cung cấp tất thiết bị Android:  android.util: Gói tiện ích bao gồm nhiều lớp mức thấp lớp quản lý (List, Stack…) lớp xử lý chuỗi, lớp xử lý XML Page-7  android.graphics: Cung cấp lớp đồ họa mức thấp thực chức đồ họa, màu, vẽ  android.database: Cung cấp lớp mức thấp bắt buộc cho việc điều khiển cursor làm việc với sở liệu  android.content: Các giao tiếp lập trình nội dung dùng để quản lý truy cập liệu xuất cách cung cấp dịch vụ thao tác với tài nguyên, Content Provider, gói  android.view: View lớp giao diện người dùng Tất giao diện người dùng tạo phải sử dụng tập View để cung cấp cho thành phần tương tác người dùng  android.widget: Xây dựng dựa gói View Những lớp widget thành phần giao diện tạo sẵn sử dụng để tạo nên giao diện người dùng Các widget bao gồm danh sách, nút bấm, hộp nhập, kiểu trình bày (layout)  com.google.android.maps: Bộ API mức cao cung cấp truy cập đến điều khiển đồ sẵn Android từ ứng dụng xây dựng Bao gồm lớp MapView Overlay MapController để tương tác với đồ bên ứng dụng  android.provider: Để tạo thuận lợi cho người phát triển truy cập đến Content Provider tiêu chuẩn (như liệu danh bạ), gói cung cấp (Provider) bao gồm lớp cho phép truy cập đến sở liệu chuẩn tất phân phối Android  android.telephony: Các API điện đàm cung cấp khả tương tác trực tiếp với tầng điện thoại thiết bị, cho phép tạo, nhận, theo dõi gọi, tình trạng gọi tin nhắn SMS  android.webkit: Gói WebKit cung cấp API để làm việc với nội dung Webbased bao gồm lơp WebView để tạo giao diện web, nhúng ứng dụng trình quản lý cookie Page-8 Cùng với API Android, cịn có tập thư viện C/C++ như:  OpenGL: Thư viện dùng để tạo đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API  FreeType: Hỗ trợ xử lý bitmap font vector  GGL: Thư viện bản, dùng để cung cấp engine đồ họa 2D  Libc: Thư viện C chuẩn, tối ưu cho thiết bị Linux-based  SQLite Engine: Cơ sở liệu quan hệ gọn nhẹ, dùng để lưu trữ liệu ứng dụng  SSL: Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer bảo mật truyền thơng Internet Ngồi thư viện chuẩn Android, để đáp ứng tiêu chí phù hợp với nhiều thiết bị khác nhau, Android cịn có API phụ thuộc thiết bị android.location, android.media, android.opengl, android.hardware, android.bluetooth, android.net.wifi, android.telephony 2.2.2.3 Android Runtime Phần chứa thư viện mà chương trình viết ngơn ngữ Java hoạt động Phần có phận tương tự mơ hình chạy Java máy tính thường Thứ thư viện lỗi (Core Library), chứa lớp JAVA IO, Collections, File Access Thứ hai máy ảo java (Dalvik Virtual Machine) Mặc dù viết từ ngôn ngữ Java ứng dụng Java hệ điều hành Android không chạy JRE(Java Runtime Enviroment) Sun (nay Oracle) (JVM) mà chạy máy ảo Dalvik (máy ảo dalvik đặt tên sau nhà phát triển phần mềm Google tạo sau thăm ngơi làng nơi tổ tiên oong Page-9 sinh sống) Google phát triển, máy ảo davik thực thi tập tin davik(dex), khác với java chuyển sang dạng bytecode Định dạng tối ưu hóa cho nhớ tối thiểu 2.2.2.4 Application Framework Kiến trúc Android khuyến khích khái niệm thành phần sử dụng lại, cho phép công bố chia sẻ Activity, Service, liệu, với ứng dụng khác với quyền truy cập quản lý khai báo Cơ chế cho phép người lập trình tạo trình quản lý danh bạ trình quay số điện thoại mà có thành phần người khác tạo giao diện mở rộng chức thay tạo lại chúng Những dịch vụ sau dịch vụ kiến trúc tất ứng dụng, cung cấp framework cho mọi phần mềm xây dựng:  Actitvity Manager: Điều khiển vòng đời Activity bao gồm quản lý tầng Activity  Views: Được sử dụng để tạo lập giao diện người dùng cho Activity  Notification Mamager: Cung cấp chế cố định quy củ cho việc gửi thông báo đến người dùng  Content Provider: Cho phép ứng dụng chia sẻ liệu ứng dụng  Resource Manager: Hỗ trợ thành phần không thuộc mã nguồn chuỗi ký tự đồ họa đặt bên 2.2.3 Các thành phần ứng dụng Android Một ứng dụng Android cấu thành từ bốn thành phần sau:  Activities  Services  Broadcast Receivers Page-10  Content Provider Các thành phần khơng thiết phải có mặt đầy đủ ứng dụng Chúng ta xem thành phần sử dụng ứng dụng việc xem khai báo file AndroidManifest.xml 2.2.3.1 Activity Một Activity xem điểm tiếp xúc với người dùng Nó hình đơn với giao diện Ví dụ bạn cài chạy lên ứng dụng hình chạy lên bạn thấy giao diện thị cho xem, Activity Activty giúp người dùng tương tác với hệ thống, thực chức cần thiết đó, chuyển đổi qua lại hình giao diện/ chức Thường thường sử dụng Activity kết thừa từ lớp cha Activity ( tất nhiên Android SDK phiên có nhiều subActivity hỗ trợ trường hợp thuận tiện ) 2.2.3.2 Service Service có chức giúp ứng dụng chạy được, không cần thị giao diện (gọi chạy ngầm bên ) Ví dụ bạn dùng ứng nghe nhạc, bạn tắt ứng dụng nghe nhạc ( chạy /background ) Chúng ta liên kết/ kết nối Activity với service, ví dụ: download file từ mạng, việc download thực service, sau trả kết phần trăm download lên activity để thị cho người dùng biết Chú ý: service chạy chế độ background cần phân biệt service thread Service khơng phải thread, tùy trường hợp mà sử dụng xử lý cho phù hợp để tránh trường hợp sử dụng service làm ứng dụng bị đơ/ chậm sử lý luồng liệu/ giao diện khác Page-11 Khi sử dụng service kế thừa từ lớp cha là: Service 2.2.3.3 Broadcast receiver Broadcast receiver sử dụng nhiều trường hợp, ví dụ: chuyển liệu từ service lên activity (ngoài sử dụng binding) sử dụng broadcast để gửi liệu Hoặc ứng dụng hẹn giờ, đến hẹn, ứng dụng sử dụng broadcast báo thức, tạo notification hình để báo cho người dùng biết Khi sử dụng broadcast receiver kế thừa từ BroadcastReceiver 2.2.3.4 Content provider Content provider quản lý cách để ứng dụng lưu trữ liệu hệ thống Chúng ta biết cụ thể thành phần xây dựng ứng dụng cần lưu trữ vào SQLite Ví dụ ứng dụng từ điển, bạn thấy liệu, từ vựng tra thị, liệu thị lưu trữ Slite Content provider gọi để lấy cho người dùng xem Ngoài thành phần thực chức năng, thêm, sửa, xóa liệu… 2.2.3.5 Intent Được sử dụng để truyền thông báo nhằm khởi tạo Activity Service để thực cơng việc bạn mong muốn Ví dụ: mở trang web, bạn gửi intent để tạo Activity hiển thị trang web 2.2.3.6 Notification Đưa cảnh báo mà khơng làm cho Activity phải ngừng hoạt động Page-12 Activity, Service, Broadcast Receiver Content Provider thành phần cấu thành nên ứng dụng Android, bắt buộc phải khai báo AndroidManifest CHƯƠNG 3.1 PHÂN TÍCH THIẾT KẾ Xác định yêu cầu 3.1.1 Chức  Client  Đăng ký  Đăng nhập: local, facebook, google  Xem danh sách khóa học  Tìm kiếm khóa học  Xem thơng tin khóa học  Đăng ký sử dụng khóa học  Bình luận đánh giá khóa học  Xem lại danh sách khóa học đăng ký  Xem lại hoạt động  Tìm kiếm xem viết diễn đàn  Quản lý thông tin cá nhân Page-13 CHƯƠNG 4.1 XÂY DỰNG ỨNG DỤNG Thiết kế giao diện 4.1.1 Danh sách giao diện Page-14 4.1.S2T T Giao diện Mục đích Gồm menu, hình ảnh hiển thị thơng tin danh sách khóa học đăng ký, khóa học theo thể loại, Trang chủ khóa học phổ biến, khóa học bật, xem chi tiết khóa học, đăng ký khóa học, chọn học khóa học đăng ký Danh mục Hiển thị danh sách khóa học theo thể loại, tìm kiếm khóa học, xếp khóa học Người dùng đăng nhập tài khoản Trang đăng nhập đăng ký, đăng nhập facebook, google đăng ký chưa có tài khoản Trang thơng tin cá nhân Trang khóa học Trang tốn Trang blog Trang kiên hệ Hiển thị thông tin người dùng với tùy chỉnh Hiển thị thơng tin khóa học, danh sách giảng, video, nhận xét khóa học Người dùng chỉnh sửa thơng tin xác nhận để toán Hiển thị danh sách viết Hiển thị thông tin liên hệ Trang chủ Page-15 Page-16 4.1.3 Trang danh mục Page-17 4.1.4 Trang đăng nhập Page-18 4.1.5 Trang thông tin cá nhân Page-19 ... lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành... Mục lục CHƯƠNG Page -3 Danh mục hình Page-4 Danh mục bảng Page-5 CHƯƠNG GIỚI THIỆU 1.1 Mô tả đề tài Hiện nay, với phát triển Internet cơng nghệ đại giúp q...  OpenGL: Thư viện dùng để tạo đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API  FreeType: Hỗ trợ xử lý bitmap font vector  GGL: Thư viện bản, dùng để cung cấp engine đồ họa 2D  Libc: Thư viện C chuẩn,

Ngày đăng: 08/12/2022, 04:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w