Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
1,57 MB
Nội dung
Đồ án tốt nghiệp Xây dựng ứng dụng J2EE với Rational Rose UML LE QUANG DUNG TH40 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI NÓI ĐẦU Nếu trước phần mềm (software) bán kèm theo máy tính, phần mềm coi cho khơng ngày hoàn toàn khác, giá phần cứng hạ xuống phần mềm trở nên thống lĩnh Máy tính trở nên hữu dụng mặt sống, sản xuất kinh doanh, khoa học kỹ thuật, quản lý, giáo dục Để áp dụng máy tính vào nhu cầu đời sống xã hội ta phải có chương trình điều khiển, quản lý, tính tốn thực chức mong muốn mà ta gọi phần mềm Quy trình để sản xuất phần mềm gồm nhiều cơng đoạn từ phân tích thiết kế, đặc tả u câu khách hàng lập trình, bảo trì Mỗi cơng đoạn q trình địi hỏi kỹ sư phần mềm phải khảo sát tỉ mỉ, xác thao tác Chất lượng phần mềm khâu phân tich thiết kế định chủ yếu, phân tích thiết kế đặc tả yêu cầu giai đoạn quan trọng Nói đến cơng nghệ phần mềm phảI kể đến hệ thống phân tán Trong thời kỳ phát triển mạnh mạng toàn cầu – Internet, ứng dụng phân tán phát triển mạnh mang tính cấp thiết Nó đem lại lợi ích vơ to lớn cho người Nhằm tìm hiểu theo hướng phát triển này, đồ án em tiếp cận công nghệ xây dựng ứng dụng phân tán, đa tầng có tính bảo mật cao Đó cơng nghệ J2EE- Java Platform, Enterprise Edition, tương đối Cùng với cơng nghệ này, ngơn ngữ mơ hình nhất(UMLUnified Modeling Language) ngừời bạn đồng hành để mơ hình hóa, thực hố ứng dụng q trình phân tích thiết kế hướng đối tượng Trong đồ án tốt nghiệp em phát triển ứng dụng J2EE với UML (Unified Modeling Language) Rational Rose Trong thời gian ngắn khả năng, đồ án cịn nhiều sai sót, mong chỉnh sửa thầy hướng dẫn góp ý từ phía người đọc Một lần em xin cảm ơn thầy Nguyễn Thanh Tùng tận tình hướng dẫn cho em hoàn thành đồ án LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN I GIỚI THIỆU CÔNG NGHỆ CHƯƠNG GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML Mơ hình hóa thiết kế hướng đối tượng cách suy nghĩ vấn đề sử dụng mơ hình tổ chức xung quanh khái niệm giới thực Cấu trúc tảng đối tượng, kết hợp cấu trúc liệu hành vi vào thực thể đơn Các mơ hình hướng đối tượng có ích cho việc hiểu vấn đề, việc trao đổi với người dùng, mơ hình hố tổ chức kinh doanh, chuẩn bị tài liệu thiết kế chương trình sở liệu 1.1 Các nguyên tắc OO-Object Orientation 1.1.1 Trừu tượng hóa (Abstraction) Trừu tượng hóa bao gồm việc tập trung vào khía cạnh chất cố hữu thực thể lờ đặc tính phụ Trong phát triển hệ thống, điều có nghĩa tập trung vào đối tượng làm gì, trước định cài đặt Sử dụng trừu tượng hoá quyền thực định lâu dài nhằm tránh ràng buộc vội vã tới chi tiết Việc sử dụng trừu tượng hóa phân tích có nghĩa giải với khái niệm lĩnh vực ứng dụng, không thực định thiết kế cài đặt trước hiểu vấn đề Sử dụng xác trừu tượng hố cho phép mơ hình sử dụng cho phân tích, thiết kế mức cao, cấu trúc chương trình, cấu trúc liệu tài liệu 1.1.2 Bọc kín (Encapsulation) Bọc kín (che giấu thơng tin) bao gồm việc phân tách khía cạnh bên ngồi đối tượng, từ chi tiết cài đặt bên đối tượng Bọc kín ngăn ngừa chương trình trở nên phụ thuộc lẫn thay đổi nhỏ có hiệu ứng lớn Việc cài đặt đối tượng bị thay đổi mà khơng ảnh hưởng đến ứng dụng có dùng đến Việc bọc kín khơng ngôn ngữ hướng đối tượng, khả kêt hợp cấu trúc liệu hành vi thực thể đơn thực việc bọc kín kỳ diệu so với ngôn ngữ truyền thống 1.1.3 Kết hợp liệu hành vi(data - behavior) Nơi gọi thao tác không cần xem xét việc thực thao tác cho tồn Đa hình di chuyển gánh nặng việc định sử dụng cài đặt từ việc gọi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mã tới phân cấp lớp Trong hệ thống hướng đối tượng, phân cấp cấu trúc liệu đồng với phân cấp kế thừa thao tác 1.1.4 Phân chia Kỹ thuật hướng đối tượng đề xướng việc phân chia vài mức khác Việc kế thừa cấu trúc liệu hành vi cho phép cấu trúc chung chia sẻ vài lớp giống mà không dư thừa Việc phân chia mã sử dụng kế thừa tiến ngôn ngữ hướng đối tượng Phát triển hướng đối tượng không cho phép chia sẻ thông tin ứng dụng mà đưa triển vọng việc sử dụng lại thiết kế mã đề án tượng lai Phát triển hướng đối tượng cung cấp cơng cụ trừu tượng bọc kín, kế thừa để xây dựng thư viện thành phần dùng lại 1.2 Các khái niệm hướng đối tượng Khi nói hướng đối tượng, khái niệm sau cần hiểu rõ: Đối tượng (Object) Lớp (Class) Thuộc tính (Atribute) Thao tác (Operation) Giao tiếp – đa hình (Interface - Polymorphism) Thành phần (Component) Đóng gói (Package) Hệ thống (Subsystem) Quan hệ (Relationship) Tất khái niệm trình bày phần “tổng quan UML” phần sau 1.3 Phát triển hướng đối tượng gì? Phát triển hướng đối tượng cách suy nghĩ phần mềm đặt sở khái niệm trừu tượng tồn giới thực Bản chất việc phát triển hướng đối tượng nhận biết tổ chức khái niệm thuộc lĩnh vực ứng dụng 1.3.1 Các khái niệm mơ hình hố LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Các ngôn ngữ lập trình hướng đối tượng có ích việc loại bỏ hạn chế tính khơng mềm dẻo ngơn ngữ lập trình truyền thống Phát triển hướng đối tượng trình nhận thức độc lập với ngơn ngữ lập trình bước cuối Phát triển hướng đối tượng hướng suy nghĩ khơng kỹ thuật lập trình Lợi ích vấn đề giúp chuyên gia, phát triển viên khách hàng biểu lộ khái niệm trừu tượng cách rõ ràng truyền gởi chúng tới nơi khác Nó phục vụ trung gian cho việc xác định, phân tích, lập tài liệu giao tiếp việc lập trình 1.3.2 Phương pháp hướng đốI tượng Chúng ta đưa phương pháp phát triển hướng đối tượng ký hiệu đồ họa cho việc biểu diễn khái niệm hướng đối tượng Phương pháp bao gồm việc xây dựng mơ hình lĩnh vực ứng dụng, sau thêm chi tiết vào thiết kế hệ thống Có nhiều phương pháp phân tích thiết kế hướng đối tượng khác – tiêu biểu phương pháp Booch Grady Booch, phương pháp OMT (Object Modeling Technique) James Rumbaugh, phương pháp OOSE (Object Oriented Software Engineering) Ivar Jacobson Nhìn chung, cách chắn phương pháp bao gồm bước: phân tích, thiết kế hệ thống, thiết kế đối tượng, cài đặt Mặc dù vậy, phương pháp có cách thức mơ hình hố khác Trong đồ án này, em trình bày phương pháp hướng đối tượng với việc sử dụng ký pháp UML để mơ hình hố 1.4 Lợi ích sức mạnh OO Cách tiếp cận hướng chức Trước thường hay sử dụng phương pháp hướng chức để xây dựng hệ thống Với phương pháp này, liệu chức năng(hành vi hay xử lý) tách riêng rẽ Ở đó, chức coi hành vi có tính chủ động, cịn liệu phận nắm giữ thơng tin cách bị động tác động chức Hệ thống chia thành chức nhỏ dần dễ dàng cho việc mã hố, cịn liệu gửi chức Một hệ thống phát triển theo cách thường trở nên khó bảo trì Một vấn đề quan trọng với phương pháp hướng chức tất chức phải biết làm liệu lưu trữ, cấu trúc liệu Các kiểu khác liệu có định dạng khác nhau, việc mã hố chương trình trở nên rắc rối Hơn nữa, ta thay đổi cấu trúc liệu, dẫn đến ta phải thay đổi tất LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com chức liên quan đến cấu trúc Hệ thống phát triển theo phương pháp trở nên có tính ổn định Một chút thay đổi gây nên hậu nghiêm trọng Một vấn đề khác phương pháp hướng chức thường khơng có tư cách tự nhiên cấu trúc vấn đề cấu tạo Do việc xây dựng hệ thống trở nên khó khăn Một nguyên nhân khác phương pháp hướng chức hệ thống khó để sửa đổi, tính khả chuyển kém, nhạy cảm với thay đổi, liệu hành vi bị tách riêng Cách tiếp cận hướng đối tượng Việc phát triển hệ thống theo cách tiếp cận hướng đối tượng mang lại cho ta nhiều lợi ích, tiêu biểu là: - Giảm chi phí bảo trì: hầu hết xử lý hệ thống bọc kín - liệu hành vi gom chung lại, hành vi sử dụng lại kết hợp thành hành vi - Mơ hình giới thực: hệ thống hướng đối tượng định hướng để mơ hình giới thực Các đối tượng tổ chức thành lớp đối tượng, đối tượng kết hợp với hành vi Mơ hình dựa đối tượng dựa liệu xử lý Cách thức gần gũi với tư người, việc xây dựng dễ dàng - Tính tin cậy cao: hành vi xây dựng từ đối tượng có sẵn - Khả sử dụng lại mã nguồn cao: chế kết hợp liệu với hành vi vào đối tượng riêng biệt, chế đóng gói, chế bọc kín Do vậy, dễ dàng cho việc kế thừa, hay sử dụng lại 1.5 Tổng quan UML UML viết tắt cụm từ Unified Modeling Language, tạm dịch ngơn ngữ mơ hình hợp UML hệ kế vị sóng phân tích thiết kế hướng đối tượng (OOA & D) xuất năm đầu 80 cuối năm 90 UML phát triển hợp phương pháp tác giả Booch, Rumbaugh (OMT) Jacopson, chuẩn hóa OGM LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.1:hình hợp để củađặc UML UML gọi ngơn Hình ngữ mơ hóa dùng tả, trực quan hóa dùng để xây dựng làm sưu liệu cho hệ thống phần mềm Mô hình hóa : giúp cho hiểu giới thực, mơ hình hóa giới thực để hiểu đặc trưng, tính tốn thơng số dự đoán kết đạt Ngôn ngữ : Chức UML phương tiện để bày tỏ trao đổi tri thức (giao tiếp) Trực quan hóa hệ thống : sử dụng để diễn tả hệ thống cách trực quan trước thực Xây dựng hệ thống : sử dụng để thực hóa hệ thống Làm sưu liệu : sử dụng để nắm bắt kiến thức hệ thống thông qua vịng đời UML khơng phải : Một ngơn ngữ lập trình trực quan, mà ngơn ngữ mơ hình Một cơng cụ, mà ngơn ngữ đặc tả mơ hình Một xử lý, mà cho phép xử lý UML thích hợp với việc giải vấn đề hướng đối tượng Bất kì quan tâm đến UML quen thuộc với nguyên lý việc giải vấn đề hướng đối tượng, bắt đầu với việc xây dựng mơ hình Mơ hình (model ) trừu tượng hoá vấn đề Phạm vi (domain ) giới thực mà vấn đề mang đến LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mơ hình chứa đối tượng (objects) tác động lẫn cách gởi thông tin (messages) khác Nếu đối tượng tồn đối tượng có thuộc tính (attributes) có hành vi (behaviors operations) Giá trị thuộc tính đối tượng xác định trạng thái (state) Lớp (Classes) bảng thiết kế cho đối tượng Lớp bao gồm thuộc tính (dữ liệu) hành vi (phương thức hàm) thực thể riêng biệt đơn giản Các đối tượng thể (instance) lớp 1.5.1 Các đặc điểm UML Bốn đặc điểm UML để phân biệt với ngơn ngữ mơ hình khác : Đa (general-purpose) Khả ứng dụng rộng rãi (broadly applicable) Được hỗ trợ công cụ (tool- supported) Là chuẩn công nghiệp (industrial standerdized) 1.5.2 Kiến trúc tổng qt UML a)Các mơ hình Xét đặc điểm tĩnh, mơ hình nắm bắt số đặc điểm hành vi hệ thống Xét đặc điểm động, nắm bắt đặc điểm hệ thống, chúng lưu trữ tri thức mặt ngữ nghĩa b) Cấu trúc View Ngày hệ thống phần mềm trở nên phức tạp, khó khăn ta khơng thể mơ hình hóa chúng lược đồ hay mơ hình Hệ thống phải phân tích nhiều góc độ khác UML đưa định nghĩa cấu trúc View Mỗi View thể hệ thống khía cạnh Mỗi View bao gồm nhiều loại lược đồ khác (xem hình 1.2) Use Case View hay cịn gọi Use model view thể vấn đề giải pháp liên quan đến chức tổng quát hệ thống Logical View hay gọi Structure Model view Static view: thể vấn đề liên quan đến cấu trúc thiết kế hệ thống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1.2 : cấu trúc View UML Process View hay gọi bihavioral model view, Dynamic hay Collaboration View thể vấn đề liên quan đến xử lý giao tiếp đồng hệ thống Deployment View hay gọi Environment model View : thể vấn đề liên quan đến việc triển khai hệ thống Một số model View khác sử dụng cần thiết c) Các lược đồ Lược đồ miêu tả tri thức mặt cú pháp miêu tả quanh cấu trúc, Hình 1.3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1.3 : Các lược đồ UML Use Case View Lược đồ người sử dụng (Use Case Diagram) : Mô tả chức hệ thống Lược đồ Use Case diễn tả Use Case hệ thống quan hệ ràng buộc… Logical View Lược đồ lớp (Class Diagram) : mô tả cấu trúc tĩnh hệ thống thể phần mà hệ thống xử lý Lược đồ đối tượng (Object Diagram): mô tả cấu trúc tĩnh hệ thống thời điểm, xem thể lược đồ lớp Process View Lược đồ ( Sequence Diagram ) :Mô tả tương tác thành phần hệ thống theo thời gian Lược đồ cộng tác (Collaboration Diagram) : mô tả tương tác thành phần hệ thống theo thời gian không gian Lược đồ trạng thái (State Diagram) : mô tả trạng thái, hồi đáp thành phần hệ thống có tác động vào Lược đồ hoạt động (Activity Diagram) : mơ tả hoạt động thành phần hệ thống Implementation View Lược đồ thành phần (Component) : mô tả tổ chức thành phần thực thi hệ thống Invironmen View Lược đồ triển khai (Deployment Diagram) : mơ tả cấu hình thành phần mơi trường trình tự thành phần thực thi 1.5.3 Các lược đồ UML Trọng tâm việc giải vấn đề hướng đối tượng xây dựng mơ hình Mơ hình trừu tượng hóa chi tiết cần thiết vấn đề giới thực Trọng tâm UML thể qua loại lược đồ khác : Use case diagrams (Lược đồ Use case) Class diagrams (Lược đồ lớp) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 4.9: quan hệ inventoryEJB với lớp inventoryDAO, inventoryModel 4.1.4 Thành phần customer a) Thành phần order: thành phần thuộc loại Bean thực thể (Entity Bean) Nó trình bày sau: Hình 4.10: sơ đồ EJB thành phần order Quan hệ orderEJB với lớp DAO lớp nghiệp vụ sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 4.11: quan hệ orderEJB với lớp DAO, Model lớp nghiệp vụ khác b) Thành phần customer Là thành phần thuộc loại Stateless Session Bean, Bean thao tác phi trạng thái Được trình bày sau: Hình 4.12: sơ đồ EJB thành phần customer LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com b) Thành phần account Là thành phần thuộc loại Entity Bean, Bean thực thể trình bày sau: Hình 4.13: sơ đồ EJB thành phần account Quan hệ accountEJB với lớp DAO lớp khác trình bày sau: Hình 4.14: quan hệ accountEJB với lớp DAO, Model LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.2 Biểu đồ thành phần thành phần nghiệp vụ tầng business tier Hình 4.15: biểu đồ thành phần thành phần nghiệp vụ CHƯƠNG THIẾT KẾ HIỆN THỰC HÓA CÁC USE CASE Chương vào thiết kế tồn diện để thực hóa use case Trong phần thiết kế tuân theo giải pháp chọn chương 4, tức theo kiến trúc MVC-Model-View-Controller Trong Model thành phần (các Enterprise Java Bean) thuộc tầng nghiệp vụ (business tier) View trang JSP lớp JavaBean, thuộc tầng Web (Web tier) Controller lớp điều khiển EJB mà hoạt động thành phần điều khiển Nó tách Web tier EJB tier đứng để làm cầu nối cho hai tầng Theo kiến trúc MVC hình 4.1 chương bốn, ta vào thiết kế cho use case ứng dụng 5.1 Thiết kế thực hóa use case 5.1.1 Thiết kế thực hóa use case sign in LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 5.1: lược đồ lớp Sign in LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 5.2: lược đồ sign in (phần 1) : customer : MainForm : Template : ScreenDefinitions : ScreenFlowManager : SignInForm : SignInSuccessForm 1://signin( ) 2://forward(req,resp) 3://include 4:// getSigninScreen( ) 5://display( ) 6://display Hình 5.3: lược đồ sign in (phần 2) 5.1.2 Thiết kế thực hóa use case create account Hình 5.4: lược đồ lớp create account LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 5.5: lược đồ create account (phần 1) Hình 5.6: lược đồ create account (phần 2) Các lược đồ lại use case khác trình bày phần phụ lục LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG THỰC HIỆN CÀI ĐẶT VÀ TRIỂN KHAI ỨNG DỤNG 6.1.Thực cài đặt Ở pha ta tiến hành mã hoá hệ thống Trong hệ thống e-store ta dùng ngôn ngữ Java, với công nghệ EJB 1.x tầng nghiệp vụ (business tier) để mã hoá Ở tầng Web (Web tier) ta dùng công nghệ JSP, Servlet, JavaBean để mã hoá Ở tầng sở liệu EIS (Enterprise Information System tier) ta dùng hệ quản trị sở liệu Cloudscape tích hợp J2EE Server Lược đồ thành phần hệ thống trình bày đây: H ình 6.1: lược đồ thành phần hệ thống 6.2 Một vài giao diện ứng dụng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 6.2: form đăng nhập vào hệ thống Hình 6.3: Form hiển thị sản phẩm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 6.4: form hiển thị thơng tin mục hàng Hình 6.5: hiển thị giỏ hàng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 6.6: hiển thị đơn hàng vừa đặt 6.3 Triển khai hệ thống Hình 6.7: lược đồ triển khai hệ thống E-store KẾT LUẬN Đồ án tốt nghiệp em vào tiếp cận công nghệ J2EE, công cụ UML, Rational Rose Các công nghệ, công cụ tương đối em cố gắng tìm hiểu Trong đồ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com án này, em xây dựng ứng dụng J2EE với Rational Rose UML Ứng dụng mang tính demo, chưa thành hệ thống hồn chỉnh phần hệ thống thương mại điện tử Mặc dù cố gắng em giới thiệu công nghệ J2EE, UML Những kiến thức tổng quát, với số lượng công nghệ nhiều nên nắm bắt cách chi tiết hết Trong thời gian ngắn em tiếp cận công nghệ trên, khó tránh sai sót, mong thầy hướng dẫn tận tình bảo, đánh giá, nhận xét Em chân thành cảm thầy Nguyễn Thanh Tùng hướng dẫn giúp em hoàn thành đồ án Em xin cảm ơn thầy cô khoa Công nghệ thông tin trường Đại Học Bách Khoa Hà Nội, trường Đại Học Thủy Sản Nha Trang giúp em trình làm đồ án LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... hệ thống : sử dụng để diễn tả hệ thống cách trực quan trước thực Xây dựng hệ thống : sử dụng để thực hóa hệ thống Làm sưu liệu : sử dụng để nắm bắt kiến thức hệ thống thơng qua vịng đời UML. .. Tìm hiểu việc sử dụng UML để phân tích thiết kế ứng dụng theo hướng đối tượng Minh họa cách sử dụng Rational Rose Tìm hiểu công nghệ EJB, JSP, Servlet đặc tả J2EE CHƯƠNG PHÂN TÍCH MƠ TẢ U CẦU... với EJB object phương thức nghiệp vụ, (hình 2.11) PHẦN II PHÁT TRIỂN ỨNG DỤNG Trong phần xây dựng ứng dụng E-store để mô tả kỹ thuật, công nghệ việc phát triển ứng dụng theo công nghệ J2EE Ứng