intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tóm tắt Luận văn Thạc sĩ Công nghệ thông tin: Nghiên cứu và cài đặt một công cụ trên nền tảng Eclipse để hỗ trợ phát triển các ứng dụng Java

Chia sẻ: Nguyễn Văn H | Ngày: | Loại File: PDF | Số trang:32

59
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu của luận văn là tạo ra một gói mở rộng plug-in cài trên công cụ hỗ trợ lập trình Eclipse cho DomainAppTool. Từ đó, các chức năng của nó sẽ được trực quan hóa, người dùng có thể sử dụng bất kỳ khi nào trong quá trình phát triển phần mềm. Điều này có ý nghĩa quan trọng giúp cho công cụ hỗ trợ phát triển phần mềm hướng miền được sử dụng rộng rãi hơn.

Chủ đề:
Lưu

Nội dung Text: Tóm tắt Luận văn Thạc sĩ Công nghệ thông tin: Nghiên cứu và cài đặt một công cụ trên nền tảng Eclipse để hỗ trợ phát triển các ứng dụng Java

MỞ ĐẦU<br /> Một ứng ứng dụng có thể được phát triển với kiến trúc tốt, sử dụng<br /> công nghệ mới nhất và có giao diện tốt nhất, … nhưng nếu nó không giải<br /> quyết được yêu cầu nghiệp vụ được đề ra thì ứng dụng đó không thể được<br /> xem là hữu ích. Do đó, thiết kế hướng miền DDD được đưa ra. Thiết kế<br /> hướng miền DDD nhằm phát triển phần mềm một cách lặp đi lặp lại xung<br /> quanh một mô hình miền thực tế. Cả phần mềm và mô hình miền đều nắm<br /> bắt triệt để các yêu cầu miền và khả thi để cài đặt xét về mặt kỹ thuật [9]. Ý<br /> tưởng chính của DDD là mô hình hóa miền cho phát triển phần mềm [2].<br /> Về lý thuyết, đội phát triển chỉ cần tập trung chủ yếu vào xây dựng mô hình<br /> miền, và tuân thủ các nguyên tắc DDD khi cài đặt. Khi bộ xương của hệ<br /> thống rắn chắc, mọi thứ trở nên dễ dàng hơn và việc triển khai các tính<br /> năng mới tương tự như việc lắp ghép các viên gạch xếp hình.<br /> Trên thực tế, việc xây dựng một phần mềm hướng miền không hề đơn<br /> giản, quá nhiều công việc cần phải thực hiện: từ phân tích miền, xây dựng<br /> mô hình miền, cài đặt dưới dạng mã nguồn sử dụng ngôn ngữ lập trình nhất<br /> định, đảm bảo các nguyên tắc của DDD là gắn chặt cài đặt với mô hình, cô<br /> lập lớp miền và chứa các thành phần cơ bản cấu thành nên DDD. Để tăng<br /> hiệu suất tạo ra phần mềm, một công cụ Java hỗ trợ phát triển phần mềm<br /> hướng miền tên là DomainAppTool, đã được nhóm tác giả [7] đề xuất.<br /> Công cụ này sử dụng các nghiên cứu gần đây trong DDD là tập trung vào<br /> mở rộng các ngôn ngữ lập trình hướng đối tượng dựa trên annotation để<br /> xây dựng mô hình miền. Mô hình này không chỉ là cơ sở cho ngôn ngữ<br /> chung giữa các thành viên nhóm phát triển mà còn được sử dụng như đầu<br /> vào để sinh ra phần mềm [8].<br /> DomainAppTool tự động hóa tạo ra phần mềm từ một tập các lớp<br /> miền được thiết kế với các tính năng thiết kế hướng miền. Lợi ích chính<br /> của công cụ là cho phép các nhà phát triển chỉ tập chung vào thiết kế mô<br /> hình miền để đưa ra một tập các lớp miền của phần mềm, toàn bộ phần<br /> mềm bao gồm giao diện đồ họa người dùng và đối tượng lưu trữ sẽ được<br /> tạo ra tự động vào thời gian chạy. Một trong những hạn chế của công cụ là<br /> chưa có giao diện người dùng, người sử dụng phải thực hiện thủ công một<br /> loạt các lệnh command line để tạo ra phần mềm. Phát triển phần mềm là<br /> một quá trình lặp đi lặp lại để sinh ra phần mềm cuối cùng. Trong mỗi vòng<br /> lặp phát triển, nếu sử dụng công cụ thì người dùng lại phải thực hiện các<br /> <br /> lệnh đó, gây ra không ít khó khăn và tốn nhiều thời gian. Vì vậy, tôi xin<br /> chọn đề tài “Nghiên cứu và cài đặt một công cụ trên nền tảng Eclipse để<br /> hỗ trợ phát triển các ứng dụng Java” . Mục tiêu của luận văn là tạo ra<br /> một gói mở rộng plug-in cài trên công cụ hỗ trợ lập trình Eclipse cho<br /> DomainAppTool. Từ đó, các chức năng của nó sẽ được trực quan hóa,<br /> người dùng có thể sử dụng bất kỳ khi nào trong quá trình phát triển phần<br /> mềm. Điều này có ý nghĩa quan trọng giúp cho công cụ hỗ trợ phát triển<br /> phần mềm hướng miền được sử dụng rộng rãi hơn.<br /> Trong luận văn, tôi tập trung vào trình bày chi tiết hai đóng góp của<br /> mình là xây dựng thuật toán tạo ra cấu hình phần mềm và xây dựng gói<br /> Eclipse plug-in; cuối cùng, các bước thực hiện thực nghiệm và kết quả đạt<br /> được. Về phần bố cục, luận văn được chia thành 3 chương chính như sau:<br /> Chương 1. Kiến thức nền tảng : Trình bày cơ sở lý thuyết và các<br /> công nghệ chính được sử dụng trong luận văn. Bao gồm: Thiết kế hướng<br /> miền, phương pháp phát triển phần mềm hướng miền, công cụ hỗ trợ phát<br /> triển phần mềm hướng miền và thành phần mở rộng Eclipse Plug-in.<br /> Chương 2. Xây dựng Eclipse Plug-in cho phần mềm hướng<br /> miền : Trình bày mô hình thiết kế Plugin và cài đặt chi tiết của thiết kế.<br /> Các thuật toán tự động sinh phương thức cho lớp miền và cấu hình mô-đun<br /> phần mềm cũng được giới thiệu nhưng trọng tâm tập trung vào trình bày<br /> chi tiết thuật toán sinh cấu hình phần mềm.<br /> Chương 3. Cài đặt và thực nghiệm : Trình bày các yêu cầu về<br /> môi trường cài đặt thực nghiệm, bài toán thực nghiệm và cuối cùng là các<br /> kết quả đạt được.<br /> <br /> CHƯƠNG 1. KIẾN THỨC NỀN TẢNG<br /> 1.1. Giới thiệu chương<br /> Chương này sẽ trình bày cơ sở lý thuyết và các công nghệ chính<br /> được sử dụng trong luận văn. Bao gồm ba nội dung chính:<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Thiết kế hướng miền DDD: khái niệm, ngôn ngữ chung, thiết kế<br /> hướng mô hình và kiến trúc ứng dụng sử dụng DDD<br /> Phương pháp phát triển phần mềm hướng miền DDSDM: khái<br /> niệm, các pha trong phát triển các nguyên mẫu phần mềm từ mô<br /> hình miền.<br /> Công cụ hỗ trợ phát triển phần mềm hướng miền: lịch sử phát<br /> triển, tổng quan kiến trúc, phát triển các lớp miền và các bước xây<br /> dựng nguyên mẫu phần mềm từ các lớp miền.<br /> Thành phần mở rộng Eclipse Plug-in: Kiến trúc mở của Eclipse và<br /> môi trường phát triển Plug-in.<br /> <br /> 1.2. Thiết kế hướng miền<br /> Thiết kế hướng miền là một cách tiếp cận để phát triển phần mềm<br /> có các yêu cầu phức tạp về việc liên kết cài đặt với mộ mô hình phát triển.<br /> Tiền đề của thiết kế hướng miền là:<br /> <br /> <br /> <br /> <br /> Đặt trọng tâm chính của dự án tập trung vào miền lõi và logic<br /> miền.<br /> Các thiết kế phức tạp được xây dựng dựa trên một mô hình miền.<br /> Sự cộng tác giữa chuyên gia miền và chuyên gia phát triển để trau<br /> dồi lặp đi lặp lại một mô hình miền khái niệm giải quyết các vấn<br /> đề miền cụ thể.<br /> <br /> Thiết kế hướng miền phát triển từ tiền đề coi trái tim của phát triển<br /> phần mềm là kiến thức về vấn đề cần giải quyết và tìm các cách hữu ích<br /> nhất để hiểu vấn đề đó. Sự phức tạp cần giải quyết chính là sự phức tạp<br /> của miền chứ không phải là kiến thức kỹ thuật, không phải là giao diện<br /> người dùng hay thậm chí không phải chức năng cụ thể. Điều này có nghĩa<br /> là thiết kế mọi thứ xung quanh hiểu biết và quan niệm về hầu hết các khái<br /> niệm cần thiết của nghiệp vụ, chứng minh cho bất kỳ sự phát triển nào khác<br /> bằng cách nó hỗ trợ miền lõi đó như thế nào.<br /> 1.2.1. Xử lý kiến thức<br /> <br /> Phát triển phần mềm là quy trình xây dựng ra phần mềm để giải<br /> quyết các bài toán nghiệp vụ thực tế hay miền vấn đề. Phần mềm bắt nguồn<br /> và liên quan chặt chẽ với miền này. Mặt khác, phần mềm được làm từ mã<br /> nguồn. Nhà phát triển thường xa đà vào việc dành nhiều thời gian tạo ra mã<br /> nguồn và nhìn phần mềm như các đối tượng và phương thức đơn giản.<br /> Xem xét ví dụ sản xuất ô tô. Công nhân liên quan trực tiếp đến việc<br /> lắp ráp linh kiện ô tô có góc nhìn hạn chế về quy trình sản xuất một chiếc ô<br /> tô. Họ coi ô tô là một tập khổng lồ những linh kiện và cần lắp ráp chúng<br /> với nhau; thực ra quy trình tạo ra một chiếc ô tô phức tạp hơn thế nhiều.<br /> Một chiếc xe tốt bắt nguồn từ một tầm nhìn và nó được đặc tả một cách chi<br /> tiết, tiếp theo là thiết kế (rất, rất nhiều thiết kế). Sau nhiều tháng, thậm chí<br /> có thể vài năm; thiết kế đó lại được thay đổi, cải tiến cho tới khi thiết kế trở<br /> nên hoàn hảo nhất. Quá trình thiết kế có thể không làm luôn trên giấy,<br /> nhiều phần thiết kế bao gồm việc mô hình hóa và kiểm thử dưới điều kiện<br /> cụ thể để xem xe hoạt động hay không. Sau đó, thiết kế được thay đổi theo<br /> kết quả kiểm thử. Cuối cùng, chiếc xe được đưa vào sản xuất bao gồm sản<br /> xuất linh kiện và lắp ráp chúng vào nhau. Việc phát triển phần mềm cũng<br /> tương tự như vậy, không thể tạo ra phần mềm phức tạp mà chỉ ngồi viết mã<br /> nguồn. Để tạo ra phần mềm tốt, nhà phát triển cần hiểu về miền vấn đề mà<br /> phần mềm cần giải quyết thông qua việc trao đổi với chuyên gia miền.<br /> Những kiến thức thô về nghiệp vụ không dễ dàng chuyển hóa thành cấu<br /> trúc phần mềm trừ khi miền được “trừu tượng hóa”. “Trừu tượng hóa”<br /> miền vấn đề là việc xây dựng một mô hình miền. Theo Eric Evans, một mô<br /> hình miền không phải là một giản đồ cụ thể, quan trọng là ý tưởng mà giản<br /> đồ đó muốn truyền đạt; quan trọng không phải là kiến thức trong đầu của<br /> chuyên gia miền mà là sự trừu tượng hóa miền kết hợp chặt chẽ với kiến<br /> thức đó và cả nhóm phát triển có thể hiểu được.<br /> Mô hình là một sự thể hiện của miền cần xem xét và rất cần thiết<br /> trong suốt quá trình phát triển phần mềm. Mô hình hóa miền đòi hỏi kiến<br /> thức xử lý theo cách tương tự các nhà phân tích tài chính xử lý những con<br /> số để hiểu hiệu suất hàng quý của một công ty. Khi làm việc với chuyên gia<br /> miền, người mô hình hóa miền sẽ thử đưa ra một số ý tưởng tổ chức tập các<br /> khái niệm, sau đó, tạo các mô hình, dùng thử chúng, một số mô hình bị loại<br /> bỏ trong khi một số khác bị biến đổi.<br /> <br /> Phát triển là lặp đi lặp lại, xử lý kiến thức là liên tục trong suốt vòng<br /> đời của dự án. Các nỗ lực mô hình hóa được tạo ra trong các vòng lặp đầu<br /> tiên thường hời hợt. Sự trừu tượng hóa xuất hiện theo thời gian và phải<br /> được tái cấu trúc và sử dụng vào trong mô hình. Để đạt được điều này cần<br /> duy trì một mối quan hệ chặt chẽ, liên tục với các chuyên gia miền.<br /> 1.2.2. Ngôn ngữ chung<br /> Yêu cầu đầu tiên của cách tiếp cận DDD là ngôn ngữ chung cho<br /> phép chuyên gia miền và chuyên gia phần mềm có thể hiểu nhau và cộng<br /> tác với nhau. Thông thường, lập trình viên chỉ nghĩ tới lớp, phương thức,<br /> thuật toán và khuynh hướng diễn đạt mọi vấn đề dưới dạng mã nguồn. Khi<br /> nhìn vào các đối tượng nào đó và quan hệ mô hình giữa chúng, lập trình<br /> viên nghĩ đến kế thừa, đa hình, lập trình hướng đối tượng,… Tuy nhiên,<br /> chuyên gia miền thường không hiểu những khái niệm đó. Để vượt qua rào<br /> cản giao tiếp này, DDD khuyến khích xây dựng mô hình, trao đổi ý tưởng<br /> về mô hình, về những thành phần liên quan đến mô hình. Giao tiếp tốt ở<br /> mức này rất quan trọng cho sự thành công của dự án. Khi trao đổi về mô<br /> hình, có nhiều khái niệm chuyên ngành rất dễ bị hiểu sai với người ngoài<br /> ngành. Vì vậy, cần có một từ điển thuật ngữ dự án giải thích chi tiết các<br /> khái niệm đó, đảm bảo tất cả các bên liên quan đến dự án đều hiểu đúng về<br /> mô hình.<br /> Nguyên tắc cốt lõi của thiết kế hướng miền là sử dụng ngôn ngữ<br /> dựa trên mô hình. Vì mô hình là xuất phát điểm chung, là đầu vào cho phần<br /> mềm giải quyết miền vấn đề. Ngôn ngữ chung kết nối mọi phần của thiết<br /> kế cũng như hoạt động của nhóm phát triển.<br /> 1.2.3. Rằng buộc mô hình và cài đặt<br /> Đối tượng điển hình trong mô hình có các liên kết phức tạp với các<br /> đối tượng khác và mạng lưới liên kết này có một vài đường biên tự nhiên.<br /> Khi nhà phát triển bắt đầu cài đặt ứng dụng, họ nhanh chóng phát hiện ra<br /> rằng mớ hỗn độn các liên kết không chuyển thành các đơn vị có thể lữu trữ,<br /> có thể phục hồi cùng nhờ tính toàn vẹn dữ liệu. Nếu dự án sử dụng cơ sở dữ<br /> liệu đối tượng thì nhà phát triển thậm chí phải đối mặt với những thách<br /> thức của việc ánh xạ các đối tượng vào các bảng quan hệ. Ở mức độ cơ<br /> bản, mô hình không cung cấp hướng dẫn để cài đặt.<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2