theo h-ớng đối t-ợng và ứng dụng
Luận văn thạc sĩ khoa học máy tính Thái Nguyên - 2012
S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn
Đại học Thái Nguyên
TrNG Đại học công nghệ thông tin và truyền thông
Nguyễn thi thanh Các mô hình trong phân tích thiết kế
theo h-ớng đối t-ợng và ứng dụng
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 Luận văn thạc sĩ khoa học máy tính
tốt nghiệp.
Tác giả luận văn
Nguyễn Thị Thanh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Nguyễn thi thanh Các mô hình trong phân tích thiết kế
theo h-ớng đối t-ợng và ứng dụng
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
Tóm tắt Luận văn thạc sĩ khoa học máy tính
Công trình được hoàn thành tạ i t rường đại học Công Nghệ Thông Tin và Truyền
Thông – Đại học Thái Nguyên Người hướng dẫn khoa học: TS. Lê Văn Phùng Phản biện 1: Phản biện 2:
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn họp tại:
Vào hồi giờ ngày tháng năm 20
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
M U
1.
Ngày nay trong thời kỳ hội nhập, đối với bất cứ một quốc gia nào, việc
nắm đƣợc các nguồn lực thông tin của một ngành, một lĩnh vực, một doanh
nghiệp giữ vai trò rất quan trọng và là một trong những nhân tố quyết định
cho sự phát triển kinh tế xã hội, góp phần gia tăng giá trị của các ngành, cơ
quan, đơn vị.
Trong công tác quản lý nói chung và quản lý kế toán nói riêng, vấn đề
xây dựng một hệ thống thông tin quản lý đã đƣợc quan tâm nhƣng còn khá
lúng túng vì còn thiếu phƣơng pháp có cơ sở khoa học và quy trình chuẩn.
Ngày nay, kỹ nghệ phân tích thiết kế một hệ thống thông tin đã và đang
phát triển mạnh cả về chiều rộng lẫn chiều sâu. Một số hƣớng phát triển tiên
tiến đang trên đà tăng trƣởng mạnh từ năm 1990 đến nay nhƣ hƣớng đối
tƣợng, hƣớng thành phần, hƣớng dịch vụ, trong đó việc phát triển phần mềm
theo hƣớng đối tƣợng với ngôn ngữ thống nhất UML đã đạt đƣợc mức chuẩn
nhờ cách tiếp cận theo từng sự vật (things) đã giúp cho việc nhận thức các
thành phần trong hệ thống một cách sáng sủa và khoa học hơn.
Việc mô hình hoá trong quá trình phân tích và thiết kế trong tiến trình
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
1.1
1.1.1
Mô hình (model) là một dạng trừu t-ợng hoá của một hệ thống thực.
Mô hình chính là một hình ảnh (một biểu diễn) của một hệ thống thực, đ-ợc
diễn tả ở một mức độ tr-ù t-ợng nào đó, theo một quan điểm nào đó, theo một
hình thức (hiểu đ-ợc) nào đó nh- ph-ơng trình, bảng, đồ thị. Mô hình có xu
h-ớng dạng sơ đồ (diagrams) tức là đồ thị gồm các nút và cung.
Mụ hỡnh mụ t bn cht ca mt vn hoc mt cu trỳc phc tp
bng cỏch loi b nhng chi tit khụng quan trng, lm cho bi toỏn tr nờn
d hiu v d nm bt hn. xõy dng mt h thng phc tp, nhng ngi
phỏt trin phi tru tng húa nhng khớa cnh khỏc nhau ca h thng, xõy
dng cỏc mụ hỡnh bng cỏch s dng cỏc ký hiu mt cỏch rừ rng, cn thn,
kim tra xem cỏc mụ hỡnh ó tho món cỏc yờu cu ca h thng cha v dn
dn thờm vo cỏc chi tit cú th chuyn i t mụ hỡnh sang mt ci t c
th.
nhỡn khỏc nhau: theo chc nng s dng, theo cỏc thnh phn logic.
- Mụ hỡnh th hin rừ cỏc c t cu trỳc v hnh vi ca h thng.
- ng thi, mụ hỡnh l c s trao i, ghi li nhng quyt nh ó
thc hin trong nhúm tham gia d ỏn phỏt trin phn mm. Mi quan sỏt, mi
kt qu phõn tớch u c ghi li chi tit phc v cho c quỏ trỡnh phỏt
trin phn mm.
Mụ hỡnh húa l vic dựng mụ hỡnh nhn thc v din t mt h
thng.
S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn
5
1.1.2
Ph-ơng pháp mô hình hoá là một trong những ph-ơng pháp quan trọng
nhất để nghiên cứu hệ thống. ý t-ởng của ph-ơng pháp mô hình hoá là không
nghiên cứu trực tiếp đối t-ợng mà thông qua việc nghiên cứu một đối t-ợng
khác tơng tự hay là hình ảnh của nó mà có thể sử dụng đợc các công cụ
khoa học. Kết quả nghiên cứu trên mô hình đ-ợc áp dụng vào cho đối t-ợng
thực tế.
Kiểm tra mức độ phù hợp Hỡnh 1.1. S nguyờn tc hot ng ca phng phỏp mụ hỡnh húa
Mụ hỡnh c biu din theo mt ngụn ng mụ hỡnh hoỏ. Ngụn ng mụ
quyết vấn đề và cách hình thành các giải pháp.
- Mỗi mô hình biểu diễn hệ thống với mức độ chính xác khác nhau.
- Mô hình tốt nhất phải là mô hình phù hợp với thế giới thực.
- Không mô hình nào là đầy đủ. Mỗi hệ thống thƣờng đƣợc tiếp cận
thông qua tập mô hình gần nhƣ độc lập nhau.
Phụ thuộc vào bản chất của hệ thống mà mỗi mô hình có tầm quan
trọng khác nhau. Mô hình quan sát thiết kế tĩnh sẽ quan trọng hơn trong hệ
thống quản lý nhiều dữ liệu; trong khi đó mô hình ca sử dụng rất quan trọng
đối với hệ thống có nhiều giao diện; còn mô hình quan sát tiến trình động rất
quan trọng đối với hệ thống thời gian thực; đặc biệt mô hình triển khai và cài
đặt rất quan trọng với hệ thống phân tán có ứng dụng web…
1.1.5. Các mô hình t
Một tiến trình phát triển phần mềm là một tập của các hoạt động cần
thiết để chuyển các yêu cầu ngƣời dùng thành một hệ thống phần mềm đáp
ứng đƣợc các yêu cầu đặt ra
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
Hình 1.2. Quá trình phát triển phần mềm
Vòng đời phát triển phần mềm đƣợc chia thành 4 pha: sơ bộ, soạn thảo,
xây dựng và chuyển giao. Trong mỗi pha lại chia thành nhiều bƣớc lặp nhỏ.
Mỗi bƣớc lặp đều gồm một số công việc thực hiện trọn vẹn một sản phẩm
phần mềm: lập các mô hình đặc tả nghiệp vụ, xác định yêu cầu, lập các mô
hình phân tích dữ liệu, xử lý và hành vi, lập các mô hình thiết kế, triển khai và
ỏm mõy.
Mi k ngh theo mt hng no ú u cú nhng th tri nht nh v
nhng hn ch no ú. Trong lun vn ny, chỳng ta s i sõu vo nghiờn cu
k ngh hng i tng. Trong chng ny chỳng ta bt u t nhng kin
thc tng quan nht v hng i tng. Sang chng 2, chỳng ta s gii
thiu tng mụ hỡnh c th trong ú tin hnh mụ hỡnh húa tng khõu kho
sỏt, phõn tớch, thit k v ci t. Sang chng 3, chỳng ta s vn dng nú
din t yờu cu ca bi toỏn c th.
1.2.
1.2.1.
khc phc nhng vn tn ti trong cỏch tip cn hng cu trỳc
ngi ta ó nghiờn cu mt mụ hỡnh mi, thớch hp cho vic phỏt trin phn
mm ln v phc tp, ú l mụ hỡnh hng i tng. Quan im hng i
tng da trờn cỏch tip cn h thng, cỏc chc nng h thng c biu din
thụng qua cng tỏc ca cỏc thnh phn.
Theo cách tiếp cận h-ớng đối t-ợng, hệ thống đ-ợc nhìn nhận nh- một
bộ các đối t-ợng (chứ không phải là một bộ chức năng). Hệ thống đ-ợc phân
tán, mỗi đối t-ợng có những thông tin trạng thái riêng của nó. Theo từ điển
tiếng Việt của Viện Ngôn ngữ học Hà Nội, 1996, thì đối t-ợng (object) theo
nghĩa thông th-ờng là ng-ời, vật hay hiện t-ợng mà con ng-ời nhằm vào trong
suy nghĩ, trong hành động, là bất kỳ cái gì nhìn thấy và sờ mó đ-ợc. Nh-ng ở
đây, theo Cood P. và Yourdon E. ,1991, đối t-ợng là trừu t-ợng cái gì đó trong
lĩnh vực vấn đề hay trong cài đặt của nó, phản ánh khả năng hệ thống l-u giữ
S húa bi Trung tõm Hc liu i hc Thỏi Nguyờn
9
thuộc tính về nó và t-ơng tác với nó, gói các giá trị thuộc tính và các dịch vụ
(ph-ơng thức hay ph-ơng pháp).
Nói rõ hơn, đối t-ợng là bộ các thuộc tính xác định trạng thái của đối
quan, vừa đặc tả vừa có cấu trúc, đồng thời lại là ngôn ngữ làm tài liệu nên
đối với việc phát triển phần mềm hƣớng đối tƣợng, UML đặc biệt có khả
năng sau:
- Cho phép mô tả toàn bộ các sản phẩm phân tích và thiết kế;
- Trợ giúp việc tự động hoá quá trình thiết kế trên máy tính;
- Trợ giúp việc dịch xuôi và dịch ngƣợc các thiết kế sang mã nguồn của
ngôn ngữ lập trình và CSDL.
Mục đích chính của UML nhằm vào các hoạt động sau:
- Mô hình hóa đƣợc các hệ thống và sử dụng đƣợc tất cả các khái niệm
hƣớng đối tƣợng một cách thống nhất.
- Cho phép đặc tả, hỗ trợ để đặc tả tƣờng minh mối quan hệ giữa các
khái niệm cơ bản trong hệ thống, đồng thời mô tả đƣợc mọi trạng thái hoạt
động của hệ thống đối tƣợng. Nghĩa là cho phép mô tả đƣợc cả mô hình tĩnh
lẫn mô hình động một cách đầy đủ và trực quan.
- Tận dụng đƣợc những khả năng sử dụng lại và kế thừa ở phạm vi diện
rộng để xây dựng đƣợc những hệ thống phức tạp và nhạy cảm nhƣ: các hệ
thống động, hệ thống thời gian thực, hệ thống nhúng thời gian thực
- Tạo ra những ngôn ngữ mô hình hoá sử dụng đƣợc cho cả ngƣời
lẫn máy tính.
Khi mô hình hóa hệ thống, chúng ta cần quan tâm tới một loạt các khía
cạnh khác nhau nhƣ về mặt chức năng (cấu trúc tĩnh của nó cũng nhƣ các
tƣơng tác động), về mặt phi chức năng (yêu cầu về thời gian, về độ đáng tin
cậy, về quá trình thực thi) cũng nhƣ về khía cạnh tổ chức (tổ chức làm việc,
ánh xạ nó vào các module ). Vì vậy một hệ thống khi mô hình hóa thƣờng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
đƣợc xem xét trên một loạt các phƣơng diện khác nhau, mỗi phƣơng diện sẽ
thể hiện một bức ảnh ánh xạ của toàn bộ hệ thống và chỉ ra một khía cạnh
Khung nhìn thiết
kế/logic
Khung nhìn tiến
trình/tƣơng tranh
Khung nhìn cài
đặt/thành phần
Khung nhìn triển
khai/bố trí
Khung nhìn
ca sử dụng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
này tập trung vào cấu trúc của hệ thống. Nhờ nó, ngƣời ta nhận ra các bộ phận cơ
bản cấu thành hệ thống thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong
hệ thống.
- Khung nhìn tiến trình/tương tranh (process view) biểu diễn sự phân chia
các luồng thực hiện công việc, các lớp đối tƣợng cho các tiến trình và sự đồng bộ
giữa các luồng (thread) trong hệ thống. Khung nhìn này tập trung vào các nhiệm vụ
tƣơng tranh, tƣơng tác với nhau trong hệ thống đa nhiệm. Nó chủ yếu diễn đạt hiệu
năng, quy mô và năng lực thông qua của hệ thống.
- Khung nhìn thành phần/cài đặt (component/implementation view) bao gồm
các thành phần (là mô-đun vật lý hay các file) để lắp ráp thành hệ thống vật lý.
Khung nhìn này hƣớng đến việc quản lý cấu hình của hệ thống. Khung nhìn này bao
gồm thành phần, sơ đồ thành phần và gói.
- Khung nhìn bố trí/triển khai (Deployment view) bao gồm các nút tạo nên
kết cấu phần cứng mà trên đó hệ thống vận hành. Khung nhìn này chủ yếu hƣớng
đến sự phân tán và cài đặt cụ thể của hệ thống, tức là liên quan đến triển khai vật lý
của hệ thống. Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các
kết nối vật lý giữa chúng. Sơ đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình
* Các pha chính trong quy trình phát triển phần mềm
Có năm pha chính cần thực hiện trong quy trình phát triển phần mềm:
a. Xác định các yêu cầu
b. Phân tích hệ thống
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
c. Thiết kế hệ thống
d. Lập trình và kiểm tra hệ thống
e. Vận hành và bảo trì hệ thống
Trong quy trình phát triển phần mềm kể trên, hai pha cốt lõi là phân tích
và thiết kế hƣớng đối tƣợng bằng UML, nhằm xây dựng các mô hình đặc tả
các yêu cầu, các mô hình khái niệm, logic và kiến trúc của hệ thống.
Hình 1.5. Hệ thống các mô hình cơ bản trong kỹ nghệ hướng đối tượng
Sơ đồ ca sử dụng
Trong kỹ nghệ hƣớng đối tƣợng, quá trình mô hình hóa đƣợc tiến hành
qua một tập hợp các mô hình cơ bản sau:
- Mô hình nghiệp vụ,
- Mô hình phân tích một ca sử dụng,
- Mô hình phân tích đối tƣợng,
- Mô hình phân tích động thái,
- Mô hình thiết kế tƣơng tác,
- Mô hình thiết kế vật lý.
2.1
2.1
Để hiểu đúng và đầy đủ hệ thống mà ta cần tin học hóa, sau khi xác
định phạm vi và chức năng hệ thống cần nghiên cứu bằng cách liệt kê các
chức năng mà hệ thống thực hiện, chỉ ra mối quan hệ của nó với môi trƣờng
thông qua việc sử dụng các chức năng của hệ thống, chúng ta cần tìm các ca
sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua đó con ngƣời và hệ
thống khác sử dụng chúng. Mô tả nội dung của các ca sử dụng này để hiểu
đƣợc nội dung các dịch vụ mà hệ thống cần cung cấp. Các công việc này đƣợc
trợ giúp bằng việc xây dựng mô hình lĩnh vực và mô hình nghiệp vụ. Sản
phẩm của pha này gồm:
- Mô hình lĩnh vực, mô hình nghiệp vụ của hệ thống,
- Bảng các thuật ngữ sử dụng (từ điển giải thích),
- Xác định các yêu cầu bổ sung.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
2.1
Mô hình ca sử dụng nghiệp vụ đƣợc mô tả bằng các sơ đồ ca sử dụng.
Chúng ta xây dựng mô hình nghiệp vụ theo 2 bƣớc:
Kh¸ch
göi
Kh¸ch
nhËn
Tµi khoản
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
- Mô tả mọi ca sử dụng.
- Đƣa ra các yếu tố giao diện ngƣời dùng thích hợp cho mỗi tác nhân
tƣơng tác với các ca sử dụng.
- Tái cấu trúc mô hình ca sử dụng bằng cách xác định và đƣa ra các
tổng quát hóa, các mở rộng hay bao gồm của các ca sử dụng để làm cho mô
hình càng rõ ràng và dễ hiểu hơn.
Sản phẩm của pha này gồm có:
- Một phiên bản đầu tiên của mô hình ca sử dụng (sơ bộ và tổng thể)
- Mô tả về ca sử dụng
- Các bản mẫu giao diện ngƣời dùng
Các phiên bản của các chế tác trên đƣợc mịn dần qua quá trình lặp.
2.2
a và vai
Ca sử dụng dùng để:
- Mô tả các yêu cầu chức năng của hệ thống, là kết quả của quá trình
khảo sát, nghiên cứu các yêu cầu của bài toán và những thỏa thuận giữa khách
hàng, ngƣời sử dụng hệ thống với ngƣời phát triển phần mềm.
- Làm cơ sở để ngƣời phân tích viên hiểu, ngƣời thiết kế xây dựng các
kiến trúc, ngƣời lập trình cài đặt các chức năng của hệ thống.
- Cung cấp các cơ sở để kiểm duyệt, thử nghiệm hệ thống.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18
Ngƣời sử dụng
Phân tích viên
Ngƣời thiết kế
Ngƣời kiểm tra
Lập trình viên
Kiểm tra
Hiểu
Thiết kế
Cài đặt
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên