trƯỜng ĐẠi hỌc bÁch khoa hÀ nỘi trƯỜng ĐẠi hỌc thỦy sẢn nha trang khoa cÔng...

32
Trang 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành Công nghệ thông tin Đề tài: TIẾP CẬN VÀ XÂY DỰNG ỨNG DỤNG E-STORE THEO CÔNG NGHỆ J2EE VỚI RATIONAL ROSE VÀ UML Sinh viên thực hiện: LÊ QUANG DUNG Giáo viên hướng dẫn: Thầy NGUYỄN THANH TÙNG

Upload: rafiki

Post on 16-Mar-2016

105 views

Category:

Documents


2 download

DESCRIPTION

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành Công nghệ thông tin Đề tài: TIẾP CẬN VÀ XÂY DỰNG ỨNG DỤNG E-STORE THEO CÔNG NGHỆ J2EE VỚI RATIONAL ROSE VÀ UML Sinh viên thực hiện : LÊ QUANG DUNG - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 1

    

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘITRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG

KHOA CÔNG NGHỆ THÔNG TIN  

  

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

 Chuyên ngành Công nghệ thông tin

   Đề tài:  

TIẾP CẬN VÀ XÂY DỰNG ỨNG DỤNG E-STORE THEO CÔNG NGHỆ J2EE VỚI RATIONAL ROSE VÀ UML

  Sinh viên thực hiện: LÊ QUANG DUNG Giáo viên hướng dẫn: Thầy NGUYỄN THANH TÙNG

 

   

Page 2: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 2

Mục đích của đồ án Tìm hiểu phương pháp phân tích thiết kế ứng dụng

theo hướng đối tượng bằng ngôn ngữ UML.Tiếp cận công nghệ J2EE trong việc xây dựng ứng

dụng đa tầng, phân tán.Tiếp cận đặc tả EJB, công nghệ JSP, Servlet, … của

kiến trúc J2EE.Xây dựng ứng dụng demo các công nghệ nói trên. Minh họa cách sử dụng Rational Rose.

Page 3: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 3

Nội dung Phần I : Giới thiệu công nghệ

Chương 1. Giới thiệu về phân tích và thiết kế hướng đối tượng với UML

Chương 2. Giới thiệu về kiến trúc J2EEPhần II: Phát triển ứng dụng

Chương 3. Phân tích mô tả yêu cầu trường hợp người dùng và kịch bản ứng dụng.

Chương 4. Thiết kế thành phần. Chương 5. thiết kế hiện thực hoá các use case. Chương 6. Thực hiện cài đặt và triển khai ứng dụng.

Page 4: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 4

Chương 1. Giới thiệu về phân tích và thiết kế hướng đối tượng với UML

Các khái niệm cơ bản của hướng đối tượng Đối tượng (Object) Lớp (Class) Thuộc tính (Atribute) Thao tác (Operation) Giao tiếp–đa hình (Interface - Polymorphimse) Thành phần (Component) Đóng gói (Package) Hệ thống con (Subsystem) Quan hệ (Relationship)

Page 5: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 5

Chương 1. Giới thiệu về phân tích và thiết kế hướng đối tượng với UML

Phát triển hướng đối tượng Là cách suy nghĩ mới về phần mềm dựa trên

những khái niệm trừu tượng đang tồn tại trong thế giới thực.

Lợi ích và sức mạnh của hướng đối tượng. Giảm chi phí bảo trì Mô hình thế giới thực Tính tin cậy cao khả năng sử dụng lại mã nguồn cao

Page 6: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 6

Chương 1. Giới thiệu về phân tích và thiết kế hướng đối tượng với UML

Tổng quan về UML UML phát triển trên sự hợp nhất trong các

phương pháp của tác giả Booch, Rumbaugh và Jacopson, và đã được chuẩn hóa bởi OMG (Object Management Group).

Page 7: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 7

Chương 1. Giới thiệu về phân tích và thiết kế hướng đối tượng với UML

Cấu trúc View trong UML

Page 8: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 8

Chương 2. Giới thiệu về hệ thống J2EEGiới thiệu sơ lược về kiến trúc J2EE

Một hệ thống J2EE tổng quát có thể gồm ba máy logic như sau:

- Máy dùng cho Client- Máy J2EE Server - Máy dùng cho Database Server

Xét về các lớp để xây dựng ứng dụng thì bao gồm bốn lớp chính:

- Client tier- Web tier - Business tier- EIS tier

Page 9: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 9

Chương 2. Giới thiệu về hệ thống J2EETổng quát các máy logic, các lớp của hệ thống J2EE

Page 10: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 10

Chương 2. Giới thiệu về hệ thống J2EESơ đồ thể hiện lớp nghiệp vụ (business tier), lớp

khách (client tier), lớp web tier và lớp EIS tier.

Page 11: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 11

Chương 2. Giới thiệu về hệ thống J2EE

Kiến trúc tổng thể của một hệ thống J2EE

Page 12: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 12

Chương 2. Giới thiệu về hệ thống J2EEGiới thiệu dịch vụ JNDI (Java Naming and Directory

Interface)

Page 13: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 13

Chương 2. Giới thiệu về hệ thống J2EE

Tổng quan về Enterprise JavaBean(EJB) Enterprise JavaBean Container EJB server

Page 14: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 14

Chương 2. Giới thiệu về hệ thống J2EE Tổng quan về Enterprise JavaBean(EJB) (tiếp)

Các loại Bean (Type of Beans), có ba loại: Session Bean (Bean thao tác), gồm hai loại:

Stateful Session Bean Stateless Session Bean

Entity Bean (Bean thực thể), gồm hai loại:Bean thực thể tự quản lý(Bean – Managed Persistent

Entity Beans)Bean thực thể quản lý bởi trình chứa (Container –

Managed Persistent Entity Beans)Message – driven bean

Page 15: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 15

Chương 3. Phân tích yêu cầu trường hợp sử dụng và kịch bản ứng dụng.

Giới thiệu ứng dụng. Mô tả kịch bản ứng dụng.Phân tích yêu cầu trường hợp người dùng.

Xác định các tác nhân (Actor): khách mua hàng. Xác định các use case:

- Use case tạo tài khoản (create account)- Use case cập nhật tài khoản (update account)- Use case đăng nhập và thoát (signin and off)- Use case duyệt xem danh mục hàng (browse catalog)- Use case chọn mua hàng (shopping cart)

Page 16: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 16

Search Catalog

Browse categories

Browse Product Details

Browse Item Details

Sign On and Off

Browse Catalog

Shoping Cart

Submit Ordercustomer

Create Account

Add and Remove Item Update Quantity Item

Order Item

Update Account

<<include>><<include>>

Page 17: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 17

Chương 3. Phân tích yêu cầu trường hợp sử dụng và kịch bản ứng dụng.

Mô tả các use casePhân tích miền ứng dụng

Tìm các lớp giao diện Tìm các lớp nghiệp vụ Nhận diện các kết hợp Nhận diện các thao tác Nhận diện các thuộc tính

Page 18: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 18

Chương 3. Lược đồ lớp sign in ở pha phân tích

Address

getStreetName1()getStreetName2()getCity()getState()getZipCode()getCountry()

(from Util ity)

MainForm

signin()browsecatalog()updateaccount()displaycatalog()displayshoppingcart()search()signout()createaccount()

ContactInformation

telephoneemailaddress

getEMail()getAddress()getTelephone()

(from Util ity)

SignInForm

signin()create account()enter user name and password()display()display user information()display message()

0..10..1 0..10..1

Account

userIdpasswordstatusContactInformation

create()update()get user info()get email address()find account()

(from account)

Signonusernamepassword

getPassWord()updatePassWord()create()remove()add signin()

SigninHandler

sign in user()check password()validate entered username and password()

(from PetstoreEJB)

1..*

1

1..*

1

0..1

0..*

0..1

0..*

retrieves userId

1 0..*1 0..*

Page 19: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 19

Chương 3. Lược đồ tuần tự của sign in trong pha phân tích

: customer : MainForm : SignInForm : SigninHandler : Signon : Account

1://sign in()2://display()

3://enter user name and password( )

4://sign in user( )

5://validate entered username and password( )

6://find account( )

7://getPassWord( )

8://check password( )

9://add signin( )

10://display user information( )

Page 20: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 20

Chương 4. Thiết kế thành phần Thiết kế kiến trúc: theo kiến trúc MVC (Model-View-

Controller)

Page 21: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 21

Chương 4. Thiết kế thành phầnThành phần sign in: là loại Entity Bean (BMP)

SignOn

getDetails()updatePassWord()getDAO()

<<EJBRemoteInterface>>

SignOnEJBEJB_Context : javax.ejb.EntityContextEJB_Connection : java.sql.Connection = null...EJB_Datasource : javax.sql.DataSource = null...

SignOnEJB()<<EJBCreateMethod>> ejbCreate() : SignOnPK...<<EJBCreateMethod>> ejbPostCreate() : void...ejbActivate() : voidejbPassivate() : voidejbLoad() : voidejbStore() : voidejbRemove() : voidsetEntityContext(ctx : javax.ejb.EntityContext) : void...unsetEntityContext() : void<<EJBFinderMethod>> ejbFindByPrimaryKey(primaryKey : SignOnPK) : SignOnPK...getDetails()updatePassWord()getDAO()

<<EJBEntity>>

<<EJBRealizeRemote>>

SignOnHome

<<EJBCreateMethod>> create() : SignOn...<<EJBFinderMethod>> findByPrimaryKey(primaryKey : SignOnPK) : SignOn...

<<EJBEntityHomeInterface>>

<<EJBRealizeHome>>

<<instantiate>>

Page 22: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 22

Chương 4. Thiết kế thành phần: catalog Bean (stateless SB)

CatalogEJB

CatalogEJB()<<EJBCreateMethod>> ejbCreate() : voidejbRemove() : voidejbActivate() : voidejbPassivate() : voidsetSessionContext(sc : javax.ejb.SessionContext) : voidgetCategory() : CategorygetCategories() : ListChunkgetProducts() : ListChunkgetProduct() : ProductgetItems() : ListChunkgetItem() : ItemsearchProducts() : ListChunk

<<EJBSession>>

Catalog

getCategory() : CategorygetCategories() : ListChunkgetProducts() : ListChunkgetProduct() : ProductgetItems() : ListChunkgetItem() : ItemsearchProducts() : ListChunk

<<EJBRemoteInterface>>CatalogHome

<<EJBCreateMethod>> create() : Catalog

<<EJBSessionHomeInterface>>

<<EJBRealizeHome>>

<<EJBRealizeRemote>>

<<instantiate>>

Page 23: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 23

Chương 4. Thiết kế thành phầnBiểu đồ thành phần ở tầng nghiệp vụ (business tier)

customer

inventory

shoppingcart

signon and out

account(from customer)

order(from customer)

customer(from customer)

Cart(from shoppingcart )...)

Catalog(from shoppingcart )...)

Page 24: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 24

Chương 5. Thiết kế hiện thực hoá các use case

Để hiện thực hoá các use case ta tuân theo kiến trúc đã chọn, đó là kiến trúc MVC –Model-View-Controller. Model: là các thành phần EJB thuộc lớp nghiệp vụ

(business tier). View: là các trang JSP, các lớp JavaBean (thuộc

lớp web). Controller: là các lớp Servlet, các thành phần EJB

có chức năng điều khiển.

Page 25: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 25

CatalogDAO(from Catalog) CatalogEJB

(from Catalog)

CatalogModel(from Catalog)

ProductDetailsForm(f rom View)

ProductForm(f rom View)

ModelUpdateManager(f rom ejb)

ProductCategoryForm(f rom View)

StateMachine(f rom ejb)

CatalogWebImpl(f rom web)

ScreenFlowManager(f rom web)

HttpSession

(f rom http)

ShoppingClientControllerEJB

(f rom ejb)

<<EJBSession>>ServletConte

xt(f rom serv let)

ScreenDefinitions(f rom View)

EStoreEvent(f rom ev ent)

ShoppingClientControllerWebImpl

(f rom web)

ModelManager(f rom web)

Template(f rom View)

RequestProcessor(f rom web)

MainForm(f rom signon and of f )

Page 26: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 26

Chương 6. Thực hiện cài đặt và triển khai ứng dụng

Lớp web (web tier): dùng công nghệ JSP, JavaBean, Servlet.

Lớp nghiệp vụ (business tier): đặc tả EJB (Enterprise JavaBean) .

Lớp EIS (EIS tier): hệ quản trị cơ sở dữ liệu Cloudscape.

Một vài giao diện của ứng dụng E-store:

Page 27: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 27

Page 28: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 28

Page 29: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 29

Chương 6. Thực hiện cài đặt và triển khai ứng dụng

Lược đồ triển khai ứng dụng E-store

Page 30: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 30

Kết luận: kết quả đạt được: Tiếp cận và nắm bắt được phương pháp phân tích thiết

kế hướng đối tượng bằng UML.Tiếp cận và nắm bắt được kiến trúc J2EE, cách xây

dựng ứng dụng đa tầng, phân tán theo kiến trúc trên.Nắm bắt đặc tả EJB, công nghệ JSP, Servlet, JNDI …

trong J2EE.Xây dựng ứng dụng để demo các công nghệ nói trên.Thao tác công cụ Rational Rose.

Page 31: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 31

Kết luận: các vấn đề còn tồn tạiỨng dụng chỉ là một phần của hệ thống thương mại

điện tử, chưa hoàn chỉnh, mang tính chất demo công nghệ là chính.

Ứng dụng còn nhiều lỗi chưa xử lý được.Lần đầu tiếp cận các công nghệ trên nên kiến thức

chưa sâu, còn nhiều thiếu sót.

Page 32: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THỦY SẢN NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN

Trang 32

Hướng phát triển

Hoàn thiện đầy đủ các chức năng của ứng dụng theo kiến trúc J2EE để triển khai vào thực tế.

Triển khai hệ thống trên mạng Internet, hiện thực hoá vấn đề thương mại điện tử.

Xây dựng hệ thống để triển khai trên các máy chủ khác mang tính thương mại cao như: Oracle Application Server (OAS), …