Kiến trúc hướng mô hình (model driven) trong xây dựng phần mềm nhúng trên hệ điều hành android – đánh giá độ tin cậy và tính đáp ứng của kiến trúc phần mềm
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
1,84 MB
Nội dung
Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin MỤC LỤC MỤC LỤC LỜI CÁM ƠN .3 DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU DANH SÁCH CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ CHƢƠNG I: MỞ ĐẦU .6 I ĐẶT VẤN ĐỀ II LÝ DO LỰA CHỌN ĐỀ TÀI VÀ CÁC KẾT QUẢ CẦN ĐẠT ĐƢỢC CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID 10 I Hoàn cảnh đời 11 Các phiên Android 12 Kiến trúc Android 14 Hệ thống tập tin hệ điều hành Android 18 So sánh hệ điều hành 21 CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA 25 II Tổng quan 25 Một số khái niệm 25 Quy trình phát triển phần mềm hƣớng MDA 26 Chuyển đổi mơ hình tiến trình MDA 28 MDA với lập trình C 38 Sự phù hợp áp dụng MDA với hệ thống nhúng 46 CHƢƠNG III: ÁP DỤNG XÂY DỰNG TRÌNH ĐIỀU KHIỂN TRÊN HỆ ĐIỀU HÀNH ANDROID VỚI HƢỚNG TIẾP CẬN MDA – CÀI ĐẶT TRÊN SMART BOX CỦA VNPTTECHNOLOGY 49 I KIẾN TRÚC GIAO TIẾP USB 3G TRONG ANDROID 50 II ÁP DỤNG HƢỚNG TIẾP CẬN MDA 51 III CÀI ĐẶT ỨNG DỤNG TRÊN SMART BOX CỦA VNPT TECHNOLOGY 60 Cấu hình 3G cho kernel 60 Cấu hình 3G source code aosp 62 CHƢƠNG IV: ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY VÀ TÍNH ĐÁP ỨNG CỦA TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN SET - TOP - BOX CỦA VNPT TECHNOLOGY 65 Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin MƠ HÌNH ĐÁNH GIÁ ĐỘ TIN CẬY 66 I II ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN SMART BOX CỦA VNPT-TECHNOLOGY 67 III KẾT LUẬN VÀ KIẾN NGHỊ 70 Kết luận 70 Kiến nghị 72 Hƣớng phát triển đề tài 73 TÀI LIỆU THAM KHẢO 74 Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin LỜI CÁM ƠN Lời đầu tiên, em xin gửi lời cám ơn đến thầy, giáo tồn thể cán nhân viên trƣờng Đại học Bách Khoa Hà Nội, Viện đào tạo sau Đại học đặc biệt Viện Công nghệ thông tin Truyền thông hƣớng dẫn, giảng dạy giúp đỡ em suốt thời gian học tập Viện Công nghệ thông tin Truyền thông thời gian qua Em xin gửi lời cám ơn đặc biệt tới PGS.TS Huỳnh Quyết Thắng, ngƣời trực tiếp định hƣớng, hƣớng dẫn, có góp ý quan trọng suốt trình em thực luận văn Xin cám ơn bạn lớp Cao học CNTT2 – Khóa 2013 chia sẻ khó khăn q trình học tập Viện Cơng nghệ thông tin truyền thông Tôi xin đƣợc ơn bạn bè, đồng nghiệp VNPT Technology hợp tác, giúp đỡ, chia sẻ công việc kinh nghiệm thời gian thực luận văn Và cuối xin đặc biệt cảm ơn thành viên gia đình nhỏ tơi làm chỗ dựa vững chắc, động viên, khích lệ tơi vƣợt qua khó khăn để hồn thành luận văn Do kiến thức, thời gian nhƣ khả làm việc có hạn, luận văn khơng tránh khỏi thiếu sót, điều chƣa tối ƣu, kính mong thầy giáo bạn giúp đỡ bảo thêm để sau em tiếp tục hồn thiện Xin trân trọng cám ơn! Hà Nội tháng 12 năm 2014 Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin DANH MỤC HÌNH ẢNH Tên hình ảnh stt Hình Kiến trúc tổng quan Android Hình Cây thƣ mục Android Hình Tiến trình MDA Hình Vịng đời phát triển phần mềm truyền thống vòng đời MDA Hình Tiến trình chuyển đổi hai mơ hình Hình Biểu đồ DFD tiến trình đào tạo trung tâm giáo dục Hình Biểu đồ usecase sinh từ DFD Hình Biểu đồ Activity sinh từ DFD Hình Biểu đồ trình tự sinh từ DFD Hình 10 Biểu đồ miền sinh từ DFD Hình 11 Các lớp PSM Hình 12 Chuyển đổi loại đ ối tƣợng Hình 13 chuyển đổi thuộc tính Hình 14 Chuyển đổi liên kết Hình 15 chuyển đổi máy trạng thái Hình 16 chuyển đổi kiện Hình 17 mẫu collaboration chuẩn cho kiện sinh handle_event() (bƣớc 2) Hình 18 mẫu collaboration chuẩn cho kiện sinh handle_event() (bƣớc 4) Hình 19 Sinh tầng persistence Hình 20 Sinh tầng kiện Hình 21 Ví dụ biểu đồ usecase Hình 22 Ví dụ biểu đồ File Hình 23 Ví dụ biểu đồ Build Hình 24 Ví dụ biểu đồ Call Hình 25 Ví dụ biểu đồ thơng điệp Hình 26 Ví dụ biểu đồ trạng thái Hình 27 Ví dụ biểu đồ Flowchart HÌnh 28 Kiến trúc giao tiếp usb 3G Android Hình 29 Tiến trình làm việc với usb 3G Hình 30 Biểu đồ luồng liệu plug in usb 3G Hình 31 Biểu đồ usecase Hình 32 Biểu đồ miền Hình 33 Biểu đồ thơng điệp Hình 34 Biểu đồ File Hình 35 Biểu cồ Call Hình 36 Biểu đồ trạng thái thiết bị 3G Hình 37 Biểu đồ trạng thái Ril Hình 38 Biểu đồ trạng th c PPP Hình 39 Biểu đồ Flowchart hàm kết nối liệu Hình 40 Biểu đồ Flowchart hàm huỷ kết nối liệu Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin Hình 41 Hình 42 Hình 43 Phân chia thành phần Kiểm thử hộp trắng Kiểm thử hộp đen DANH MỤC BẢNG BIỂU STT Bảng Bảng Nội Dung Bảng phân loại loại file Android Bảng tƣơng ứng biểu đồ UML lập trình hƣớng đối tƣợng lập trình C DANH SÁCH CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ STT Viêt tắt Tiếng Anh Tiếng Việt MDA Model Driven Architecture OMG Object Model Group RIL Radio Interface Layer RILD Radio Interface Layer Daemon Là lớp cầu nối Android Phone framework hardware Một tiến trình chạy Android khởi động USB Universal Serial Bus Chuẩn giao tiếp USB 3G Third-generation technology Mạng hệ thứ DVM Dalvik Virtual Machine CIM PIM Computation Model Platfom Independent Model Mơ hình độc lập 10 PSM Platfom Specific Model Mơ hình phụ thuộc 11 DFD Data Follow Diagrams Biểu đồ luồng liệu Máy ảo Davik chạy Android Independent Mô hình độc lập tính tốn Ngơ Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin CHƢƠNG I: MỞ ĐẦU Nội dung Đặt vấn đề Lý lựa chọn đề tài kết cần đạt đƣợc Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin I ĐẶT VẤN ĐỀ Trong năm gần đây, thiết bị di động đặc biệt thiết bị di động thông minh phát triển mạnh mẽ Các hãng công nghệ di động nhƣ SamSung, Nokia, LG, Sony liên tục cải tiến đƣa nhiều mẫu sản phẩm mới, thiết bị sử dụng hệ điều hành Androi Google chiếm tỷ lệ áp đảo Số lƣợng lập trình viên di động ngày tăng cao nhƣ ứng dụng di động nói chung ứng dụng di động Android ngày nhiều, ứng dụng ngày phong phú nội dung đƣợc áp dụng nhiều tảng phần cứng khác Nhu cầu phát triển ứng dụng nhiều, nhiên kèm với nhu cầu đảm bảo chất lƣợng, độ tin cậy phần mềm.Phần mềm xây dựng cần phải có chất lƣợng cao, đồng nghĩa với việc hạn chế lỗi phát sinh q trình sử dụng Hay nói cách khác, phần mềm phải đảm bảo chạy theo ý tƣởng thiết kế Câu hỏi đặt làm cách có đƣợc thiết kế phần mềm tốt? Khi có có đƣợc thiết kế tốt, để kiểm tra, đánh giá đƣợc độ tin cậy tính đáp ứng kiến trúc phần mềm áp dụng để đƣa đƣợc phần mềm có chất lƣợng cao, với nhu cầu mục tiêu đặt Kiến trúc hƣớng mơ hình (Model Driven) đƣợc OMG (Object Management Group) công bố năm 2001 [1] cung cấp tiện ích giúp ngƣời lập trình xây dựng thiết kế phần mềm dựa việc xây dựng chuyển đổi mơ hình Việc áp dụng kiến trúc hƣớng mơ hình (Model Driven) xây dựng phần mềm nhúng hệ điều hành Androi xây dựng phƣơng án đánh giá độ tin cậy tính đáp ứng kiến trúc phần mềm góp thêm biện pháp nhằm nâng cao chất lƣợng phần mềm nói chung phần mềm cho thiết bị thông minh chạy hệ điều hành Android nói riêng.Trong luận văn này, tác giả tập trung trả lời câu hỏi nêu nêu ví dụ cụ thể đƣợc áp dụng trình sản xuất thiết bị Smart Box điện thoại thông minh Smart Phone Vivas Lotus công ty VNPT Technology II LÝ DO LỰA CHỌN ĐỀ TÀI VÀ CÁC KẾT QUẢ CẦN ĐẠT ĐƢỢC Nhƣ trình bày phần nhu cầu phát triển phần mềm nói chung phần mềm cho thiết bị di dộng Android nói riêng ngày tăng cao, kèm theo nhu cầu xây dựng phần mềm có chất lƣợng cao, đáp ứng đầy đủ xác yêu cầu đặt Việc áp dụng kiến trúc hƣớng mô hình (Model Driven) xây dựng phần mềm nhúng hệ điều hành Android xây dựng phƣơng án đánh giá Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin độ tin cậy tính đáp ứng kiến trúc phần mềm góp thêm biện pháp nhằm nâng cao chất lƣợng phần mềm nói chung phần mềm cho thiết bị thông minh chạy hệ điều hành Android nói riêng Luận văn tập trung giải vấn đề đƣợc thể qua phần sau: CHƢƠNG I: MỞ ĐẦU CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA Bao gồm hai phần, phần I ―TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID‖ Giới thiệu tổng quan hệ điều hành Android Trong phần giới thiệu tổng quan lịch sử đời, trình phát triển nét đặc trƣng hệ điều hành Android, phiên Android vài so sánh Android với hệ điều hành khác; Phần II ―CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA‖ giới thiệu khái niệm bản, quy trình chuyển đổi mơ hình MDA, liên hệ mơ hình MDA ngơn ngữ lập trình C CHƢƠNG III: ÁP DỤNG XÂY DỰNG TRÌNH ĐIỀU KHIỂN TRÊN HỆ ĐIỀU HÀNH ANDROID VỚI HƢỚNG TIẾP CẬN MDA – CÀI ĐẶT TRÊN SMART BOX CỦA VNPT-TECHNOLOGY Phần trình bày kiến trúc giao tiếp với USB 3G hệ điều hành Android cách tiếp cận theo phƣơng pháp MDA để xây dựng phần mềm nhúng áp dụng xây dựng driver cho USB 3G Android trình bày chi tiết cách cài đặt phần mềm xây dựng thiết bị Smart Box VNPT Technology CHƢƠNG IV: ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN SMART BOX CỦA VNPT-TECHNOLOGY Đề xuất mô hình đánh giá độ tin cậy tính đáp ứng kiến trúc phần mềm trình bày việc áp dụng thực tế trình sản xuất Smart Box VNPT Technology.Phần cuối ghi nhận kết nêu lên nhận xét tác giả kết đạt đƣợc Ngô Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA Nội dung chính: Tổng quan hệ điều hành Android Cơ sở lý thuyết kiến trúc hƣớng mơ hình MDA Ngơ Hồng Quyết – CH CNTT 2013 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin I TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID Android hệ điều hành di động dựa tảng linux dành cho thiết bị di động nhƣ điện thoại SmartPhone, máy tính bảng, set-top-box Đầu tiên đƣợc đời công ty liên hợp Android, sau đƣợc google mua lại phát triển từ năm 2005 trở thành hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ đƣợc ƣa chuộng cao giới Hệ điều hành Androidlà hệ điều hành có bảo mật cao, hỗ trợ nhiều công nghệ tiên tiến nhƣ 3G, GPS, EDGE, Wifi tƣơng thích với nhiều tảng phần cứng, hỗ trợ nhiều nhập liệu nhƣ keyboard, touch trackball Android có khả kết nối mạng không dây,hỗ trợ công nghệ OpenGL, hỗ trợ đa phƣơng tiện multi media, khả đồ họa cực tốt, tiền đề để phát triển ứng dụng có giao diện phức tạp chẳng hạn nhƣ trò chơi Android liên tục đƣợc phát triển, cập nhật từ google lần Android đƣợc tối ƣu hóa để hoạt động tốt hơn, nhanh ổn định hơn, hỗ trợ thêm công nghệ Chẳng hạn nhƣ theo AndroidGuys Android phiên 2.2 hoạt động nhanh 2.1 tới 450%[http://www.androidguys.com/2010/05/12/benchmarks-put-android-22wicked-fastlike-450-faster-21/] Hiện nay, phiên Android L, phát hành ngày 26/06/2014 tiếp tục đƣợc cập nhật Năm 2008, hệ điều hành Android thức mở tồn mã nguồn, điều cho phép hãng điện thoại đem mã nguồn tùy chỉnh, thiết kế lại cho phù hợp với mẫu mã điện thoại họ điều quan trọng hệ điều hành mở hoàn tồn miễn phí, khơng phải trả tiền nên giúp họ tiết kiệm lớn chi phí phát triển hệ điều hành Những điều tốt khơng hãng sản xuất điện thoại nhỏ mà với hãng lớn nhƣ Samsung, HTC Với Google, Android hồn tồn miễn phí, Google khơng thu tiền từ hãng sản xuất điện thoại, không trực tiếp hƣởng lợi từ Android nhƣng bù lại, dịch vụ hãng nhƣ Google Search, Google Maps, nhờ có Android mà dễ dàng xâm nhập nhanh vào thị trƣờng di động điện thoại đƣợc sản xuất đƣợc tích hợp hàng loạt dịch vụ Google Từ hãng kiếm bội, chủ yếu từ nguồn quảng cáo dịch vụ Với nhà phát triển ứng dụng (developers), việc hệ điều hành Android đƣợc sử dụng phổ biến đồng nghĩa với việc họ thoải mái phát triển ứng dụng Android với tin tƣởng ứng dụng chạy đƣợc nhiều dòng điện thoại hãng khác Họ phải quan tâm phát triển cho điện thoại nào, phiên tảng Android chung cho Ngơ Hồng Quyết – CH CNTT 2013 10 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin [*]USB support > USB Serial Converter support > USB driver for GSM and CDMA modems Enable CDC ACM CDC ACM giao thức usb emulauartn uart 3G Dongle với chấp thuận này,tên device node đƣợc tạo /dev/ttyACM0 Device Drivers > [*]USB support > USB modem(CDC ACM)support USB Serial Converter support > USB driver for GSM and CDMA modems Enable PPP in kernel Device Drivers > [*]Network device support -> PPP support [*]PPP multilink support [*]PPP filtering [*]PPP support for async serial ports [*]PPP support for sync tty ports PPP BSD-Compress compression PPP Deflate compression Enable usb file system Device Drivers > USB support -> [*]USB device filesystem - Chú ý: Khi cấu hình 3G cho kernel,chúng ta phải quan tâm tới driver option,driver giúp tạo device node /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2 để giao tiếp với RIL,để sử dụng đƣợc driver cần thiết lập biến usb_serial_option=y file ―.config‖ Để thêm device cho driver thêm id vendor id product vào file ―option.c‖ sử dụng lệnh.Trong toán tác gải thêm file Ngô Hồng Quyết – CH CNTT 2013 61 Luận văn tốt nghiệp cao học – Ngành Cơng nghệ thơng tin ―12d1_14a8‖để cấu hình cho usb 3g viettel.Việc sử dụng dòng lệnh tạo đƣợc device node,tuy nhiên việc sử dụng dịng lệnh thích hợp cho việc kiểm tra phát triển,chúng ta thêm file cấu hình cho thiết bị giúp cho thiết bị đƣợc tạo device node cách tự động Ví dụ: Một vài thiết bị USB 3G cung cấp Huawei file option.c: # Define HUAWEI_VENDOR_ID 0x12D1 # Define HUAWEI_PRODUCT_E600 0x1001 # Define HUAWEI_PRODUCT_E220 0x1003 # Define HUAWEI_PRODUCT_E220BIS 0x1004 # Define HUAWEI_PRODUCT_E1401 0x1401 ······ {USB_DEVICE_AND_INTERFACE_INFO (HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600, 0xff, 0xff, 0xff)}, Cấu hình 3G source code aosp Mục đích việc làm RIL làm việc.ta cần làm cơng việc sau: Thêm vào device/amlogic/common/mid_amlogic.mk dòng sau: $(call inherit-product-if-exists, external/libusb/usbmodeswitch/CopyConfigs.mk) $(call inherit-product-if-exists, hardware/amlogic/libril/config/Copy.mk) Thêm vào file: device/amlogic/stvmc/overlay/frameworks/base/core/res/res/values/config.xml : "wifi,1,1,1,-1,true" "mobile_hipri,5,0,3,60000,true" Thêm vào file device/amlogic/stvmc/stvmc.mk: PRODUCT_PACKAGES += \ Phone \ Mms \ #nếu thiết bị bạn hỗ trợ sms Ngô Hồng Quyết – CH CNTT 2013 62 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin usb_modeswitch \ libaml-ril.so \ init-pppd.sh \ chat \ ip-up Thêm vào file system.prop: hw.nophone=false Thêm vào file init.rc: # 3G dongle chmod 0666 /dev/ttyS20 chmod 0777 /system/etc/init-pppd.sh chmod 0777 /dev/ttyUSB0 chmod 0777 /dev/ttyUSB1 chmod 0777 /dev/ttyUSB2 mount usbfs none /proc/bus/usb service ril-daemon /system/bin/rild -l /dev/ttyUSB3 /system/lib/libreference-ril.so -d socket rild stream 660 root radio socket rild-debug stream 660 radio system user root group radio cache inet misc audio system disabled service pppd_gprs /system/bin/init-pppd.sh user root group radio net_admin cache inet misc system Ngô Hồng Quyết – CH CNTT 2013 63 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin disabled oneshot on property:hw.nophone=true stop ril-daemon on property:hw.nophone=false start ril-daemon Ngô Hồng Quyết – CH CNTT 2013 64 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin CHƢƠNG IV: ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY VÀ TÍNH ĐÁP ỨNG CỦA TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN SET - TOP - BOX CỦA VNPT TECHNOLOGY Nội dung chính: Mơ hình đánh giá độ tin cậy Áp dụng đánh giá độ tin cậy trình điều khiển USB 3G cài đặt Set-top-box VNPT Technology Ghi nhận kết nhận xét Ngô Hồng Quyết – CH CNTT 2013 65 Luận văn tốt nghiệp cao học – Ngành Cơng nghệ thơng tin I MƠ HÌNH ĐÁNH GIÁ ĐỘ TIN CẬY Độ tin cậy thuộc tính mơ hình chất lƣợng ISO 9126.Quan điểm độ tin cậy phần mềm đƣợc chấp nhận rộng rãi khả thực thi thành cơng phần mềm đó, nhƣ đối tƣợng cho phép đo độ tin cậy sản phẩm dạng mã máy.Đây thuộc tính quan trọng chất lƣợng phần mềm Độ tin cậy thƣờng đƣợc đánh giá dựa số lỗi tìm thấy pha kiểm tra, dựa thời gian không bị sai hỏng pha kiểm tra Mơ hình đánh giá độ tin cậy đơn giản độ tin cậy đƣợc tính tỷ lệ lỗi phần mềm [16]: Tỷ lệ lỗi = số lỗi tìm thấy / kích cỡ chương trình Một cách đánh giá độ tin cậy thƣờng dùng hệ thống tin học dựa thời gian sai sót, tính tổng thời gian đến sai sót (MTTF) thời gian để sửa chữa (MTTR) MTBF = MTTF + MTTR Theo cách này, độ tin cậy phần mềm đƣợc tính qua tính sẵn sàng nó, tỷ lệ thời gian hoạt động khơng bị lỗi: Tính sẵn sàng = MTTF / (MTTF + MTTR) * 100 Độ tin cậy thuộc tính quan trọng chất lƣợng phần mềm, nhiên độ tin cậy thƣờng đƣợc xác định muộn, sau có mã lệnh thực thi chƣơng trình Vì cần có phƣơng pháp đánh giá độ tin cậy sớm trình phát triển phần mềm để có cải tiến khắc phục kịp thời nhằm nâng cao chất lƣợng sản phẩm, giảm chi phí chữa lỗi cho dự án Công thức biểu diễn độ tin cậy hệ thống theo độ tin cậy thành phần nhƣ sau [16]: m R s Q s k Dk (IV.1) k 1 m Qs 1 D1 D2 m Dm k Dk k 1 Trong đó: Rs : Độ tin cậy hệ thống Qs : Độ không tin cậy hệ thống (Qs = 1- Rs) Di :Xác suất sai hỏng thành phần i hệ thống Ngô Hồng Quyết – CH CNTT 2013 66 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin i : Tỷ lệ thời gian thực thi thành phần i tổng thời gian thực thi hệ thống m: số thành phần hệ thống Ƣu điểm mơ hình cơng thức đơn giản, cho phép ƣớc lƣợng sớm độ tin cậy hệ thống Tuy nhiên, vấn đề tồn phƣơng pháp cách tính độ tin cậy qua mẫu thử chƣa xác, chƣa xét đến độ tin cậy giao diện thành phần Trong trƣờng hợp ta không quan tâm đến giao diện thành phần, hay nói cách khác, để đơn giản ta giả sử giao diện thành phần hệ thống tin cậy, ta cần quan tâm đến việc đo độ tin cậy hệ thống thông qua việc xác định độ tin cậy cảu thành phần hệ thống, ta áp dụng cơng thức (IV.1) Cụ thể việc áp dụng đƣợc trình bày mục II II ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN SMART BOX CỦA VNPT-TECHNOLOGY Áp dụng công thức với hệ thống đƣợc thể nhƣ Hình 28, sơ đồ làm việc với USB 3G, Hình 41: Phân chia thành phần Ngô Hồng Quyết – CH CNTT 2013 67 Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin Ta có hệ thống đƣợc chia thành thành phần: 1: Detech usb mode; 2: Device mode; 3: Start ppp; 4: Notification Do hệ thống bao gồm chuỗi kiện liên tiếp 1->2 -> ->4, sai sót kiện mang đến sai hỏng cho hệ thống nên khơng làm tính tổng qt ta giả sử = = = = = 1; Lƣu ý i với i= 4, thời gian thực thành phần i hệ thống mà mức độ quan trọng thành phần thứ i đóng góp vào thành cơng toàn hệ thống (ở đƣợc giả thiết nhau) Nhƣ nêu trên, hệ thống chuỗi kiện liên tiếp nên sai hỏng, hay thành phần thứ i có lỗi dẫn đến lỗi toàn hệ thống Với giả thiêt ta có Q= Q1+Q2+Q3+Q4 = 1 D1 D2 D3 D4 Q = ( D1 D2 D3 D4 ) = ( D1 D2 D3 D4 ) (IV.2) Trong đó: Q1: Là trình từ ngƣời dùng plug in USB 3G vào set-top-box đến hệ điều hành nhận đƣợc USB 3G mặc định có hai loại USB usb flash memory USB 3G D1: Xác xuất sai hỏng thành phần số Q2: Sau phát đƣợc usb 3g ta phải tạo device node.Các device node đại diện cho thiết bị 3g để giao tiếp với lớp RIL D2: Xác xuất sai hỏng thành phần số Q3: Tiếp theo, mà usb 3g sẵn sàng giao tiếp, cần start pppd để thiết lập kết nối D3: Xác xuất sai hỏng thành phần số Q4: Sau bƣớc thành công, tức kết nối đƣợc thiết lập tầng Application hiển thị notification lên hình ti vi góc dƣới bên phải D4: Xác xuất sai hỏng thành phần số Giả sử việc phân chia thành phần theo mơ hình đắn giả sử giao diện thành phần tin cậy, độ tin cậy hệ thống đƣợc tính theo cơng thức (IV.1) nhƣ sau: R= 1-Q= 1-(Q1+Q2+Q3+Q4) Kết thực tế: Mơ hình đƣợc áp dụng vào thực tế sản xuất thiết bị Smart Box công ty VNPT Technology để đo độ tin cậy USB 3G nhƣ sau Độ tin cậy hệ thống đƣợc tính dựa độ tin cậy thành phần hệ Ngô Hồng Quyết – CH CNTT 2013 68 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin thống nhƣ trình bày Độ tin cậy thành phần lại đƣợc xác định theocông thức (IV.2) thông qua xác định độ không tin cậy thành phần Qi (với i= 1, 2, 3, 4) Nhƣ trên, độ không tin cậy thành phần đƣợc xác định thông qua việc xác định xác xuất sai hỏng thành phần Thực tế kiểm nghiệm 100 lần thử với kiện sau, cho ta tƣơng ứng xác xuất sai hỏng lần lƣợt bốn thành phần tƣơng ứng với số phép thử cho thành phần 100 Xác xuất sai hỏng thành phần số D1: Là kiện ngƣời dùng plug in USB 3G vào set-top-box hệ điều hành khơng nhận đƣợc USB 3G Kết ghi nhận Số lần thử 100 Set top box nhận thiết Set top box không nhận bị USB 3G thiết bị USB 3G nhận sai thiết bị 99 Vậy với kết ghi nhận thực tế trên, ta có D1 = 0.01 Xác xuất sai hỏng thành phần số D2: Là kiện sau set-top-box phát đƣợc usb 3g hệ thống phải tạo device node Kết ghi nhận Số lần thử 100 Hệ thống tạo Hệ thống không tạo device node device node 100 Vậy với kết ghi nhận thực tế trên, ta có D2 = 0.00 Xác xuất sai hỏng thành phần số D3: Là kiện mà hệ thống nhận usb g tạo device node, cần start pppd để thiết lập kết nối Kết ghi nhận Số lần thử Hệ thống start pppd để Hệ thống start thiết lập kết nối thành pppd để thiết lập kết nối công Ngô Hồng Quyết – CH CNTT 2013 69 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin 100 100 Vậy với kết ghi nhận thực tế trên, ta có D3 = 0.00 Xác xuất sai hỏng thành phần số D4: Là sau bƣớc thành công, tức kết nối đƣợc thiết lập tầng Application hiển thị notification lên hình ti vi góc dƣới bên phải Kết ghi nhận Hiển thị biểu tƣợng Không hiển biểu kết nối tƣợng kết nối 100 Số lần thử 100 Vậy với kết ghi nhận thực tế trên, ta có D4 = 0.00 Áp dụng (IV.2) ta có Q = ( D1 D2 D3 D4 ) = 0.01+ 0+0+0 = 0.01 Áp dụng (IV.1) ta có Độ tin cậy hệ thống R = 1- Q = 0.99 Với kết trên, độ tin cậy hệ thống đạt đƣợc khoảng 99%, sai hỏng xảy với thành phần thứ trình plug in USB 3G vào hệ thống, sai hỏng đƣợc lý giải thực tế tiếp xúc vật lý cổng kết nối, nên hồn tồn bỏ qua kết luận hệ thống tin cậy với Độ tin cậy xác định qua độ tin cậy thành phần 99% III KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Luận văn tốt nghiệp tác giả với đề tài: ―KIẾN TRÚC HƢỚNG MƠ HÌNH (MODEL-DRIVEN) TRONG XÂY DỰNG PHẦN MỀM NHÚNG TRÊN HỆ ĐIỀU HÀNH ANDROID – ĐÁNH GIÁ ĐỘ TIN CẬY VÀ TÍNH ĐÁP ỨNG CỦA KIẾN TRÚC PHẦN MỀM‖ hoàn thành Đề tài giải đƣợc vấn đề sau: Tìm hiểu tổng quan hệ điều hành Android, hoàn cảnh đời, phiên Android, Kiến trúc hệ điều hành Android đƣa vài so sánh hệ điều hành Tìm hiểu sở lý thuyết kiến trúc hƣớng mơ hình MDA, giới thiệu tổng Ngơ Hồng Quyết – CH CNTT 2013 70 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin quan Kiến trúc hƣớng mơ hình MDA nêu lên số khái niệm bản, quy trình phát triển phần mềm MDA việc chuyển đổi mô hình tiến trình MDA, liên hệ MDA lập trình C Tìm hiểu việc xây dựng phần mềm nhúng hệ điều hành Android với hƣớng tiếp cận MDA Nêu lên kiến trúc giao tiếp USB 3G Android áp dụng hƣớng tiếp cận MDA xây dựng phần mềm nhúng hệ điều hành Android Tìm hiểu cụ thể việc cài đặt ứng dụng Smart Box công ty VNPT Technology Xây dựng phƣơng pháp đánh giá độ tin cậy tính đáp ứng kiến trúc phần mềm Nêu mơ hình đánh giá độ tin cậy đề xuất áp dụng đánh giá độ tin cậy trình điều khiển USB 3G cài đặt Smart Box VNPT Technology Trình bày kết thực tế đánh giá độ tin cậy trình điều khiển USB 3G cài đặt thiết bị Smart Box công ty VNPT Technology Các kết đạt đƣợc luận văn: Luận văn nêu cách khái quát hệ điều hành Android hoàn cảnh đời, phiên điểm chung kiến trúc hệ điều hành Android đƣa vài so sánh Android hệ điều hành nói chung hệ điều hành di động nói riêng qua rút đặc điểm khác biệt mạnh Android áp dụng vào trình sản xuất, kinh doanh công ty công nghệ công nghiệp nhƣ công ty VNPT Technology Tác giả trình bày vấn đề kiến trúc hƣớng mơ hình MDA, khái niệm quy trình phát triển phần mềm hƣớng mơ hình MDA liên hệ MDA lập trình C (là ngơn ngữ lập trình sử dụng để lập trình kernel Android) Qua liên hệ với việc áp dụng MDA xây dựng phần mềm nhúng cài đặt USB 3G thiết bị Smart Box cơng ty VNPT Technology Quy trình đƣợc triển khai sản xuất thực tế công ty VNPT Technology để sản xuất thiết bị Smart Box phân phối thị trƣờng từ năm 2013 Tác giả đề xuất xây dựng phƣơng án đánh giá độ tin cậy tính đáp ứng kiến trúc phần mềm áp dụng đo độ tin cậy trình điều khiển USB 3G Ngơ Hồng Quyết – CH CNTT 2013 71 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin cài đặt Smart Box VNPT Technlogy Mơ hình đánh giá độ tin cậytrên đƣợc áp dụng vào thực tế sản xuất thiết bị Smart Box công ty VNPT Technology Những khó khăn hƣớng giải Những khó khăn gặp phải q trình thực đề tài: Thời gian thực đề tài ngắn Khối lƣợng kiến thức liên quan rộng mà đề tài cần bao quát Tác giả vừa phải thực đề tài vừa phải thực công việc với vai trị quản lý dự án Khó tiếp cận đầy đủ tài liệu quy trình cơng nghệ, quy trình xản xuất, tài liệu kỹ thuật công ty liên quan đến việc sản xuất thiét bị Smart Box dự án nghiên cứa sản xuất Smart Box dự án trọng điểm công nghệ công ty, tài liệu lien quan đƣợc bảo mật Độ xác mơ hình đánh giá độ tin cậy phụ thuộc vào việc chia nhỏ hệ thống thành thành phần, độ tin cậy hệ thống xác định qua việc xác định độ tin cậy thành phần hệ thống, muốn tăng xác độ tin cậy xác định đƣợc cần tăng số phép thử làm tốn nhiều thời gian thực tế sản xuất Hƣớng giải quyết: Do thời gian hạn chế, cần lập kế hoạch lộ trình thực đồ án cách chi tiết để đảm bảo tiến độ chất lƣợng thực đề Tác giả cần liêt kê tài liệu kỹ thuật liên quan cần tiếp cận yêu cầu phận liên quan cung cấp, cam kết khơng để lộ thơng tin bí mật cơng nghệ Đối với việc nâng cao độ xác phƣơng pháp đo độ tin cậy tính đáp ứng kiến trúc phần mềm thực hiện, phải chia nhỏ hệ thống tăng số phép thử cần thực hiện, làm tăng thời gian nên cần thực lần làm sở để phê duyệt thiết kế Kiến nghị Trong q trình nghiên cứu hồn thành luận văn, tác giả nhận thấy xu phát triển ứng dụng di động nói chung ứng dụng hệ điều hành Ngô Hồng Quyết – CH CNTT 2013 72 Luận văn tốt nghiệp cao học – Ngành Cơng nghệ thơng tin Android nói riêng phát triển mạnh mẽ Các lập trình viên nhƣ công ty công nghệ cần đẩy mạnh nghiên cứu, làm chủ hệ điều hành Android để tận dụng tiến cơng nghệ tích hợp sẵn Android đồng thời có nghiên cứu, cải tiến, hiệu chỉnh để tạo đặc điểm khác biệt, tạo dấu ấn riêng sản phẩm Hệ điều hành Android hệ điều hành mã nguồn mở, cần tận dụng đặc điểm để tiến tới làm chủ cơng nghệ sản xuất chi phí đầu tƣ cho nghiên cứu phát triển thấp Kiến trúc hƣớng mô hình (MDA) quy trình phát triển phần mềm hƣớng mơ hình MDA trang cho ngƣời lập trình nói riêng công ty, nhà phát triển phần mềm nói trình chuẩn từ khâu phân tích, thiết lập trình, kiểm thử, triển khai cài đặt Do cần nghiên cứu kỹ áp dụng vào sản xuất để nâng cao chất lƣợng phần mềm, kéo dài thời gian sống sản phẩm Hƣớng phát triển đề tài Do điều kiện cá nhân hạn chế, nhƣ nhiều hạn chế thời gian kiến thức, kinh nghiệm nên kết nghiên cứu ―KIẾN TRÚC HƢỚNG MÔ HÌNH (MODEL-DRIVEN) TRONG XÂY DỰNG PHẦN MỀM NHÚNG TRÊN HỆ ĐIỀU HÀNH ANDROID – ĐÁNH GIÁ ĐỘ TIN CẬY VÀ TÍNH ĐÁP ỨNG CỦA KIẾN TRÚC PHẦN MỀM‖ cịn nhiều hạn chế, khuôn khổ luận văn dừng lại nghiên cứu ban đầu Vì vậy, cần có nghiên cứu chi tiết, sâu rộng cụ thể vấn đề sau: - Nghiên cứu sâu mở rộng vấn đề liên quan đến việc xác định độ tin cậy tính đáp ứng kiến trúc phần mềm - Mở rộng việc áp dụng đánh giá độ tin cậy hệ thống thong qua việc xác định độ tin cậy cảu thành phần có tính đến độ tin cậy giao tiếp thành phần hệ thống - Nghiên cứu mở rộng phạm vi áp dụng kiến trúc hƣớng mơ hình tiến tới áp dụng quy trình phát triển phần mềm hƣớng mơ hình tất khâu từ khâu phân tích, thiết lập trình, kiểm thử, triển khai cài đặt - Ngô Hồng Quyết – CH CNTT 2013 73 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin TÀI LIỆU THAM KHẢO Website: OMG, http://www.omg.org/mda/ Understanding C++, Understanding Java tools: https://scitools.com/ Tiếng Anh: Frank Truyen, (2006), The Fast Guide to Model Driven Architecture – The Basic of Model Driven Architecture, Cephas Consulting Corp Joaquin Miller, (2003), Model_Driven_Architecture_Tutorial, Lovelace Computing Anneke kleppe, Model Driven Architecture – All you need are models, Klasse Objecten Carolyn K Duby, (9/2003), Accelerating Embedded Software Development with a Model Driven Architecture, Pathfinder Solutions Martin Kardoš and Matilda Drozdová, (2010), Analytical Method of CIM to PIM Transformation in Model Driven Architecture (MDA), JIOS, VOL 34, NO (2010), pp 89-99 Geert Monsieur , Monique Snoeck , Raf Haesen 1,2 , Wilfried Lemahieu 1, (), PIM to PSM transformations for an event driven architecture in an educational tool, KULeuven, Faculty of Economic and Applied Economic Sciences Bruce Powel Douglass, (2009), White paper: UML for the C programming language, IBM 10 Philippe DESFAY, (2001), SUPPORTING THE MDA APPROACH WITH UML PROFILES, UML WorkShop 2001 - SOFTEAM 11 Marty Bakal, Rick Boldt , Scott Niemann , Mark Richardson , Todd Szahun, UML based Model-Driven Development for C, I- Logix 12 Bunse C, Christian Bunse, Hans-Gerhard Gross, and Christian Peper, (2007), Applying a Model-Based Approach for Embedded System Development, Software Engineering and Advanced Applications, 2007 33rd EUROMICRO Conference on, pp 121-128, IEEE 13 Donn Felker, (2011), Android Application Developoment for Dummles, Ngô Hồng Quyết – CH CNTT 2013 74 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Wiley Publishing, Inc., Indianapolis, Indiana 14 Karim Yabmour, (2013), Embedded Android, O‘Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 15 Mark L Murphy, (2010), Beginning Android 2, Springer-Verlag NewYork, Inc., 233 Spring Street, 6th Floor, New York, NY 10013 Tiếng Việt: 16 Huỳnh Quyết Thắng, Đặng Việt Dũng ‗Đánh giá độ tin cậy phần mềm hướng thành phần dựa độ tin cậy thành phần‘ Báo cáo hội nghị khoa học công nghệ quốc gia ICT‘RDA 2003 Học viện kỹ thuật quân 3/2003 Ngô Hồng Quyết – CH CNTT 2013 75 ... trình xây dựng thiết kế phần mềm dựa việc xây dựng chuyển đổi mơ hình Việc áp dụng kiến trúc hƣớng mơ hình (Model Driven) xây dựng phần mềm nhúng hệ điều hành Androi xây dựng phƣơng án đánh giá độ. .. lƣợng cao, đáp ứng đầy đủ xác yêu cầu đặt Việc áp dụng kiến trúc hƣớng mô hình (Model Driven) xây dựng phần mềm nhúng hệ điều hành Android xây dựng phƣơng án đánh giá Ngô Hồng Quyết – CH CNTT... học – Ngành Công nghệ thông tin độ tin cậy tính đáp ứng kiến trúc phần mềm góp thêm biện pháp nhằm nâng cao chất lƣợng phần mềm nói chung phần mềm cho thiết bị thông minh chạy hệ điều hành Android