« Home « Kết quả tìm kiếm

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óm tắt Xem thử

- Hệ thống tập tin trên hệ điều hành Android.
- Sự phù hợp áp dụng MDA với hệ thống nhúng.
- 65 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 2 I.
- Xin trân trọng cám ơn! Hà Nội tháng 12 năm 2014 Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 4 DANH MỤC HÌNH ẢNH stt Tên hình ảnh Hình 1 Kiến trúc tổng quan Android Hình 2 Cây thƣ mục Android Hình 3 Tiến trình MDA Hình 4 Vòng đời phát triển phần mềm truyền thống và vòng đời MDA Hình 5 Tiến trình chuyển đổi giữa hai mô hình Hình 6 Biểu đồ DFD tiến trình đào tạo của một trung tâm giáo dục Hình 7 Biểu đồ usecase sinh ra từ DFD Hình 8 Biểu đồ Activity sinh ra từ DFD Hình 9 Biểu đồ trình tự sinh ra từ DFD Hình 10 Biểu đồ miền sinh ra từ DFD Hình 11 Các lớp của PSM Hình 12 Chuyển đổi của loại đ ối tƣợng Hình 13 chuyển đổi của 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 các sự kiện Hình 17 mẫu collaboration chuẩn cho sự kiện sinh handle_event() (bƣớc 1 và 2) Hình 18 mẫu collaboration chuẩn cho sự kiện sinh handle_event() (bƣớc 3 và 4) Hình 19 Sinh tầng persistence Hình 20 Sinh tầng sự 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 trong Android Hình 29 Tiến trình làm việc với usb 3G Hình 30 Biểu đồ luồng dữ liệu khi 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 của thiết bị 3G Hình 37 Biểu đồ trạng thái của Ril Hình 38 Biểu đồ trạng th ái c ủa PPP Hình 39 Biểu đồ Flowchart của hàm kết nối dữ liệu.
- Hình 40 Biểu đồ Flowchart của hàm huỷ kết nối dữ liệu.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 5 Hình 41 Phân chia các thành phần Hình 42 Kiểm thử hộp trắng Hình 43 Kiểm thử hộp đen DANH MỤC BẢNG BIỂU STT Nội Dung Bảng 1 Bảng phân loại các loại file trên Android Bảng 2 Bảng tƣơng ứng các biểu đồ UML trong lập trình hƣớng đối tƣợng và 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 1 MDA Model Driven Architecture 2 OMG Object Model Group 3 RIL Radio Interface Layer Là lớp cầu nối giữa Android Phone framework và hardware 4 RILD Radio Interface Layer Daemon Một tiến trình chạy trong khi Android khởi động 5 USB Universal Serial Bus Chuẩn giao tiếp USB 6 3G Third-generation technology Mạng thế hệ thứ 3 7 DVM Dalvik Virtual Machine Máy ảo Davik chạy trên Android 8 CIM Computation Independent Model Mô hình độc lập tính toán 9 PIM Platfom Independent Model Mô hình độc lập nền 10 PSM Platfom Specific Model Mô hình phụ thuộc nền 11 DFD Data Follow Diagrams Biểu đồ luồng dữ liệu Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 6 CHƢƠNG I: MỞ ĐẦU Nội dung chính  Đặt vấn đề  Lý do lựa chọn đề tài và các kết quả cần đạt đƣợc.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 7 I.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 9 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 về kiến trúc hƣớng mô hình MDA Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 10 I.
- Thƣ viện hệ thống (System C library): thƣ viện dựa trên chuẩn C, Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 16 đƣợc sử dụng chỉ bởi hệ điều hành.
- Một tập hợp API rất hữu ích đƣợc xây dựng sẵn nhƣ hệ thống định vị, các dịch vụ chạy nền, liên lạc giữa các ứng dụng, các thành phần giao Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 17 diện cấp cao.
- Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 18 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ằn 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.
- Hệ thống tập tin trên hệ điều hành Android Trong phần này tác giả chỉ xin tìm hiểu rõ một số vấn đềquản lý hệ thống tập tin của Android,vìAndroid đƣợc phát triển từ nhân linux nên hệ thống tập tin trên Android cực kỳ giống hệ thống tập tin trên linux nhƣ là về cách tổ chức, những quyền hạn của ngƣời sử dụng lên file.
- a) Tổng quan về hệ thống file trên Android: Trong Android, các file đƣợc tổ chức thành các thƣ mục, theo mô hình phân cấp.
- là ký tự đặc biệt đƣợc dành riêng cho hệ thống.
- Cấu trúc thống nhất này cho phép Android áp dụng khái niệm file cho mọi thành phần dữliệu trong hệ thống.
- Thực tế còn một số loại file nữa có thể liệt kê theo bảng sau: Chữ cái biểu diễn Kiểu file d Thƣ mục (Directory) b File kiểu khối (block-type special file) c File kiểu ký tự (character-type special file) l Liên kết tƣợng trƣng (symbolic link) p File đƣờng ống (pipe) s Socket - File bình thƣờng (regular file) Bảng 1: Bảng phân loại các loại file trên Android c) Tổ chức quyền sở hữu và quyền hạn trên file: Tƣơng tự trên hệ thống linux, trên hệ điều hành Android, một file có thể liên kết với một ngƣời sử dụng và một nhóm ngƣời sử dụng.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 20 Trên hệ thống Android, để biết xem đƣợc quyền hạn đó, ta có thể sử dụng câu lệnh ls –l –d.
- Dƣới nó có chứa một số file thƣ mục hệ thống.
- o /system: chứa những thành phần cơ bản nhất của hệ thống.
- o /system/bin: Chứa các chƣơng trình nội trú của hệ thống.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 25 II.
- Xác định phần độc lập giữa hệ thống và nền.
- Chọn một nền chuyên biệt mà hệ thống phụ thuộc.
- Chuyển đổi hệ thống từ đặc tả nền này sang đặc tả nền khác.
- Một số khái niệm cơ bản a) Hệ thống Hệ thống có thể bao gồm mọi thứ: Một chƣơng trình,một hệ thống máy tính đơn,sự kết hợp của một vài phần của các hệ thống khác nhau.
- b) Mô hình Một mô hình của hệ thống là một sự miêu tả hoặc sự làm rõ hệ thống và môi Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 26 trƣờng của nó cho một vài mục đích cụ thể.Một mô hình thƣờng đƣợc thể hiện kết hợp giữa hình vẽ và text.
- c) Kiến trúc Kiến trúc của một hệ thống là một đặc điểm kỹ thuật của các bộ phận và các kết nối của hệ thống và các quy tắc cho các tƣơng tác của các bộ phận bằng cách sử dụng kết nối.Trong phạm vi của các phần MDA này,các kết nối và các quy luật đƣợc thể hiện thông qua một tập các mô hình có liên quan với nhau.
- d) Điểm nhìn Một điểm nhìn là một kỹ thuật trừu tƣợng tập trung vào một tập hợp các mối quan tâm trong hệ thống trong khi đó bỏ qua tất cả các chi tiết không liên quan.Một điểm nhìn có thể đƣợc biểu diễn thông qua một hoặc nhiều mô hình.
- e) Khung nhìn Một khung nhìn mô hình hoặc khung nhìn của một hệ thống là một đại diện cho hệ thống từ quan điểm của một điểm nhìn đã chọn.
- f) Nền tảng Một nền tảng là một tập các hệ thống con và các công nghệ cung cấp một tập rõ ràng các chức năng thông qua các giao diện và các mẫu sử dụng riêng biệt.Bất kỳ ứng dụng nào đã hỗ trợ bởi nền tảng đó có thể sử dụng mà không cần liên quan chi tiết đến việc các chức năng đƣợc cung cấp sẽ đƣợc thực thi nhƣ thế nào trong nền tảng đó.
- Platform Independent Model(PIM) Một PIM là một khung nhìn của hệ thống từ một điểm nhìn độc lập nền tảng.Điểm nhìn độc lập nền tảng này chỉ chú trọng vào các thao tác của hệ thống,ẩn đi chi tiết cụ thể về nền tảng.Tức là ta không quan tâm đến nền tảng nào sẽ đƣợc sử dụng để phát triển hệ thống.Một PIM cần thể hiện đƣợc sự không phụ thuộc nền tảng và nó thích hợp cho việc sử dụng với nhiều nền tảng khác nhau hoặc tƣơng tự Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 28 nhau.[3.
- Chuyển đổi giữa các mô hình trong tiến trình MDA Nền tảng của kiến trúc MDA là tạo ra các mô hình.Tuy nhiên,có một vấn đề quan trọng là việc chuyển đổi giữa các mô hình này.Khái niệm của MDA nói rằng trong tiến trình MDA, ý tƣởng chính là để chuyển đổi các mức cao hơn(CIM,PIM) vào trong các mô hình mức thấp hơn(PSM) để tạo ra các mã thực thi.Sự chuyển đổi của một mô hình là một tiến trình khi một mô hình là mô hình nguồn,đƣợc chuyển đổi vào trong các mô hình khácbằng việc sử dụng các quy luật chuyển đổi cụ thể.Có nhiều phƣơng pháp khác nhau đƣợc sử dụng nhƣ các quy luật chuyển đổi.Tiến trình chuyển đổi đƣợc minh họa bằng hình bên dƣới: Hình 5: tiến trình chuyển đổi giữa hai mô hình [7] Các quy luật chuyển đổi miêu tả thực hiện việc chuyển đổi từ mô hình nguồn sang mô hình đích đƣợc thực hiện nhƣ thế nào?Quy luật chuyển đổi có hai đầu,đầu bên trái chỉ mô hình nguồn và các thông tin bổ xung cho việc tạo ra và bên phải mởi rộng nó tới mô hình đích.Cả hai đầu để có thể đƣợc miêu tả bởi các biến,các mẫu,các luật logic,… Các biểu đồ đƣợc sử dụng trong các mô hình CIM,PIM và PSM thƣờng là các biểu đồ UML(có thể sử dụng các biểu đồ khác để biểu diễn nhƣ MOF,… đều do OMG đề xuất,nhƣng trong phạm vi báo cáo này tác giả chọn biểu đồ UML vì biểu đồ UML phổ biến.Đối với các loại biểu đồ khác nhau của UML thì chúng sẽ thích hợp với các loại mức nhìn khác nhau trong tiến trình MDA nhƣ sau: Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 29 + Các biểu đồ trong CIM: thƣờng là biểu đồ luồng dữ liệu + Các biểu đồ trong PIM: thƣờng là biểu đồ ca sử dụng,biểu đồ luồng,biểu đồ tuàn tự,biểu đồ máy trạng thái,… Chuyển đổi từ mô hình CIM sang mô hình PIM Có nhiều cách khác nhau để thực hiện việc chuyển đổi này.Nhƣ đã đề cập từ trƣớc,biểu đồ thƣờng đƣợc sử dụng đầu tiên là biểu đồ DFD (Data follow diagrams).Nó thích hợp cho việc miêu tả cở bản về tổ chức của một hệ thống bởi vì nó có thể miêu tả hiệu quả bằng 4 loại biểu đồ là: Current physical,current logical,new physical and new logical.Từ biểu đồ DFD đã đƣợc miêu tả này chúng ta có thể bắt đầu khi tạo ra nhiều loại biểu đồ khác nếu cần thiết cho việc thiết kế hệ thống và miêu tả nó.Theo truyền thống sử dụng DFD và tính đơn giản của nó.Chúng ta sẽ sử dụng biểu đồ DFD nhƣ là thể hiện của tiến trình nghiệp vụ cho miêu tả mức nhìn CIM.Với mức nhìn PIM,chúng ta cân nhắc sử dụng các biểu đồ UML.Khi chuyển từ CIM tới PIM,có nghĩa rằng chúng ta đang đi từ phân tích nghiệp vụ tới thiết kế hệ thống,do đó chúng ta bắt đầu từ DFD và chúng ta sẽ định nghĩa các quy tắc cơ bản cho một số biểu đồ UML sẽ đƣợc sinh ra.
- Ví dụ dƣới đây là biểu đồ DFD thể hiện tiến trình đào tạo chính của một trung tâm giáo dục.Nó là tiến trình tạo và lƣu một e-Content.Hai tiến trình này là một trong số những hình thức hỗ trợ điện tử của trung tâm giáo dục.Theo nhƣ DFD của tiến trình này thì chúng ta sẽ phát triển một phần của hệ thống đƣợc gọi là E-Repository.
- Hình 6: Biểu đồ DFD tiến trình đào tạo của một trung tâm giáo dục Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 30  Sinh biểu đồ use case Từ DFD chúng ta có thể xác định rõ thực thể,cái mà sẽ đại diện cho các tác nhân trong biểu đồ ca sử dụng.Các tiến trình này là mức đầu tiên của DFD, đƣợc thực thi bởi các thực thể bên ngoài,chúng ta sẽ chuyển vào bên trong các chức năng trong biểu đồ ca sử dụng.Trƣớc hết,chúng ta tạo ra các mối quan hệ giữa các thực thể bên ngoài và các tiến trình.Các mối quan hệ đƣợc tạo ra dựa vào nhiệm vụ của các thực thể bên ngoài của các activity trong biểu đồ ca sử dụng.Hình dƣới minh họa tiến trình chuyển đồi DFD tới biểu đồ ca sử dụng UML.
- Hình 7: Biểu đồ use case sinh ra từ DFD Trong biểu đồ ca sử dụng ở trên thì thực thể bên ngoài ―Student‖ từ biểu đồ DFD không đƣợc minh hoạ bởi vì thực thể này sẽ sử dụng E-content bằng các phƣơng Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 31 tiện của hệ thông.Biểu đồ DFD miêu tả chân thực,mỗi luồng dữ liệu và mỗi thực thể tồn tại trong tổ chức.Nhƣng trong biểu đồ ca sử dụng chúng ta phải có các chức năng cần thiết cho các ca sử dụng cụ thể trong hệ thống.
- Sinh biểu đồ activity Một biểu đồ khác là biểu đồ hoạt động, khi tạo các biểu đồ này,chúng ta thƣờng bắt đầu từ DFD của các mức nhìn thấp hơn của các tiến trình.Mỗi tiến trình con trên mức nhìn thấp hơn của DFD chúng ta phải tìm bên ngoài các đầu vào và đầu ra của nó,và các thực thể bên ngoài liên quan đến nó.Dựa trên các thực thể bên ngoài từ DFD,các hoạt động đƣợc tạo ra và họ đinh nghĩa trách nhiệm cho các hoạt động trong tiến trình.Các đầu vào và các tiến trình con cụ thể từ biểu đồ DFD sẽ giúp cho chúng ta định nghĩa logic mỗi tiến trình con trong các giải quyết và bằng cách thêm các hoạt động cần thiếtđể xác định tiến trình chi tiết hơn.
- Hình 8: Biểu đồ activity sinh ra từ DFD  Sinh biểu đồ tuần tự Biểu đồ tuần tự đƣợc sử dụng để biểu thị mối quan hệ giữa các đối tƣợng theo thứ tự nơi mà các mối quan hệ này đang xuất hiện.Một phần từ tài liệu của tổ chức,biểu đồ này có thể đƣợc sử dụng nhƣ tài liệu cần thiết cho các yêu cầu giao tiếp của sự thực thi trong hệ thống.Họ hành động nhƣ miêu tả bổ sung của các biểu đồ ca sử dụng.Khi thiết kế các biểu đồ tuần tự nó cần thiết phải tìm kiếm các thực Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 32 thể bên ngoài đi vào các tiến trình con.Xa hơn,chúng ta cần thiết để nghĩ về các thực thể của các hệ thống trong sự cộng tác với các thực thể bên ngoài.Hầu hết,nó là hệ thống của chính nó hoặc là một ứng dụng phần mềm khác và cơ sở dữ liệu của nó.Trình tự thực thi của các hoạt động đang đƣợc bắt đầu vẽ từ các tiến trình con vào trong các biểu đồ tuần tự.
- Hình 9: Biểu đồ trình tự sinh ra từ DFD  Sinh biểu đồ miền Biểu đồ miền làm giảm bớt sự khác nhau giữa việc phân tích yêu cầu và sinh ra các thiết kế cụ thể.Nó đại diện cho việc hiểu tổng quan về khái niệm quan trọng trong hệ thống.Nó đƣợc tạo ra cho sự hiểu biết tốt hơn về các sơ đồ lớp và không chỉ nhằm mục đích các chuyên gia CNTT.Nó hiển thị các đối tƣợng sẽ ở trong cấu trúc chƣơng trình và mối quan hệ giữa chúng.Từ biểu đồ miền chúng ta có thể tạo biểu đồ lớp và biểu đồ cơ sở sữ liệu.Khi tạo mô hình miền chúng ta cần phải hiển thị tất cả các thực thể bên ngoài và các yếu tố (hệ thống,cơ sở dữ liệu.
- cộng tác từ biểu đồ DFD.Từ các biểu đồ DFD họ đƣợc kế hoặc vào trong biểu đồ miền.Cuối cùng nó cần thiết phải phản ánh các mối quan hệ giữa các hoạt động khác nhau của các yếu tố không đƣợc điều khiển từ DFD hoặc các tiến trình.Chúng có thể có các mối quan hệ nhƣ 1:1,1:n và m:n.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 33 Hình 10: Biểu đồ miền sinh ra từ DFD Chuyển đổi từ các biểu đồ PIM sang PSM Hình 11: Các lớp của PSM [8.
- Tầng này là cơ sở của kiến trúc đích của chúng ta.Tất cả các lớp khác trong kiến trúc của chúng ta sẽ sử dụng các dịch vụ đƣợc cung cấp bởi tầng này.Sự sinh ra của tầng này có thể đƣợc thực hiện bằng cách chuyển đổi 3 yếu tố PIM,cụ thể là biểu đồ lớp,các cột của bảng sự kiện đối tƣợng và các trạng thái máy hữu hạn.
- Việc chuyển đổi biểu đồ lớp và các thao tác(các cột của bảng sự kiện đối tượng): Việc chuyển đổi biểu đồ lớp và các thao tác chúng ta đã định nghĩa theo các quy tắc chuyển đổi nhƣ sau: Mỗi loại đối tƣợng trong PIM đƣợc chuyển đổi vào trong: Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 34 Một lớp trừu tƣợng và lớp thực thi trong PSM của chúng ta.Bằng việc tạo ra một phân biệt riêng giữa một lớp trừu tƣợng và một lớp thực thi nó sẽ dễ dàng hơn để nhìn ra sự khác nhau giữa các yếu tố PSM sinh ra và các thành phần PSM đƣợc thêm vào bằng tay sau khi chuyển đổi PIM tới PSM.
- Hình 13:Chuyển đổi của thuộc tính Mỗi một liên kết 1-n trong biểu đồ lớp của chúng ta đƣợc chuyển đổi vào trong một liên kết thuộc tính trong các lớp đƣợc ánh xạ.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 35 Hình 14:Chuyển đổi liên kết.
- Sinh lớp persistence: Trong hình dƣới tầng persistence đƣợc sinh ra là hiển thị không hoàn chỉnh(để duy trì miêu tả chung chỉ hai loại đối tƣợng đƣợc chuyển đổi đƣợc hiển thị,và một số phƣơng thức bị ẩn đi).Biểu đồ lớp đƣợc chuyển đổi và các hành vi (các cột của bảng sự kiện đối tƣợng) đƣợc hình dung bằng hộp trắng.Một là có thể nhìn thấy loại đối tƣợng OrderLine kia đƣợc chuyển đổi vào trong một lớp OrderLine trừu tƣợng,thực thi một lớp OrderLineIml và một lớp OrderLineFactory.Các thƣợc tính và các phƣơng thức để kiểm tra các điều kiện tiên quyết và xử lý các sự kiện cũng đƣợc sinh ra cho lớp OrderLine.các phƣớc thức đã yêu cầu cho lớp product không đƣợc hiển thị để avoid hình với quá nhiều thông tin.Các hộp xám trong hình 11 thể hiện các máy trạng thái đƣợc chuyển đổi.Các trạng thái khác cho Product đƣợc chuyển đổi vào trong các lớp con khác (ProductExistState,ProductWaiting_ApprovalState,….)của một lớp trạng thái trừu tƣợng(productState).Chỉ có một số phƣơng thức đƣợc sinh ra cho việc kiểm tra các Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 38 điều kiện và thay đổi các trạng thái đƣợc hiển thị nhƣ trong hình này.
- MDA với lập trình C MDA là hƣớng tiếp cận phát triển phần mềm bằng các mô hình.Và trong tiến trình MDA thì các biểu đồ thƣởng đƣợc sử dụng là biểu đồ UML.Một trong những lý do Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 39 chính những ngƣời lập trình C không sử dụng các biểu đồ UML là bởi vì lập trình C là kiểu lập trình hƣớng chức năng,và UML thƣởng đƣợc sử dụng cho việc thiết kế là lập trình hƣớng đối tƣợng.Nhƣng hiện tại khó khăn này đã đƣợc giải quyết bằng các khái niệm quen thuộc với ngƣời lập trình C nhƣ: các file,các function và các biến vào trong ngôn ngữ mô hình.Bằng việc cho phép các nhà phát triển lập trình chức năng bằng việc đặt các file cũng nhƣ các function và các biến trên các biểu đồ trong UML,những ngƣời lập trình C bây giờ có khả năng sử dụng các khái niệm họ đã biết trong C để thể hiện chúng trong một biểu đồ UML cho phép những ngƣời lập trình C thiết kế và nghĩ cách họ làm bình thƣờng.Điều này cung cấp tiện lợi cho việc mô hình hóa mà không cần chuyển đổi sang C++ hay lập trình hƣớng đối tƣợng.
- Một FuntionalC UML profile là một phiên bản chuyên dụng của UML gồm các tập con,thay thế hoặc kế thừa UML cho mục đích đặc thù.Profile này sử dụng một tập con các biểu đồ UML để mô hình hóa hƣớng chức năng,các hệ thống dựa trên lập trình C.Các loại biểu đồ cơ bản đã định nghĩa trong profile này đƣợc định nghĩa chi tiết nhƣ bảng dƣới: loại biểu đồ biểu đồ FuntionalC biểu đồ UML cơ bản Miêu tả Các yêu cầu biểu đồ ca sử dụng biểu đồ ca sử dụng Các yêu cầu sử dụng của hệ thống tƣớng ứng với các tác nhân của hệ thống cấu trúc biểu đồ Build biểu đồ thành phần hiển thị tập các giả tƣợng đƣợc cấu trúc từ các files nguồn,nhƣ khả năng thực thi và các thƣ viện Call graph biểu đồ lớp hiển thị các lời gọi và trinhf tự của chúng giữa tập cá chức năng.
- biểu đồ File biểu đồ lớp hiển thị tập các file .c và .h và mối quan hệ giữa chúng biểu đồ source code None hiển thị code đƣợc sinh ra nhƣ các text Hành vi biểu đồ thông điệp biểu đồ trình tự hiển thị trình tự các lời gọi và các sự kiện gửi giữa một tập các file,bao gồm việc truyền các giá trị tham số Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 40 biểu đồ trạng thái biểu đồ trạng thái hiển thị các máy trạng thái của các file và các chức năng của chúng và hành động đƣợc thực thi nhƣ các sự kiện đƣợc nhận.
- Flowchart biểu đồ hoạt động Chi tiết luồng điều khiển một chức năng hoặc cac sử dụng.
- Bảng 2: Bảng tương ứng các biểu đồ UML trong lập trình hướng đối tượng và lập trình C Những ngƣời lập trình chức năng với các biểu đồ UML bằng việc sử dụng một mẫu khuôn đƣợc gọi là 1 file,nó đơn giản là thể hiện của một file source code.File này có thể chứa tất cả các thành phần mà ngƣời phát triển C sử dụng để phân chia,bao gồm các biến,các chức năng,các kiểu,…File này đƣợc bổ xung tới biểu đồ và đƣợc sử dụng để ngăn chia thiết kế vào trong các thành phần nhƣ cách mà một lớp đƣợc sử dụng để phân chia một chƣơng trình trong lập trình hƣớng đối tƣợng.
- Code đƣợc sinh ra từ mô hình xuất hiện rất đơn giản, Profile thể hiện các file .c và .h có tên giống nhau và đƣợc ghép cặp với nhau nhƣ một phần tử của một biểu đồ đƣợc gọi là một file.Nếu bạn không sử dụng file .c hoặc .h trong code của bạn,thì bạn có thể thể hiện một file .c hoặc .h riêng của bạn trong biểu đồ.Điều này có nghĩa rằng các lập trình viên không cần học thiết kế hƣớng đối tƣợng,nhƣng vẫn có thể mang các khái niệm họ luôn sử dụng vào trong các mô hình.Dƣới đây là ví dụ một file timer, file này sẽ theo dõi và trả về thời gian tƣơng ứng.Nó có thể có các biến nhƣ minutes và seconds,và có lẽ các chức năng nhƣ rết và tick.Chức năng reset có thể khởi tạo các biến có giá trị bằng không,và chức năng tick có thể tăng thời gian một giây sau mỗi giây.Trong FuntionalC profile,chúng ta có thể tạo một biểu đồ file đơn giản nhƣ bên dƣới hiển thị một file đơn đƣợc gọi là ―Timer‖ có các biến minutes và seconds kiểu nguyên,các chức năng tick() và reset.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 41 void Reset.
- Các chức năng trong một file,tất nhiên có thể giao tiếp với các chức năng đƣợc chứa trong các file khác,và chúng cũng có thể chức các hành vi đƣợc định nghĩa bởi các biểu đồ trạng thái hoặc biểu đồ flowchart.Thêm vào đó,các file và các đối tƣợng cả hai đều có thể đƣợc sử dụng trong cùng một mô hình,và các file có thể đƣợc chuyển thành các đối tƣợng nếu mong muốn.Điều này cho phép những ngƣời lập trình muốn chuyển tới một hƣớng tiếp cận hƣớng đối tƣợng sẽ dễ dàng và hoàn toàn có thể thực hiện đƣợc.
- FuntionalC profile Các biểu đồ ca sử dụng đƣợc sử dụng để vẽ các yêu cầu và các mối liên quan của chúng với các tác nhân bên ngoài.Biểu đồ này cũng giống nhƣ biểu đồ ca sử dụng của UML và là một cách đắc lực để nhận biết và quản lý các yêu cầu của một hệ thống.
- Hình 21: Ví dụ biểu đồ usecase Các biểu đồ File hiển thị các file,các nội dung của chúng và các thành phần liên quan với các file khác(bao gồm source code và header file).
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 42 Hình 22.Ví dụ biểu đồ File Biểu đồ build thể hiện các giả tƣợng đƣợc cấu trúc thông qua sự biên tập và liên kết các tiến trình và chúng liên quan tới mỗi tiến trình khác nhƣ thế nào? Hình 23: Ví dụ biểu đồ Build Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 43 Biểu đồ call hiển thị các quan hệ giữa các chức năng và các biến Hình 24: Ví dụ biểu đồ Call Mỗi biểu đồ thông điệp hiển thị một kịch bản riêng trong một tập cụ thể các thông điệp(đồng bộ hoặc không đồng bộ) đƣợc xử lý riêng biệt.Thƣờng thì sẽ có một vài biểu đồ thông điệp cho một ca sử dụng hoặc cho một sự cộng tác của các file.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 44 Hình 25: Ví dụ biểu đồ thông điệp Một biểu đồ trạng thái thể hiện tập các trạng thái có thể đạt đƣợc bởi một file hoặc một ca sử dụng,các sự kiện nó nhận và sự chuyển đổi xảy ra nhƣ là kết quả của của sự tiếp nhận các sự kiện này.
- Hình 26: Ví dụ biểu đồ trạng thái Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 45 Một biểu đồflowchart đƣợc sử dụng để thể hiện một thuật toán hoặc chi tiết luồng điều khiển chức năng bên trong một chức năng.
- Hình 27: Ví dụ biểu đồ flowchart  Xác thực thiết kế sử dụng mô hình Trong một thiết kế điển hình,nó không bao giờ là rõ ràng với mô hình kia là đúng cho tới khi nó đƣợc thực thi.Với các công nghệ có sẵn ngày nay để thực hiện chuyển động đen hoặc tƣơng tƣ,cái mà cho phép code đƣợc sinh tự động từ mô hình với trang bị để trở lại với công cụ mô hình hóa.Công cụ thì sử dụng thông tin này để sinh ra code thực thi,nhƣng trong giới hạn của các khái niệm mô hình.
- Điều này có nghĩa rằng rất nhiều những biểu đồ giống nhau đƣợc sử dụng để miêu tả mô hình có thể đƣợc sử dụng để xác thực mô hình,hãy xem mỗi quan hệ là một tập,xem trạng thái mỗi file, một vài chức năng đƣợc gọi giữa các file trên một biểu đồ trình tự và thậm chí thông qua một flowchart.Chuyển động này có thể hoàn thành ở bất kỳ lúc nào trong suốt một dự án và cho phép ngƣời lập trình mất nhiều thời gian hơn để thiết kế sản phẩn phong phú và sẽ ít thời gian hơn để dịch chuyển phần chia trong code.Hoàn toàn có thể chữa lỗi một thiết kế với cả mô hình và code cho phép ngƣời Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 46 lập trình phát hiện các vấn đề sớm và đúng qua đó chi phí sẽ thấp và cũng sẽ dễ sủa lỗi hơn.
- Sinh code từ mô hình Phụ thuộc vào công cụ đƣợc sử dụng,mã C có thể đƣợc sinh ra trực tiếp từ mô hình.tất cả code chúng ta nhìn trong file Timer ở trên có thể đƣợc sinh ra tự động.Thực tế,kinh nghiệm của tác giả với các dự án mô hình nhúng và thời gian thực là trung bình,một lƣợng code sẽ đƣợc sinh ra tự động.Phần code còn lại là do ngƣời lập trình viết nhƣ phần than của các hàm.Code có thể đƣợc sinh tự động cho sự phụ thuộc,các sự liên kết,các file,các chức năng,các biến,các biểu đồ trạng thái,biểu đồ flowcharts.Ngƣời lập trình chỉ cần làm rõ các chức năng và các hoạt động trên mỗi trạng thái.
- Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.
- Hệ thống nhúng thƣờng đƣợc thiết kế để thực hiện một chức năng chuyên biệt nào đó.
- Vì hệ thống chỉ đƣợc xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ƣu hóa nó nhằm giảm thiểu kích thƣớc và chi phí sản xuất.
- Các hệ thống nhúng thƣờng đƣợc sản xuất hàng loạt với số lƣợng lớn.
- Hệ thống nhúng rất đa dạng, phong phú về chủng loại.
- Các thiết bị PDA hoặc máy tính cầm tay cũng có một số đặc điểm tƣơng tự với hệ thống nhúng nhƣ các hệ điều hành hoặc vi xử lý điều khiển chúng nhƣng các thiết bị này không phải là hệ thống nhúng thật sự bởi chúng là các thiết bị đa năng, cho phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi [Theo Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 47 Wikipedia].
- b) Sự phù hợp áp dụng MDA với hệ thống nhúng: Theo định nghĩa trên về hệ thống nhúng so sánh với các khái niệm và quy trình MDA, ta có thể thấy rõ sự tƣơng ứng giữa hệ thống nhúng và mô hình MDA trƣớc hết qua khái niệm của chúng.
- Hệ thống nhúng (Embedded system) là một hệ thống có khả năng tự trị đƣợc nhúng vào trong một môi trƣờng hay một hệ thống mẹ.
- Xây dựng mô hình độc lập nền (PIM), chính là việc xác định rõ hệ thống cần phải làm gì? tƣơng ứng với việc xác định khả năng tự trị của hệ thống nhúng.
- Hệ thống mẹ trong khái niệm hệ nhúng đƣợc so sánh tƣơng đƣơng với một nền tảng cụ thể trong khái niệm về mô hình phụ thuộc nền PIM.
- Hình vẽ sau thể hiện một ví dụ áp dụng MDA xây dựng hệ thống nhúng tìm đƣờng đi trên bản đồ "PATHMate" [6] Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 48 Sự phù hơp áp dụng MDA trong xây dựng phần mềm nhúng cũng bởi các lợi ích sau đây khi áp dụng MDA trong xây dựng phần mềm nhúng: Phản ứng nhanh với yêu cầu thay đổi nền tảng chức năng & công nghệ: Lợi điểm này đặc biệt giúp ích khi cần áp dụng, xây dựng hệ thống nhúng trên nhiều hệ thống mẹ khác nhau.
- Kéo dài thời gian sống của sản phẩm: Việc xây dựng một hệ thống dựa trên một nền tảng cố định rất có thể không đáp ứng khi có sự thay đổi nền tảng hệ thống, đối với hệ thống nhúng là thay đổi ở hệ thống mẹ.
- Khả năng tái sử dụng: Nhƣ đã nêu trong phần các lợi ích khi áp dụng MDA, PIM có thể đƣợc tái sử dụng khi cần áp dụng sang một nền tảng khác mà không cần phải thiết kế lại, lợi điểm này có thể áp dụng tái sử dụng khi triển khai hệ nhúng trên các hệ thống mẹ khác nhau.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 50 I.
- ÁP DỤNG HƢỚNG TIẾP CẬN MDA  Tiến trình công việc khi làm việc với USB 3G Hình 29: Tiến trình làm việc vớii USB 3G - Giải thích về biểu đồ trên: Bƣớc đầu tiên khi ta plug in usb 3g vào set-top-box thì nó phải phát hiện đƣợc có phải là usb 3g hay không? Vì mặc định có hai loại usb là usb flash memory và usb 3g.Mặc định trong hệ thống thì khi một usb đƣợc plug in thì nó sẽ nhận dạng ở chế độ flash memory.Đểlàm việc này chúng ta sử dụng bộ thƣ viện usb_modeSwitch.
- Biểu đồ CIM Theo nhƣ tiến trình MDA,biểu đồ đƣợc sử dụng cho biểu đồ CIM trong tiến trình MDA là biểu đồ luồng dữ liệu.Dƣới đây là biểu đồ luồng dữ liệu khi mà một usb 3G đƣợc plug in vào set-top-box.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 54 Hình 30: Biểu đồ luồng dữ liệu khi usb 3g được plug in Trong biểu đồ ở trên,đã bao gồm cả bƣớc 1 chúng ta đã giải quyết.
- Các biểu đồ PIM Sinh biểu đồ usecase: Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 55 Hình 31: Biểu đồ use case Sinh biểu đồ miền: Hình 32: Biều đồ miền Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 56 Sinh biểu đồMessage Diagram: Hình 33:Biều đồ thông điệp Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 57 Sinh biểu đồ File diagram: Hình 34: Biều đồ File Sinh biểu đồ Call diagram Hình 35: Biểu đồ Call Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 58 Sinh biểu đồ State machines Các trạng thái của thiết bị 3G có thể có: Hình 36: Biểu đồ trạng thái của thiết bị 3G Các trạng thái của Ril có thể có: Hình 37: Biểu đồ trạng thái của Ril Các trạng thái của ppp Hình 38: Biểu đồ trạng thái của PPP Sinh biểu đồ Flowcharts: Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 59 Hàm requestSetupDataCall: hàm đƣợc gọi khi có yêu cầu kết nối dữ liệu Hình 39: Biểu đồ Flowchart của hàm kết nối dữ liệu Ở trong biểu đồ trên,có phần ―cấu hình PDP context‖.Xin giải thích là PDP context là một cấu trúc đƣợc sử dụng tham chiếu tới mạng không dây.PDP context hiện diện trên cả serving GPRS support node (SGSN) và trong gateway GPRS support node (GGSN) chứa thông tin về một phiên làm việc của ngƣời dùng khi ngƣời dùng có một phiên làm việc.Khi muốn làm việc với mạng không dây trên mobile,ta trƣớc hết phải active một PDP context.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 60 Hình 40: Biểu đồ Flowchart của hàm huỷ kết nối dữ liệu.
- Biểu đồ PSM Bài toán đƣợc giải quyết trong luận văn này là bài toán có mã nguồn mở.Các file nhƣ: ―atchanel.c‖, ―at_tok.c.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT USB support.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 66 I.
- Công thức biểu diễn độ tin cậy hệ thống theo độ tin cậy các thành phần nhƣ sau mkkkssDQR111(IV.1) mkkkmmsDDDDQ12211.
- Trong đó: Rs : Độ tin cậy của hệ thống Qs : Độ không tin cậy của hệ thống (Qs = 1- Rs) Di :Xác suất sai hỏng của thành phần i của hệ thống Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 67 i : Tỷ lệ thời gian thực thi thành phần i trên tổng thời gian thực thi của hệ thống.
- m: số thành phần của hệ thống Ƣu điểm của mô hình trên là công thức đơn giản, cho phép ƣớc lƣợng sớm về độ tin cậy của hệ thống.
- Trong trƣờng hợp ta không quan tâm đến giao diện giữa các thành phần, hay nói cách khác, để đơn giản ta giả sử giao diện giữa các thành phần trong hệ thống là tin cậy, khi đó ta chỉ cần quan tâm đến việc đo độ tin cậy của hệ thống thông qua việc xác định độ tin cậy cảu các thành phần trong hệ thống, ta có thể áp dụng công thức (IV.1).
- Á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 trên với hệ thống đƣợc thể hiện nhƣ trong Hình 28, sơ đồ làm việc với USB 3G, Hình 41: Phân chia các thành phần Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 68 Ta có hệ thống đƣợc chia thành các thành phần: 1: Detech usb mode.
- Do hệ thống bao gồm một chuỗi các sự kiện liên tiếp 1->2.
- 3 ->4, bất cứ sự sai sót có thể nào trong mỗi sự kiện đều mang đến sai hỏng cho cả hệ thống nên không làm mất tính tổng quát ta có thể giả sử .
- Giả sử việc phân chia các thành phần theo mô hình trên là đúng đắn và giả sử giao diện giữa các thành phần là tin cậy, khi đó độ tin cậy của 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 quả thực tế: Mô hình trên đã đƣợc áp dụng vào thực tế sản xuất thiết bị Smart Box của công ty VNPT Technology để đo độ tin cậy của USB 3G nhƣ sau.
- Độ tin cậy của hệ thống đƣợc tính dựa trên độ tin cậy của 4 thành phần trong hệ Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 69 thống nhƣ đã trình bày ở trên.
- Độ chính xác của mô hình đánh giá độ tin cậy phụ thuộc vào việc chia nhỏ hệ thống thành các thành phần, độ tin cậy hệ thống xác định qua việc xác định độ tin cậy của các thành phần trong hệ thống, muốn tăng sự chính xác của độ tin cậy xác định đƣợc cần tăng số phép thử làm tốn nhiều thời gian trong thực tế sản xuất.
- Đối với việc nâng cao độ chính xác của phƣơng pháp đo độ tin cậy và tính đáp ứng của kiến trúc phần mềm thực hiện, do phải chia nhỏ hệ thống và tăng số phép thử cần thực hiện, làm tăng thời gian nên chỉ cần thực hiện một lần làm cơ sở để phê duyệt thiết kế.
- 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 các thành phần có tính đến độ tin cậy của giao tiếp giữa các thành phần trong hệ thống.
- Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 74 TÀI LIỆU THAM KHẢO Website: 1.
- Donn Felker, (2011), Android Application Developoment for Dummles, Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin Ngô Hồng Quyết – CH CNTT 2013 75 Wiley Publishing, Inc., Indianapolis, Indiana

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt