Trong công nghệ phần mềm, để phát triển một phần mềm nào đó thì ta phải lựa chọn một kiến trúc phù hợp và một ngô ngữ lập trình phù hợp. Có rất nhiều kiến trúc phần mềm khác nhau như kiến trúc hướng chức năng, kiến trúc hướng đối tượng, kiến trúc hướng dịch vụ, kiến trúc hướng sự kiện. Trong đó kiến trúc hướng chức năng đã ra đời từ lâu và được sử dụng để thiết kế các hệ thống như các hệ điều hành và các phần mềm ngày xưa. Đây là một phương pháp tốt nhưng độ phức tạp cao và do đó chi phí phát triển và bảo trì phần mềm tăng lên. Kiến trúc hướng đối tượng và hướng dịch vụ là các kiến trúc mới cho phát triển các phần mềm hiện đại. Nếu như kiến trúc hướng đối tượng là dùng để thiết kế các phần mềm độc lập thì kiến trúc hướng dịch vụ được sử dụng để phát triển một tập hợp các phần mềm, dịch vụ có liên quan đến nhau và được triển khai rộng khắp thông qua một mạng đám mây (như Internet).
Ngày nay, việc phát triển các phần mềm hiện đại trên các hệ điều hành phức tạp như Android, iOS, Window Phone đều sử dụng kiến trúc hướng đối tượng và sử dụng một ngôn ngữ lập trình hướng đối tượng. Ví dụ như trong iOS sử dụng ngôn ngữ Objective C, Window Phone sử dụng ngôn ngữ C#, còn Android thì sử dụng ngôn ngữ Java. Việc sử dụng kiến trúc hướng đối tượng làm giảm bớt độ phức tạp trong các khâu phát triển và bảo trì phần mềm. Vì lý do đó, phần mềm VNUNote sẽ sử dụng kiến trúc hướng đối tượng trong quá trình phân tích, thiết kế cho đến việc lập trình.
Trong kiến trúc hướng đối tượng, có một ngôn ngữ mô hình thống nhất dùng để phân tích và thiết kế phần mềm là ngôn ngữ mô hình hoá UML (viết tắt của Unified Modeling Language). Ngôn ngữ UML được sử dụng trong việc phân tích và thiết kế phần mềm theo kiến trúc hướng đối tượng. Trong quá trình phân tích, UML sử dụng các biểu đồ hoạt động, biểu đồ ca sử dụng và một vài biểu đồ tương tác. Trong giai đoạn thiết kế, UML sử dụng các biểu đồ lớp, biểu đồ tương tác chi tiết và biểu đồ trạng thái [14].
Trung tâm của việc phân tích và thiết kế hướng đối tượng sử dụng UML là tìm ra các biểu đồ lớp. Các biểu đồ lớp cùng với các phương thức và thuộc tính của nó là là xương sống của phần mềm. Từ việc hiểu cặn kẽ biểu đồ lớp và các biểu đồ khác như biểu đồ tương tác, biểu đồ trạng thái, chúng ta có thể viết mã nguồn sử dụng một ngôn ngữ hướng đối tượng. Theo tiêu chuẩn của UML, các lớp trong biểu đồ lớp được phân thành 3 vai trò chính là lớp điều khiển, lớp giao diện, lớp thực thể [14]. Trong đó các lớp giao diện thể hiện nội dung nhìn thấy được và nhận dữ liệu từ bên ngoài (người dùng hoặc phần mềm khác). Các lớp điều khiển thực hiện vai trò trung tâm của phần mềm. Mọi hoạt động đều thông qua các lớp điều khiển (bao gồm các luồng điều khiển và luồng dữ liệu). Các lớp thực thể biểu thị cấu trúc dữ liệu của phần mềm. Chúng cũng thực hiện công việc truy vấn và cập nhật dữ liệu trong một cơ sở dữ liệu nếu có.
Trong khâu lập trình, phần mềm VNUNote sử dụng bộ khung lập trình cho Android với giao diện lập trình ứng dụng phiên bản 21 và hỗ trợ phiên bản tối thiểu 13. Việc sử dụng phiên bản thư viện lập trình này giúp cho phần mềm có thể chạy tốt trên thiết bị trong hiện tại và nâng cấp trong tương lai.
3.2 . Biểu đồ hoạt động của ứng dụng
Dựa vào các yêu cầu chức năng của ứng dụng. Sử dụng công cụ StarUML[14,16]
để thiếtkế biểu đồ hoạt động. Toàn bộ hoạt động của ứng dụng được chia làm 7 nhóm chính như hình 3.1.
Hình 3.1. Biểu đồ hoạt động của ứng dụng
Theo biểu đồ thì ứng dụng có thể khởi động thông thường khi người học bấm vào biểu tượng ứng dụng trong danh sách ứng dụng của Android. Bên cạnh đó người học có thể khởi động ứng dụng từ thông báo lịch của ứng dụng mà nó hiển thị trên thanh thông báo của Android.
Các hoạt động quản lý danh sách ghi chép sẽ được thực hiện khi ứng dụng đã hoàn thành khởi động. Nhóm hoạt động này bao gồm hiển thị danh sách ghi chép được sắp xếp theo thời gian tạo ghi chép, cho phép người học thực hiện các thao tác xem nội
dung ghi chép, xoá ghi chép hay chỉnh sửa thông tin ghi chép. Các thao tác người học thực hiện ở đây sẽ được tiếp tục thực hiện trong các hoạt động tương ứng tiếp theo.
Các hoạt động quản lý nội dung ghi chép sẽ được thực hiện khi người học chọn xem nội dung ghi chép trong danh sách các ghi chép đã hiển thị trong hoạt động quản lý danh sách ghi chép. Các hoạt động quản lý nội dung bao gồm nhận nội dung ghi chép mới và tự động lưu lại.
Khi nội dung ghi chép thay đổi sẽ dẫn theo các hoạt động tóm tắt nội dung thực hiện theo. Các hoạt động tóm tắt nội dung bao gồm thực hiện tóm tắt nội dung và hiển thị lên giao diện.
Các hoạt động quản lý tài liệu đính kèm cũng được thực hiện cùng với các hoạt động quản lý nội dung ghi chép khi người học chọn xem một ghi chép. Tại đây người học có thể thao tác mở tài liệu đính kèm hoặc xoá tài liệu đính kèm nếu muốn.
Các hoạt động sửa thông tin ghi chép được thực hiện khi người học chọn sửa thông tin của một ghi chép đã hiển thị trong hoạt động quản lý danh sách ghi chép.
Các hoạt động ở đây bao gồm mở một giao diện cho phép nhập thông tin ghi chép mới và tự động lưu lại các thông tin ghi chép.
Các hoạt động duyệt hệ thống tập tin được thực hiện khi người học thao tác mở giao diện tập tin. Tại đây người học có thể chọn tập tin đính kèm, di chuyển giữa các thư mục để tìm tập tin mong muốn.
Các hoạt động quản lý lịch thông báo được thực hiện khi thông tin thời gian bị thay đổi trong các hoạt động quản lý thông tin ghi chép. Tại đây bao gồm hoạt động đặt lịch thông báo mới cho các ghi chép và hiển thị lịch thông báo khi tới thời gian đã định.
Biểu đồ hoạt động này được thiết kế theo phong cách của UML (viết tắt của Unified Modeling Language) là một ngôn ngữ mô hình hoá thống nhất sử dụng để thiết kế các ứng dụng theo nguyên lý hướng đối tượng [14].
Các nhóm hoạt động được mô tả trong biểu đồ thể hiện những hoạt động có thể diễn ra trong một trạng thái hoạt động của ứng dụng tại những thời điểm khác nhau.
Việc xác định các nhóm này đã được tính toán kỹ thể sao cho thể hiện một cách rõ ràng nhất toàn bộ hoạt động của ứng dụng.
Biểu đồ hoạt động này là nơi tìm kiếm các ca hợp sử dụng của hệ thống. Theo phương pháp thiết kế của UML, các ca sử dụng được ánh xạ từ các nhóm hoạt động trong biểu đồ hoạt động. Một nhóm hoạt động thường có thể tìm thấy nhiều ca sử dụng và các tác nhân của nó.Theo đó đối với việc quản lý danh sách ghi chép, các ca sử dụng có thể có là: hiển thị danh sách ghi chép, tìm kiếm danh sách ghi chép. Đối với việc quản lý ghi chép thì có các ca sử dụng là tự động lưu nội dung, tự động tóm tắt nội dung. Đối với việc quản lý tài liệu đính kèm, có các ca sử dụng là thêm tài liệu, mở tài liệu và xoá tài liệu. Đối việc quản lý thông tin ghi chép thì có các ca sử dụng là sửa thông tin, tự động lưuthông tin. Đối với các hoạt động quản lý thông báo thì có các ca sử dụng là đặt lịch thông báo và hiển thị thông báo.
3.3 . Các ca sử dụng của ứng dụng
Sử dụng công cụ StarUML[14,16] để thiết kế biểu đồcác ca sử dụng của hệ thống.
Có tất cả 16 ca sử dụng như hình 3.2.
Hình 3.2. Biểu đồ các ca sử dụng của ứng dụng
Biểu đồ ca sử dụng này là kết quả của việc phân tích biểu đồ hoạt động đã nêu ở phần trên. Biểu đồ này cũng được xây dựng theo phương pháp của UML (viết tắt của Unified Modeling Language) [14]. Các ca sử dụng thể hiện những gì phần mềm phải làm cùng với các tác nhân trong quá trình hoạt động. Mỗi ca sử dụng trong biểu đồ trên sẽ thể hiện rõ các bước thực hiện của phần mềm cũng như của tác nhân người học cùng với dữ liệu, kết quả và điều kiện của các bước.Ca sử dụng cũng miêu tả rõ phạm vi của các bước trong từng hoạt động, sự kiện kích hoạt nó. Mỗi một ca sử dụng cũng có các tiền điều kiện và hậu điều kiện. Tiền điều kiện cho biết hoàn cảnh để có thể sử dụng các bước trong mỗi ca sử dụng. Hậu điều kiện cho biết các hoàn cảnh xảy ra sau khi đã thực hiện hết các bước trong ca sử dụng. Hoàn cảnh trong hậu điều kiện có thể dẫn đến việc thực hiện các ca sử dụng khác. Chi tiết các ca sử dụng sẽ được mô tả trong các bảng.
Ca sử dụng hiển thị danh sách chi chép được mô tả trong bảng 3.1. Bảng này cho biết các bước thực hiện khi ứng dụng được mở.
Bảng 3.1. Ca sử dụng hiển thị danh sách ghi chép Ca sử dụng: Hiển thị danh sách ghi chép
Hệ thống:VNUNote Tác nhân:Người học
Mô tả:Ứng dụng hiển thị danh sách ghi chép lúc khởi động.
Sự kiện kích hoạt:Ứng dụng khởi động.
Các bước thực hiện Dữ liệu
1. Đọc dữ liệu ghi chép từ cơ sở dữ liệu Danh sách các ghi chép 2. Hiển thị danh sách ghi chép lên màn hình
3. Kết thúc
Tiền điều kiện:Ứng dụng đã khởi động.
Hậu điều kiện:Danh sách ghi chép được hiển thị trên màn hình và được lưu trong bộ nhớ.
Ca sử dụng tìm kiếm ghi chép theo tiêu đề được mô tả trong bảng 3.2. Bảng này cho biết các bước thực hiện khi người học nhập dữ liệu vào ô tìm kiếm và bấm nút tìm kiếm.
Bảng 3.2. Ca sử dụng tìm kiếm ghi chép theo tiêu đề Ca sử dụng:Tìm kiếm ghi chép theo tiêu đề
Hệ thống:VNUNote Tác nhân:Người học
Mô tả:Người học nhập dữ liệu vào ô tìm kiếm và bấm nút tìm kiếm Sự kiện kích hoạt:Người học bấm vào nút tìm kiếm
Các bước thực hiện Dữ liệu
1. Người học nhập dữ liệu vào ô tìm kiếm. Dữ liệu tìm kiếm 2. Người học bấm nút tìm kiếm
3. Ứng dụng lọc danh sách các ghi chép trong bộ nhớ phù hợp dữ liệu tìm kiếm
Danh sách ghi chép 4. Ứng dụng cập nhật lại màn hình hiển thị danh sách
ghi chép.
5. Kết thúc
Tiền điều kiện:Ứng dụng đang trong sử dụng.
Hậu điều kiện:Danh sách ghi chép phù hợp dữ liệu tìm kiếm.
Ca sử dụng tìm kiếm ghi chép theo Tag (thẻ phân loại) được mô tả trong bảng 3.3.
Bảng này cho biết các bước thực hiện khi người học chọn các tag ghi chép trong ứng dụng.
Bảng 3.3. Ca sử dụng tìm kiếm ghi chép theo Tag Ca sử dụng: Tìm kiếm ghi chép theo tag
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Người học chọn một tag trên màn hình và ứng dụng sẽ lọc danh sách ghi chép theo tag này.
Sự kiện kích hoạt: Người học chọn tag
Các bước thực hiện Dữ liệu
1. Người học chọn tag trong danh sách các tag hiện có Tag 2. Ứng dụng lọc các ghi chép trong bộ nhớ phù hợp với tag
Danh sách ghi chép 3. Ứng dụng cập nhật lại danh sách ghi chép trên giao
diện
4. Kết thúc
Tiền điều kiện: Ứng dụng đang trong sử dụng Hậu điều kiện: Danh sách các ghi chép theo tag
Ca sử dụng xóa ghi chép được mô tả trong bảng 3.4. Bảng này cho biết các bước thực hiện khi người học xóa ghi chép.
Bảng 3.4. Ca sử dụng xóa ghi chép Ca sử dụng: Xóa ghi chép
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Người học xoá bỏ một ghi chép và các thông tin liên quan.
Sự kiện kích hoạt: Người học chọn xóa ghi chép
Các bước thực hiện Dữ liệu
1. Người học chọn một ghi chép Ghi chép
2. Người học bấm nút xoá bỏ ghi chép
3. Hệ thống xoá bỏ thông tin ghi chép cùng dữ liệu.
4. Hệ thống hủy lịch thông báo ghi chép đã xóa Lịch thông báo 5. Kết thúc.
Tiền điều kiện: Ghi chép cần xoá tồn tại trong hệ thống
Hậu điều kiện: Ghi chép được xoá và lịch thông báo cũng bị hủy bỏ nếu có
Ca sử dụng hiển thị tài liệu đính kèm được mô tả trong bảng 3.5. Bảng này cho biết các bước thực hiện khi người học chọn một ghi chép để xem.
Bảng 3.5. Ca sử dụng hiển thị tài liệu đính kèm Ca sử dụng: Hiển thị tài liệu đính kèm
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Ứng dụng hiển thị danh sách tài liệu đính kèm của ghi chép khi người học chọn một ghi chép nào đó.
Sự kiện kích hoạt: Người học chọn một ghi chép
Các bước thực hiện Dữ liệu
1. Người học chọn một ghi chép trong danh sách Ghi chép 2. Ứng dụng đọc thông tin tài liệu đính kèm trong cơ
sở dữ liệu của ứng dụng.
Danh sách tài liệu đính kèm 3. Ứng dụng hiển thị các tài liệu đính kèm lên màn
hình
4. Kết thúc
Tiền điều kiện: Ứng dụng đang trong sử dụng và một ghi chép được chọn (ghi chép có tài liệu đính kèm)
Hậu điều kiện: Danh sách các tài liệu đính kèm được hiển thị
Ca sử dụng hiển thị các tập tin trong một thư mục được mô tả trong bảng 3.6. Bảng này cho biết các bước thực hiện khi người học mở giao diện tập tin.
Bảng 3.6. Ca sử dụng hiển thị các tập tin trong thƣ mục Ca sử dụng: Hiển thị các tập tin trong một thư mục
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Ứng dụng hiển thị giao diện chọn tập tin trong một thư mục nhất định Sự kiện kích hoạt: Người học mở giao diện tập tin
Các bước thực hiện Dữ liệu
1. Người học mở giao diện tập tin
2. Ứng dụng đọc danh sách tập tin trong hệ thống Danh sách tập tin 3. Ứng dụng hiển thị danh sách tập tin lên giao diện
4. Kết thúc
Tiền điều kiện: Ứng dụng đang trong sử dụng
Hậu điều kiện: Danh sách tập tin trong hệ thống được hiển thị
Ca sử dụng thay đổi thư mục trong giao diện tập tin được mô tả trong bảng 3.7.
Bảng này cho biết các bước thực hiện khi người học điều hướng qua lại giữa các thư mục để xem các tập tin khác nhau.
Bảng 3.7. Ca sử dụng thay đổi thƣ mục hiển thị tập tin Ca sử dụng: Thay đổi thư mục trong giao diện tập tin
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Người học có thể thay đổi thư mục hiển thị trong giao diện tập tin Sự kiện kích hoạt: Người học bấm vào các nút điều hướng thư mục.
Các bước thực hiện Dữ liệu
1. Người học bấm vào nút điều hướng lên hoặc xuống mức thư mục. Nếu lên thì thực hiện bước 2, xuống thì thực hiện bước 1.1
1.1. Ứng dụng hiển thị tập tin ở thư mục con Danh sách tập tin 1.2. Kết thúc
2. Ứng dụng hiển thị tập tin ở thư mục mức trên Danh sách tập tin 3. Kết thúc
Tiền điều kiện: Giao diện tập tin đang mở
Hậu điều kiện: Danh sách tập tin trong hệ thống được hiển thị
Ca sử dụng hiển thị thông tin ghi chép được mô tả trong bảng 3.8. Bảng này cho biết các bước thực hiện khi người dùng chọn một ghi chép để xem hay để sửa.
Bảng 3.8. Ca sử dụng hiển thị thông tin ghi chép Ca sử dụng: Hiển thị thông tin ghi chép
Hệ thống: VNUNote Tác nhân: Người học
Mô tả: Ứng dụng hiển thị thông tin ghi chép trong màn hình ghi chép và trong giao diện sửa thông tin.
Sự kiện kích hoạt: Người học chọn ghi chép hoặc sửa ghi chép
Các bước thực hiện Dữ liệu
1. Người học chọn ghi chép hoặc chọn sửa thông tin ghi chép.
Ghi chép 2. Ứng dụng hiển thị thông tin ghi chép
3. Kết thúc
Tiền điều kiện: Hệ thống đang trong sử dụng Hậu điều kiện: Thông tin ghi chép được hiển thị