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.. UML hiÖn lµ chuÈn c«ng nghiÖp cña thÕ giíi vÒ..[r]
(1)đại học quốc gia hà nội khoa cụng ngh
Vũ Thị Tâm
UML ứng dụng xây dựng mơ hình hệ thng qun lý o to
luận văn thạc sü
(2)đại học quốc gia hà nội khoa cơng nghệ
Vị ThÞ Tâm
UML ứ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ỹ
(3)Mở đầu
Trong quỏ trỡnh phỏt triển 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 không kết thúc, xây dựng xong nh-ng không thực đ-ợc xây dựng xong nh-ng cịn nhiều lỗi khơng đáp ứng đ-ợc u cầu ng-ời sử dụng Vì để xây dựng phần mềm tốt cần phải ý tới vấn đề sau:
- Dữ liệu, đối t-ợng cấu trỳc ca chỳng
- Những hành vi thể chức trình hệ thống
- Điều khiển hành vi tổng thể hệ thống
Trong thực tế, cấu trúc liệu hành vi hệ thống phải th-ờng xuyên thay đổi theo yêu cầu ng-ời sử dụng Do vậy, việc khảo sát, phân tích, thiết kế hệ thống cơng việc phức tạp quan trọng trình xây dựng hệ thống phần mềm Phải phân tích kỹ toán, lựa chọn ph-ơng pháp phát triển hệ thống thích hợp 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
Trong tất giải pháp phát triển phần mềm nay, giải pháp h-ớng đối t-ợng đ-ợc xem nh- giải pháp tốt cho 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 truyền thống Có thể giải pháp h-ớng đối t-ợng cịn đ-ợc tiếp tục đ-ợc cải tiến với mơ hình phát triển phần mềm Nh-ng giải pháp tốt đ-ợc quan tâm đặc biệt nhiều công ty triển khai
(4)ngôn ngữ đặc tả cho ngành công nghệ phần mềm đ-ợc hãng sản xuất phần mềm tiếng giới sử dụng như: Microsoft, Oracle, HP, …
Vì việc nghiên cứu ph-ơng pháp phân tích, thiết kế h-ớng đối t-ợng sử dụng UML để phát triển phần mềm xu h-ớng kỹ nghệ phần mềm
Những nội dung đề 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 UML
Vận dụng ph-ơng pháp công cụ nêu tiến hành phân tích, thiết kế hệ thống đào ạo tr-ờng đại học
Luận văn gồm bốn ch-ơng Ch-ơng giới thiệu tổng quan ph-ơng pháp h-ớng đối t-ợng công cụ hỗ trợ Ch-ơng ch-ơng 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 công việc thiếu đ-ợc tất hệ thống tr-ờng học, việc xây dựng hệ thống quản lý tự động giúp hệ thống tr-ờng học quản lý đ-ợc hiệu quả, xác đỡ tốn thời gian , sức lực nhiều ng-ời
Thực đề tài giúp em hiểu sâu b-ớc để phân tích, thiết kế ứng dụng ph-ơng pháp mơ hình hố hệ thống phần mềm h-ớng đối t-ợng cơng cụ UML Vì vấn đề đ-ợc xét rộng lớn phức tạp, kết luận văn dừng lại b-ớc phân tích tổng thể tốn thiết kế chi tiết cho phần quan trọng toán Tuy vậy, vấn đề lý thuyết, ph-ơng pháp luận công cụ phát triển phần mềm h-ớng đối t-ợng đ-ợc sử dụng, vận dụng toàn diện Đây kết b-ớc đầu nghiên cứu khoa học, chắn nhiều hạn chế, mong đ-ợc ý kiến đóng góp quý báu thầy cô bạn Em 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 nhiều để em hồn thành luận văn
Hµ néi, ngµy tháng năm 2004
Vũ Thị Tâm
(5)Hin thông tin thực trở thành nguồn tài nguyên quan trọng, nguồn cải to lớn xã hội Trong lĩnh vực, liệu, mối quan hệ hệ thống kinh tế xã hội đ-ợc xử lý cách nhanh chóng máy tính Hệ thống phát triển, tức nhiều yếu tố hợp thành mối quan hệ chú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ó ph-ơng pháp cơng cụ đại
1.1 Q trình chung để phát triển phần mềm h-ớng đối t-ợng
Tiến trình thực b-ớc lặp bao gồm xác định yêu cầu hệ thống, phân tích, thiết kế, triển khai kiểm thử, nội dung tiến trình phát triển phần mềm h-ớng đối t-ợng Trong hoạt động đó, hoạt động phân tích thiết kế đặt nhiều vấn đề nan giải cả.[3]
Những vấn đề đặt phân tích thiết kế h-ớng đối t-ợng
Đặc điểm phân tích thiết kế h-ớng đối t-ợng nhìn nhận hệ thống nh- tập đối t-ợng t-ơng tác với để tạo hành động cho kết mức cao Để làm đ-ợc điều ng-ời ta phải sử dụng hệ thống mơ hình đối t-ợng với đặc tr-ng 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 cơng cụ đ-ợc thiết kế có tất tính chất điều kiện giúp ta xây dựng đ-ợc mơ hình đối t-ợng có đ-ợc đặc tr-ng nờu trờn
Lập mô hình nghiệp vô
(6)vi chức hệ thống cần nghiên cứu cách liệt kê chức mà hệ thống thực hiện, mối quan hệ với mơi tr-ờng thơng qua việc sử dụng chức hệ thống Tiếp cần tìm ca sử dụng nghiệp vụ từ chức hệ thống mà qua ng-ời hệ thống khác sử dụng chúng.[1]
Xác định yêu cầu hệ thống
Nhiệm vụ xác định yêu cầu phát triển mô hình hệ thống cần xây dựng cách dùng ca sử dụng Điều tự nhiên, yêu cầu chức đ-ợc cấu trúc thành ca sử dụng phần lớn yêu cầu phi chức riêng dối với ca sử dụng đơn nên chúng đ-ợc xử lý ca sử dụng Để mơ tả yêu cầu nghiệp vụ d-ới góc độ phát triển phần mềm ta cần tìm tác nhân ca sử dụng để chuẩn bị phiên mơ hình ca sử dụng Sau đó, ta xác định ca sử dụng có ý nghĩa mặt kiến trúc thứ tự -u tiên ca sử dụng đ-ợc triển khai b-ớc lặp thời.[4]
Ph©n tÝch
Nhiệm vụ pha phân tích làm mịn dần yêu cầu nhận đ-ợc từ pha tr-ớc tạo cấu trúc cho chúng Thơng qua đó, u cầu đ-ợc hiểu xác hơn, từ đ-a cấu trúc cho toàn hệ thống
Nhiệm vụ pha phân tích tìm cách thức để thực yêu cầu hệ thống đ-ợc xác định ca sử dụng Cụ thể là, cần phân tích mơ hình ca sử dụng cách tìm cách tổ chức thành phần bên hệ thống để thực ca sử dụng Những thành phần cấu trúc bên hệ thống ba loại lớp phân tích Cơng việc xác định lớp làm tuỳ tiện mà thực theo ca sử dụng, tr-ớc hết cho ca sử dụng theo thứ tự -u tiên đ-ợc Sau đó, cấu trúc lại cách tổ chức thành phần hệ thống Để đạt mục tiêu cần tiến hành hoạt động:
- Ph©n tÝch kiÕn tróc hƯ thèng
- Ph©n tÝch mét ca sư dơng
- Ph©n tÝch mét líp
(7)Trong q trình phân tích, ta liên tục tìm gói, lớp phân tích yêu cầu chung tiếp tục làm mịn mô hình cách phân tích gói phân tích trì gói
ThiÕt kÕ
Trong thiết kế, định hình hệ thống tìm hình thức thể mặt vật lý (kể kiến trúc) để thực yêu cầu đ-ợc đặt cho hệ thống Một đầu vào cho thiết kế mơ hình phân tích Khi thiết kế ta cố gắng bảo tồn đ-ợc nhiều tốt cấu trúc hệ thống đ-ợc định hình từ mơ hình phân tích Kết thiết kế mơ hình thiết kế mơ hình triển khai đ-ợc thể d-ới dạng loạt mô hình cụ thể Mơ hình thiết kế thực thi mơ hình phân tích tính đến điều kiện môi tr-ờng để thực thi hệ thống
Để nhận đ-ợc mô hình thiết kế ta cần thự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
Mơ hình thiết kế mơ hình đối t-ợng mơ tả thực thi ca sử dụng mặt vật lý cách tập trung vào việc xác định yêu cầu chức phi chức năng, nh- ràng buộc khác liên quan đến môi tr-ờng triển khai ảnh h-ởng chúng lên hệ thống
Đặc điểm cách tiếp cân h-ớng đối t-ợng
Sử dụng kết hợp hai cách thiết kế: - xuống (top-down) d-ới-lên (bottom-up) Kỹ thuật phân rã chức trên-xuống đ-ợc áp dụng để thiết kế lớp, cấu trúc hệ thống đ-ợc xây dựng dựa kiến trúc đơn thể đ-ợc đặc tả miền ứng dụng hỗ trợ phần việc sử dụng lại - cách tiếp cận d-ới - lên nguyên lý che dấu thông tin cho phép sử dụng lại cách tối đa
1.2 Các -u điểm tiếp cận h-ớng đối t-ợng
Những đối t-ợng đ-ợc thiết kế tốt hệ thống h-ớng đối t-ợng sở để kết
(8) Cơ chế t-ơng tác cách truyền thông điệp đối t-ợng đảm bảo cho việc mô tả giao diện modul bên hệ thống hệ thống bên trở nên dễ dàng
Việc phân tích thiết kế theo cách phân tốn thành đối t-ợng h-ớng
tíi lời giải giới thực, tự nhiên so với cách phân rà theo chức từ xuống (Top-down)
Nguyên lý che dấu thông tin hỗ trợ cho việc xây dựng hệ thống thông tin an
toµn
Nguyên lý thiết kế dựa vào bao gói liệu xử lý đối t-ợng
phù hợp với ngữ nghĩa mơ hình cài đặt
Lập trình h-ớng đối t-ợng kỹ thuật kế thừa cho phép xác định modul sử
dụng sau chúng ch-a thực đầy đủ chức sau mở rộng đơn thể mà khơng ảnh h-ởng tới đơn thể có
Tiếp cận h-ớng đối t-ợng cung cấp cho ta công cụ hỗ trợ giải độ phức tạp
của toán việc phân rã thành thành phần độc lập t-ơng
Hệ thống h-ớng đối t-ợng dễ dàng mở rộng thành hệ thống có quy mơ lớn
hơn nhờ t-ơng tác đối t-ợng thông qua việc gửi nhận thông báo Về vấn đề phát triển bảo trì hệ thống đơn giản có phân hoạch rõ
ràng, kết việc bao gói thơng tin kết nối đối t-ợng thông qua giao diện, việc sử dụng lại thành phần tin cậy
Xoá bỏ đ-ợc hố ngăn cách b-ớc phát triển, thiết kế cài đặt
tr×nh phát triển phần mềm.[2]
1.3 Nhng t việc khai thác phần mềm h-ớng đối t-ợng - Xác định lớp đối t-ợng
- G¸n tr¸ch nhiƯm
(9)Ch-ơng Các công cụ hỗ trợ phát triển h-ớng đối t-ợng Ph-ơng pháp phân tích thiết kế h-ớng đối t-ợng với việc sử dụng ngôn ngữ UML cung cấp cho ph-ơng tiện đủ mạnh để xác định đối t-ợng xây dựng đơn thể hệ thống cần phát triển
2.1 Kh¸i qu¸t vỊ UML
UML ngôn ngữ chuyên dông
UML đ-ợc đ-a vào sử dụng từ năm 1997, 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 làm tài liệu cho hệ thống phần mềm chuyên sâu
UML ngôn ngữ mơ hình hố, ngơn ngữ chuẩn thống để viết kế hoạch chi tiết phần mềm Nó mô tả ký pháp thống nhất, ngữ nghĩa định nghĩa mơ hình hố Các khung nhìn ngơn ngữ cho phép nhìn nhận hệ thống đ-ợc phát triển khác nhau, khơng khó hiểu dễ sử dụng Nh- ngơn ngữ mơ hình hố khác, UML có ký pháp (các biểu t-ợng sử dụng mơ hình)và tập quy tắc sử dụng để mơ hình hố hệ thống giới thực
UML ngôn ngữ
L mt ngụn ngữ UML có từ vựng quy tắc tổ hợp từ vựng nhằm mục đích giao tiếp Ngơn ngữ mơ hình ngơn ngữ có từ vựng quy tắc tập trung vào biểu diễn mặt vật lý khái niệm hệ thống Vì vậy, UML ngôn ngữ chuẩn công nghiệp để viết kế hoạch chi tiết phần mềm
UML ngôn ngữ để biểu diễn đồ hoạ
(10)viết thành mơ hình thơng tin viết lại cách đầy đủ xem mã lệnh tr-ờng hợp ng-ời viết mã chuyển nơi khác làm việc Để khắc phục nh-ợc điểm trên, ta sử dụng ngôn ngữ UML để xây dựng mơ hình khác nhau:
- Mỗi ký pháp UML mang ngữ nghĩa rõ ràng, nên ng-ời
trong i phỏt triển viết mơ hình UML ng-ời khác hiểu đ-ợc, chí cơng cụ khác dịch đ-ợc mơ hình cách rõ ràng
- Các cấu trúc mô tả d-ới dạng mơ hình đồ hoạ nên dễ dàng nắm bắt
- Mơ hình rõ ràng làm cho việc trao đổi, giao tiếp trở nên dễ dàng
UML ngôn ngữ đặc tả
Đặc tả mô tả rõ ràng điểm mấu chốt vấn đề UML cho phép mơ tả xác, khơng nhập nhằng hồn thiện UML tập trung đặc tả tồn định phân tích, thiết kế cài đặt quan trọng trình phát triển triển khai hệ thống phần mềm
UML ngôn ngữ để tạo mã
UML ngơn ngữ lập trình trực quan, mơ hình kết nối trực tiếp tới ngơn ngữ lập trình khác Điều có nghĩa ánh xạ từ mơ hình UML sang ngơn ngữ lập trình nh- Java, C++ Visual Basic, chí sang bảng sở liệu quan hệ sở liệu h-ớng đối t-ợng Đồng thời thực ng-ợc lại từ cài đặt mơ hình UML Điều có nghĩa cho phép làm việc với văn bản, ch-ơng trình, hay đồ ho mt cỏch nht quỏn
UML ngôn ngữ làm tài liệu
UML h-ng ti lm ti liệu kiến trúc hệ thống chi tiết UML cho khả biểu diễn yêu cầu, thử nghiệm, mơ hình hố hoạt động lập kế hoạch quản lý sản phẩm
- UML cho biÕt giới hạn hệ thống chức thông qua tr-ờng hợp sử dụng (Use case) tác nhân (Actor)
(11)- Tài liƯu tham kh¶o - TiÕng ViƯt
- [1] Đồn Văn Ban (1997), Phân tích thiết kế lập trình h-ớng đối t-ợng,
tr23-35 NXB Thèng Kª
- [2] Đồn Văn Ban (2003), Phân tích, thiết kế h-ớng đối t-ợng
UML,tr19-27
- [3] Đặng Văn Đức (2002), Phân tích thiết kế h-ớng đối t-ợng UML, NXB
Gi¸o dơc
- [4] Nguyễn Văn Vỵ (2002), Phân tích thiết kế hệ thống thơng tin đại,
ch-¬ng 15, NXB Thèng Kª
- [5] Lª Minh TrÝ, (2002), JavaScipt, tËp 2, NXB trỴ - TiÕng Anh
- [6].Grady Booch, James Rumbaugh, Ivar Jacobson, 1999), The Unifiel
Modelling Language user Guide, Addison- Wesley, 482pp
- [7] Boggs, W., and Boggs, W., (1999), Matering UML with Rational Rose,
Sybex, 957pp
- [8] Craig Larman, (1998), Applying UML and Patterns, Prentice Hall PTR,
507pp
- [9] Eriksson, H.E., (1998), UML Toolkit, Wiley Computer, 397pp
- [10] Jacobson, Ivar, Grady Booch, and Jame Rumbaugh, (1999), The Unified
Software Development Process, Addison Wesley Longman, 463pp
- [11] Ivar Jacobson, Magnus Christerson, Patrik Jonsson, and Gunnar Evergaard,
(2000), Object Oriented Softward Engineering, Use Case Drive Approach,
Wokingham, England, Addison Wesley, 245pp
- [12] Mughal, K.A., and Rasmussen, R.W., (2000), A.Programmer’s Guide to
JavaTM Certification, A®ion – Wesley
- [13] Trainee’s Material, (1997), Internet and Java, First Edition
- [14] Zhiming Liu, (2001), Object Oriented Software Development Using UML,
(12)