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.
32 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2046 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
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.
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 J2EE
Phầ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.
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)
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
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).
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
Trang 8
Chương 2. Giới thiệu về hệ thống J2EE
Giớ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
Trang 9
Chương 2. Giới thiệu về hệ thống J2EE
Tổng quát các máy logic, các lớp của hệ thống J2EE
Trang 10
Chương 2. Giới thiệu về hệ thống J2EE
Sơ đồ 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.
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
Trang 12
Chương 2. Giới thiệu về hệ thống J2EE
Giới thiệu dịch vụ JNDI (Java Naming and Directory
Interface)
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
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
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)
Trang 16
Search Catalog
Browse categories
Browse Product Details
Browse Item Details
Sign On and Off
Browse Catalog
Shoping Cart
Submit Order
customer
Create Account
Add and Remove Item Update Quantit y Item
Order Item
Update Account
>
>
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 case
Phâ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
Trang 18
Chương 3. Lược đồ lớp sign in ở pha phân
tích
A ddre s s
ge tS t ree tN a m e1 ()
ge tS t ree tN a m e2 ()
ge tC ity ()
ge tS ta te ()
ge tZip C od e()
ge tC oun t ry ()
(fro m U ti l i t y )
M a inF orm
s ign in ( )
b ro w s e c a t al o g ()
up d a te ac c ou nt()
d is p lay c a t al o g ()
d is p lay s ho p p ingc art ()
s e a rc h ( )
s igno u t()
c re a t e acc ou n t ()
C on ta c t In fo rm at io n
te lep hon e
e m ail
a ddre s s
g e tE M a il()
g e tA dd res s ()
g e tTe lep hon e()
(f ro m U t il it y )
S ign InF o rm
s ig n in ()
c rea te ac c oun t()
en te r u s er na m e an d pa s s w or d()
d is p la y ()
d is p la y us er in fo rm a t ion ()
d is p la y m e s s a ge()
0 . .10 . .1
A c c ou n t
us e rId
pas s w ord
s ta tus
C ontac t In fo r m at io n
c re a te ()
upd a te ()
ge t us er in fo ()
ge t em a il add res s ()
fi n d ac c ou nt ()
(fro m a cc o u n t )
S ign on
u s ern am e
p as s w ord
g e tP a s s W o rd()
u pda teP a s s W o rd()
c rea te ()
re m ove()
a dd s ign in ()
S ign inH and le r
s ign in us er()
c h ec k pas s w o rd()
va lida te e n te re d us e rnam e an d pas s w o rd()
(f ro m P e tsto re E J B )
1 . .*
1
0 . .1
0 . . *
re t rieves u s erId
1 0 . .*
Trang 19
Chương 3. Lược đồ tuần tự của sign in
trong pha phân tích
: c us t om er : M a inF o rm : S ign InF o rm : S ign inH and le r : S ignon : A c c oun t
1 :/ /s i g n in ( )
2 :/ /d is pl ay ()
3 : / /en te r us e r nam e and pas s w ord ( )
4 : / /s ign in us e r( )
5 : / /va lida te e n te red us e rnam e and pas s w ord ( )
6 : / / fin d a c c oun t ( )
7 : / /g e t Pa s sW o rd ( )
8 :/ /c hec k pas s w ord ( )
9 : / /add s ign in ( )
10 : / /d is p lay us e r in fo rm a t ion ( )
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)
Trang 21
Chương 4. Thiết kế thành phần
Thành phần sign in: là loại Entity Bean (BMP)
Si gnOn
getDeta i l s()
updatePassWord()
getDAO()
>
SignOnEJB
EJB_Context : javax.e jb .Enti tyContext
EJB_Connection : java.sq l .Connection = nu l l...
EJB_Datasource : javax.sq l .DataSource = nul l...
S ignOnEJB()
> e jbCreate() : SignOnPK...
> e jbPostCreate() : vo id...
e jbActivate() : vo id
e jbPassiva te() : vo id
e jbLoad() : vo id
e jbStore() : vo id
e jbRem ove() : void
setEnti tyContext(ctx : javax.ejb.Enti tyContext) : vo id...
unsetEnti tyContext() : vo id
> ejbFindByPrim aryKey(prim aryKey : S ignOnPK) : S ignOnPK...
ge tDetai ls()
updatePassWord()
getDAO()
>
>
SignOnHom e
> create() : S ignOn...
> fi ndByPrim aryKey(prim aryKey : S ignOnPK) : S ignOn...
>
>
>
Trang 22
Chương 4. Thiết kế thành phần: catalog
Bean (stateless SB)
Cat al ogE JB
CatalogEJB()
> ejb Create() : void
ejbRem ove() : void
ejbActivate() : v oid
ejbPassivate() : void
setSessionContext(sc : javax.ejb.SessionContext) : void
getCategory() : Category
getCategories() : L istChunk
getProducts() : L istChunk
getProduct() : P roduct
getI tems() : L istChunk
getI tem() : Item
searchProducts() : L istChunk
>
Catalog
ge tCat egory() : Cat egory
ge tCat egor ies() : L istC hunk
ge tProduc ts() : L ist Ch unk
ge tProduc t() : P ro duc t
ge tI te ms() : L ist Ch unk
ge tI te m() : I te m
se archPro duc ts() : L ist Chu nk
>
CatalogHom e
> c rea te() : C at alo g
>
>
>
>
Trang 23
Chương 4. Thiết kế thành phần
Biểu đồ thành phần ở tầng nghiệp vụ (business tier)
cus tom er
inventory
shoppingcart
s ignon and out
account
(from cus tom er)
order
(from cus tom er)
cus tom er
(from cus tom e r)
C art
(from sh oppingcar t )...)
Catalog
(from sh oppingcart )...)
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.
Trang 25
C a ta lo g D AO
(fro m C a ta lo g ) C a ta lo g E JB
(fro m C a ta lo g )
C a ta lo g Mo d e l
(fro m C a ta lo g )
P ro d u ctD e ta ils Fo rm
(f ro m V iew)
P r o d u ctFo r m
(f ro m V iew)
Mo d e lU p d a te Ma n a g e r
(f rom e jb )
P ro d u ctC a te g o ryFo rm
(f ro m V iew)
S ta te Ma ch in e
(f ro m e jb)
C a ta lo g W e b Im p l
( f rom web )
Scre e n F lo w M a n a g er
(f r om we b)
H ttpS e s s io n
(f ro m ht tp )
S h o p p in g C l ie n tC o n tro lle rE
JB
(f ro m e jb)
>
S e rvle tC o n te
xt
(f ro m s e rv le t )
S cre e n D e fin itio n s
(f ro m V iew)
E S to re E ve n t
(f ro m e v e nt )
S h o p p in g C lie n tC o n tro ll
e rW e b Im p l
( f rom web )
Mo d e lMa n a g e r
( f rom web )
Te m p la te
(f ro m V iew)
R e q u e s tP ro ce s s o r
(f ro m we b)
Ma in Fo rm
(f ro m s ig no n an d o f f )
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:
Trang 27
Trang 28
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
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.
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.
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), …