Giáo trình Phân tích thiết kế hệ thống thông tin - Lập trình máy tính
Hệ thống thông tin quản lý: Bao gồm các hệ thống thông tin hỗ trợ các hoạt động nghiệp vụ và quản lý của các doanh nghiệp, các tổ chức. Ví dụ các hệ thống quản lý nhân sự, hệ thống kế toán, hệ thống tính cước và chăm sóc khách hàng, hệ thống quản lý thư viện, hệ thống đào tạo trực tuyến .
Các hệ thống Website: là các hệ thống có nhiệm vụ cung cấp thông tin cho người dùng trên môi trường mạng Internet. Các hệ thống Website có đặc điểm là thông tin cung cấp cho người dùng có tính đa dạng (có thể là tin tức hoặc các dạng file đa phương tiện) và được cập nhật thường xuyên.
Hệ thống thương mại điện tử: Là các hệ thống website đặc biệt phục vụ việc trao đổi mua bán hàng hoá, dich vụ trên môi trường Internet. Hệ thống thương mại điện tử bao gồm cả các nền tảng hỗ trợ các giao thức mua bán, các hình thức thanh toán, chuyển giao hàng hoá .
Hệ thống điều khiển: là các hệ thống phần mềm gắn với các thiết bị phần cứng hoặc các hệ thống khác nhằm mục đích điều khiển và giám sát hoạt động của thiết bị hay hệ thống đó.
Mỗi loại hệ thống thông tin có những đặc trưng riêng và cũng đặt ra những yêu cầu riêng cho việc phát triển hệ thống. Ví dụ, các hệ thống điều khiển đòi hỏi những yêu cầu về môi trường phát triển, hệ điều hành và ngôn ngữ lập trình riêng; các hệ website thực thi các chức năng trên mội trường mạng phân tán đòi hỏi cách phát triển riêng.Do vậy, không có một phương pháp luận chung cho tất cả các dạng hệ thống thông tin.
Phạm vi của tài liệu này nhằm giới thiệu một số khái niệm cơ bản của UML cho phát phiển các hệ thống và để dễ dàng minh hoạ chúng ta sẽ xem xét vấn đề phát triển dạng hệ thống thông tin phổ biến nhất là hệ thống thông tin quản lý.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Phân tích thiết kế hệ thống thông tin - Lập trình máy tính
ủ của các phương thức và thuộc tính. So với sơ đồ lớp phân tích, sơ đồ lớp thiết kế cũng bổ sung thêm nhiều thuộc tính mới để chi tiết hoá các đối tượng. Hình 4.9: Biểu đồ lớp chi tiết cho bài toán Quản lý thư viện Sau khi có sơ đồ lớp như trên, người thiết kế cần tiếp tục mở rộng sơ đồ lớp, bổ sung các lớp biên và các lớp trung gian cho phù hợp với ngôn ngữ và môi trường lập trình. 4.3. Thiết kế chi tiết Mục tiêu: -Xây dựng biểu đồ hoạt động cho các phương thức - Xây dựng bảng thiết kế chi tiết Sau khi hoàn thành biểu đồ lớp, bước thiết kế chi tiết là bước rất gần gũi với lập trình cài dặt hệ thống. Nhiệm vụ của thiết kế chi tiết là: • Xây dựng biểu đồ hoạt động để mô tả chi tiết các phương thức phức tạp trong biểu đồ lớp. Biểu đồ động này sẽ là cơ sở để người lập trình cài đặt chính xác phương thức. • Xây dựng các bảng thiết kế chi tiết. Công việc này thường gắn liền với quá trình lập kế hoạch và phân công công việc trong quá trình cài đặt hệ thống. Bảng thiết kế chi tiết của các lớp ngoài việc biểu diễn các thông tin về tên lớp, các thuộc tính và các phương thức, các tham số, kiểu và giá trị trả về, còn cần chỉ rõ người chịu trách nhiệm cài đặt lớp (hay modul) đó và các thông tin về thời gian yêu cầu. Hai nhiệm vụ này sẽ được trình bày chi tiết trong hai phần tiếp theo của tài liệu. 4.3.1 Xây dựng biểu đồ hoạt động cho các phương thức Biểu đồ hoạt động có thể được sử dụng cho nhiều mục đích khác nhau, ví dụ như: • Để xác định các hành động phải thực hiện trong phạm vi một phương thức. Đây là vai trò thường gặp nhất và quan trọng nhất của biểu đồ hoạt động. • Để xác định công việc cụ thể của một đối tượng. • Để chỉ ra một nhóm hành động liên quan được thực hiện như thế nào và chúng sẽ ảnh hưởng đến những đối tượng nằm xung quanh. Có thể xem biểu đồ hoạt động là một loại sơ đồ khối (Flow chart) miêu tả thuật toán. Điểm khác biệt là các sơ đồ khối bình thường chỉ được áp dụng đối với các quá trình tuần tự, còn biểu đồ hoạt động có thể xử lý cả các các quá trình song song. Các phần tử mô hình UML cho biểu đồ hoạt động bao gồm: • Hoạt động (Activity): là một quy trình được định nghĩa rõ ràng, có thể được thực hiện bởi một hàm hoặc một nhóm đối tượng. Hoạt động được thể hiện bằng hình chữ nhật bo tròn cạnh. • Thanh đồng bộ hóa (Synchronisation bar): chúng cho phép ta mở ra hoặc là đóng lại các nhánh chạy song song nội bộ trong tiến trình. Điều kiện (Guard Condition): các biểu thức logic có giá trị hoặc đúng hoặc sai. Điều kiện được thể hiện trong ngoặc vuông, ví dụ: [Customer existing]. • Các luồng (swimlane): Mỗi biểu đồ động có thể biểu diễn sự phối hợp hoạt động trong nhiều lớp khác nhau. Khi đó mỗi lớp được phân tách bởi một luồng (swimlane) riêng biệt. Các luồng này được biểu diễn đơn giản là các ô khác nhau trong biểu đồ. Hình 4.11 mô tả một biểu đồ hoạt động cho phương thức mượn sách trong lớp Borrow_card. Trong biểu đồ này, ta có thể thấy có hai thanh đồng bộ hóa tương ứng với trạng thái chờ trong biểu đồ trạng thái. Ở đây, thanh đồng bộ thứ nhất sẽ chờ kết quả kiểm tra các thông tin người dùng nhập vào, thanh thứ hai sẽ chờ các kết quả kiểm tra liên quan đến điều kiện để có thể mượn sách. Vấn đề quan trọng còn lại trong việc xây dựng biểu đồ hoạt động là xác định phương thức nào cần xây dựng biểu đồ hoạt động? Người thiết kế chỉ cần xây dựng biểu đồ hoạt động cho những phương thức phức tạp hoặc có vai trò quyết định tới hoạt động của hệ thống. Việc đánh giá một phương thức có phức tạp hay không dựa theo các tiêu chí sau: - Phương thức đó có cần xây dựng theo một thuật toán phức tạp hay không? - Phương thức đó có tham chiếu tới nhiều phương thức của các lớp khác trong quá trình hoạt động hay không và ngược lại kết quả của phương thức đó có ảnh hưởng đến nhiều lớp khác hay không. - Kết quả của phương thức đó có quyết định một chức năng (use case) cụ thể nào của hệ thống hay không. 4.3.2 Xây dựng bảng thiết kế chi tiết Bảng thiết kế chi tiết được thiết kế riêng cho từng lớp. Mỗi nhóm phát triển có thể có một bảng thiết kế với cấu trúc riêng. Dưới đây là một mẫu bảng thiết kế tham khảo. Biểu đồ thành phần và biểu đồ triển khai Mục tiêu: - Xây dựng biểu đồ thành phần -Xây dựng biểu đồ triển khai -Biểu diễn biểu đồ thành phần và triển khai trong Rational Rose Sau khi đã hoàn thành biểu đồ lớp chi tiết và thiết kế chi tiết sử dụng biểu đồ hoạt động, trong bước này ngươi thiết kế cần xác định rõ mô hình triển khai hệ thống và tiến hành phát sinh khung mã để chuyển sang pha cài đặt. Nội dung bước này gồm các hoạt động sau: • Xây dựng biểu đồ thành phần • Xây dựng biểu đồ triển khai • Phát sinh mã cho hệ thống 4.4.1 Xây dựng biểu đồ thành phần Mô hình thành phần được sử dụng để biểu diễn các thành phần phần mềm cấu thành nên hệ thống. Một hệ phần mềm có thể được xây dựng từ đầu sử dụng mô hình lớp như đã trình bày trong các phần trước của tài liệu, hoặc cũng có thể được tạo nên từ các thành phần sẵn có. Mỗi thành phần có thể coi như một phần mềm nhỏ hơn, cung cấp một khối dạng hộp đen trong quá trình xây dựng phần mềm lớn. Nói cách khác, các thành phần là các gói được xây dựng cho quá trình triển khai hệ thống. Các thành phần có thể là các gói ở mức cao như JavaBean, các gói thư viện liên kết động dll, hoặc các phần mềm nhỏ được tạo ra từ các thành phần nhỏ hơn như các lớp và các thư viện chức năng. Hình 4.12 chỉ ra các thành phần có mặt trong hệ quản lý thư viện. Hệ thống cần quản lý các thông tin liên quan đến sách và bạn đọc do vậy sẽ có hai thành phần thực hiện các công việc này (Quản lý sách và Quản lý bạn đọc). Các thành phần quản lý này sẽ thao tác trên CSDL của hệ thống nên chúng ta có thành phần cài đặt CSDL. Ngoài ra hệ thống cũng cần một các thành phần giao tiếp với người dùng gồm Giao diện bạn đọc và Giao diện thử thư được cài đặt riêng trên các máy client. Thông thường, biểu đồ thành phần thường kết hợp với biểu đồ triển khai để trở thành một biểu đồ vật lý chung của cả hệ thống. 4.4.2 Xây dựng biểu đồ triển khai CSDL Biểu đồ triển khai biểu diễn các nodes và các mối quan hệ giữa chúng. Thông thường, các nodes được kết nối với nhau thông qua các liên kết truyền thong (communication association) như các kết nối mạng, liên kết TCP-IP, microwave Mối quan hệ giữa các node trong biểu đồ triển khai được biểu diễn thông qua các liên kết truyền thông và được đánh số theo thứ tự thời gian tương tự như trong biểu đồ cộng tác (collaboration diagram). Chú ý rằng các message truyền thông truyền đi giữa các node có thể là các luồng thông tin xác định hoặc cũng có thể là các đối tượng rời rạc, ví dụ như các file, các thông tin yêu cầu Hình 4.14 biểu diễn biểu đồ triển khai cho hệ quản lý thư viện. Biểu đồ này cho biết hệ thống sẽ được cài đặt trên ba dạng máy tính khác nhau: các máy client dành cho thủ thư sẽ cài đặt thành phần giao diện thủ thư, quản lý sách, quản lý bạn đọc; các máy client dành cho bạn đọc chỉ cài giao diện bạn đọc; CSDL và thành phần điều khiển CSDL được cài trên một server chung gọi là Server. Các dạng liên kết truyền thông có thể có trong biểu đồ triển khai là: - TCP/IP: sử dụng bộ giao thức TCP/IP để liên kết. Thông thường đây là các ứng dụng dựa trên Web. - SNA: cũng là ứng dụng dựa trên Web nhưng sử dụng bộ giao thức SNA. - Microwave: sử dụng liên kết bằng sóng vô tuyến tần số cao. - Hồng ngoại: sử dụng liên kết hồng ngoại. - Giao thức không dây: liên kết sử dụng các dạng giao thức không dây khác. Trong ví dụ Hình 4.13, các liên kết đều được thực hiện trên nền giao thức TCP/IP thông qua kết nối mạng Internet hoặc kết nối mạng LAN nội bộ. Ngoài các liên kết truyền thông thông thường, giữa các node còn có thể có mối quan hệ dạng phụ thuộc. Mối quan hệ phụ thuộc sẽ được biểu diễn bởi các mũi tên đứt nét với kiểu chính là dạng phụ thuộc giữa hai node (hoặc hai thành phần). Kết quả của biểu đồ triển khai kết hợp với biểu đồ thành phần là một mô hình triển khai hệ thống đầy đủ với các node, liên kết giữa các node và các thành phần bên trong các node đó. Mô hình này được gọi chung là mô hình vật lý (physical model) của hệ thống và sẽ là cơ sở để cài đặt, tích hợp hệ thống cũng như triển khai hệ thống tới người sử dụng. 4.4.3 Biểu diễn biểu đồ thành phần và biểu đồ triển khai trong Rational Rose Biểu đồ thành phần được xây dựng trong Component View để biểu diễn các thành phần trong hệ thống. Các bước xây dựng biểu đồ thành phần trong Rational Rose: • B1. Thêm các thành phần: lựa chọn công cụ thành phần trong hộp công cụ và kéo vào biểu đồ. • B2. Đặc tả các thành phần (thông thường chỉ mô tả tên) • B3. Biểu diễn các quan hệ giữa các thành phần (nếu có). • B4. Bổ sung các thành phần con (nếu có) Một biểu đồ thành phần ví dụ và cửa sổ đặc tả thành phần được biểu diễn như trong Hình 4.14. Hình 4.14: Xây dựng biểu đồ thành phần Biểu đồ triển khai được xây dựng trong Deployment View. Các công cụ chính để xây dựng một biểu đồ triển khai trong Rational Rose là các Processcor, Device và các Connection. Các bước xây dựng biểu đồ triển khai trong Rational Rose: • B1. Thêm các Processor: lựa chọn công cụ processor trong hộp công cụ và kéo vào biểu đồ. • B2. Thêm các Device: lựa chọn công cụ Device trong hộp công cụ và kéo vào biểu đồ. • B3. Biểu diễn các quan hệ: lựa chọn công cụ protocol và kéo giữa các processor hay device tương ứng. Hình 4.15 biểu diễn một sơ đồ triển khai đơn giản trong đó có ba Processor đại diện cho các máy tính có cài đặt hệ dịch vụ thư viện. Các thành phần của server sẽ được cài đặt trong Library Server, phần giao diện với bạn đọc sẽ cài đặt trong Student PC còn giao diện với các thủ thư sẽ cài đặt trong Librarian PC. Hình 4.15: Xây dựng biểu đồ triển khai TỔNG KẾT CHƯƠNG 4 Chương 4 đã trình bày các bước trong pha thiết kế hướng đối tượng. Các nội dung cần nắm vững gồm: • Pha thiết kế hướng đối tượng gồm 4 bước: xây dựng biểu đồ tương tác, xây dựng biểu đồ lớp chi tiết, thiết kế chi tiết và xây dựng biểu đồ thành phần và biểu đồ triển khai. • Trong bước xây dựng biểu đồ tương tác, người thiết kế biểu diễn lại các use case ứng với các đối tượng của các lớp đã xác định trong pha phân tích. Có hai dạng biểu đồ tương tác là: biểu đồ tuần tự (nhấn mạnh đến thứ tự thời gian các message) và biểu đồ cộng tác (nhấn mạnh đến vai trò của các đối tượng trong tương tác). • Bước xây dựng biểu đồ lớp chi tiết thực hiện bổ sung các lớp thiết kế (lớ biên, lớp trung gian, lớp điều khiển ); xác định và mô tả chi tiết các phương thức; và biểu diễn các quan hệ giữa các lớp. Kết quả của bước này là một biểu đồ lớp thiết kế hoàn chỉnh. • Bước thiết kế chi tiết tiến hành xây dựng biểu đồ hoạt động để biểu diễn các phương thức phức tạp hoặc các hoạt động phối hợp nhiều đối tượng thuộc nhiều lớp khác nhau. Tiếp theo, bước thiết kế chi tiết cũng xây dựng bảng thiết kế chi tiết để phân công trách nhiệm cho các thành viên trong nhóm phát triển. • Bước xây dựng biểu đồ triển khai hệ thống tiến hành xác định các thành phần, các giao thức mạng; quan tâm đến ngôn ngữ lập trình và môi trường ứng dụng để xác định mô hình kiến trúc triển khai hệ thống. Tài liệu cũng đã đưa ra những gợi ý, hướng dẫn và các chú ý cho từng bước trong thiết kế hướng đối tượng. CÂU HỎI – BÀI TẬP A. CÂU HỎI 1. Phân biệt sự khác nhau giữa biểu đồ trạng thái cho một use case và biểu đồ trạng thái hệ thống 2. Biểu đồ tương tác dùng đề làm gì. 3. Phân biệt hai kiểu biểu đồ tương tác: biểu đồ tuần tự và biểu đồ cộng tác 4. Một liên kết trong biểu đồ cộng tác biểu diễn cái gì 5. Biểu đồ hoạt động dùng để làm gì 6. Một hoạt động trong biểu đồ hoạt động mô tả cái gì 7. Một chuyển tiếp trong biểu đồ hoạt động biểu diễn cái gì. 8. Phân biệt các kiểu lớp: lớp thực thể, lớp biên, lớp điều khiển, lớp trừu tượng. B. BÀI TẬP 1. Các biểu đồ tương tác được xây dựng chủ yếu dựa trên nguồn nào sau đây: A. Biểu đồ trạng thái B. Các biểu đồ use case C. Biểu đồ lớp D. Biểu đồ hoạt động 2. Để xem xét hoạt động của hệ thống có sự phối hợp của các đối tượng hoặc trong vòng đời của một đối tượng, ta có thể dùng các biểu đồ nào sau đây (Chọn 2) A. Biểu đồ lớp B. Biểu đồ use case C. Biểu đồ trạng thái D. Biểu đồ hoạt động 3. Để mô tả các thành phần (hoặc các đối tượng) của hệ thống được đặt ở đâu trong môi trường vật lý, chúng ta dùng biểu đồ nào sau đây: A. Biểu đồ hoạt động B. Biểu đồ trạng thái C. Biểu đồ thành phần D. Biểu đồ triển khai 4. Biểu đồ tuần tự (sequence diagram) nào sau đây là không phù hợp nếu nó nằm trong cùng mô hình với biểu đồ họat động đã cho. Giải thích. 5. Cho biểu đồ gói như hình vẽ. Các hàm trong lớp Dog muốn tham chiếu đến lớp Shark thì dùng ký pháp nào sau đây: A. animals::fish::Shark B. fish::Shark C. animals::Shark D. Không tham chiếu được đến lớp Shark 6. a) Sử dụng ngôn ngữ C++ để biểu diễn lớp Người có các thông tin sau: tên, tuổi, giới, chiều cao, cân nặng. Cài đặt phương thức tạo cho lớp Người và hai hàm gán Tên và gán Tuổi. b) Cài đặt tiếp lớp Nhân viên – có quan hệ kế thừa từ lớp Người, thêm thuộc tính lương. Hàm khởi tạo của lớp Nhân viên sử dụng lại hàm khởi tạo của lớp Người và gán lương mặc định bằng 0. 7. Giả sử đã có lớp Người như trong Bài 6. Hãy cài đặt liên kết 1-1 giữa người với Người là quan hệ Vợ-Chồng sử dụng ngôn ngữ C++ (bổ sung hai hàm getVoChong() và setVoChong). 8. Mở rộng lớp Người trong Bài 6 để cài đặt liên kết 1-1 và 1-nhiều giữa Người với Người xác định Cha, Mẹ hay Con của người đó (một người có một Cha, một Mẹ nhưng có thể có nhiều con) sử dụng ngôn ngữ C++. 9. Bổ sung thêm hệ thống trong Bài 6 hai lớp Tay và Chân. Hãy sử dụng ngôn ngữ C++ để cài đặt quan hệ gộp (composition) giữa lớp Người và hai lớp Tay, Chân. TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Ba, “Phát triển hệ thống hướng đối tượng với UML 2.0 và C++”, Nhà xuất bản Đại học Quốc gia Hà Nội, 2005. [2] Dương Anh Đức, “Bài giảng Phân tích thiết kế hướng đối tượng sử dụng UML”, Đại học KHTN - Đại học Quốc gia TP. HCM, 9-2000. [3] Đặng Văn Đức, “Phân tích thiết kế hướng đối tượng bằng UML”, Nhà xuất bản Giáo dục – 2001. [4] M. Fowler and K. Scott, “UML Distilled Second Edition – A Brief Guide to the Standard Object Modelling Langguage”, Addison Wesley Book, August 18, 1999. [5] L. Mathiassen, A. Munk-Madsen, P.A. Nielsen, J. Stage, “ObjectOriented Analysis&Design (OOA&D) – Concept, Principles & Methodology”, 2004. [6] R. LeMaster, D. Lebrknight, “Object-Oriented Programming & Design”, CSCI 4448, University of Colorado, 2002. [7] J. Jumbaugh, I. Jacobson, G. Booch, “The Unified Modelling Language Reference Manual”, 1999. [8] G. Sparks, “An Introduction to modelling software systems using the Unified Modelling Language”, 2000. [9] S. Sendall and A. Strhomeier, “Requirements Analysis with Use Case”, 2001 [10] Sun Microsystems, “Object-Oriented Application Analysis and Design for Java Technology (UML) – Student Guide”, Revision B, March 2000. [11] The OMG Object Management Group, “OMG Unified Modeling Language Specification Version 1.5”, March 2003 [12] “UML Notion Guide”, online at
File đính kèm:
- giao_trinh_phan_tich_thiet_ke_he_thong_thong_tin_lap_trinh_m.doc