bộ giáo dục đào tạo Trờng đạI học vinh =========*@*========= Luận văn tốt nghiệp Đề đề tài: tài: phân tích thiết kế hệ thống hệ thống bất động sản nhà hớng đốirealty system Home tợng UML áp dụng cho hệ thống (Thực hành Rational Rose) quản lý kinh doanh bất Ngành: tin học động sản nhà (thực hành Rational Rose) Ngành: tin học GV hớng dẫn: Thạc sĩ Phạm QuangTrình SV thực hiên : Trần Thị Gia GV hớng dẫn: Thạc sĩ Phạm QuangTrình SV thực hiên : Trần Thị Gia vinh tháng 5-2003 PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Mục Lục Lời nói đầu Phần I Mở đầu Lý chọn đề tài Lịch sử vấn đề nghiên cứu Mục đích nghiên cứu Khách thể nghiên cứu đối tợng nghiên cứu Nhiệm vụ nghiên cứu Giới hạn phạm vi nghiên cứu Phơng pháp nghiên cứu Phần II Phân tích thiết kế hớng đối tợng UML (Thực hành Rational Rose) Chơng Giới thiệu công nghệ hớng đối tợng PTTKHT hớng đối tợng 1.1 Công nghệ đối tợng (Object Tecnology-OT) 1.1.1 Công nghệ đối tợng ? 1.1.2 Công nghệ đối tợng đợc sử dụng lĩnh vực nào? 1.1.3 Sức mạnh công nghệ đối tợng 1.2 Một số khái niệm liên quan đến vấn đề nghiên cứu 1.3 Các nguyên tắc hớng đối tợng 1.3.1 Một đối tợng ? 14 1.3.2 Sự xác định đối tợng 1.3.3 Trạng thái đối tợng 15 1.3.4 Hành vi đối tợng 1.3.5 Các đặc tính đối tợng 1.3.6 Bốn nguyên tắc công nghệ đối tợng 1.4 Phân tích thiết kế hệ thống hớng đối tợng 1.5 Giới thiệu phơng pháp phát triển phần mềm 1.5.1 Phơng pháp phát triển phần mềm theo mô hình thác nớc (cổ điển) 1.5.2 Phơng pháp phát triển phần mềm theo mô hình lặp tăng dần 19 1.5.3 Phơng pháp phát triển phần mềm theo tiến trình hợp Rational Chơng Khái quát UML mô hình hoá trực quan 2.1 Mô hình hoá trực quan (Visual Modeling) 2.1.1 Giới thiệu 2.1.2 Lợi ích mô hình hoá trực quan 2.1.3 Bốn nguyên tắc mô hình hoá trực quan 2.2 Ngôn ngữ mô hình hoá hợp UML-Unified Modeling Language 2.2.1 Giới thiệu UML 2.2.2 Mô hình khái niệm UML 2.2.3 Mô hình liệu 2.2.4 Kiểu liệu 2.2.5 Các biểu đồ UML 2.3 Làm để đa UML vào PTTKHT Chơng Những vấn đề sở mô hình Rational Rose 3.1 Rational Rose gì? 3.2 Sử dụng Rational Rose để tạo lập biểu đồ UML 3.3 Kiến trúc hệ thống khung nhìn Rational Rose 3.3.1 Kiến trúc hệ thống gì? 3.3.2 Các khung nhìn Rational Rose -1- Trang 5 7 7 8 14 15 15 15 15 17 18 18 21 25 25 25 25 25 27 27 29 33 33 33 34 35 35 35 36 36 36 PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Chơng Mô hình hoá trờng hợp-sử dụng (use-case Modeling) 4.1 Mô hình trờng hợp sử dụng gì? 4.2 Tác nhân cách tìm kiếm tác nhân 4.3 Phân tích trờng hợp sử dụng 4.3.1 Use-Case gì? 4.3.2 Tìm kiếm Use-Case nh nào? 4.4 Tìm hiểu đặc tả trờng hợp-sử dụng (Use-case Specification) Chơng Mô hình hoá tơng tác đối tợng 5.1 Đối tợng tìm kiếm đối tợng 5.2 Biểu đồ tơng tác 5.2.1 Biểu đồ thành phần 5.2 Biểu đồ cộng tác thành phần 5.2.3 So sánh biểu đồ cộng tác biểu đồ Chơng Các biểu đồ lớp gói 6.1 Lớp tìm kiếm lớp 6.2 Các khuôn mẫu lớp 6.3 Các biểu đồ lớp 6.4 Sự tổ chức biểu đồ lớp gói 6.5 Các mối quan hệ biểu đồ lớp Phần III PTTKHT hớng đối tợng UML áp dụng cho hệ thống Bất động sản nhà 39 39 40 41 43 49 49 49 62 62 62 I Ph©n tÝch 1.1.Giíi thiƯu, mơc tiêu chức 1.2 Nghiên cứu mô hình hoá trờng hợp sử dung cho hệ thống 1.2.1.Mô tả tác nhân (Actor ) 1.2.2 Xác định use-case 1.2.2.1 Use-case áp dụng cho vay mợn 1.2.2.2 Use-case Tìm ngời kinh doanh bất động sản 1.2.2.3 Use-case Liệt kê thuộc tính 1.2.2.4 Use-case Duy trì ngời lập kế hoạch cá nhân 1.2.2.5 Use-case Duy trì sơ yếu lý lịch 1.2.2.6 Use-case Tìm kiếm nhà 1.3 Biểu đồ use-case (Use-case Diagram) 1.4.Các đặc tả Use-Case hệ thống Bất động sản nhà 1.5 Các biểu đồ hoạt động 50 53 55 56 56 57 59 60 60 63 63 64 64 64 64 64 64 64 65 65 69 72 72 74 ii thiÕt kế 2.1 Tìm kiếm lớp 2.2.Các thực use-case (Use-case Realization) hệ thống bất động sản nhà ë” 83 83 83 84 84 89 89 IIi M« hình liệu 3.1 Thực thể liên kết 3.2 Mô hình khái niệm 3.3 Mô hình liệu 3.4 Các bảng Iv cài đặt 4.1 Môi trờng cài đặt 4.1.1 Môi trờng 4.1.2 Phần mền sử dụng 89 89 -2- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose 4.1.3 Cài đặt 4.2 Các cửa sæ (Windows) 4.2.1 Main Window 4.2.2 Realtor Record Window 4.2.2.1 New Realtor Window 4.2.2.2 Profile of Realtor Window 4.2.3 Buyer Record Window 4.2.4 Loan Application Window 4.2.5 Lender Window 4.2.6 Lender Catalog Window 4.2.7 HomeListing Window 4.2.8 Get Information Home Window 4.2.9 Display Information Home Window 4.2.10 Planner Profile Window 4.2.11 School Information Window 4.2.12 Neighborhood Information Window 4.2.13 City Information Window 4.2.14 Realtor Catalog with home Tóm tắt Tài liệu tham khảo Các chữ viết tắt luận văn UML :Unified Modeling Language (Ngôn ngữ mô hình hoá hợp nhất) OO : Object Oriented (Hớng đối tợng) PTTKHT : Ph©n tÝch thiÕt kÕ hƯ thèng HRS :Home Realty System (Hệ thống bất động sản nhà ở) CNTT : c«ng nghƯ th«ng tin OT : Object Technique (C«ng nghƯ ®èi tỵng) UC : Use-Case (Trêng hỵp sư dơng) -3- 89 89 89 90 90 90 91 92 92 93 93 94 94 95 95 96 96 96 97 98 PTTKHT bất động sản nhà ỏ UML thực hành RationalRose lời nói đầu Ngày nay, CNTT đà đạt đợc thành tựu vô to lớn lĩnh vực đời sống, kinh tế, trị, xà hội, Các bớc tiến nhảy vọt CNTT ứng dụng hệ thống quản lý ngày phức tạp, đánh dấu bớc ngoặt quan trọng lịch sử phát triển CNTT Xu áp dụng phơng pháp hớng đối tợng (phơng pháp mới) thay cho phơng pháp hớng chức năng-cấu trúc (phơng pháp truyền thống) ngày đợc phổ biến việc xây dựng hệ thống phần mềm lớn phức tạp Do nhu cầu ứng dụng CNTT ngày cao, ngôn ngữ mô hình hoá hợp (Unified Modeling Language-UML) đà đời hoàn thiện vào tháng năm 1996, đợc tổ chức OMG (Object Management Group) công nhận chuẩn công nghiệp vào tháng 11 năm 1997, từ UML đà trở thành công cụ phổ dụng hữu hiệu cho phơng pháp Với điều kiện đất nớc ta ngày đà hội nhập CNTT, phơng pháp cha đợc sử dụng rộng rÃi quen thuộc với tất ngời Ngay sinh viên khoa CNTT thực thụ trờng để bắt tay vào công việc PTTK hệ thống hớng đối tợng ngỡ ngàng không tránh khỏi Với đề tài này, mục đích chủ yếu giới thiệu khái niệm công nghệ đối tợng mô hình hoá hệ thống phần mềm theo phơng pháp hớng đối tợng UML (thực hành Rational Rose) thông qua ví dụ cụ thể là: PTTK hớng đối tợng UML áp dụng cho hệ thống bất động sản nhà dới góc nhìn ngời phát triển hệ thống phần mềm (ngời phân tích, thiết kế, cài đặt) Mặc dù đà cố gắng, song điều kiện hạn chế tài liệu tiếng việt, việc phiên dịch từ tài liệu tiếng anh tránh khỏi thiếu sót có ngôn từ cha sát nghĩa, mong đợc đóng góp ý kiến chân thành thầy cô giáo khoa CNTT, tất bạn sinh viên để đề tài đợc hoàn thiện Đề tài đợc hoàn thành cố gắng thân, có giúp đỡ lớn tận tình Thầy giáo Phạm Quang Trình, thầy cô giáo khoa CNTT tËp thĨ líp 40A T«i xin ghi nhËn mäi ý kiến đóng góp quý báu tất Thầy Cô giáo, bạn Tôi xin chân thành cảm ơn Sinh viên thực -4- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Phần I Mở đầu Lý chọn đề tài Ngày công việc phát triển hệ thống phần mềm gặp nhiều khó khăn Vấn đề tốc độ thực chơng trình, kinh phí hay sức mạnh hệ thống mà ở: Độ phức tạp (Sun Microsystems) Chúng ta - Những ngời phát triển hệ thống cần phải làm để loại bỏ Để phát triển thành công hệ thống phần khâu PTTKHT chiếm phần vô quan trọng Từ trớc đến đợc làm quen với phơng pháp PTTKHT hớng chức năng: Pha sau bắt đầu pha trớc đà kết thúc Hệ thống lại phải sửa đổi theo thời gian xuất không thÝch nghi víi thùc tÕ Ph¸t triĨn hƯ thèng theo hớng dễ dẫn đến phần ứng dụng không đợc hoàn thành kế hoạch, khó bảo trì, khó sửa đổi hay mở rộng hệ thống nhiều làm cho chơng trình khác xa quan niệm ban đầu Vì phơng pháp cần thiết cho ngời phát triển hệ thống Đó phơng pháp PTTKHT hớng đối tợng, với u điểm bật : Tính ổn định đối tợng tạo khả dùng lại đợc, mở rộng đợc; tính đóng kín đối tợng tạo nên khả dễ sửa đổi, dễ bảo trì; tính quán mô hình từ phân tích, thiết lập trình sử dụng cách biểu diễn thống đối tợng đem đến cho khả làm chủ đợc độ phức tạp, quản lý đợc chất lợng, độ tin cậy phần mềm đợc đảm bảo cấu trúc bị tách hay bị tiến hoá UML công cụ PTTKHT hớng đối tợng, với u điểm bật công nghệ đối tợng, đặc biệt khả phát sinh mà trình từ mô hình phân tích sang ngôn ngữ lập trình hớng đối tợng nh: Java, C++, Visual Basic, Vì thế, UML cho phép ta dễ dàng sửa đổi, thay đổi từ mô hình kéo theo thay đổi mà trình ngợc lại Sau thời gian nghiên cứu, kết đà sử dụng UML vào việc PTTKHT Bất động sản nhà , hệ thống cha đợc phát triển mạnh Việt nam nhng phản ánh đợc cách đầy đủ xác lợi ích UML Vì thế, lựa chọn cho sát thực với mục đích đề tài Lịch sử vấn đề nghiên cứu Công nghệ đối tợng ý tởng Nó đà có cách khoảng 30 năm Hình dới thể lịch sử ngắn gọn mốc lịch sử công nghệ đối tợng Simula Smalltalk 1967 1972 C++ Java cuèi 1980 UML 1991 1996 2000+ - Năm 1967, Simula đà đợc đời trở thành ngôn ngữ sử dụng đối tợng lớp - Năm 1972, Alankay ngời khác XeroxPARC đà tạo Smalltalk, nguồn gốc xuất phát từ Simula Năm 1980 Smalltalk lần đợc thực với chơng trình hớng đối tợng lĩnh vực thơng mại -5- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose - Cuối năm 1980, Biame Stroustrop đà công bố ngôn ngữ C++ với quần chúng C++ ngôn ngữ hoàn toàn mới, mở rộng khả vốn có ngôn ngữ lập trình C - Năm 1991, Jame Gosling đà đa ngôn ngữ Oak, sau đợc phát triển thành Java, ngôn ngữ lập trình mạng Oak đợc tạo nhóm phát triển ông Sun nhóm viết phần mềm cho ứng dụng thông tin Ông thấy C++ phức tạp không an toàn cho công việc Oak đà đời hoàn cảnh - Khi ngôn ngữ lập trình hớng đối tợng đợc sử dụng rộng rÃi nhu cầu có phơng pháp phát triển phần mềm hớng đối tợng trở nên cấp bách Vào cuối năm 1980 đầu năm 1990, có nhiều phơng pháp luận khác Ba phơng pháp phổ biến nhiều phơng pháp là: Phơng pháp Booch Grady Booch, OMT (Object Modeling Technique) cđa JimRumbaugh vµ OOSE (Object Oriented Software Engineering)/ Objectory Ivar Jacobson Mỗi phơng pháp có kí pháp, tiến trình, công cụ hỗ trợ riêng có điểm mạnh, điểm yếu riêng biệt Booch mạnh thiết kế, OMT OOSE mạnh phân tích - Năm 1993, Grady xuất hai tập sách có nội dung chứa đựng nhiều kỹ thuật phân tích tốt từ OMT OOSE, thời gian Jim đà xuất loạt báo hợp thành tuyển tập gọi OMT-2, chứa đựng kỹ thuật phân tích lớn với việc sử dụng công cụ từ OOSE kỹ thuật thiết kế từ Booch Vì thế, từ hợp không thức phơng pháp đà bắt đầu - Tháng 10 năm 1994, Jim đà kết nối Rational Grady Jim làm việc hợp thức OOPSLA vào năm 1995, phiên phơng pháp hợp đà đợc xuất - Ivar gộp tiến trình không thức, tháng năm 1996 ông đà hoàn thành phơng pháp hợp đà xuất phiên Từ thời điểm này, nhóm phát triển hớng đối tợng nói cho nhiệm vụ họ tạo ngôn ngữ mô hình hoá thống cho cộng đồng hớng đối tợng Do nhóm đà đổi tên công việc họ thành Unified Modeling Language-UML (Ngôn ngữ mô hình hoá hợp nhất) Booch, Rumbaugh Jacobson đà đa nhiều phiên UML, phiên UML 0.9 đời năm 1995, tháng năm 1997, UML 1.0 đời Phần lớn phiên UML đợc xây dựng dựa tảng phơng pháp Booch, OMT OOSE, UML bao gồm khái niệm có nguồn gốc từ phơng pháp khác nh: David Havel, Gamma Helm, Johnson-Vlissides Fusion UML kết đóng góp từ lớn nh: Digital Equipment Corporation (DEC); Hewlett Packed (HP), Intellicorp, IBM, Microsoft, Oracle, Rational Software Corporation, Jaskon, Object Time Unisys, - Phiên UML 1.1 đà đợc đệ trình lên OMG (Object Management Group) để công nhận chuẩn công nghiệp vào tháng 6/1997 đà đợc chấp nhận vào tháng 11 năm 1997 Phiên UML 1.3 đà đời vào năm 1999, UML 1.4 phiên đợc đời vào tháng năm 2000 -6- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Mục đích nghiên cứu Việc nghiên cứu đề tài nhằm: ã Hiểu mô tả nguyên tắc hớng đối tợng ã Hiểu rõ cách tiếp cận hớng đối tợng việc PTTKHT phần mềm ã Nắm đợc khái quát UML qua việc thực hành môi trờng Rational Rose ã Vận dụng UML vào việc PTTKHT Bất động sản nhà ã Có đợc khả sử dụng công cụ UML để giải vấn đề thực tế Đối tợng nghiên cứu khách thể nghiên cứu 4.1 Khách thể nghiên cứu Phơng pháp PTTKHT hớng đối tợng UML & Rational Rose 4.2 Đối tợng nghiên cứu PTTKHT Bất động sản nhà UML thực hành Rational Rose Nhiệm vụ nghiên cứu ã ã Tìm hiểu sở lý luận vấn đề nghiên cứu Khảo sát quy trình hoạt động HT Bất động sản nhà qua thực tế phần trình bày tài liệu liên quan ã Phân tích hệ thống việc mô hình hoá hành vi hệ thống qua Use-case đa biểu đồ hoạt động, biểu đồ trờng hợp sử dụng hệ thống ã Thiết kế hệ thống việc đa biểu đồ tơng tác hệ thống, tìm kiếm lớp, đối tợng ã Cài đặt hệ thống ngôn ngữ Visual Basic Giới hạn phạm vi nghiên cứu Trong khuôn khổ luận văn tốt nghiệp, đề tài dừng lại việc mô tả hệ thống phần mềm, chủ yếu nghiêng lý luận việc áp dụng thành công cho HT phần mềm thực cần phải có thời gian lâu dài đầu t thoả đáng Phơng pháp nghiên cứu Khi làm đề tài đà sử dụng kết hợp phơng pháp sau: 7.1 Phơng pháp lý thuyết Tổng kết tài liệu tiếng anh tiếng việt có liên quan đến đề tài 7.2 Phơng pháp thực hành ã Khảo sát, tìm hiểu thực tế hệ thống cần mô hình hoá ã Tham khảo ý kiến ngời có kinh nghiệm vấn đề nghiên cứu ã Thực hành đọc đợc từ tài liệu môi trờng Rational Rose -7- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Phần II Phân tích thiết kế hệ thống hớng đối tợng UML (Thực hành Rational Rose) Chơng Giới thiệu công nghệ đối tợng PTTKHT hớng đối tợng 1.1 Công nghệ đối tợng (Object Technique- OT) 1.1.1 Công nghệ đối tợng ? Công nghệ đối tợng tập nguyên tắc đạo xây dựng phần mềm với ngôn ngữ, sở liệu công cụ khác trợ giúp nguyên tắc (Công nghệ đối tợng - Một hớng chủ đạo ngời quản lý, Taylor, 1997) 1.1.2 Công nghệ đối tợng đợc sử dụng lĩnh vực ? a Các hệ thống khách chủ phát triển Web Công nghệ đối tợng cho phép công ty tách thông tin công việc họ thành đối tợng giúp họ chuyển giao trình xử lý công việc qua internet network b Các hệ thống thời gian thực (real-time system) OT làm cho hệ thống thời gian thực phát triển với chất lợng uyển chuyển cao trớc nhiều OT đợc sử dụng rộng rÃi ngành công nghiệp ứng dụng phần mềm sau đây: ã Các hệ thống chuyển mạch vòng - viễn thông, hệ thống Radio, hệ thống truyền thông, hệ thống vệ tinh nhân tạo, việc quản lý lỗi, việc điều khiển kết nối việc phát triển giao thức mạng ã Các hệ thống điều khiển làm chủ bầu khí quyển, hệ thống điều khiển tên lửa, hệ thống điều khiển nơi xảy chiến tranh, việc quản lý nút, quản lý lỗi việc phát triển giao thức ã Các quan điều khiển công nghiệp, hệ thống điều khiển nhà máy, máy in với tốc độ xử lý đa nhiệm cao, hệ thống tự động, định vị giải thông, điều khiển vị trí máy móc, 1.1.3 Sức mạnh công nghệ đối tợng Các mô hình đợc tạo nhờ sử dụng công nghệ đối tợng có u điểm bật so với phơng pháp truyền thống, cu thể là: ã OT tạo mô hình PTTK đơn giản, gần gũi dễ hiểu UML tợng trng cho hội tụ nguyên tắc tốt toàn lĩnh vực công nghệ đối tợng UML ngôn ngữ gần gũi đợc áp dụng cho hệ thống lẫn kỹ s tác nghiệp (business engineering) Một ngôn ngữ đơn giản đợc dùng ngời sử dụng, ngời phân tích, ngời thiết kế ngời cài đặt ã Tiện lợi cho việc tái sử dụng mà kiểu kiến trúc: Bằng việc khớp nối thành phần giao diện phản ánh thành phần Một kiến trúc xây dùng theo OT cho phÐp ta lý gi¶i vỊ viƯc tái sử dụng Đồng thời, cho phép -8- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose ta tái sử dụng quy mô rộng hơn, việc tái sử dụng thân kiến trúc ã Các mô hình phản ánh giới thực cách gần gũi: Các mô hình giúp ta mô tả cách xác thực thể giới thực, dễ hiểu dễ bảo trì Một mô hình hớng đối tợng nhằm vào việc phản ánh giới đà trải qua thực tế Tuy nhiên, tự thân đối tợng thờng tơng xứng với tợng giới thực Ví dụ: Một đối tợng hoá đơn hệ thống tác nghiệp ngời làm việc hệ thống trả tiền ã Khả bền vững: Một thay đổi nhỏ yêu cầu không làm ảnh hởng to lớn đến phát triển hệ thống ã Thích nghi với thay đổi: OT giúp quan thay đổi hầu hết hệ thống họ nhanh tơng đơng nh tự thân thay đổi thực tế quan 1.2 Một số khái niệm liên quan đến vấn đề nghiên cứu 1.2.1 Phơng pháp (method) Phơng pháp (hay phơng thức) cách thức cấu trúc suy nghĩ hành ®éng cđa ngêi Nã cho biÕt chóng ta ph¶i làm gì, làm nh nào, làm phải làm nh để hình thành hệ thống phần mềm 1.2.2.Đối tợng (object) Theo nghĩa thông thờng đối tợng ngời, vật hay tợng mà ngời nhằm vào suy nghĩ, hành động; nhìn thấy sờ mó đợc Một đối tợng đợc cấu tạo từ nhiều đối tợng khác Theo quan điểm lập trình hớng đối tợng đối tợng biến kiểu liệu (đợc định nghĩa lớp) Đối tợng thực thể, chơng trình chạy đối tợng sử dụng nhớ cho việc trình bày nội Quan hệ đối tợng lớp giống nh quan hệ kiểu biến lập trình cấu trúc Trong PTTKHT hớng đối tợng đối tợng trừu tợng lĩnh vực vấn đề hay cài đặt nó; phản ánh khả hệ thống lu giữ thông tin tơng tác với nó; gói giá trị thuộc tính dịch vụ (phơng thức, phơng pháp) 1.2.3 Lớp (class) Theo định nghĩa thông thờng lớp nhóm nhiều ngời hay vật có tính tợng trng định hay đặc điểm chung (từ điển Websters) Theo quan điểm lập trình hớng đối tợng: Lớp kiểu liệu đợc định nghĩa ngời sử dụng Một lớp gồm có liệu (thuộc tính) phơng thức hay số thao tác (hành vi), cụ thể hàm thủ tục đợc mô tả tính chung hành vi nhiều đối tợng tơng tự Trong phơng pháp hớng đối tợng : Lớp mô tả tập hợp đối tợng, mà có chung: thuộc tính, hoạt động (các phơng thức), mối quan hệ ngữ nghĩa -9- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose II Thiết kế 2.1 Tìm kiÕm c¸c líp “Home Realty System” gåm cã c¸c líp sau đây: ApplyForLoanController (Control) Lớp điều khiển UC áp dụng cho vay mợn ApplyForLoanForm (Boundary) Lớp biên cho phép tác nhân ngời mua tơng lai áp dụng trực tuyến vay mợn theo hình thức chấp BuyerRecord (Entity) -71- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Lớp thực thể ghi ngời mua chứa đựng liệu cần trì ngời mua tơng lai, thông tin nh: địa e-mail liệu cá nhân khác đợc lu giữ Cityinformation (Entity) Lớp thông tin lấy từ thành phố chứa đựng chi tiết thành phố Các thông tin thu nhận đợc gồm có: dân c, mức thế, tỉ lệ tội phạm CreditReportingSystem (Boundary) Hệ thống nơi mà báo cáo tiền gửi ngân hàng đợc phát E-mailSystem (Boundary) Hệ thống bên để gửi tất e-mail HomeListing (Entity) Lớp chứa đựng thông tin tính chất đặc biệt đợc liệt kê hệ thống Lender (Entity) Lớp ngời cho vay chứa ghi thông tin ngời gửi cụ thể Thông tin bao gồm tên, địa chỉ, đề nghị vay mợn, địa e-mail, URL, LenderCatalog (Entity) Liệt kê ngời cho mợn yêu cầu chất lợng đặt vay mợn theo hình thức chấp tới ngời mua tơng lai LoanApplication (Entity) Thông tin đà lựa chọn để rõ, ngời mua tơng lai đảm bảo vay mợn LoanSystem (Boundary) Hệ thống bên ngoài, nơi mà liệu tài đợc gưi cho sù chÊp thn vay mỵn MailMessage (Entity) Mét thông điệp e-mail đà xác định từ trớc để gửi tíi ngêi mua t¬ng lai, ngêi sÏ sư dơng hƯ thống bất động sản BC MortgageLoan (Entity) - Vay mợn theo hình thức thuế chấp Chứa đựng thông tin liên quan đến chi tiết hình thức cụ thể đề nghị chấp (nh là: kì hạn vay mợn, mức độ quan tâm, ) NeighborhoodInformatin (Entity)- thông tin lân cận Chứa đựng chi tiết lân cận, gồm thông tin nh là: trờng học, tỉ lệ tội phạm, thu nhập bình quân, khoản phù lao liên quan xung quanh PersonalPlannerForm (Boundary) -72- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Cho phép ngời mua tơng lai tạo sơ yếu lý lịch cá nhân PersonalPlannerController (control) Lớp điều khiển cho việc trì sơ yếu lý lịch ngời lập kế hoạch PlannerProfile (Entity) Sơ lợc tiểu sử ngời lập kế hoạch chứa đựng thông tin liên quan đến việc tìm kiếm nhà ngời mua tơng lai nh thông tin về: tiêu chuẩn tìm kiếm, đề nghị vay mợn Và nhà a chuộng PrequalificationLetter (Entity) Lớp th từ đảm bảo chất lợng đà định chứa đựng thông tin đề nghị vay mợn ban đầu dựa sở tiêu quan tâm đặc biệtvà tổng số vay mợn PropertyCatalog (Entity) Một danh sách hoàn chỉnh thuộc tính đà đợc liệt kê hệ thống bất động sản BC RealtorRecord (Entity) Líp b¶n ghi ngêi kinh doanh bÊt động sản chứa đựng thông tin ngời kinh doanh bất động sản đợc tợng trng thuộc tính đà liệt kê hệ thống bất động sản BC (BC realty System) SchoolInformation (Entity) Lớp thông tin lấy từ trờng học gồm chi tiết trờng học, mà tính chất đà liệt kê Các thông tin là: tỉ lệ sinh viên/ giáo viên, tình hình chung, SearchForHomeController (Control) Lớp điều khiển cho việc tìm kiếm trờng hợp sử dụng nhà : Propective Buyer : PersonalPlannerForm : : BuyerRecord SearchForHomeForm (Boundary) PersonalPlannerController : PlannerProfile Cho phÐp ngời mua tơng lai tìm kiếm nhà BC Realty system Maintainprofile() Maintnpofile() 2.2 Sù thùc hiƯn c¸c trờng hợp sử dụng 2.2.1 báo Nhac nhodungthực UC c¸o sù nguoi su (MaintainPersonalPlanner) nhap DisplayCreateProfile() MailAddress Các biểu đồ tơng tác cua ho FindRecord() trì ngời lập kế hoach cá nhân a Biểu đồ Set Profile Inf() set Profile Inf() Create() create() -73- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose 4: DisplayCreateProfile() 1: Maintainprofile() 5: Set Profile Inf() : PersonalPlannerForm : Propective Buyer 2: Maintainpofile() 6: set Profile Inf() b Biểu đồ cộng tác 8: create() : PlannerProfile : PersonalPlannerController 3: FindRecord() 7: Create() -74- : BuyerRecord PTTKHT “bÊt động sản nhà ỏ UML thực hành RationalRose Phân chia đối tợng :Bản ghi ngời mua (:BuyerRecord) :Ngời điều khiển ngời lập kế hoạch cá nhân (:PersonalPlannerController) :Mẫu ngời lập kế hoạc cá nhân (:PersonalPlannerForm) :Sơ yếu lý lịch ngời lập kế hoạch cá nhân (PlannerProfile) :Ngêi mua t¬ng lai (:PropectiveBuyer) PersonalPlannerForm (from boundaries) maintainProfile() display_CreateProfile() setProfileInfo() BiĨu ®å líp cđa UC MaintainPersonarPlanner PlannerProfile (from entity) SearchCriteria LoanOffers FavoriteHome create() getSearchCriteria() updateHomeReference() updateLenderReference() PersonalPlannerController (from Control) 1 current profile propectiveBuyer 1 MaintainProfile() setProfileInfo() -75- BuyerRecord (from entity) name FistName Birthday Phone-no Fax-no Male MailAddress ID Address FindRecord() create() getMailAddress() PTTKHT bất động sản nhà ỏ UML thực hành RationalRose 11: //Hien thi danh sach Lenders() 13: //Nhac nho phat the thong bao() 21: //Hien thi Pre-qualification Letter() 2.2.2 1: //BeginLoan Precess() hiÖn UC Apply For Loan Thông báo thực 2: submit loan application(()) 12: //Chon Lender() 14: //Cap nhat the thong bao() : LoanApplication Các biểu đồ tơng tác 4: //Luu tru ung dung vay muon() 5: //Chi ro tieu chuan cua nguoi mua() : ApplyForLoanForm : Propective Buyer 3: //Xu ly ung dung vay muon() 15: //Apply For Loan() 8: //Ghi lai cac chi tiet vay muon() 20: //Tao lap Pre-qualificationLetter() : PrequalificationLetter : LoanSystem 6: //Dua y kien Loan application() 7: //Get Lenders , nhung nguoi co kha nang cho vay() a Biểu đồ cộng tác 18: //Ap dung su vay muon voi Lender() : ApplyForLoanController 16: //Phat the thong bao() 9: //Xay dung danh sach Lenders() : Loan System : Lender 19: //Ap dung cho su vay muon nay() : CreditReportingSystem 17: //Phat the thong bao() : LenderCatalog 10: //Ghi lai danh sach Lender vao Profile() : Credit Reporting System : PlannerProfile -76- : MortgageLoan PTTKHT bất động sản nhà ỏ UML thực hành trªn RationalRose : Buyer ApForLForm AppForLCon: L-Appl i : LoanSys : : : LeCata : MortLoan : Pl a-Pro : Lender : PrequLet : Cre-ReSy : L-SysCre-ReSys : //Begi nLoan Precess() submit loan application(()) //Xu ly ung dung vay muon() //Luu tru ung dung vay muon() //Chi ro tieu chuan cua nguoi mua() //Dua y kien Loan applicati on() //Get Lenders , nhung nguoi co kha nang cho vay() //Ghi l cac chi tiet vay muon() //Xay dung danh sach Lenders() //Ghi lai danh sach Lender vao Profile() //Hien thi danh sach Lenders() //Chon Lender() //Nhac nho phat the thong bao() //Cap nhat the thong bao() //Apply For Loan() //Phat the thong bao() //Phat the thong bao() b Biểu đồ //Ap dung su vay muon voi Lender() //Ap dung cho su vay muon nay() //T ao lap Pre-qualificationLetter() //Hi en thi Pre-qual ifi cation Letter() -77- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Phân chia đối tợng công việc Ngời điều khiển Apply For Loan (Apply For Loan Controller) MÉu Apply For Loan (Apply For Loan Form) Hệ thống thông báo thẻ (Credit Reporting System) Ngời cho vay (Lender) Danh s¸ch ngêi cho vay (LenderCatalog) HƯ thống vay mợn (Loan System) Sự áp dụng vay mợn (LoanApplication) Hệ thống vay mợn (LoanSystem) -78- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Vay mợn theo hình thức chấp ( MortgageLoan) Sơ yếu lý lịch ngời lập kế hoạch (PlannerProfile) Th chất lợng đặt (PrequalificationLetter) Ngời mua tơng lai (Propective Buyer) BiĨu ®å líp cđa UC Apply For Loan-VOPC : Buyer : E-ma-F Se-home-F : SeForH-Con : Home-L : Pro-Cata : Pla-Pro : BuyerRe : CityInf : SchlInf : NeiInf : Real-Re : Mail Mes : E-mailSy : E-mailSy : //get Home List() ApplyForLoanForm LoanSystem //Bui ldHomeList() (from boundaries) im cac tinh chat chung() boundaries) //T (from CreditReportingSystem (from boundaries) StartLoanProcess() //Lap cac tieu chua tim kiem() sumitLoanApp() SumitApplication() displayLenderList() //Hien thi danh sach nha o() selectlender() displayCreditApprovalMessage() approveCreditReport() //get HomeFormList() displayPrequalityLetter() //Nhap cac dac trung nha o() //T im cac tinh chat cu the() 1 PrequalificationLetter //Hien thi danh (from entity) sach nha o() //get home() //Tim cac tinh chat() ApplyForLoanController Get Home info() (from Control) n create() ApplyForLoan() LoanApplication (from entity) n 1 //get() n MortgageLoan //get() (from entity) //get() //get() Underwrite n update() doesBuyerQualifyForLoan() ProcessLoanApplycation() ApplyForLoan() Lender (from entity) genarateCredutReport() Update() ApplyforLoan() //Cap nhat cac nha o tham khao() //Uoc tinh gia tien() LenderCatalog (from entity) getLenders() n n PlannerProfile (from entity) create() getSearchCriteria() updateHomeReference() updateLenderReference() //Lap Mai lMessage() //Lap Mai lMessage() 2.2.3.//Hien thi thongbáo thực UC Tìm kiếm nhà (Search For A Home) Thông tin nha o() biểu đồ tơng tác //Open() //Send(M ail M essage) //Send (MailRealtor) a Biểu đồ sendmail (stri ng,buyerrecord) sendm l(string) //SendE-mail Mesage() -79- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose 5: //Hien thi danh sach nha o() 10: //Hien thi danh sach nha o() 21: //Hien thi thong tin nha o() 1: //get Home List() 6: //get HomeFormList() 11: //get home() : Property_Catalog : Buyer : SearchForHomeForm 2: //BuildHomeList() 7: //Nhap cac dac trung nha o() 12: Get Home info() 23: //Send(Mail Message) 22: //Open() 9: //Tim cac tinh chat() 3: //Tim cac tinh chat chung() 8: //Tim cac tinh chat cu the() 14: //get() 24: //Send (MailRealtor) : E-mailform 13: //get() 18: //Uoc tinh gia tien() : BuyerRecord 15: //get() : HomeListing 16: //get() : SearchForHomeController 19: //Lap MailMessage() : NeighborhoodInformation : SchoolInformation 20: //Lap MailMessage() 4: //Lap cac tieu chua tim kiem() 17: //Cap nhat cac nha o tham khao() 28: sendmail(string,realtorrecord) : CityInformation 25: sendmail(string,buyerrecord) : RealtorRecord b BiĨu ®å :céng t¸c Pla-Pro : E-mailSystem 26: sendmail(string) 27: //SendE-mailMesage() : E-mail system -80- : MailMessage PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Phân chia đối tợng công việc Bản ghi ngời mua (BuyerRecord) HƯ thèng th ®iƯn tư (E-mail system) MÉu th ®iƯn tử (EmailForm ) Danh sách nhà (HomeListing) Bản tin gửi qua e-mail (MailMessage) Thông tin lân cận (Neighborhood-Info) Sơ yếu lý lịch ngời lập kế hoạch (PlannerProfile) -81- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Danh sách thuộc tính (PropertyCatalog); Ngời mua tơng lai Thông tin ngời kinh doanh bất động sản (RealtorRecord) Ngời điều khiển tìm kiếm nhà (SearchForHomeController) Mẫu tìm kiếm nhà (SearchForHomeForm) Biểu đồ lớp UC Search For A Home-VOPC SearchForHomeForm (from boundaries) getHomelist() displayHomelist() getHomeFormList() getHome() displayHomelist() Property_Catalog (from entity) Open() sendMail() 1 buildHomeList() n BuyerRecord getHomeFormList() getHomeInfo() (from entity) 1 sendmail() FindRecord() n create() n getMailAddress() n HomeListing (from entity) 1 1 n SearchForHomeContr oller (from Control) n +NewProperty findGenneralProperties() findSpecificProperties() PrequalificationLetter (from entity) create() BuyerRecord (from entity) E-mailForm (from boundaries) FindRecord() create() getMailAddress() PlannerProfile (from entity) n 1 create() getSearchCriteria() MailMesupdateHomeReference() updateLenderReference() (from entity) n sendMail() sendMail() n MailMessage CurrentRealtor (from entity) 1 n sendMail() RealtorRecord sendMail2() (from entity) n findProperties() get() n getMailaddress() CaculatePaymentEstimate() 1 PlannerProfile 1 1 RealtoRecord (from entity) E-mailSystem LoanApplication 1 (from entity) (from boundaries) (from entity) NeighborhoodInformation CityInformation SchoolInformation create() 1 (from entity) (from entity) getMailaddress() (from entity) getSearchCriteria() sendMail() update() updateHomeReference() 1 doesBuyerQualifyForLoan() PropertyCatalog get() get() updateLenderReference() get() 1 n (from entity) 1 n findGenneralProperties() findSpecificProperties() iiI Mô hình liệu 1 n 1 LenderCatalog 3.1 Thùc thĨ vµ liên kết MortgageLoan (from entity) 1 n Home-Lissting CSDLLender)víi øng (from biÕt, mét b¶ng mét0 n thùc thĨ - Entity Class” “líp getLenders() V× thÕ, từ biểu đồ lớp ta có 14 thực thể tơng ứng với biểu đồ lớp UML Update() findProperties() 14 lớp thực thể Các thực thể mối liên kết chúng đợc thể mô ApplyforLoan() 1 get() hìnhUnderwrite sau khái0 n niệm CaculatePaymentEstimate() (from entity) đà Nh ta 3.2 Mô hình khái niÖm 1 n Lender (from entity) CityInf (from entity) ApplyForLoan() get() 1 School-lInf (from entity) -82- get() 1 NeiIhborhood-nf (from entity) get() PTTKHT bất động sản nhà ỏ UML thực hành RationalRose 3.3 Mô hình liệu (Data Model) Từ mô hình khái niệm, thực thể liên kết ta có mô hình liệu nh sau: PreLetter Mortgage LoanApplication LenderCatalog MailMessage Lender -83- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose BuyerRecord RealtorRecord PlannerProfile Homelisting Neigh-info PropertyCatalog CityInfomation Schoolinfomation Mô hình liệu 3.4 Các bảng Planner Profile Thuoọc tớnh Kieồu Moõ taỷ Realtor-Inf Text Thông tin Realtor Search Criteria Text Các tiêu chuẩn tìm kiếm nhà (số phòng, kiểu nhà, diện tích, ) Loan offers Text Các yêu cầu vay mợn Favorite Homes Text Các nhà a thích Buyer-info Text Thông tin ngêi mua BuyerRecord Thuộc tính Kiểu Mô tả IDB Byte Khoá bảng FIRSTName Text Họ ngời mua Male Boolean Giới tính, male=1 nam, male=0->nữ NAME Text Tên đầy đủ ngời mua Fax-no Long Sè Fax cđa ngêi mua Phone-no Long Sè ®iƯn thoại ngời mua -84- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Address Text Địa quan nhà MailAddress Text Địa th điện tử So CMND Long So chứng minh nhân dân ngời mua Thu nhap Current Tình hình tài ngời mua Family Text Thành phần gia đình cđa ngêi mua Birthday Date Ngµy sinh cđa ngêi mua So thich Tex Së thÝch vỊ nhµ ë RealtorRecord Thuộc tớnh Kieồu Moõ taỷ IDR NUMBER Khoá bảng FirstName Text Họ ngời kinh doanh bất động sản nhà Male Boolean Giói tính, male=1 nam, male=0->nữ Name Text Tên đầy đủ ngời kinh doanh bất động sản nhà Fax-no Long Số Fax ngời kinh doanh bất động sản nhà Phone-no Long Số điện thoại ngời kinh doanh bất động sản nhà Address Text Địa quan nhà MailAddress Text Địa th điện tử Birthday DATE Ngµy sinh cđa ngêi mua Zip Long M· sè điện thoại vùng State Text Quốc tịch Lender Thuoọc tớnh Kieồu Moõ taỷ IDL Byte Khoá bảng FIRSTName Text Hä cđa ngêi cho vay Male Boolean Giíi tính, male=1 nam, male=0->nữ NAME Text Tên cña Lender Fax-no Long Sè Fax cña Lender Phone-no Long Số điện thoại Lender -85- ... dụ: hệ thống đăng kí khoá học: thân hệ thống lớn trừu tợng để hiểu đợc hết chi tiết Vì thế, nhóm phát triển bẻ gÃy hệ thống thành hệ thống đơn thể, hệ thống độc lập với hệ thống khác: Hệ thống. .. -35- PTTKHT bất động sản nhà ỏ UML thực hành RationalRose Rose không đề cập luận văn này, mà thể biểu đồ đợc xây dựng cho hệ thống Bất động sản nhà 3.3 Kiến trúc hệ thống khung nhìn Rational Rose... với hệ thống cha ? ã Tác nhân cung cấp cho hệ thống thông tin nào? ã Đà nhận biết hệ thống bên mà hệ thống tơng tác cha? ã Thông tin hệ thống bên nhận gửi cho hệ thống này? Các UC nhận từ hệ thống