CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Phương pháp phân tích thiết kế 1.1 Phân tích theo hướng đối tượng Phân tích và thiết kế hướng đối tượng (OOAD) là một phương pháp phát triển phần mềm khuyến khích sử dụng các nguyên tắc lập trình hướng đối tượng để tạo điều kiện linh hoạt, khả năng mở rộng, khả năng tái sử dụng và khả năng bảo trì cao hơn. Đó là quá trình phân tích và thiết kế một hệ thống dựa trên các đối tượng và sự tương tác của chúng trong ranh giới hệ thống. OOAD là một quy trình hướng mô hình bao gồm nhiều giai đoạn như phân tích hướng đối tượng (OOA), thiết kế hướng đối tượng (OOD) và triển khai hướng đối tượng (OOI). Mục tiêu của phương pháp này là phát triển các giải pháp cho các vấn đề phần mềm dễ hiểu, bảo trì, kiểm tra và sửa đổi hơn.
Nó đặc biệt có lợi khi xử lý các hệ thống phức tạp, với các thành phần riêng biệt cần được kết hợp để hoạt động hiệu quả. Phân tích hướng đối tượng bao gồm việc chia hệ thống thành các phần nhỏ hơn và phân tích các phần riêng biệt. Nó được sử dụng để giúp xác định các lớp đối tượng và hành vi, mối quan hệ và thuộc tính liên quan của chúng. OOA liên quan đến việc tạo ra một bức tranh hoàn chỉnh về hệ thống bằng cách phân tích cách tất cả các đối tượng tương tác với nhau.
Thiết kế hướng đối tượng được xây dựng dựa trên phân tích được thực hiện trong OOA để tạo ra các thiết kế cho hệ thống. Sử dụng kết quả phân tích, kiến trúc sư có thể tạo ra bố cục của hệ thống, chẳng hạn như sơ đồ lớp, sơ đồ đối tượng và sơ đồ ca sử dụng. Quá trình này tập trung vào việc đảm bảo rằng thiết kế của hệ thống có hiệu quả để đạt được các mục tiêu. Triển khai hướng đối tượng là quá trình biến thiết kế của hệ thống thành mã thực thi được.
Điều này bao gồm việc tạo các lớp và đối tượng sẽ được sử dụng trong hệ thống, cũng như viết mã cho phép các đối tượng tương tác với nhau và thực hiện các nhiệm vụ được chỉ định của chúng. Phân tích và thiết kế hướng đối tượng làm cho việc phát triển phần mềm trở nên dễ dàng hơn bằng cách giúp các kiến trúc sư tạo ra các hệ thống có tổ 12 chức, dễ bảo trì và chính xác hơn. Khi việc phát triển phần mềm tiếp tục trở nên phức tạp hơn, OOAD cung cấp một cách tiếp cận hiệu quả để quản lý và giải quyết vấn đề - Ưu điểm: + Gần gũi với thế giới thực + Tái sử dụng dễ dàng + Đóng gói che giấu thông tin làm cho hệ thống tin cậy hơn + Thừa kế làm giảm chi phí, hệ thống có tính mở cao hơn + Xâu dựng hệ thống phức tạp. - Nhược điểm: + Phương pháp này khá phức tạp, khó theo dõi được luồng dữ liệu do có nhiều luồng dữ liệu ở đầu vào.
Hơn nữa giải thuật lại không phải là vấn đề trọng tâm của phương pháp này 1.2 Các loại biểu đồ trong phân tích thiết kế hướng đối tượng 1.1 Biểu đồ UseCase Use Case là một thuật ngữ được sử dụng trong lĩnh vực phát triển phần mềm và quản lý dự án để mô tả một tình huống hoặc kịch bản cụ thể về cách hệ thống sẽ được sử dụng. Nó định nghĩa các chức năng, hoạt động và tương tác giữa hệ thống và người dùng hoặc các thành phần khác trong một tình huống cụ thể. Một Use Case được sử dụng để hiểu rõ các yêu cầu và đặc điểm của một hệ thống, xác định các hành vi và kịch bản sử dụng của người dùng, và xác định các yếu tố quan trọng trong việc phát triển phần mềm. Nó cung cấp một cách tiếp cận hợp lý để phân tích và mô tả các tác động của hệ thống.
Use Case thường được biểu diễn dưới dạng các biểu đồ, ví dụ như biểu đồ Use Case UML (Unified Modeling Language). Mỗi Use Case mô tả một tình huống cụ thể, bao gồm các hành vi, tương tác và kết quả mong đợi. Các Use Case này sau đó có thể được sử dụng như cơ sở để thiết kế, phát triển và kiểm thử hệ thống.2 Biểu đồ phân rã chức năng Sơ đồ phân rã chức năng (BFD) là công cụ biểu diễn việc phân rã có thứ bậc đơn giản các công việc cần thực hiện. Mỗi công việc được chia ra làm các công việc con, số mức chia ra phụ thuộc kích cỡ và độ phức tạp của hệ thống.
Sơ đồ này thể hiện sự phân rã của các chức năng chính trong biểu đồ UseCase 1.3 Biểu đồ tuần tự Biểu đồ tuần tự (Sequence Diagram) là biểu đồ dùng để xác định các trình tự diễn ra sự kiện của một nhóm đối tượng nào đó. Nó miêu tả chi tiết các thông điệp được gửi và nhận giữa các đối tượng đồng thời cũng chú trọng đến việc trình tự về mặt thời gian gửi và nhận các thông điệp đó.4 Biểu đồ hoạt động Biểu đồ hoạt động là biểu đồ mô tả các bước thực hiện, các hành động, các nút quyết định và điều kiện rẽ nhánh để điều khiển luồng thực hiện của hệ thống. Đối với những luồng thực thi có nhiều tiến trình chạy song song thì biểu đồ hoạt động là sự lựa chọn tối ưu cho việc thể hiện.5 Biểu đồ lớp Biểu đồ lớp hay Class Diagram là một trong những bản vẽ quan trọng nhất của thiết kế phần mềm, nó cho thấy cấu trúc và quan hệ giữa các thành phần tạo nên phần mềm. Trong quá trình xây dựng Class Diagram chúng ta sẽ phải quyết định rất nhiều yếu tố về thiết kế nên nó là bản vẽ khó xây dựng nhất.
Bản vẽ này sẽ cho thấy cấu trúc tĩnh của phần mềm, tương tự như bản vẽ mặt bằng trong thiết kế của ngành xây dựng.2 Các công cụ công nghệ để xây dựng chương trình 1.1 Công cụ lập trình Visual Code Visual Studio Code được biết đến là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS. Nó được phát triển bởi Microsoft là sự kết hợp hoàn hảo giữa IDE và Code Editor Trình biên tập này được hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, cùng đó là cải tiến mã nguồn. Ngoài ra, Visual Studio Code còn cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác. Visual Studio Code được công bố, ra mắt phiên bản thử nghiệm vào ngày 29 tháng 4 năm 2015 bởi Microsoft tại hội nghị Build 2015.
Vào ngày 18 tháng 11 năm 2015, Visual Studio Code được phát hành dưới giấy phép MIT và mã nguồn của nó được đưa lên GitHub. Chức năng Extesion (tiện ích mở rộng) cũng được công bố. Vào ngày 14 tháng 4 năm 2016 Visual Studio Code hoàn tất thử nghiệm và được phát hành chính thức. Visual Studio Code là một trình biên tập mã.
Nó hỗ trợ nhiều ngôn ngữ và chức năng tùy vào ngôn ngữ sử dụng theo như trong bảng sau. Nhiều chức năng của Visual Studio Code không hiển thị ra trong các menu tùy chọn hay giao diện người dùng. Thay vào đó, chúng được gọi thông qua khung nhập lệnh hoặc qua một tập tin. Khung nhập lệnh là một giao diện theo dòng lệnh.
Tuy nhiên, nó biến mất khi người dùng nhấp bất cứ nơi nào khác, hoặc nhấn tổ hợp phím để tương tác với một cái gì đó ở bên ngoài đó. Tương tự như vậy với những dòng lệnh tốn nhiều thời gian để xử lý. Khi thực hiện những điều trên thì quá trình xử lý dòng lệnh đó sẽ bị hủy. - Quản lý phiên bản: Quản lý phiên bản (version control) là một tính năng tích hợp sẵn nổi bật của Visual Studio Code so với các trình biên tập khác.
Chức năng này có một tab chuyên dụng riêng bên trong thanh menu, cho phép người dùng có thể truy cập cài đặt kiểm soát phiên bản và xem các thay đổi được thực hiện đối với dự án hiện 15 tại. Để sử dụng tính năng này, người sử dụng phải liên kết Visual Studio Code với bất kỳ hệ thống quản lý phiên bản được hỗ trợ nào (Git, SVN, Apache Subversion, Perforce, v. Điều này cho phép bạn tạo kho lưu trữ cũng như thực hiện các yêu cầu đẩy (push) và kéo (pull) trực tiếp từ chương trình Visual Studio Code.1: Phần mền Visual Studio Code Những tính năng nổi bật của Visual studio Code Hỗ trợ nhiều ngôn ngữ lập trình: Là trình biên tập lập trình code cho nên Visual Studio Code được hỗ trợ khá nhiều ngôn ngữ lập trình: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, … Cho nên khi sử dụng, nó dễ dàng phát hiện và đưa ra thông báo nếu chương chương trình xảy ra lỗi. Visual Studio Code có thể được mở rộng qua plugin.
Điều này giúp bổ sung thêm chức năng cho trình biên tập và hỗ trợ thêm ngôn ngữ. Một tính năng đáng chú ý là khả năng tạo phần mở rộng để phân tích mã, như là các linter và công cụ phân tích, sử dụng Language Server Protocol. Visual Studio Code hỗ trợ đa nền tảng Như trên về định nghĩa Visual Studio Code là gì thì chúng ta có thể dễ dàng nhận ra trình biên tập này có thể hỗ trợ tên đa nền tảng: Windows, Linux và macOS. Cung cấp kho tiện ích mở rộng Visual Studio Code còn cung cấp kho tiện ích mở rộng khá hữu ích đối với các lập trình viên.
Khi họ muốn sử dụng một ngôn ngữ lập trình không nằm trong số các 16 ngôn ngữ Visual Studio hỗ trợ, họ có thể tải xuống tiện ích mở rộng mà không hề làm giảm hiệu năng của phần mềm. Kho lưu trữ an toàn Visual Studio Code được nhận xét là một kho lưu trữ vô cùng an toàn. Người dùng có thể hoàn toàn yên tâm vì nó dễ dàng kết nối với Git hoặc bất kỳ kho lưu trữ hiện có nào.2: Visual code được biết với nhiều tính năng nổi trội - Hỗ trợ website Visual Studio Code hỗ trợ nhiều ứng dụng website. Ngoài ra, nó cũng có một trình soạn thảo và thiết kế website không hề khó sử dụng.
- Lưu trữ dữ liệu dạng phân cấp Visual Studio Code cung cấp các thư mục cho một số tệp đặc biệt quan trọng. Đặc biệt, trình biên tập này còn có khả năng lưu trữ dữ liệu dạng phân cấp. - Hỗ trợ viết Code Đây là một tính năng khá hay và hỗ trợ rất nhiều cho các lập trình viên. Visual Studio Code sẽ đề xuất cho lập trình viên các tùy chọn thay thế nếu có sự thay đổi chút ít.