Tại sao em k lưu được file của rational rose

Mô hình hóa và thiết kế hướng đối tượng là một cách suy nghĩ về vấn đề sử dụng các mô hình được tổ chức xung quanh các khái niệm thế giới thực. nền tảng là đối tượng, nó kết hợp cả cấu trúc dữ liệu và hành vi vào trong một Các mô hình hướng đối tượng là có ích cho việc hiểu vấn đề, việc trao đổi với người dùng, mô hình hoá các tổ chức kinh doanh, chuẩn bị tài liệu và của một thực thể và lờ đi các đặc tính phụ của nó. này có nghĩa là tập trung vào đối tượng là cái gì và làm cái gì, trước khi quyết định trừu tượng hóa trong khi phân tích có nghĩa là chỉ giải quyết với các khái niệm lĩnh vực ứng dụng, không thực hiện các quyết định thiết kế và cài đặt trước khi hiểu Sử dụng chính xác trừu tượng hoá cho phép cùng một mô hình được sử của đối tượng, từ các chi tiết cài đặt bên trong của đối cài đặt một đối tượng có thể bị thay đổi mà không ảnh hưởng đến các ứng dụng có dùng đến nó. các ngôn ngữ hướng đối tượng, nhưng khả năng kêt hợp cấu trúc dữ liệu và hành vi trong một thực thể đơn thực hiện việc bọc kín là kỳ diệu hơn so với các ngôn Trong một hệ thống hướng đối tượng, phân thừa là một trong những tiến bộ chính của ngôn ngữ hướng đối mà còn đưa ra triển vọng của việc sử dụng lại các thiết kế và mã trong các Phát triển hướng đối tượng cung cấp các công cụ như là trừu tượng bọc kín, kế thừa để xây dựng các thư viện của các thành phần có thể dùng Các khái niệm cơ bản của hướng đối tượng Khi nói về hướng đối tượng, các khái niệm cơ bản sau đây cần được hiểu rõ: Tất cả các khái niệm này được trình bày trong phần “tổng quan về UML” ở Phát triển hướng đối tượng là một cách suy nghĩ mới về phần mềm đặt cơ sở việc phát triển hướng đối tượng là nhận biết và tổ chức các khái niệm thuộc lĩnh Các ngôn ngữ lập trình hướng đối tượng là có ích trong việc loại bỏ các hạn chế do tính không mềm dẻo của các ngôn ngữ lập trình truyền ích của vấn đề này là giúp các chuyên gia, phát triển viên và khách hàng biểu lộ các khái niệm trừu tượng một cách rõ ràng Nó có thể phục vụ như là một trung gian cho Chúng ta đưa ra phương pháp phát triển hướng đối tượng và các ký hiệu đồ việc xây dựng một mô hình của lĩnh vực ứng dụng, sau đó thêm các chi tiết vào Có nhiều phương pháp phân tích và thiết kế hướng đối tượng khác nhau – Trong đồ án này, em sẽ trình bày phương pháp hướng đối tượng với việc sử Ở đó, chức năng được coi như là những hành vi có tính chủ động, còn dữ liệu là bộ phận nắm giữ thông tin một cách bị động và được tác Hệ thống được chia thành các chức năng nhỏ dần cho tới khi nó có thể dễ dàng cho việc mã hoá, còn dữ liệu được gửi giữa các chức Một hệ thống được phát triển theo cách này 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 năng là tất cả các chức Một vấn đề khác đối với phương pháp hướng chức năng là chúng ta thường không có những tư duy một cách tự nhiên về cấu trúc của vấn đề nó được cấu tạo Một nguyên nhân khác đối với phương pháp hướng chức năng là hệ thống rất Việc phát triển hệ thống theo cách tiếp cận hướng đối tượng sẽ mang lại cho - Giảm chi phí bảo trì: bởi vì hầu hết các xử lý trong hệ thống được bọc kín - dữ liệu và hành vi được gom chung lại, các hành vi có thể được sử dụng lại và kết - Mô hình thế giới thực: hệ thống hướng đối tượng là định hướng để mô hình Các đối tượng được tổ chức thành các lớp đối tượng, và các đối tượng được kết hợp với các hành vi. - Tính tin cậy cao: bởi vì các hành vi mới được xây dựng từ các đối tượng đã UML là thế hệ kế vị của làn sóng phân tích và thiết kế hướng đối tượng (OOA trên sự hợp nhất trong các phương pháp của tác giả Booch, Rumbaugh (OMT) và UML được gọi là một ngôn ngữ mô hình hóa dùng để đặc tả, trực quan hóa dùng để xây dựng và làm sưu liệu cho các hệ thống phần mềm giới thực để có thể hiểu được những đặc trưng, tính toán các thông số và dự • Ngôn ngữ : Chức năng của UML như là một phương tiện để bày tỏ và trao • Trực quan hóa hệ thống : được sử dụng để diễn tả hệ thống một cách trực • Xây dựng hệ thống : được sử dụng để hiện thực hóa hệ thống. • Làm sưu liệu : được sử dụng để nắm bắt kiến thức về hệ thống thông qua • Một ngôn ngữ lập trình trực quan, mà nó là một ngôn ngữ mô hình. • Một công cụ, mà nó là một ngôn ngữ đặc tả mô hình Mô hình chứa các đối tượng (objects) tác động lẫn nhau bằng cách gởi các các thuộc tính trong đối tượng được xác định bởi trạng thái của nó (Classes) là bảng thiết kế cho các đối liệu) và các hành vi (phương thức hoặc hàm) trong một thực thể riêng biệt Các đối tượng là các thể hiện của các lớp. Bốn đặc điểm chính của UML để có thể phân biệt với các ngôn ngữ mô hình Xét về đặc điểm tĩnh, các mô hình nắm bắt một số đặc điểm và hành vi của hệ Xét về đặc điểm động, nắm bắt các đặc điểm của hệ thống, về cơ bản chúng không thể mô hình hóa chúng chỉ bằng một lược đồ hay mô hình. Mỗi View là một thể hiện của hệ thống dưới một khía cạnh nào đó. View có thể bao gồm nhiều loại lược đồ khác nhau (xem hình 1.2) • Use Case View hay còn gọi là Use model view thể hiện các vấn đề về hiện các vấn đề liên quan đến cấu trúc thiết kế hệ View thể hiện các vấn đề liên quan đến xử lý giao tiếp và • View hay còn gọi là model View : thể hiện các • Một số model View khác có thể được sử dụng khi cần đồ miêu tả các tri thức về mặt cú pháp được miêu tả quanh Hình 1.3 : Các lược đồ của UML Lược đồ người sử dụng (Use Case Diagram) : Mô tả các chức năng của hệ Lược đồ Use Case diễn tả các Use Case trong hệ thống và các quan hệ Lược đồ lớp (Class Diagram) : mô tả cấu trúc tĩnh của hệ thống thể hiện các phần mà hệ thống có thể xử lý đồ đối tượng (Object Diagram): mô tả cấu trúc tĩnh của hệ thống tại một thời điểm, nó có thể xem như một thể hiện của lược đồ lớp. Lược đồ tuần tự ( Sequence Diagram ) :Mô tả sự tương tác giữa các thành Lược đồ cộng tác Diagram) : mô tả sự tương tác giữa các thành phần trong hệ thống theo thời gian và không đồ trạng thái (State Diagram) : mô tả trạng thái, sự hồi đáp của một thành phần trong hệ thống khi có những tác động vào nó. Lược đồ hoạt động (Activity Diagram) : mô tả sự hoạt động của các thành Lược đồ thành phần : mô tả tổ chức của các thành phần thực thi Lược đồ triển khai Diagram) : mô tả cấu hình của các thành phần môi trường và trình tự của các thành phần thực thi trên đó. Các lược đồ trong UML Trọng tâm của việc giải quyết vấn đề hướng đối tượng là xây dựng một mô Mô hình trừu tượng hóa các chi tiết cần thiết của vấn đề cơ bản về thế giới Trọng tâm của UML được thể hiện qua 8 loại lược đồ khác nhau : Use case diagrams mô tả hệ thống làm gì từ quan điểm của người quan sát Lược đồ Use case quan hệ gần gũi đến các sự kiện. Use case là tập hợp các sự kiện về một công việc đơn giản hoặc mục đích actor là người tham gia vào các sự kiện trong phiên làm việc. Mối liên hệ giữa use case và actor là mội quan hệ Actor có hình que, Use case có hình bầu dục, mối quan hệ là đường thẳng liên Lược đồ use case là tập hợp các actor, các use case, các mối quan hệ giữa cầu mới khi hệ thống phân tích và đưa ra các mô hình. • Giao tiếp với clients : các kí hiệu đơn giản giúp cho lược đồ use case có • Phát sinh các trường hợp test : tập hợp các sự kiện cho một use case có thể đề nghị các trường hợp cho các sự kiện này. Lược đồ Use case phát hoạ tổng quan của hệ lược đồ Use case đơn giản được mở rộng với các đặc trưng thêm vào để hiển thị thông tin hơn (hình 1.6). Các đặc trưng của lược đồ Use case Lược đồ Use case mở rộng lược đồ với các đặc trưng thêm vào. Quan hệ mở rộng (extend) chỉ ra một use case là một biến đổi của use case Kí hiệu quan hệ mở rộng là đường gạch đứt, có nhãn là và một khi use case mở rộng là thích hợp và được viết bên trong use case cơ sở. Class diagram đưa ra tổng quan hệ thống bằng cách hiển thị các lớp và quan Lược đồ lớp dưới đây mô tả một khách hàng đặt đồ lớp có 3 loại quan hệ : • (quan hệ kết hợp) -- một quan hệ giữa các thể hiện của 2 lớp. Đây là một quan hệ kết hợp giữa hai lớp nếu một thể hiện của một lớp phải biết Trong một lược đồ, một quan hệ kết hợp là một • (quan hệ thu nạp)-- mối kết hợp trong một lớp thuộc về một Một quan hệ thu nạp có một hình thoi cuối điểm được xem là toàn lược đồ này,Order có một tập hợp là là một lớp cha của lớp hệ tổng quát hoá có một hình quan hệ có thể xem xét và truy (bản số ) của một đầu quan hệ là số thể hiện của lớp kết hợp với Mỗi lược đồ lớp có các lớp, các quan hệ, và các bản số. các vai trò là các mẫu tuỳ chọn đặt trong lược đồ để làm sáng tỏ. Quan hệ kết hợp trong đối tượng là phần mở rộng của quan hệ thu phần ) là quan hệ kết hợp với phần (part) thuộc về toàn bộ Trong lược đồ này biểu diễn rằng, một BoxOffice thuộc về một Hình 1.8:lược đồ thành phần và thu nạp Chú thích lớp là một hình chữ nhật gồm 3 phần : tên lớp, thuộc tính Phụ thuộc ) là mối quan hệ giữa hai lớp mà thay đổi lớp này có Hình 1.10: quan hệ phụ thuộc và ràng buộc trong lược đồ lớp lược đồ trên chỉ ra rằng một Section có thể là một phần của diện là một tập hợp các kí hiệu hoạt được thực hiện như các lớp trừu tượng với các thành viên ảo. Lược đồ lớp dưới đây là một mô hình về hội nghị nghề hội nghị là (một bảng trình bày đơn giản) và Session (tập hợp Trong lược đồ có một ràng buộc, Có ba giao diện trong lược đồ : IDated, và bắt đầu bằng kí tự I và đi kèm với các phương thức trừu tượng được viết Một lớp như lớp với các phương thức kết hợp trong giao diện phương pháp mở rộng UML, là thành phần mô hình mới được tạo từ các kiểu tồn Giao diện là một loại đặc biệt của kiểu Có hai cách kí hiệu giao diện trong UML : một là kí hiệu như trên, hai là kí hiệu Hình 1.11:các lớp giao diện trong lược đồ. Hình 1.12: các lớp giao diện và khuôn mẫu Để tổ chức các lược đồ lớp phức tạp, ta có thể nhóm các lớp phức tạp vào Một gói là một tập hợp các thành phần UML liên đồ dưới đây là một mô hình nghiệp vụ với các lớp được nhóm vào các gói. gói phụ thuộc vào một gói khác nếu sự thay đổi của gói khác có ảnh hưởng đến Object diagrams (Lược đồ đối tượng) là một loại đặc biệt của lược đồ Lược đồ lớp dưới đây hiển thị một có thể chứa nhiều Hình 1.14: lược đồ lớp thể hiện quan hệ đệ qui Mỗi hình chữ nhật trong lược đồ tương ứng với một thể đồ lớp và lược đồ đối tượng là các cấu trúc (view) mô hình tác diagrams) là cấu trúc động, mô tả các đối tượng cộng tác Lược đồ tuần tự (sequence diagram ) là lược đồ tương tác diễn tả các Trong lược đồ ví dụ, Hotel sử dụng selfcall để quyết định nếu có đồ có một thông báo (note) để giải thích, đó là đoạn văn bản ở trong Thông báo có thể đặt vào trong bất kì lược đồ Trong lược đồ tuần tự, vai trò đối tượng là các đỉnh và thông điệp được kết nối. Hình chữ nhật của vai trò đối tượng được ghi trong lớp hoặc tên đối tượng Mỗi thông điệp trong lược đồ cộng tác có số tuần tự (sequence Các đối tượng có các hành vi và trạng thị các trạng thái của đối tượng và các biến đổi trong trạng lược đồ ví dụ, mô hình đăng nhập vào hệ thống ngân hàng trên Đăng nhập có thể thực hiện trong 4 trạng thái không trùng lắp sau :Getting Các trạng thái được khoanh tròn trong hình chữ động diễn ra khi kết quả của một sự kiện hoặc điều kiện được nhấn mạnh Lược đồ tuần tự và lược đồ cộng tác tập trung vào các thông điệp liên quan đến Lược đồ trạng thái tập trung vào một đối tượng Sau đây là phần trình bày về các hoạt động không đồng bộ hoặc trùng lắp của một thông điệp không đồng bộ độc lập với thời gian các thông điệp xen vào. Lược đồ tuần tự dưới đây minh hoạ hoạt động của một y tá yêu cầu kiểm tra Yêu cầu của các thông điệp này được gởi hoặc được thực hiện không thích Hình 1.20: các qui ước thông điệp của UML Các trạng thái trong lược đồ trạng thái có thể lồng nhau. Các trạng thái lồng nhau thì cần thiết khi một hoạt động liện quan đến các hoạt Hình 1.21: trùng lắp và không đồng bộ trong lược đồ trạng thái lược đồ trạng thái có quan hệ với nhau. đối tượng thông qua một quá trình, lược đồ hoạt động tập trung vào luồng hoạt Lược đồ hoạt động có thể phân chia thành đối tượng swimlanes để xác định Một nhánh và nhánh kế tiếp của nó kết hợp để đánh dấu nhánh cuối xuất Sự phân nhánh và sự kết hợp các tiểu trình tiếp theo ra khỏiphân nhánh xuất hiện J2EE là nền để phát triển các ứng dụng phần mềm phân tán của nghệ đã trở thành một phần của nền Java, các API và các chuẩn mới được Một hệ thống J2EE về tổng quát có thể bao gồm 3 máy logic như sau: máy chuẩn bị trước một số cách thức để cho user có thể giao tiếp hệ thống J2EE để Cách thức giao tiếp có thể là thông qua giao diện client có thể truy xuất trực tiếp đến các EJB của lớp Business hoặc có thể thể thiết lập một kết nối HTTP đến các servlet của lớp Web. Web Browsers: là môi trường để thực thi các ứng dụng trên web của máy Applets: cũng là một hình thức của client nhưng được thiết kế để được download xuống và thực thi trên Java VM của Web Browser, do đó khả Sau đây là sơ đồ giao tiếp giữa Client tier và J2EE server: Bao gồm các trang JSP và các servlet và có thể có các JavaBean để quản lý các dòng dữ liệu giữa các web và business tier của hệ thống tier là một lớp logic dùng để thực hiện việc xử lý của hệ thống J2EE Hình vẽ minh họa cho ta thấy 1 Bean có thể nhận dữ liệu từ client, đó (nếu cần thiết) và sau đó là gửi nó trở lại các chương trình Bean thể hiện cho một phiên dao dịch với client, với 1 client sẽ có 1 instance của session bean tương ứng, và instance này có thể lưu giữ các thông Lớp này thực hiện việc lưu trữ dữ liệu cho hệ thống J2EE, bao gồm cả các để giao tiếp với các Database khác nhau, và giữa các OS khác nhau Kiến trúc tổng thể của một hệ thống J2EE: cả các bean cho một ứng dụng J2EE. Web container quản lý và thực thi của tất cả các trang JSP và các servlet cho Các web component và container của nó đều được chạy trên client container quản lý và thực thi của tất cả các thành phần Các client và container của Applet container chính là web browser (có các Java Plug-in) chạy trên máy Hình 2.5:kiến trúc tổng thể của hệ thống dựa vào JNDI để truy tìm các thành phần phân tán thông qua là một công nghệ chính yếu được yêu cầu cho mã khách kết nối đến một Là một service trong hệ thống J2EE phục vụ cho việc đặt tên của các Object, trong đó 1 object ta có thể xem như là module, một service để thực hiện một chức Với 1 object có thể có nhiều tên được tham khảo client hoặc EJB có thể truy xuất đến object thông qua tên mà không cần còn clients là người sử dụng các dịch vụ, sẽ kết hợp các dịch vụ với nhau để thực Khi một client muốn dùng một dịch vụ nào đó của hệ thống thì nó sẽ phải “đề xuất yêu cầu” với lookup service, và các dịch vụ của hệ thống có thể phục vụ cho client khi được lookup service cho phép. Quá trình đăng ký một dịch vụ của service provider với lookup service được mở ra và phân tích packet này và lấy các thông tin về service provider và service cấp để gửi đến đó một Object, object này được gọi là service service registrar object là để tạo sự dễ dàng trong việc giao tiếp giữa service của service registrar object với thông số là một object, object này gọi là service item, nó chứa tất cả các thông tin cần thiết cho một dịch vụ cần đưa vào công thì ta có thể coi như quá trình đưa một service mới vào hệ thống JNDI thành Service Item có bản chất là một container và nó chứa một số các Object khác, trong đó chính yếu nhất là một object được đặt tên là service thông qua đó, client có thể tương tác với một số các Object thuộc tính khác như icon, GUIs… của service registrar object cũng còn có một method có tên là lookup() dành một method trong service object thì service object đó sẽ kết nối trực tiếp với Có 2 loại kỹ thuật có thể dùng được cho JNDI lookup của Instance này được cấu hình bằng cách sử dụng các thông tin được lưu trong 1 file cấu hình theo cú pháp của XML (các thông tin về server name, port, Bước kế tiếp là tạo ra và thiết lập cấu hình cho một instance của và truyền instance này đến method các thông tin mà cần để tạo và cấu hình cho một name> được sử dụng để nhận các đặt tính của factory, reference cũng có thể là một chuỗi nhị phân chứa các thông số dùng để thông số là tên của object mà ta muốn nhận JDBC là một chuẩn mở rộng của Java cho việc truy cập dữ liệu, mà cho phép RMI, còn IIOP là giao thức chuẩn cho việc giao tiếp giữa các CORBA IIOP cho phép các Java remote object không chỉ giao tiếp với các CORBA cấu trúc Component để phát triển và triển khai các ứng dụng nghiệp vụ phân tán. Các ứng dụng được viết với cấu trúc EJB có thể bảo mật đa người dùng, chia Những ứng dụng này có thể được viết một lần sau đó Môi trường mà các đối tượng Bean sẽ hoạt động gọi là trình chứa server cung cấp các dịch vụ hệ thống và quản lý server có khả năng cung cấp các dịch vụ giao tác và dịch vụ đăng ký và truy Nó được sinh ra bởi các tiện ích của nhà cung cấp EJB Khi phương thức tạo được gọi trên home interface thì EJB home tạo một thể hiện của EJB object mà tham chiếu tới thể hiện bean có kiểu tương ứng. thể hiện bean được kết hợp với EJB object thì phương thức tương ứng của thể hiện đó sẽ được gọi. việc trực tiếp với EJB object bằng các phương thức nghiệp vụ. hoặc hai lớp: Home định nghĩa phương thức vòng đời của bean: tạo một tượng này lại là mở rộng của class: cài đặt các phương thức nghiệp vụ của bean, không cài đặt các luôn sử dụng các phương thức giao tiếp home interface và remote interface của Như ta đã giới thiệu ở trên, bean là một thành phần phần mềm ở bean có thể gồm một hay nhiều các đối tượng java tại vì một thành phần có thể là Session thao tác) chỉ có nhiệm vụ phục vụ trình khách trong một Các Session bean có thể dùng bởi một Stateful Session Bean: là các thành phần bean cần lưu lại kết quả hay vị trí Session Bean: là các thành phần bean không lưu lại trạng thái của Các session bean có thể sử dụng ứng dụng Server bị sự cố thì Entity Bean có thể được xây dựng lại trong bộ nhớ Một phần cơ bản khác của một nghiệp vụ là bền vững dữ liệu mà xử lý nghiệp Entity Bean chính là một thành phần mà đại diện cho bền vững dữ Bean thực thể tự quản lý(Bean – Managed Entity Beans): là các thành phần bean có khả năng tự truy vấn các hệ cơ sở dữ liệu để lấy về dữ liệu mã cho các phương thức, nhất là các phương thức thao tác với nhiều bảng dữ Là các thành phần bean không cần sử dụng lệnh SQL để tìm kiếm hay tạo mới lúc(có sự join giữa các bảng) thì sẽ phức tạp hơn- cần viết thêm lớp bean kết nối Message – driven bean: xử lý các thông điệp ( message một cách không Điểm khác với Session và Entity Bean là client không thể truy cập Message – driven bean chỉ là một lớp bean, không có Chỉ cần một bean này nó vẫn có thể xử lý nhiều message từ nhiều hoặc Bean này là một khối mã ứng dụng mà có thể thực hiện khi message Đặc tả EJB định nghĩa vài giao tiếp chuẩn mà lớp bean có thể thực giao tiếp của lớp bean là trình bày các phương thức đảm bảo mà tất cả các gọi những phương thức đã yêu cầu để quản lý các bean và thay đổi bean đến các Hầu hết các giao tiếp cơ bản của các lớp bean (cả session và entity bean) phải Khi một máy khách muốn dùng một thể hiện của một lớp bean, máy hơn là sự viện cầu bị ngăn chặn bởi trình chứa EJB và rồi chuyển giao cho thể EJB object là một đối tượng đại diện mà nhận biết về mạng, giao tác, an ninh …Nó là một đối tượng thông minh biết làm thế nào để thực hiện logic trung gian các yêu cầu tới trình chứa EJB trước khi một lời gọi phương thức được phục vụ bởi một thể hiện của lớp bean. EJB object là một thành phần vật lý của trình chứa gọi phương thức trên EJB object, đúng hơn là chính các bean đó. điều này, EJB object phải định nghĩa từng phương thức nghiệp vụ mà các lớp Giao tiếp này sao lại tất cả các phương thức nghiệp vụ mà lớp Remote interface phải phù hợp với các luật mà đặc tả EJB định nghĩa. Mã khách muốn làm việc với các bean gọi các phương thức trong Khi một trình khách của bean triệu gọi bất kỳ phương tương ứng, sự thực hiện này cư trú bên trong các bean đó. Như chúng ta đã biết, mã client xử lý với EJB object và không bao giờ làm tại vì EJB object có thể tồn tại trên một máy khác chứ không cùng trên máy như sự định vị EJB object là trong suốt, vì vậy máy khách sẽ không bao Đặc tả EJB gọi xí nghiệp này là một home nhiệm của home object là làm các việc sau: Home object là một phần vật lý của trình chứa và được tự động tạo ra bởi Chúng ta đã thấy home object là các xí nghiệp cho EJB định nghĩa các phương thức đơn giản cho việc tạo, huỷ, tìm kiếm EJB Home object của trình chứa thực hiện home interface cho chúng ta. Hình 2.12:sơ đồ yêu cầu tạo một EJB object từ Home objects Khi phương thức tạo được gọi trên home interface từ trình khách thì EJB home tạo một thể hiện của EJB object mà tham chiếu tới thể hiện bean có kiểu Khi thể hiện bean được kết hợp với EJB object thì phương thức tương ứng của thể hiện đó sẽ được gọi. Sau đó client có thể làm việc trực tiếp với EJB object bằng các phương Ứng dụng này là một phần của hệ thống thương mại điện tử. đảm trách chức năng chính trong cả hệ thống, cho phép khách hàng tìm chọn và 2. Bất cứ khi nào khách hàng cũng có thể đăng nhập vào hệ thống bằng cách Bước đầu tiên trong quá trình phân tích là ta định nghĩa các use case - những những đặc tả của người sử dụng để phát hiện ra các use case, actor. Từ mô tả kịch bản của ứng dụng ta có được Actor là khách hàng • Khách hàng là người cần tìm món hàng và đặt mua hàng trên mạng thông Qua quá trình khảo sát đặc tả ứng dụng có được các use case của phần ứng Hình 3.1: lược đồ các Use case của cả ứng dụng Use case này cho phép người dùng tạo và kích hoạt một account chứa thông Một khi account đã được tạo và đã được kích hoạt, người dùng đó 1. Hệ thống hiển thị thông tin mà người dùng phải nhập vào. 2. Người dùng nhập thông tin được yêu cầu và hệ thống lưu những giá trị đó. 4. Hệ thống thông báo account được tạo thành công 5. Account được tạo thành công, xem như đã đăng nhập vào hệ thông tin mà người dùng nhập vào không hợp lệ thì xảy ra các điều sau: - Người dùng nhập lại thông tin và hệ thống xác nhận lại những thông tin - Nếu nhập vào thông tin hợp lệ thì sẽ được lưu vào hệ thống. - Nếu không hợp lệ thì hệ thống yêu cầu nhập lại cho đến khi hợp lệ. 2. Account không được tạo: điều này xảy ra khi người dùng nhập thông tin Một account được cập nhật khi nó đã có và đã được kích hoạt trong hệ Use case này bắt đầu khi người dùng muốn cập nhật một account, account đó đã có trong hệ thống, với điều kiện người dùng đã đăng nhập vào rồi. 1. Hệ thống hiển thị thông tin account của người dùng. 4. Hệ thống thông báo account được cập nhật thành công định thông tin mà người dùng nhập vào không hợp lệ thì xảy ra các điều sau: - Người dùng nhập lại thông tin và hệ thống xác nhận lại những thông tin - Nếu nhập vào thông tin hợp lệ thì sẽ được lưu vào hệ thống. - Nếu không hợp lệ thì hệ thống yêu cầu nhập lại cho đến khi hợp lệ. 2. Account không được cập nhật: điều này xảy ra khi người dùng nhập thông Use case này là nơi mà người sử dụng được nhận diện trong hệ dùng đã có một account trong hệ thống, người dùng cung cấp một user Nếu người dùng không có một account trong hệ thống thì có thể tạo mới. Use case này bắt đầu khi người dùng muốn đăng nhập hệ thống. 1. New User: Người dùng không có một account, hệ thống cho phép tạo Một khi account được tạo, người dùng được xem như đã đăng nhập. Use case này cho phép người dùng thoát khỏi hệ thống sau khi đã đăng nhập Use case này bắt đầu khi người dùng muốn thoát khỏi hệ thống khi đã đăng Use case này cho phép người dùng duyệt xem danh mục hàng trong hệ Người dùng có thể tìm kiếm mục hàng cụ thể hoặc các mục hàng xếp sẵn Hệ thống hiển thị thông tin mục hàng đã yêu cầu, một khi mục hàng đã hiển 1. Use case này bắt đầu khi người dùng muốn tìm các mục hàng có trong hệ 2. Hệ thống hiển thị mục hàng cho người dùng, người dùng cũng có thể nhập Hệ thống hiển thị các sản phẩm (product) của loại hàng các sản phẩm của loại hàng đó được hiển thị. gồm các thông tin: mã số mục hàng (ItemID), tên mục hàng, và giá cả của mục - Browse Item detail: khi người dùng duyệt đến các mục hàng cụ thể, người dùng muốn xem chi tiết một mục hàng cụ thể nào đó thì hệ thống hiển thị thông Use case này cho phép người dùng chọn mục hàng và đặt vào giỏ hàng. Hệ thống sẽ xác nhận tính hợp lệ của thẻ tín dụng và những 1. Use case này bắt đầu khi người dùng muốn mua các mục hàng trong hệ Người dùng tìm các mục hàng mình cần mua và đặt các mục hàng đó vào Trong quá trình chọn mua hàng người dùng có thể: 2. Khi chọn xong giỏ hàng, hệ thống yêu cầu xác nhận đồng ý mua các mục Khi đã đăng nhập rồi thì hệ thống yêu cầu nhập thông tin về thẻ tín dụng, địa chỉ 4. Hệ thống yêu cầu người dùng xác nhận lại những thông tin trên, đồng thời hệ thống thẩm định thông tin đó có hợp lệ hay không. 6. Hệ thống gửi một thông điệp xác nhận thông qua email 1. Người dùng mua một mục hàng nào đó với số lượng vượt quá số lượng có xác nhận và thực hiện các bước tiếp đầu hình thành ý niệm về giao diện, là cửa sổ tương tác giữa hệ thống Chuyển các yêu cầu người dùng vào hệ thống, hệ thống đáp ứng Giao diện có thể là các thể hiện của các lớp này là các đối tượng có thể lưu trữ dữ liệu, xử lý các Đối tượng được tìm như là thực thể tồn ● Dùng các luồng sự kiện của Use case như là đầu vào. ● Giữ lại các lớp đúng đắn: ta loại bỏ các lớp không cần thiết và không chính - Các lớp dư thừa: nếu hai lớp cùng biểu diễn một thông tin, giữ lại tên diễn - Các lớp không thích hợp: nếu một lớp có ít hoặc không có gì thực hiện vấn - Các lớp mơ hồ: một lớp phải xác định, một số lớp thử có thể có biên giới - Các vai trò: tên các lớp, phải phản ánh bản chất tự nhiên của nó, không Để xác định các kết hợp, thông thường là ta dựa vào tài liệu đặc tả ứng dụng và đặc biệt là từ mô tả use case để rút ra các động từ hay nhóm động từ. - Các kết hợp giữa các lớp bị loại ra: nếu một trong các lớp của kết hợp đã bị loại bỏ, thì kết hợp phải được loại bỏ, hoặc phát biểu lại bằng các lớp khác. - Các tác động: kết hợp phải mô tả một đặc tính về cấu trúc của lĩnh vực ứng Để nhận diện các thao tác, một công cụ thuận lợi là ta nhìn vào các hành vi của các use case - luồng các sự kiện, sau đó phân bổ các hành vi này vào các Các thuộc tính là đặc tính của đối tượng riêng lẻ. Các lược đồ trong các gói Sau khi tìm ra các lớp miền nghiệp vụ ta nhóm các lớp có quan hệ gần gũi + customer package: gói khách hàng, có các gói con là: account package, Lược đồ quan hệ giữa các lớp nghiệp vụ và lớp giao diện: các lược đồ trong gói sign in and off lược về các chức năng mà hệ thống sẽ làm. phát triển với người dùng, nó là bản mẫu cho sự giao tiếp, chưa can thiệp vào a) Các lược đồ trong sign in b) Các lược đồ trong sign off Hình 3.4: lược đồ lớp của sign off các lược đồ trong gói customer Hình 3.8: lược đồ lớp của create account Hình 3.10: lược đồ lớp của update account Thiết kế là quá trình mở rộng của pha phân tích bằng việc ta thêm vào đó Mục đích của thiết kế là xác định một giải pháp để dễ Các thành phần này có chức Entity Bean, thực hiện việc lưu trữ dữ liệu, thành phần nào là Session Bean, thực hiện các thao tác tính toán, xử lý, không liên quan đến việc lưu trữ dữ liệu. Đây là kiến trúc được chọn lựa để xây dựng ứng dụng, đối với các ứng dụng Trong ứng dụng này các Bean thực thể (Entity Bean) đều thuộc loại Ở tầng nghiệp vụ (business tier) các Entity Bean thao tác với dữ liệu thông qua lớp DAO (Data Access Object), đây là một chiến lược thiết kế tối ưu. Sign in là thành phần kiểu Entity Bean (BMP), được thể hiện như sau: Hình 4.3: quan hệ giữa thành phần EJB với các lớp truy cập dữ liệu Sơ đồ của nó được trình bày như sau: Hình 4.5: quan hệ giữa thành phần với các lớp ngiệp vụ liên quan Quan hệ giữa với các lớp nghiệp vụ khác được trình bày Hình 4.7: quan hệ giữa với các lớp nghiệp vụ liên quan Sơ đồ của nó được thể Hình 4.8: sơ đồ EJB của thành phần Inventory Quan hệ giữa với lớp DAO được thể hiện như sau: Hình 4.10: sơ đồ EJB của thành phần order Quan hệ giữa orderEJB với các lớp DAO và các lớp nghiệp vụ như sau: Hình 4.11: quan hệ giữa orderEJB với lớp DAO, Model và các lớp nghiệp vụ khác Hình 4.12: sơ đồ EJB của thành phần customer Là thành phần thuộc loại Entity Bean, Bean thực thể này được trình bày như sau: Hình 4.13: sơ đồ EJB của thành phần account Quan hệ giữa với các lớp DAO và các lớp khác được trình bày như Hình 4.14: quan hệ giữa với các lớp DAO, Model Biểu đồ thành phần của các thành phần nghiệp vụ ở tầng business tier Hình 4.15: biểu đồ thành phần của các thành phần nghiệp vụ Chương này chúng ta đi vào thiết kế toàn diện để hiện thực hóa các use đó Model là các thành phần điều khiển và các EJB mà hoạt động như thành phần điều kiến trúc MVC như hình 4.1 ở chương bốn, ta đi vào thiết kế cho các use Hình 5.1: lược đồ lớp của Sign in Hình 5.2: lược đồ tuần tự của sign in (phần 1) Hình 5.3: lược đồ tuần tự của sign in (phần 2). Hình 5.4: lược đồ lớp của create account Hình 5.5: lược đồ tuần tự của create account (phần 1) Hình 5.6: lược đồ tuần tự của create account (phần 2) Các lược đồ còn lại của các use case khác được trình bày ở phần phụ lục. Lược đồ thành phần của cả hệ thống trình bày dưới đây: H ình 6.1: lược đồ thành phần của hệ đồ án này, em xây dựng một ứng dụng J2EE cùng với Rational Ứng dụng này mang tính demo, chưa thành một hệ thống hoàn chỉnh vì đây chỉ là một phần của hệ thống thương mại điện tử.