Thạc Sĩ Tìm hiểu và đánh giá kỹ thuật mô hình hóa luồng tương tác ifml trong phát triển ứng dụng di động

Thảo luận trong 'Khoa Học Công Nghệ' bắt đầu bởi Quy Ẩn Giang Hồ, 21/6/17.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    MỞ ĐẦU

    Đặt vấn đề

    Trong bối cảnh bùng nổ về công nghệ thông tin hiện nay, ngành công nghiệp phần mềm đang ngày càng phát triển mạnh mẽ ở Việt Nam và trên toàn thế giới. Đặc biệt trong lĩnh vực lập trình ứng dụng di động, số lượng thiết bị điện thoại di động thông minh đã đạt tới 1.9 tỷ thiết bị vào năm 2015 [26] và vẫn trên đà phát triển nhanh chóng. Cộng đồng lập trình viên hoạt động trên lĩnh vực ứng dụng di động chiếm một phần không nhỏ trong đồng phát triển phần mềm nói chung. Nhu cầu sử dụng điện thoại di động tăng cao mang đến lợi nhuận to lớn và kéo theo tính cấp thiết về vấn đề cải thiện quy trình, phương pháp, tốc độ và chi phí phát triển phần mềm. Tuy nhiên, vẫn còn nhiều trở ngại còn tồn tại trong quá trình phát triển phần mềm nói chung và phần mềm di động nói riêng:
     Sự đa dạng về nền tảng: Số lượng thiết bị phần cứng khổng lồ được hoạt động trên hơn 10 nền tảng khác nhau như: Android, iOS, Windows Phone . Điều này kéo theo sự không nhất quán trong quá trình phát triển phần mềm. Các nhà phát triển phải duy trì nhiều đội ngũ độc lập nhau cho việc phát triển ứng dụng trên mỗi nền tảng.
     Tốc độ phát triển nhanh chóng của công nghệ: Các công nghệ mới liên tục được giới thiệu dẫn đến sự lạc hậu nhanh chóng của các ứng dụng phần mềm. Điều này đòi hỏi nhà phát triển phải thực sự linh động trong quá trình nâng cấp, bảo trì sản phẩm.
     Sự thay đổi về tương tác người dùng: Theo đà phát triển công nghệ điện thoại di động thông minh, các tính năng mới liên tục được giới thiệu cùng với sự đổi mới trong tương tác người dùng. Các tương tác này ngày càng đa dạng và chuyên biệt trong lĩnh vực di động, việc giao tiếp giữa người dùng và hệ thống không còn chỉ gói gọn trong các thao tác cơ bản mà còn bao gồm nhiều tương tác phức tạp khác như: trượt (slide), chạm (touch), cảm ứng lực (force touch), nhấn giữ (long press), điểu khiển bằng ánh mắt (eye control) .
     Khó nắm bắt yêu cầu của khách hàng: Các nhà phát triển và khách hàng thường khó đồng nhất về yêu cầu ứng dụng. Điều này xuất phát từ đặc thù lĩnh vực của hai bên, nhà phát triển không nắm rõ nghiệp vụ khách hàng để đưa ra những đề xuất đúng đắn, khách hàng không hiểu rõ về kiến thức phần mềm dẫn đến sự nhập nhằng trong yêu cầu.
     Sự thay đổi về yêu cầu: Sự thay đổi, chỉnh sửa yêu cầu có thể diễn ra bất cứ lúc nào, cả trước và sau khi phát triển sản phẩm nhằm thay đổi, tích hợp những tính năng mới để đáp ứng với sự thay đổi của nghiệp vụ, công nghệ.
    Sự thay đổi này thường khiến cho thời gian, chi phí phát triển sản phẩm nâng cao lên nhiều so với ước tính ban đầu.
    Ngoài ra, các ứng dụng, ý tưởng đến từ cộng đồng phát triển to lớn được giới thiệu tính bằng giờ, thời gian phát triển kéo dài quá lâu có thể mất đi lợi thế về ý tưởng, sản phẩm đi đầu, thời gian phát triển ứng dụng quá dài có thể dẫn đến sự lạc hậu về công nghệ. Mục tiêu cần đạt được là xây dựng một ứng dụng cho tất cả các thiết bị, hệ điều hành với chi phí thấp nhất, thời gian phát triển nhanh nhất mà vẫn đảm bảo được chất lượng sản phẩm.
    Mô hình hóa luồng tương tác IFML là kỹ thuật mới được giới thiệu bởi WebRatio và trở thành chuẩn OMG vào năm 2013, công cụ cho phép xây dựng ứng dụng di động bằng kỹ thuật IFML được WebRatio ra mắt vào cuối năm 2014 trở thành một xu hướng mới trong phát triển ứng dụng di động đa nền tảng. Là một kỹ thuật cho phép phát triển ứng dụng di động hướng mô hình và thừa hưởng toàn bộ ưu điểm của phương pháp này, IFML dần trở nên phổ biến trong phát triển phần mềm, đặc biệt là trên lĩnh vực di động. Tuy nhiên, do thời gian giới thiệu tới cộng đồng phát triển ứng dụng còn ngắn, chưa có nhiều tài liệu, nghiên cứu về IFML và tính ứng dụng trong phát triển phần mềm di động trên toàn thế giới. Đây là một trở ngại không nhỏ cho các nhà nghiên cứu, phát triển muốn tìm hiểu và ứng dụng IFML. Điều này dẫn đến một yêu cầu cấp thiết cho việc ra đời một nghiên cứu nhằm tìm hiểu bản chất và nguyên lý của công nghệ mô hình hóa luồng tương tác IFML cũng như khảo sát khả năng vận dụng của IFML trong thực tế, đặc biệt là lớp ứng dụng di động. Tất cả các vấn đề trên là động lực thúc đẩy tôi lựa chọn và nghiên cứu đề tài "Tìm hiểu và đánh giá kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động"
    Phạm vi nghiên cứu
    Luận văn tập trung nghiên cứu và trình bày về các nguyên lý cơ bản và khả năng vận dụng trong lớp ứng dụng di động của kỹ thuật mô hình hóa luồng tương tác IFML. Qua đó đề xuất một số tiêu chí nhằm đánh giá kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động.
    Để thực hiện đánh giá các tiêu chí được đề xuất, luận văn trình bày các kiến thức chung về lập trình ứng dụng di động trên nền tảng Android, thực hiện xây dựng ứng dụng di động MealNote sử dụng hai phương pháp song song: Phương pháp truyền thống với kỹ thuật xây dựng ứng dụng gốc sử dụng mã nguồn Java trên công cụ Android Studio và phương pháp hướng mô hình với kỹ thuật mô hình hóa luồng tương tác IFML. Qua đó đưa ra các đánh giá chi tiết và trực quan theo các tiêu chí đã đề cập về kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động.
    Cấu trúc luận văn
    Luận văn được cấu trúc như sau:
    Phần mở đầu: Giới thiệu về tình hình phát triển phần mềm di động hiện nay, đặt vấn đề và đưa ra định hướng nghiên cứu.
    Chương 1: Giới thiệu về phát triển ứng dụng hướng mô hình và lập trình ứng dụng di động. Trình bày về xu thế lập trình di động đa nền tảng hiện hay và các công cụ hỗ trợ.
    Chương 2: Nghiên cứu kỹ thuật mô hình hóa luồng tương tác nói chung và kỹ thuật mô hình hóa luồng tương tác trong phát triển ứng dụng di động nói riêng, phạm vi ứng dụng và khả năng ứng dụng trong phát triển phần mềm đa nền tảng
    cho điện thoại di động thông minh.
    Chương 3: Vận dụng, thực nghiệm và đánh giá kỹ thuật mô hình hóa luồng tương tác IFML trong phát triển ứng dụng di động so sánh với phương pháp truyền thống - Lập trình Android sử dụng Java trên công cụ Android Studio. Xây dựng ứng dụng di động sử dụng hai kỹ thuật song song: Xây dựng ứng dụng di động với IFML và xây dựng ứng dụng gốc (Java - Android Studio).
    Kết luận: Đưa ra tổng kết về đề tài, các đề xuất và hướng nghiên cứu tiếp theo.

    MỤC LỤC
    LỜI CAM ĐOAN ii
    LỜI CẢM ƠN . iii
    MỤC LỤC . iv
    DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT . vi
    DANH MỤC CÁC HÌNH ẢNH VÀ ĐỒ THỊ . vii
    DANH MỤC CÁC BẢNG BIỂU . ix
    MỞ ĐẦU . 1
    CHƯƠNG 1: KIẾN THỨC NỀN TẢNG 4
    1.1. Giới thiệu . 4
    1.2. Tổng quan phương pháp phát triển phần mềm truyền thống 4
    1.3. Phương pháp phát triển phần mềm hướng mô hình . 6
    1.3.1. Giới thiệu 6
    1.3.2. Các khái niệm chính . 8
    1.3.3. Phát triển phần mềm hướng mô hình trong lập trình di động . 10
    1.4. Lập trình ứng dụng di dộng . 11
    1.4.1. Nguyên tắc thiết kế ứng dụng di động 11
    1.4.2. Lập trình ứng dụng di động trên Android 13
    1.4.3. Lập trình ứng dụng di động đa nền tảng 17
    1.5. Tổng kết chương . 21
    CHƯƠNG 2 : KHẢO SÁT KỸ THUẬT MÔ HÌNH HÓA LUỒNG TƯƠNG TÁC . 22
    2.1. Giới thiệu . 22
    2.2. Hướng tiếp cận mô hình hóa luồng tương tác 22
    2.3. Tổng quan kỹ thuật mô hình hóa luồng tương tác IFML . 25
    2.3.1. Giới thiệu 25
    2.3.2. Cú pháp trừu tượng của IFML . 26
    2.3.3. Cú pháp cụ thể dạng đồ họa của IFML . 35
    2.3.4. Cơ chế sinh mã nguồn 39
    2.4. Kỹ thuật IFML trong phát triển ứng dụng di động 40
    v
    2.4.1. Mô hình miền 43
    2.4.2. Mô hình hóa luồng tương tác . 43
    2.4.3. Cơ chế sinh mã nguồn trong lĩnh vực di động . 45
    2.4.4. Sinh ứng dụng . 46
    2.4.5. Một số vấn đề đặt ra cho phương pháp mô hình hóa luồng tương tác 48
    2.5. Các tiêu chí và phương pháp đánh giá kỹ thuật IFML trong phát triển ứng dụng di
    động . 49
    2.6. Tổng kết chương . 51
    CHƯƠNG 3 : VẬN DỤNG VÀ THỰC NGHIỆM . 52
    3.1. Giới thiệu . 52
    3.2. Thực nghiệm xây dựng ứng dụng MealNote 52
    3.2.1. Ứng dụng MealNote . 53
    3.2.2. Đặc tả yêu cầu 53
    3.2.3. Xây dựng ứng dụng MealNote theo phương pháp truyền thống 56
    3.2.4. Xây dựng ứng dụng MealNote sử dụng kỹ thuật IFML 56
    3.3. Kết quả thực nghiệm và đánh giá 67
    3.3.1. Khả năng xác định yêu cầu và tính khả thi của ứng dụng . 68
    3.3.2 Chi phí phát triển 69
    3.3.3. Thiết kế và giao diện 71
    3.3.4. Khả năng hỗ trợ tính năng phần cứng và hệ điều hành . 73
    3.3.5. Hiệu suất ứng dụng và trải nghiệm người dùng 74
    3.3.6. Thời gian phát triển ứng dụng . 81
    3.3.7. Khả năng bảo trì, nâng cấp và bảo mật ứng dụng . 83
    3.3.8. Các tiêu chí khác 84
    3.4. Tổng kết chương . 84
    KẾT LUẬN 87
    TÀI LIỆU THAM KHẢO . 89
    PHỤ LỤC . 92
    Phụ lục A: Xây dựng ứng dụng MealNote theo phương pháp truyền thống 92
    Phụ lục B: Biểu đồ hoạt động đặc tả các ca sử dụng của ứng dụng MealNote 99
     
Đang tải...