Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
1,55 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ Vũ Thị Tâm UML VÀ ỨNG DỤNG XÂY DỰNG MÔ HÌNH HỆ THỐNG QUẢN LÝ ĐÀO TẠO LUẬN VĂN THẠC SỸ Hà Nội, 2004 ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ Vũ Thị Tâm UML VÀ ỨNG DỤNG XÂY DỰNG MÔ HÌNH HỆ THỐNG QUẢN LÝ ĐÀO TẠO Chuyên ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Văn Vỵ Hà Nội, 2004 MỞ ĐẦU CHƢƠNG 1. PHƢƠNG PHÁP HƢỚNG ĐỐI TƢỢNG 1.1. Quá trình chung để phát triển phần mềm hƣớng đối tƣợng. 1.2. Các ƣu điểm của tiếp cận hƣớng đối tƣợng 1.3. Những vấn đề đặt ra trong việc khai thác phần mềm hƣớng đối tƣợng CHƢƠNG 2. CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỂN HƢỚNG ĐỐI TƢỢNG 2.1. Khái quát về UML. 2.2. Kiến trúc trong UML 2.2.1. Mô hình khái niệm của UML(conceptional model) 2.2.2. Các khối xây dựng 2.2.3. Các quan hệ: 2.2.4. Các biểu đồ trong UML 2.3. Các quy tắc của UML 2.4.Các cơ chế chung 2.5. Ứng dụng của UML CHƢƠNG 3. ỨNG DỤNG UML ĐỂ XÂY DỰNG MÔ HÌNH CHO HỆ THỐNG QUẢN LÝ ĐÀO TẠO. 3.1. Phát biểu bài toán 3.2. Mô tả nghiệp vụ 3.2.1. Các chức năng nghiệp vụ 3.2.2. Từ điển nghiệp vụ 3.3. Phân tích các ca sử dụng (Use case). 3.3.1. Các Actor của hệ thống. 3.3.2. Danh sách các ca sử dụng. 3.3.3. Mô hình các ca sử dụng và mô tả các ca sử dụng, mô hình miền CHƢƠNG 4. PHÂN TÍCH VÀ CÀI ĐẶT CHƢƠNG TRÌNH 4.1. Mô hình liên kết giữa các lớp 4.2. Mô hình cộng tác của các ca sử dụng trong gói 4.3. Biểu đồ tuần tự thực thi các ca sử dụng 4.4. Mô hình liên kết giữa các lớp 4.5. Mô tả chi tiết các lớp 4.6. Một số giao diện của chƣơng trình KẾT LUẬN VÀ KIẾN NGHỊ TÀI LIỆU THAM KHẢO 1 Mở đầu Trong quá trình phát triển của công nghệ phần mềm, nhiều dự án, nhiều chương trình phát triển phần mềm đã được thực hiện, nhưng hoặc là không kết thúc, hoặc xây dựng xong nhưng không thực hiện được hoặc đã xây dựng xong nhưng còn nhiều lỗi không đáp ứng được yêu cầu của người sử dụng. Vì để xây dựng một phần mềm tốt cần phải chú ý tới các vấn đề chính sau: - Dữ liệu, đối tượng và cấu trúc của chúng - Những hành vi thể hiện các chức năng và quá trình trong hệ thống - Điều khiển hành vi tổng thể của hệ thống Trong thực tế, cấu trúc dữ liệu và hành vi của hệ thống phải thường xuyên thay đổi theo yêu cầu của người sử dụng. Do vậy, việc khảo sát, phân tích, thiết kế hệ thống là một công việc rất phức tạp và quan trọng trong quá trình xây dựng một hệ thống phần mềm. Phải phân tích kỹ bài toán, lựa chọn phương pháp phát triển hệ thống thích hợp để cho hệ thống có tính mở, dễ thích nghi, chất lượng cao, giúp cho công việc bảo trì hệ thống đỡ tốn kém. Trong tất cả các giải pháp phát triển phần mềm hiện nay, giải pháp hướng đối tượng đã được xem như là giải pháp tốt cho những hệ thống phần mềm có qui mô lớn, độ phức tạp cao, có nhiều ưu điểm so với phương pháp hướng chức năng truyền thống. Có thể giải pháp hướng đối tượng sẽ còn được tiếp tục được cải tiến cùng với mô hình phát triển phần mềm. Nhưng hiện nay đây là một giải pháp tốt đang được sự quan tâm đặc biệt và nhiều công ty đã triển khai. Cùng với phương pháp luận, phương pháp phát triển phần mềm hướng đối tượng, công cụ UML (Unifiel Modelling Language) và các phần mêm được xây dựng trên nó ( Rational Rose, ) đã cung cấp một phương tiện mạnh cho phép triển khai phương pháp trên trong môi trường công nghiệp. UML là một ngôn ngữ mô hình hoá dùng để đặc tả, mô hình hoá, xây dựng và làm tài liệu cho một hệ thống phần mềm [3] hướng đối tượng. Ngôn ngữ này thể hiện trực quan được những quyết định và sự hiểu biết của chúng ta về hệ thống cần xây dựng. Nó là một công cụ mạnh và đầy đủ được dùng để phân tích, thiết kế, cài đặt, bảo trì và kiểm soát thông tin của hệ thống phần mềm lớn và 2 phức tạp. UML hiện là chuẩn công nghiệp của thế giới về ngôn ngữ đặc tả cho ngành công nghệ phần mềm và đang được những hãng sản xuất phần mềm nổi tiếng trên thế giới sử dụng như: Microsoft, Oracle, HP, … Vì vậy việc nghiên cứu phương pháp phân tích, thiết kế hướng đối tượng và sử dụng UML để phát triển phần mềm đang là một xu hướng trong kỹ nghệ phần mềm. Những nội dung chính của đề tài: Tổng quan phương pháp phát triển phần mềm theo định hướng đối tượng Giới thiệu về hệ công cụ UML Vận dụng phương pháp và công cụ nêu trên tiến hành phân tích, thiết kế hệ thống đào ạo ở một trường đại học. Luận văn này gồm bốn chương. Chương 1 và 2 giới thiệu tổng quan về phương pháp hướng đối tượng và các công cụ hỗ trợ. Chương 3 và chương 4 xây dựng mô hình cho hệ thống quản lý đào tạo sử dụng UML. Quản lý đào tạo là một công việc không thể thiếu được trong tất cả các hệ thống trường học, việc xây dựng một hệ thống quản lý tự động sẽ giúp hệ thống các trường học quản lý được hiệu quả, chính xác và đỡ tốn thời gian , sức lực của nhiều người. Thực hiện đề tài này giúp em hiểu sâu hơn các bước để phân tích, thiết kế một ứng dụng và phương pháp mô hình hoá hệ thống phần mềm hướng đối tượng bằng công cụ UML. Vì vấn đề được xét là rộng lớn và phức tạp, kết quả của luận văn mới dừng lại ở bước phân tích tổng thể bài toán và thiết kế chi tiết cho một phần quan trọng của bài toán. Tuy vậy, những vấn đề lý thuyết, phương pháp luận và công cụ phát triển phần mềm hướng đối tượng đã được sử dụng, vận dụng khá toàn diện. Đây là kết quả bước đầu nghiên cứu khoa học, chắc chắn còn rất nhiều hạn chế, rất mong được ý kiến đóng góp quý báu của các thầy cô và các bạn. Em cũng xin gửi lời cảm ơn chân thành đến PGS. TS. Nguyễn Văn Vỵ, người đã giúp đỡ em rất nhiều để em có thể hoàn thành luận văn này Hà nội, ngày 5 tháng 2 năm 2004 3 Vũ Thị Tâm chương 1. Phương pháp hướng đối tượng Hiện nay thông tin thực sự trở thành nguồn tài nguyên quan trọng, nguồn của cải to lớn của xã hội. Trong mọi lĩnh vực, các dữ liệu, các mối quan hệ của mọi hệ thống kinh tế xã hội đều được xử lý một cách nhanh chóng nhất trên máy tính. Hệ thống càng phát triển, tức là càng nhiều yếu tố hợp thành thì mối quan hệ giữa chúng càng trở nên phức tạp. Để xử lý lượng thông tin lớn như vậy, cần phải có những phương pháp và các công cụ hiện đại. 1.1. Quá trình chung để phát triển phần mềm hướng đối tượng. Tiến trình thực hiện một bước lặp bao gồm xác định yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử, chính là nội dung cơ bản của tiến trình phát triển phần mềm hướng đối tượng. Trong các hoạt động đó, hoạt động phân tích và thiết kế đặt ra nhiều vấn đề nan giải hơn cả.[3] Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng Đặc điểm của phân tích và thiết kế hướng đối tượng là nhìn nhận hệ thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết quả ở mức cao hơn. Để làm được điều đó người ta phải sử dụng hệ thống mô hình các đối tượng với các đặc trưng cơ bản sau đây: - Tính trừu tượng hoá cao - Tính bao gói thông tin - Tính mô đun hoá - Tính kế thừa Ngày nay, UML là công cụ được thiết kế có tất cả những tính chất và điều kiện giúp ta xây dựng được các mô hình đối tượng có được các đặc trưng nêu ra ở trên. Lập mô hình nghiệp vụ Để có thể nắm bắt được yêu cầu hệ thống, trước hết ta phải nắm và hiểu được hệ thống nghiệp vụ. Việc mô tả các yêu cầu của hệ thống nghiệp vụ đủ tốt là cần thiết để có thể đạt được sự nhất trí giữa khách hàng và những người phát triển về những gì mà hệ thống cần làm, không nên làm và những điều kiện ràng buộc đặt ra cho chúng. Mục 4 tiêu của bước này là để hiểu đúng và đầy đủ về hệ thống mà ta cần phải tin học hoá thuần tuý về mặt nghiệp vụ. Muốn vậy, trước hết cần xác định phạm vi và chức năng hệ thống cần nghiên cứu bằng cách liệt kê các chức năng mà hệ thống thực hiện, chỉ ra mối quan hệ của nó với môi trường thông qua việc sử dụng các chức năng của hệ thống. Tiếp đó cần tìm các ca sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua đó con người và các hệ thống khác sử dụng chúng.[1] Xác định yêu cầu hệ thống Nhiệm vụ chính trong xác định yêu cầu là phát triển một mô hình của hệ thống cần xây dựng bằng cách dùng các ca sử dụng. Điều này là tự nhiên, bởi vì các yêu cầu về chức năng được cấu trúc thành các ca sử dụng và do phần lớn các yêu cầu phi chức năng đều là riêng dối với một ca sử dụng đơn nên chúng cũng được xử lý trong các ca sử dụng đó. Để mô tả các yêu cầu nghiệp vụ dưới góc độ phát triển phần mềm ta cần tìm các tác nhân và các ca sử dụng để chuẩn bị một phiên bản đầu tiên của mô hình ca sử dụng. Sau đó, ta sẽ xác định các ca sử dụng có ý nghĩa về mặt kiến trúc và sắp thứ tự ưu tiên các ca sử dụng sẽ được triển khai trong bước lặp hiện thời.[4] Phân tích Nhiệm vụ của pha phân tích là làm mịn dần các yêu cầu đã nhận được từ pha trước và tạo cấu trúc cho chúng. Thông qua đó, các yêu cầu được hiểu chính xác hơn, từ đó đưa ra cấu trúc cho toàn bộ hệ thống. Nhiệm vụ của pha phân tích là tìm ra cách thức để thực hiện các yêu cầu của hệ thống đã được xác định trong các ca sử dụng. Cụ thể là, cần phân tích mô hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên trong của hệ thống để thực hiện mỗi ca sử dụng. Những thành phần cấu trúc bên trong hệ thống ở đây chính là ba loại lớp phân tích. Công việc xác định các lớp không phải làm tuỳ tiện mà thực hiện theo từng ca sử dụng, trước hết cho các ca sử dụng theo thứ tự ưu tiên được sắp. Sau đó, cấu trúc lại cách tổ chức các thành phần này của hệ thống. Để đạt mục tiêu này cần tiến hành các hoạt động: - Phân tích kiến trúc hệ thống - Phân tích một ca sử dụng 5 - Phân tích một lớp - Phân tích một gói Trong quá trình phân tích, ta sẽ liên tục tìm các gói, các lớp phân tích mới và các yêu cầu chung khi tiếp tục làm mịn mô hình bằng cách phân tích các gói phân tích và duy trì các gói đó. Thiết kế Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức thể hiện về mặt vật lý của nó (kể cả kiến trúc) để thực hiện mọi yêu cầu được đặt ra cho hệ thống. Một đầu vào cho thiết kế là mô hình phân tích. Khi thiết kế ta sẽ cố gắng bảo tồn được càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích. Kết quả của thiết kế là mô hình thiết kế và mô hình triển khai được thể hiện ra dưới dạng một loạt các mô hình cụ thể. Mô hình thiết kế là sự thực thi mô hình phân tích khi tính đến các điều kiện của môi trường để thực thi hệ thống. Để nhận được mô hình thiết kế ta cần thực hiện các công việc sau: - Thiết kế kiến trúc - Thiết kế một ca sử dụng - Thiết kế một lớp - Thiết kế một hệ thống con Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử dụng về mặt vật lý bằng cách tập trung vào việc xác định các yêu cầu chức năng và phi chức năng, cũng như các ràng buộc khác liên quan đến môi trường triển khai và ảnh hưởng của chúng lên hệ thống. Đặc điểm của cách tiếp cân hướng đối tượng Sử dụng kết hợp cả hai cách thiết kế: trên - xuống (top-down) và dưới-lên (bottom-up). Kỹ thuật phân rã chức năng trên-xuống được áp dụng để thiết kế các lớp, còn cấu trúc cả hệ thống được xây dựng dựa trên kiến trúc đơn thể được đặc tả trong miền ứng dụng và hỗ trợ một phần trong việc sử dụng lại - cách tiếp cận dưới - lên và nguyên lý che dấu thông tin cho phép sử dụng lại một cách tối đa. 1.2. Các ưu điểm của tiếp cận hướng đối tượng 6 Những đối tượng được thiết kế tốt trong hệ thống hướng đối tượng là cơ sở để kết hợp các đơn thể (module) được sử dụng lại thành hệ thống có chất lượng cao hơn. Cơ chế tương tác bằng cách truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các modul bên trong hệ thống và hệ thống bên ngoài trở nên dễ dàng hơn. Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực, là tự nhiên hơn so với cách phân rã theo chức năng từ trên xuống (Top-down). Nguyên lý che dấu thông tin hỗ trợ cho việc xây dựng các hệ thống thông tin an toàn. Nguyên lý thiết kế dựa vào sự bao gói cả dữ liệu và xử lý trong một đối tượng rất phù hợp với ngữ nghĩa của mô hình trong cài đặt. Lập trình hướng đối tượng và kỹ thuật kế thừa cho phép xác định các modul và sử dụng ngay sau khi chúng chưa thực hiện đầy đủ các chức năng và sau đó mở rộng các đơn thể đó mà không ảnh hưởng tới các đơn thể đã có. Tiếp cận hướng đối tượng cung cấp cho ta công cụ hỗ trợ giải quyết độ phức tạp của bài toán bằng việc phân rã thành các thành phần độc lập tương đối với nhau. Hệ thống hướng đối tượng dễ dàng mở rộng thành các hệ thống có quy mô lớn hơn nhờ tương tác giữa các đối tượng thông qua việc gửi và nhận thông báo. Về vấn đề phát triển và bảo trì hệ thống đơn giản hơn do có sự phân hoạch rõ ràng, là kết quả của việc bao gói thông tin và sự kết nối giữa các đối tượng thông qua giao diện, là việc sử dụng lại các thành phần tin cậy. Xoá bỏ được hố ngăn cách giữa các bước phát triển, thiết kế và cài đặt trong quá trình phát triển phần mềm.[2] 1.3. Những vấn đề đặt ra trong việc khai thác phần mềm hướng đối tượng - Xác định các lớp và đối tượng - Gán trách nhiệm - Giao tiếp với cơ sở dữ liệu - Cần có công cụ thích hợp: UML [...]... diễn khuôn mẫu, giá trị thẻ hay ràng buộc 2.5 ứng dụng của UML UML không chỉ là công cụ mạnh trợ giúp phát triển các hệ thống phần mềm quy mô lớn, phức tạp mà còn trợ giúp phát triển nhiều các hệ thống khác, tổ chức các hệ kinh doanh, các hệ kỹ thuật chương 3 ứng dụng UML để xây dựng mô hình cho hệ thống quản lý đào tạo 31 3.1 Phát biểu bài toán Quản lý đào tạo là một hoạt động không thể thiếu được trong... xây dựng nên một mô hình tốt Luận văn này đề cập đến việc sử dụng UML để nắm bắt các yêu cầu và tiến hành các phân tích và thiết kế mô hình cho hệ thống quản lý đào tạo trong một trường đại học 3.2 Mô tả nghiệp vụ 3.2.1 Các chức năng nghiệp vụ Có thể hình dung công việc quản lý đào tạo đại học bao gồm những công việc cụ thể như sau: Quản lý tuyển sinh: là quản lý thi tuyển đầu vào cho mỗi cơ sở đào. .. chóng 32 Quản lý chương trình đào tạo bao gồm toàn bộ quá trình cập nhật ngành đào tạo, hệ đào tạo, cập nhật môn học, xác lập chương trình đào tạo cho mỗi lớp và lập lịch thực hiện Những người quan tâm tới chương trình đào tạo có thể xem chương trình đào tạo đó và những chương trình đào tạo có thể được sao lưu lại, in ấn nếu cần thiết Quản lý học tập là toàn bộ các hoạt động quản lý quá trình... Ta sẽ sử dụng biểu đồ bố trí để: Mô hình hoá các hệ thống nhúng Mô hình hoá các hệ thống máy khách/ máy dịch vụ Mô hình hoá các hệ thống phân tán đầy đủ Một ví dụ về biểu đồ bố trí: SQL server 28 Hình 2.15: Một ví dụ về biểu đồ bố trí 2.3 Các quy tắc của UML Mô hình hoá một hệ thống không đơn giản là lắp ghép các khối được xây dựng của UML một cách ngẫu nhiên Giống như mọi ngôn ngữ, UML có một... kiến trúc hệ thống và các chi tiết của nó UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hoá các hoạt động lập kế hoạch và quản lý sản phẩm - UML cho biết giới hạn của hệ thống và các chức năng của nó thông qua các trường hợp sử dụng (Use case) và tác nhân (Actor) - Trong UML các trường hợp sử dụng được mô tả bằng biểu đồ lôgic - Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp - Mô hình hoá... sử dụng ngôn ngữ UML cung cấp cho chúng ta phương tiện đủ mạnh để xác định các đối tượng và xây dựng các đơn thể của hệ thống cần phát triển 2.1 Khái quát về UML UML là một ngôn ngữ chuyên dụng UML được đưa vào sử dụng từ năm 1997, và đã nhanh chóng được công nghiệp phần mềm chấp nhận làm ngôn ngữ đồ hoạ chuẩn để đặc tả, xây dựng và làm tài liệu cho các hệ thống phần mềm chuyên sâu UML là ngôn ngữ mô. .. ra các hệ thống vật lý Khung nhìn này hướng đến việc quản lý cấu hình của hệ thống Khung nhìn bố trí bao gồm các nút tạo nên kết cấu phần cứng mà trên đó hệ thống vận hành Khung nhìn này chủ yếu hướng đến sự phân tán và cài đặt cụ thể của hệ thống [4] 2.2.1 Mô hình khái niệm của UML( conceptional model) Các khối xây dựng Sự vật Sự vật cấu trúc Sự vật hành vi Quan hệ Sự vật nhóm gộp Ca sử dụng Tương... ngữ mô hình hoá, ngôn ngữ chuẩn thống nhất để viết ra bản kế hoạch chi tiết phần mềm Nó mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa chính mô hình hoá Các khung nhìn của ngôn ngữ cho phép nhìn nhận hệ thống được phát triển khác nhau, nó không khó hiểu và dễ sử dụng Như mọi ngôn ngữ mô hình hoá khác, UML có ký pháp (các biểu tượng sử dụng trong mô hình )và tập các quy tắc sử dụng nó để mô hình. .. Các quan hệ giữa các lớp: Các lớp và các đối tượng cùng với biểu đồ lớp, biểu đồ đối tượng cho ta cái nhìn tĩnh về hệ thống Khía cạnh động hay ứng xử của hệ thống thể hiện qua sự hợp tác của một tập hợp các đối tượng Trong hệ thống, một đối tượng luôn luôn có các mối quan hệ với các đối tượng khác Vì vậy, khi mô hình hoá hệ thống ta không chỉ mô hình các đối tượng mà còn phải mô hình hoá quan hệ các... thành phần chỉ ra tập hợp các thành phần và các mối quan hệ của chúng Người ta sử dụng biểu đồ thành phần để mô tả cấu trúc phần mềm, các thành phần thực thi tĩnh của hệ thống Ta sử dụng biểu đồ thành phần để Mô hình hoá mã nguồn Mô hình hoá xuất phẩm có thể thực hiện được Mô hình hoá các cơ sở dữ liệu vật lý Mô hình hoá các hệ thống có thể làm thích ứng được Một ví dụ về biểu đồ thành phần: . tượng và các công cụ hỗ trợ. Chương 3 và chương 4 xây dựng mô hình cho hệ thống quản lý đào tạo sử dụng UML. Quản lý đào tạo là một công việc không thể thiếu được trong tất cả các hệ thống. của UML 2.4.Các cơ chế chung 2.5. Ứng dụng của UML CHƢƠNG 3. ỨNG DỤNG UML ĐỂ XÂY DỰNG MÔ HÌNH CHO HỆ THỐNG QUẢN LÝ ĐÀO TẠO. 3.1. Phát biểu bài toán 3.2. Mô tả nghiệp vụ 3.2.1. Các chức năng. ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ Vũ Thị Tâm UML VÀ ỨNG DỤNG XÂY DỰNG MÔ HÌNH HỆ THỐNG QUẢN LÝ ĐÀO TẠO Chuyên ngành: Công nghệ thông tin Mã số: 1.01.10