Vì 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 hết sức phức tạp, và quan trọng trong quá trình xây dựng và phát triển phần mềm.. Do đó, việc nghiên cứu và vận dụng
Trang 11
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Dương Chí Thiện
Phân tích thiết kế hướng đối tượng hệ thống quản lý hồ sơ và kết quả học tập
Luận văn Thạc sĩ
Hà Nội - 2006
Trang 2MỤC LỤC
1.1 QUY TRèNH CHUNG ĐỂ PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI
TƯỢNG 5
1.2 CễNG CỤ HỖ TRỢ PHÁT TRIỂN HƯỚNG ĐỐI TƯỢNG UML 8
1.3 ĐẶC TRƯNG TIẾN TRèNH PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG VỚI UML 27
CHƯƠNG 2GIỚI THIỆU GRASP - CÁC MẪU DÙNG CHO GÁN TRÁCH
2.1 Cỏc khỏi niệm cơ bản 31
2.2 Cỏc mẫu trongGRASP : 37
Ch-ơng 3 Xây dựng hệ thống quản lý hồ sơ và kết quả học tập bằng ph-ơng pháp tiếp cận h-ớng đối t-ợng
64
3.1 Mô tả nghiệp vụ 64
3.2 Phân tích ca sử dụng 73
ch-ơng 4 phân tích và cài đặt ch-ơng trình quản lý
4.1 Kiến trúc hệ thống quản lý hồ sơ và điểm 114
4.2 Kiến trúc hệ thống 114
4.3 Phân tích cài đặt hệ thống quản lý hồ sơ và điểm 115
Trang 33
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới Thầy hướng dẫn TS Lê Văn Phùng đã có những chỉ dẫn quý báu trong quá trình em làm luận văn Em xin chân thành cảm ơn các Thầy Cô thuộc Trường Đại học công nghệ đã tận tình giảng dạy, truyền đạt kiến thức trong suốt thời gian học tập nghiên cứu tại trường Tôi xin chân thành cảm ơn tới các đồng nghiệp, tẩp thể cán bộ công chức phòng Đào tạo trường Đại học Công đoàn đã tạo điều kiện trong suốt thời gian học tập và nghiên cứu Cuối cùng xin bày tỏ lòng cảm ơn tới những người thân trong gia đình, bạn bè đã động viên và giúp đỡ để tôi hoàn thành bản luận văn này
Trang 4LỜI MỞ ĐẦU
Trong những năm gần đây việc ứng dụng và phát triển công nghệ phần mềm là một phần quan trọng trong khâu sản xuất phần mềm Nhiều dự án, nhiều chương trình phần mềm đã được thực hiện nhưng chưa kết thúc hoặc xây dựng xong vẫn không thực hiện được hoặc còn nhiều lỗi không đáp ứng được yêu cầu của người sử dụng Vì vậy, để 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 hệ thống
- Những hành vi thể hiện chức năng của hệ thống
- Điều khiển hành vi tổng thể của hệ thống
Trên thực tế, cấu trúc dữ liệu 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 Vì 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 hết sức phức tạp, và quan trọng trong quá trình xây dựng và phát triển phần mềm Phân tích bài toán, lựa chọn phương pháp phát triển hệ thống có tính mở, dễ thích nghi, chất lượng cao, giúp cho việc bảo trì hệ thống đỡ tốn kém
Trong các giải pháp phát triển phần mềm hiện nay, giải pháp phát triển phần mềm hướng đối tượng là một giải pháp tốt cho những hệ thống phần mềm, nó có nhiều ưu điểm so với phương pháp hướng chức năng truyền thống khác
Do đó, việc nghiên cứu và vận dụng phương pháp phân tích, thiết kế hướng đối tượng sử dụng UML (UML là ngôn 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) để phát triển phần mềm, giải quyết những bài toán lớn có dữ liệu phân tán là hết sức cần thiết Bài toán phát triển hệ thống quản lý hồ sơ và kết quả học tập là một trong những bài toán ứng dụng công nghệ này Tuy nhiên, hiện nay ở các
Trang 55
trường Đại học có quy mô như trường Đại học Công đoàn thì chưa có một
hệ thống quản lý hồ sơ và kết quả học tập hoàn chỉnh để đáp ứng được các yêu cầu đặt ra do đó việc ứng dụng công nghệ thông tin vào công tác quản lý trở nên hết sức cấp thiết Với đề tài “ Phân tích hướng đối tượng hệ thống quản lý hồ sơ và kết quả học tập” gồm những nội dung sau:
Chương 1 : Phương pháp hướng đối tượng
Chương 2: Grasp – Các mẫu dùng cho gán trách nhiệm
Chương 3: Xây dựng hệ thống quản lý hồ sơ và kết quả học tập bằng phương pháp tiếp cận hướng đối tượng
Chương 4: Phân tích và cài đặt chương trình quản lý hồ sơ và kết quả học tập
Nội dung của đề tài giới thiệu phương pháp hướng đối tượng, các công
cụ hỗ trợ phát triển hướng đối tượng Đặc biệt, đề tài đã vận dụng các công
cụ thiết kế hướng đối tượng sử dụng UML – một ngôn ngữ mô hình hoá thống nhất đang được sử dụng rộng rãi trên thế giới để ứng dụng vào việc phân tích thiết kế hệ thống quản lý hồ sơ và kết quả học tập tại trường Đại học Công đoàn
Hà nội, ngày tháng năm 2006 Dương Chí Thiện
Trang 6CHƯƠNG 1 PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG
1.1 QUY TRÌNH CHUNG ĐỂ PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG
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 là 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ử Trong đó, hoạt động phân tích và thiết kế có nhiều vấn đề nan giải hơn cả Đặc điểm của phân tích và thiết kế hướng đối tượng coi hệ thống như một tập các đối tượng tương tác với nhau
để tạo ra các hành động, từ đó cho ra kết quả cao Để đạt được điều đó ta
phải sử dụng hệ thống mô hình các đối tượng với những đặc trưng sau:
Tính trừu tượng hóa cao
Tính bao gói thông tin
Tính modul hóa
Tính kế thừa
1.1.1 Lập mô hình nghiệp vụ
Mô hình nghiệp vụ là một mô tả chức năng nghiệp vụ của một tổ chức
và những mối quan hệ bên trong các chức năng đó cũng như các quan hệ của chúng với môi trường bên ngoài Vì thế, để có thể nắm bắt được yêu cầu của
hệ thống trước hết 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ụ đầy đủ là cần thiết để đạt được sự nhất trí giữa khách hàng và người phát triển hệ thống cần làm và không nên làm những điều kiện ràng buộc đặt ra cho chúng Mục 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 hóa thuần túy về mặt nghiệp vụ Bên cạnh đó 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]
Trang 77
1.1.2 Xác định yêu cầu hệ thống
Nhiệm vụ chính trong xác định yêu cầu phát triển mô hình hệ thống cần xây dựng bằng cách dùng các ca sử dụng 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 đố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 xế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
1.1.3 Phân tích
Nhiệm vụ của pha phân tích là làm mị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 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 của hệ thống ở đây 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 tùy 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 lại các thành phần này của hệ thống Để đạt được mục tiêu ấy cần tiến hành các hoạt động sau:
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
Trang 8Phân tích một gói
Trong quá trính phân tích ta sẽ liên tục tìm ra 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 và duy trì các gói đó
1.1.4 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ó để 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 dưới dạng một loạt các mô hình cụ thể Mô hình thiết kế 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 nó lên hệ thống
1.1.5 Các ưu điểm của tiếp cận hướng đối tượng
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ể đượ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
Trang 99
bảo cho việc mô tả các giao diện giữa các modul bên trong hệ thống và bên ngoài hệ thống 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
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
Tiếp cận hướng đối tượng cung cấp cho ta công cụ để làm giảm bớt độ phức tạp của bài toán bằng việc phân rã thành các thực thể độ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 thông báo Việc phát triển và bảo trì hệ thống đơn giản hơn
Xóa bỏ 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.2 CÔNG CỤ HỖ TRỢ PHÁT TRIỂN HƯỚNG ĐỐI TƯỢNG UML
UML (Unified Modeling Language) là ngôn ngữ mô hình hóa, trước hết
nó là mô tả ký pháp thống nhất, ngữ nghĩa và định nghĩa về mô hình hóa, nó không mô tả về phương pháp phát triển UML được sử dụng để hiển thị đặc
tả xây dựng, làm tài liệu các vật phẩm của phân tích hình thức và thiết kế trong quá trình xây dựng hệ thống phần mềm theo hướng đối tượng UML được sử dụng cho mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển và độc lập với các công nghệ cài đặt hệ thống
Trang 101.2.1 Khái quát về uml
1.2.1.1 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à ngôn ngữ đồ họa 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ô hình hóa, 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 hóa Các khung nhìn ngôn ngữ cho phép nhìn nhận hệ thống phát triển ở các mức độ khác nhau, dễ sử dụng, dễ hiểu UML có các ký pháp và tập các qui tắc sử dụng để mô hình hóa các hệ thống [1]
1.2.1.2 UML là một ngôn ngữ
UML có từ vựng là các quy tắc tổ hợp các từ vựng nhằm mục đích giao tiếp Ngôn ngữ mô hình là ngôn ngữ có từ vựng và quy tắc tập trung thể hiện
về mặt vật lý và khái niệm của hệ thống Vì vậy UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết phần mềm
1.2.1.3 UML là ngôn ngữ để biểu diễn đồ họa
Với nhiều lập trình viên, không có khoảng cách giữa ý tưởng cài đặt mã trình và chuyển nó thành mã, họ suy nghĩ mã trình và viết ngay mã trình cho nó Tuy nhiên, việc giao tiếp giữa mô hình khái niệm với những cái khác trong vòng đời phát triển phần mềm sẽ gặp khó khăn khi mọi người không sử dụng chung một ngôn ngữ cho dự án Đặc biệt có những dự án và tổ chức phát triển phần mềm đưa ra ngôn ngữ riêng của họ thì người mới tham gia dự án sẽ gặp nhiều khó khăn Hơn nữa một vấn đề của hệ thống phần mềm sẽ được hiểu rõ hơn thông qua mô hình, nếu người viết mã không bao giờ viết thành các mô hình thì thông tin có thể mất hoặc viết lại một cách đầy đủ nếu chỉ xem mã lệnh trong khi người viết mã lệnh
chuyển đi nơi khác
Trang 1111
TÀI LIỆU THAM KHẢO
[1] Nguyễn Văn Vỵ, Phân tích thiết kế hệ thống thông tin hiện đại, NXB Thống kê,
2002
[2] Đoàn Văn Ban, Phân tích thiết kế lập trình h-ớng đối t-ợng, NXB Thống kê,1997 [3] Đoàn Văn Ban, Phân tích thiết kế h-ớng đối t-ợng bằng UML 2003
[4] Đặng Văn Đức, Phân tích thiết kế h-ớng đối t-ợng bằng UML, NXB Giáo dục [5] Lê Văn Phùng, Phân tích và thiết kế hệ thống thông tin kiến, NXB Lao động và xã
hội
[6] Bộ Quy chế của tr-ờng Đại học Công đoàn ban hành kèm theo quyết định số
782/QĐ-ĐHCĐ ngày 30 tháng 12 năm 1998 của Hiệu tr-ởng Tr-ờng Đại học Công đoàn
[7] Quy chế về việc tổ chức, đào tạo, kiểm tra, thi và công nhận tốt nghiệp đại học hệ chính quy ban hành kèm theo quyết định số 670/QĐ-ĐHCĐ ngày 15/ 10/1999 của Hiệu tr-ởng Tr-ờng Đại học Công đoàn
[8] Jacobson, Ivar, Grady Booch, and Jame Rumbaugh, The Unified Software Development Process Addison Wesley Longman, 463 pp 1999
[9] Grady Booch and Jame Rumbaugh and Ivar Jacobson, The Unified Modeling Languge UserGuide, Addison Wesley, 482 pp 1999
[10] Textbook for software Design & Development Engineers – Object – Oriented development Second edition Revised and updated by Japan information processing
development corporation Japan information – Technology Engineers examination center
2001
[11] Xây dựng quy trình phân tích thiết kế h-ớng đối t-ợng hệ thống thông tin bằng ngôn ngữ UML thông qua một số mẫu thiết kế, ĐHQG Hà Nội Chủ trì: PGS.TS Nguyễn Văn Vỵ, 2002
[12] Craig Larman, Applying UML and Patterns, An introduction to Object-Oriented
analysis and design, 2004
[13] Oestereich B Developing software with UML, Addison Wesley, 2000
[14] Cood P and yourdon E Object – oriented analysis, second edition, yourdon press, 233
pp 1990
[15] Cood P and yourdon E Object – oriented Design, second edition, yourdon press, 197
pp 1991
Trang 12Ch-¬ng 3Xây dựng hệ thống quản lý hồ sơ và kết quả học tậpbằng
phương pháp tiếp cận hướng đối tượng Error! Bookmark not defined 3.1 Mô tả nghiệp vụ Error! Bookmark not defined 3.2 Phân tích ca sử dụng Error! Bookmark not defined.
ch-¬ng 4phân tích và cài đặt chương trìnhquản lý hồ sơ và kết quả học
tập Error! Bookmark not defined 4.1 Kiến trúc hệ thống quản lý hồ sơ và điểm Error! Bookmark not defined
4.2 Kiến trúc hệ thống Error! Bookmark not defined 4.3 Phân tích cài đặt hệ thống quản lý hồ sơ và điểm Error! Bookmark not defined
KÕt luËn Error! Bookmark not defined
Tµi liÖu tham kh¶o 11