Tải bản đầy đủ (.pdf) (67 trang)

PHƯƠNG PHÁP PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VÀ ÁP DỤNG VÀO BÀI TOÁN QUẢN LÝ HOẠT ĐỘNG XUẤT NHẬP CỦA MỘT KHO HÀNG HÓA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.13 MB, 67 trang )

TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN

----------

TRẦN THỊ BÌNH

PHƯƠNG PHÁP PHÂN TÍCH THIẾT KẾ
HƯỚNG ĐỐI TƯỢNG VÀ ÁP DỤNG VÀO BÀI
TOÁN QUẢN LÝ HOẠT ĐỘNG XUẤT NHẬP

CỦA MỘT KHO HÀNG HÓA

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 04 năm 2015

MỤC LỤC

PHẦN 1. MỞ ĐẦU ..........................................................................................................1
1.1. Lý do chọn đề tài. .....................................................................................................1
1.2. Mục tiêu của đề tài. ..................................................................................................1
1.3. Đối tượng và phạm vi nghiên cứu. ...........................................................................1
1.4. Phương pháp nghiên cứu. ........................................................................................2
1.5. Lịch sử nghiên cứu. ..................................................................................................2
1.6. Đóng góp của đề tài .................................................................................................2
1.7. Cấu trúc của đề tài. ..................................................................................................2
PHẦN 2. NỘI DUNG NGHIÊN CỨU .............................................................................3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ..................................................................................3
1.1. Giới thiệu phương pháp phân tích thiết kế hướng đối tượng...................................3
1.2. Một số khái niệm cơ bản...........................................................................................3



1.2.1. Đối tượng (Object) ............................................................................................3
1.2.2. Lớp (Class) ........................................................................................................4
1.2.3. Phương pháp (Method) và ngơn ngữ mơ hình hóa ...........................................4
1.2.4. Các giá trị và các thuộc tính của đối tượng......................................................5
1.2.5. Các thao tác và phương thức ............................................................................6
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .................................................7
2.1. Các q trình phân tích thiết kế hướng đối tượng ...................................................7
2.1.1. Phân tích hướng đối tượng (Object Oriented Analysis - OOA) ........................7
2.1.2. Thiết kế hướng đối tượng (Object Oriented Design - OOD): ...........................7
2.1.3. Lập trình hướng đối tượng (Object Oriented Programming - OOP) ...............8
2.2. Ưu điểm của mơ hình hướng đối tượng....................................................................8
2.3. Các mơ hình phát triển của hệ thống phần mềm......................................................9
2.4. Các giai đoạn phát triển phần mềm theo hướng đối tượng ...................................12
2.5. Các biểu đồ trong phân tích thiết kế hướng đối tượng ..........................................12
2.5.1. Biểu đồ Ca sử dụng (Use Case Diagram) .......................................................12
2.5.2. Biểu đồ Lớp (Class Diagram) .........................................................................13
2.5.3. Biểu đồ Tuần tự (Sequence Diagram) .............................................................14
2.5.4. Biểu đồ Cộng tác (Collaboration Diagram) ...................................................15
2.5.5. Biểu đồ Chuyển trạng thái (State Diagram) ...................................................16
2.5.6. Biểu đồ hoạt động (Activity Diagram) ............................................................18
2.5.7. Biểu đồ Thành phần (Component Diagram)...................................................19
2.5.8. Biểu đồ Triển khai (Development Diagram)...................................................19

CHƯƠNG 3: BÀI TOÁN ỨNG DỤNG: QUẢN LÝ THIẾT BỊ MÁY TÍNH CỦA CƠNG
TY TNHH THƯƠNG MẠI VÀ XÂY DỰNG AN AN SƠN ..............................................20
3.1. Ứng dụng mơ hình thác nước vào phân tích thiết kế bài tốn ...............................20
3.2. Bài tốn ứng dụng ..................................................................................................20

3.2.1. Phân tích yêu cầu ............................................................................................20

3.2.1.1. Định nghĩa ................................................................................................20
3.2.1.2. Yêu cầu phi chức năng .............................................................................21
3.2.1.3. Yêu cầu chức năng của hệ thống..............................................................22

3.2.2. Giai đoạn phân tích .........................................................................................24
3.2.2.1. Xác định các actor....................................................................................25
3.2.2.2. Xác định các Use Case .............................................................................25
3.2.2.3. Đặc tả các ca sử dụng ..............................................................................25
[1]. Use Case_Đăng Nhập ................................................................................25
[2]. Use Case_Quản lý sản phẩm .....................................................................25
[3]. Use Case_Quản lý hóa đơn........................................................................26
[4]. Use Case_Quản lý Nhân viên.....................................................................26
[5]. Use Case_Quản lý Khách hàng .................................................................27
[6] Use Case_Quản lý Nhà cung cấp................................................................28
[7] Use Case_Lưu Cơ sở dữ liệu.......................................................................29
[8]. Use Case_Thống kê doanh thu...................................................................29
3.2.2.4. Xây dựng biểu đồ Use case ......................................................................29
3.2.2.5. Biểu đồ tương tác .....................................................................................29
[1]. Use Case_Đăng nhập.................................................................................29
[2]. Use Case_Quản lý sản phẩm .....................................................................30
[3]. Use Case_Lập hóa đơn ..............................................................................33
[4]. Use Case_Quản lý nhân viên .....................................................................34
[5]. Use Case_Quản lý khách hàng ..................................................................37
[6]. Use Case_Quản lý Nhà cung cấp...............................................................40
[7]. Use Case_Lưu cơ sở dữ liệu.......................................................................43
[8]. Use Case_Thống kê doanh thu...................................................................43
3.2.2.6. Biểu đồ lớp................................................................................................44
[1]. Xác định các lớp.........................................................................................44
[2]. Biểu đồ lớp .................................................................................................45
3.2.2.7. Biểu đồ trạng thái.....................................................................................45

[1]. Biểu đồ trạng thái của lớp Hóa đơn...........................................................45
[2]. Biểu đồ trạng thái của lớp Nhân viên ........................................................45
[3]. Biểu đồ trạng thái của lớp Sản phẩm.........................................................46

[4]. Biểu đồ trạng thái của lớp Khách hàng .....................................................46
[5]. Biểu đồ trạng thái của lớp Nhà cung cấp ..................................................46
3.2.3. Giai đoạn thiết kế ............................................................................................46
[1]. Mơ hình cơ sở dữ liệu.....................................................................................47
[2]. Mơ hình quan hệ.............................................................................................49
3.2.4. Giai đoạn triển khai.........................................................................................49
[1]. Form Đăng nhập ........................................................................................50
[2]. Form Main..................................................................................................50
[3]. Form Quản lý nhân viên.............................................................................51
[4]. Form Quản lý khách hàng..........................................................................51
[5]. Form Quản lý sản phẩm.............................................................................52
[6]. Form Quản lý nhà cung cấp.......................................................................52
[7]. Frm Quản lý hóa đơn .................................................................................53
[8]. Form Thanh toán........................................................................................53
[9]. Form Báo cáo thống kê ..............................................................................54
[10]. Form Tìm kiếm sản phẩm.........................................................................54
[11]. Form Tìm kiếm nhà cung cấp...................................................................55
[12]. Form Tìm kiếm khách hàng......................................................................55
[13]. Form Tìm kiếm nhân viên.........................................................................56
PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ ..........................................................................57
3.1. Kết luận...................................................................................................................57
3.2. Kiến nghị.................................................................................................................57
PHẦN 4. TÀI LIỆU THAM KHẢO ................................................................................58

DANH MỤC BIỂU MẪU VÀ HÌNH ẢNH


Hình 2.1. Phương pháp mơ hình thốt nước ...................................................................9
Hình 2.2. Phương pháp mơ hình xoắn ốc......................................................................10
Hình 2.3 Phương pháp mẫu hệ thống ban đầu .............................................................11
Hình 2.4. Phương pháp mơ hình tăng trưởng ...............................................................12
Hình 2.5. Biểu đồ Use Case của Quản lý thiết bị máy tính...........................................13
Hình 2.6. Xây dựng biểu đồ lớp Quản lý thiết bị máy tính............................................14
Hình 2.7. đồ tuần tự mơ tả hoạt động Cập nhật Nhân viên ..........................................15
Hình 2.8. Biểu đồ cộng tác mô tả hoạt động Cập nhật nhân viên ................................16
Hình 2.9. Biểu đồ trạng thái của lớp Hóa đơn..............................................................18
Hình 2.10. Biểu đồ triển khai của hệ thống...................................................................19
Hình 3.1. Biểu đồ Use Case tổng quát hệ thống “Bán thiết bị máy tính” ....................29
Hình 3.3. Biểu đồ cộng tác thực thi ca sử dụng Đăng nhập .........................................30
Hình 3.4. Biểu đồ tuần tự thực thi ca sử dụng Thêm sản phẩm ....................................31
Hình 3.5. Biểu đồ cộng tác thực thi ca sử dụng Thêm sản phẩm..................................31
Hình 3.6. Biểu đồ tuần tự thực thi ca sử dụng Cập nhật sản phẩm ..............................32
Hình 3.7. Biểu đồ cộng tác thực thi ca sử dụng Cập nhật sản phẩm............................32
Hình 3.8. Biểu đồ tuần tự thực thi ca sử dụng Xóa sản phẩm.......................................33
Hình 3.9. Biểu đồ cộng tác thực thi ca sử dụng Xóa sản phẩm ....................................33
Hình 3.10. Biểu đồ tuần tự thực thi ca sử dụng Lập hóa đơn .......................................34
Hình 3.11. Biểu đồ cộng tác thực thi ca sử dụng Lập hóa đơn.....................................34
Hình 3.12. Biểu đồ tuần tự thực thi ca sử dụng Thêm nhân viên..................................35
Hình 3.13. Biểu đồ cộng tác thực thi ca sử dụng Thêm nhân viên................................35
Hình 3.14. Biểu đồ tuần tự thực thi ca sử dụng Cập nhật nhân viên............................35
Hình 3.15. Biểu đồ tuần tự thực thi ca sử dụng Cập nhật nhân viên............................36
Hình 3.16. Biểu đồ tuần tự thực thi ca sử dụng Xóa nhân viên ....................................36
Hình 3.17. Biểu đồ cộng tác thực thi ca sử dụng Xóa nhân viên ..................................37
Hình 3.18. Biểu đồ tuần tự thực thi ca sử dụng Thêm khách hàng ...............................37
Hình 3.19. Biểu đồ cộng tác thực thi ca sử dụng Thêm khách hàng.............................38
Hình 3.20. Biểu đồ tuần tự thực thi ca sử dụng Cập nhật thông tin khách hàng..........38
Hình 3.21. Biểu đồ cộng tác thực thi ca sử dụng Cập nhật thông tin khách hàng .......39


Hình 3.22. Biểu đồ tuần tự thực thi ca sử dụng Xóa khách hàng .................................39
Hình 3.23. Biểu đồ cộng tác thực thi ca sử dụng Xóa khách hàng ...............................40
Hình 3.24. Biểu đồ tuần tự thực thi ca sử dụng Thêm Nhà cung cấp ...........................40
Hình 3.25. Biểu đồ cộng tác thực thi ca sử dụng Thêm Nhà cung cấp .........................41
Hình 3.26. Biểu đồ tuần tự thực thi ca sử dụng Cập nhật thơng tin Nhà cung cấp ......41
Hình 3.27. Biểu đồ cộng tác thực thi ca sử dụng Cập nhật thông tin Nhà cung cấp....42
Hình 3.28. Biểu đồ tuần tự thực thi ca sử dụng Xóa Nhà cung cấp..............................42
Hình 3.29. Biểu đồ cộng tác thực thi ca sử dụng Xóa Nhà cung cấp ...........................43
Hình 3.30. Biểu đồ tuần tự thực thi ca sử dụng Lưu cơ sở dữ liệu ...............................43
Hình 3.31. Biểu đồ cộng tác thực thi ca sử dụng Lưu cơ sở dữ liệu.............................43
Hình 3.32. Biểu đồ tuần tự thực thi ca sử dụng Thống kê doanh thu ...........................44
Hình 3.33. Biểu đồ cộng tác thực thi ca sử dụng Thống kê doanh thu .........................44
Hình 3.34. Biểu đồ lớp trong quản lý thiết bị máy tính.................................................45
Hình 3.35. Biểu đồ trạng thái của lớp Hóa đơn............................................................45
Hình 3.36. Biểu đồ trạng thái của lớp Nhân viên .........................................................45
Hình 3.37. Biểu đồ trạng thái của lớp sản phẩm ..........................................................46
Hình 3.38. Biểu đồ trạng thái của lớp Khách hàng ......................................................46
Hình 3.39. Biểu đồ trạng thái của lớp Nhà cung cấp....................................................46
Hình 3.40. Mơ hình quan hệ..........................................................................................49
Hình 3.41. Giao diện đăng nhập ...................................................................................50
Hình 3.42. Giao diện chính ...........................................................................................50
Hình 3.43. Giao diện Quản lý Nhân viên ......................................................................51
Hình 3.44. Giao diện Quản lý Khách hàng ...................................................................51
Hình 3.45. Giao diện Quản lý Sản phẩm ......................................................................52
Hình 3.46. Giao diện Quản lý nhà cung cấp.................................................................52
Hình 3.47. Giao diện Quản lý nhà hóa đơn ..................................................................53
Hình 3.48. Giao diện Thanh tốn..................................................................................53
Hình 3.49. Giao diện Thống kê sản phẩm .....................................................................54
Hình 3.50. Giao diện tìm kiếm sản phẩm ......................................................................54

Hình 3.51. Giao diện Tìm kiếm nhà cung cấp...............................................................55
Hình 3.52. Giao diện Tìm kiếm khách hàng..................................................................55

Hình 3.53. Giao diện Tìm kiếm nhân viên.....................................................................56

LỜI CẢM ƠN
Trên thực tế khơng có sự thành cơng nào mà khơng gắn liền với những sự hỗ trợ,
giúp đỡ dù ít hay nhiểu, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian
từ khi bắt đầu học tập tại trường, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của
q thầy cơ, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô ở Khoa Công Nghệ
Thông Tin – Trường Đại học Quảng Nam đã cùng với tri thức và tâm huyết của mình
để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại
trường. Và đặc biệt, em xin chân thành cảm ơn cô giáo Trần Thị Diệu Hiền đã tận tình
giúp đỡ, hướng dẫn em. Nếu khơng có những lời hướng dẫn, dạy bảo của cơ thì em
nghĩ bài thu hoạch này của em rất khó có thể hoàn thiện được. Một lần nữa, em xin
chân thành cảm ơn cô.
Tuy nhiên, do thời gian có hạn, cũng như kinh nghiệm cịn hạn chế của một sinh
viên nên trong bài báo cáo khóa luận tốt nghiệp này sẽ khơng tránh khỏi những thiếu
sót, hạn chế nhất định. Vì vậy, em rất mong nhận được sự chỉ bảo, đóng góp ý kiến
của các thầy cơ cùng tồn thể các bạn để em có điều kiện bổ sung, nâng cao kiến thức
của mình, phục vụ tốt hơn trong công tác thực tế sau này.

Em xin chân thành cảm ơn
Sinh viên thực hiện

Trần Thị Bình

PHẦN 1. MỞ ĐẦU
1.1. Lý do chọn đề tài.


Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của quốc gia,
đặc biệt là các nước đang phát triển, tiến hành cơng nghiệp hóa, hiện đại hóa như nước
ta. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, muốn
phát triển thì phải áp dụng tin học hóa vào tất cả các ngành,các lĩnh vực. Cùng với sự
phát triển nhanh chóng về phần cứng máy tính, các phần mềm càng trở nên đa dạng,
phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người.

Các phần mềm hiện nay ngày càng hỗ trợ cho người dùng thuận tiện sử dụng, thời
gian xử lý nhanh chóng, và một số nghiệp vụ được tự động hóa cao. Do vậy mà trong
việc phát triển phần mềm, sự địi hỏi khơng chỉ là sự chính xác, xử lý được nhiều
nghiệp vụ thực tế mà còn phải đáp ứng yêu cầu khác như về tốc độ, giao diện thân
thiện, mơ hình hóa được thực tế vào máy tính để người dùng sử dụng tiện lợi, quen
thuộc, tính tương thích cao, bảo mật cao, … .Các phần mềm giúp tiết kiệm một lượng
lớn thời gian, công sức của con người, tăng độ chính xác và hiệu quả trong cơng việc.

Trước tình hình đó, vấn đề đặt ra là cần xây dựng một hệ thống để đáp ứng các
nhu cầu cơ bản trong việc quản lý của con người hiện nay,mà cụ thể là phương pháp
phân tích thiết kế hướng đối tượng. Thơng qua phương pháp này,có thể áp dụng vào
các cơng việc quản lý sẽ dễ dàng hơn.Các cơng việc này địi hỏi nhiều thời gian và
cơng sức, mà sự chính xác và hiệu quả khơng cao, nếu làm bằng thủ cơng khơng mang
tính tự động. Một số nghiệp vụ như tra cứu, thống kê và hiệu chỉnh thơng tin khá vất
vả. Ngồi ra cịn có một số khó khăn về việc lưu trữ khá đồ sộ, dễ bị thất lạc, tốn
kém,…. Trong khi đó các nghiệp vụ này có thể tin học hóa một cách đơn giản hơn.
Với sự giúp đỡ của tin học, việc quản lý sẽ trở nên đơn giản và tiện lợi hơn.

Vì vậy, để tiếp cận với phương pháp này, em đã chọn đề tài “Phương pháp phân
tích thiết kế hướng đối tượng và áp dụng vào bài toán quản lý hoạt động xuất nhập của
một kho hàng hóa.” để làm khóa luận tốt nghiệp của mình.
1.2. Mục tiêu của đề tài.


Tìm hiểu sâu về phương pháp phân tích thiết kế hướng đối tượng.
Từ phương pháp trên mà ta có thể vận dụng vào bài tốn quản lý xuất nhập của
một kho hàng hóa …một cách thuận tiện, dễ dàng hơn.
1.3.Đối tượng và phạm vi nghiên cứu.
Đối tượng nghiên cứu: Tìm hiểu lý thuyết phương pháp phân tích thiết kế hướng
đối tượng dựa trên UML, từ cơ sở trên áp dụng vào bài tốn xuất nhập của một kho
hàng hóa.
Phạm vi nghiên cứu:

Trần Thị Bình – CT13CTT02 Trang 1

- Ứng dụng trong bài tốn quản lý thiết bị máy tính tại Cơng ty TNHH Thương
mại và xây dựng An An Sơn.

- Hệ quản trị cơ sở dữ liệu SQL Server 2008.
1.4. Phương pháp nghiên cứu.

Phương pháp thu thập thông tin.
Phương pháp thiết kế hệ thống
1.5. Lịch sử nghiên cứu.

Nội dung đã được đề cập ở môn học và được nhiều tác giả nghiên cứu, tuy nhiên
để nâng cao kiến thức của bản thân, tơi lựa chọn đề tài và đi sâu tìm hiểu về phương
pháp phân tích thiết kế hướng đối tượng.
1.6. Đóng góp của đề tài

Hệ thống lại các kiến thức về phương pháp phân tích thiết kế hướng đối tượng.
Xây dựng được phần mềm quản lý hoạt động buôn bán thiết bị máy tính của Cơng
ty Trách nhiệm hữu hạn thương mại và xây dựng An An Sơn.

1.7. Cấu trúc của đề tài.
Phần 1: Mở đầu.
Phần 2: Nội dung nghiên cứu gồm 3 chương

- Chương 1: Cơ sở lý thuyết
- Chương 2: Phân tích và thiết kế hệ thống.
- Chương 3: Bài toán ứng dụng: Quản lý thiết bị máy tính của Cơng ty TNHH
Thương mại và xây dựng An An Sơn.
Phần 3: Kết luận và kiến nghị
Phần 4: Tài liệu tham khảo

Trần Thị Bình – CT13CTT02 Trang 2

PHẦN 2. NỘI DUNG NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu phương pháp phân tích thiết kế hướng đối tượng
Trong kỹ nghệ phần mềm để sản xuất được một sản phẩm phần mềm người ta chia
quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích yêu cầu,
phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì.
Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn và phức tạp
nhất. Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải pháp, mô tả chi
tiết giải pháp. Nó trả lời 2 câu hỏi What (phần mềm này làm cái gì?) và How (làm nó
như thế nào?).
Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong những
cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương tác với
nhau. Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ giúp chúng ta
hiểu rõ hệ thống và cài đặt được nó. Phương thức này gọi là Phân tích thiết kế hướng
đối tượng (OOAD).
1.2. Một số khái niệm cơ bản
1.2.1.Đối tượng (Object)

Đối tượng là khái niệm cơ sở quan trọng nhất của cách tiếp cận hướng đối tượng.
Đối tượng là một khái niệm, một sự trừu tượng hoá hay một sự vật có nghĩa trong bài
tốn đang khảo sát. Đó chính là các mục mà ta đang nghiên cứu, đang thảo luận về
chúng. Đối tượng là thực thể của hệ thống, của cơ sở dữ liệu và được xác định thông
qua định danh của chúng. Thông thường các đối tượng được mô tả bởi các danh từ
riêng (tên gọi) hoặc được tham chiếu tới trong các mô tả của bài toán hay trong các
thảo luận với người sử dụng. Có những đối tượng là những thực thể có trong thế giới
thực như người, sự vật cụ thể, hoặc là những khái niệm như một công thức, hay khái
niệm trừu tượng, v.v. Có một số đối tượng được bổ sung vào hệ thống với lý do phục
vụ cho việc cài đặt và có thể khơng có trong thực tế.
Đối tượng là những thực thể được xác định trong thời gian hệ thống hoạt động.
Trong giai đoạn phân tích, ta phải đảm bảo rằng các đối tượng đều được xác định bằng
các định danh. Đến khâu thiết kế, ta phải lựa chọn cách thể hiện những định danh đó
theo cách ghi địa chỉ bộ nhớ, gán các số hiệu, hay dùng tổ hợp một số giá trị của một
số thuộc tính để biểu diễn.
Theo quan điểm của người lập trình, đối tượng được xem như là một vùng nhớ
được phân chia trong máy tính để lưu trữ dữ liệu (thuộc tính) và tập các hàm thao tác
trên dữ liệu được gắn với nó. Bởi vì các vùng nhớ được phân hoạch là độc lập với
nhau nên các đối tượng có thể tham gia vào nhiều chương trình khác nhau mà khơng
ảnh hưởng lẫn nhau.

Trần Thị Bình – CT13CTT02 Trang 3

1.2.2. Lớp (Class)
Đối tượng là thể hiện, là một đại biểu của một lớp. Lớp là một mơ tả về một nhóm

các đối tượng có những tính chất (thuộc tính) giống nhau, có chung các hành vi ứng xử
(thao tác gần như nhau), có cùng mối liên quan với các đối tượng của các lớp khác và
có chung ngữ nghĩa trong hệ thống. Lớp chính là cơ chế được sử dụng để phân loại các
đối tượng của một hệ thống. Lớp thường xuất hiện dưới dạng những danh từ chung

trong các tài liệu mơ tả bài tốn hay trong các thảo luận với người sử dụng. Cũng như
các đối tượng, lớp có thể là những nhóm thực thể có trong thế giới thực, cũng có
những lớp là khái niệm trừu tượng và có những lớp được đưa vào trong thiết kế để
phục vụ cho cài đặt hệ thống, v.v.

Lớp và mối quan hệ của chúng có thể mơ tả trong các biểu đồ lớp, biểu đồ đối
tượng và một số biểu đồ khác của UML. Trong biểu đồ lớp, lớp được mơ tả bằng một
hình hộp chữ nhật, trong đó có tên của lớp, có thể có các thuộc tính và các hàm
(phương thức).

Các ký hiệu mô tả lớp trong UML

Tên của lớp Tên và thuộc tính Tên, thuộc

tính và

phương thức

Chúng ta nên đặt tên theo một qui tắc thống nhất như sau:

 Tên của lớp thì chữ cái đầu của tất cả các từ đều viết hoa.

Ví dụ: HocSinh, KhachHang, SinhVien.

 Tên của đối tượng, tên của thuộc tính thì viết hoa chữ cái đầu của các từ trừ từ

đầu tiên.

Ví dụ: hoTen, danhSachSV, …


 Tên của hàm (phương thức) viết giống như tên của đối tượng nhưng có thêm

cặp ngoặc đơn ‘(‘ và ‘)’.

Ví dụ: hienThi(), nhapDiem(), …

1.2.3. Phương pháp (Method) và ngơn ngữ mơ hình hóa

Phương pháp hay phương thức (method) là một cách trực tiếp cấu trúc hoá sự suy

nghĩ và hành động của con người.

Phương pháp cho người sử dụng biết phải làm gì, làm như thế nào, khi nào và tại

sao (mục đích của hành động).

Phương pháp chứa các mơ hình (model), các mơ hình được dùng để mơ tả những

gì sử dụng cho việc truyền đạt kết quả trong quá trình sử dụng phương pháp.

Trần Thị Bình – CT13CTT02 Trang 4

Điểm khác nhau chính giữa một phương pháp và một ngơn ngữ mơ hình hố
(modeling language) là ngơn ngữ mơ hình hố khơng có một tiến trình (process) hay
các câu lệnh (instruction) mơ tả những cơng việc người sử dụng cần làm.

Một mơ hình được biểu diễn theo một ngơn ngữ mơ hình hố. Ngơn ngữ mơ hình
hố bao gồm các ký hiệu – những biểu tượng được dùng trong mơ hình và một tập các
quy tắc chỉ cách sử dụng chúng.


Các quy tắc này bao gồm:
 Syntactic (Cú pháp): cho biết hình dạng các biểu tượng và cách kết hợp chúng
trong ngôn ngữ.
 Semantic (Ngữ nghĩa): cho biết ý nghĩa của mỗi biểu tượng, chúng được hiểu
thế nào khi nằm trong hoặc không nằm trong ngữ cảnh của các biểu tượng
khác.
 Pragmatic: định nghĩa ý nghĩa của biểu tượng để sao cho mục đích của mơ
hình được thể hiện và mọi người có thể hiểu được.

1.2.4. Các giá trị và các thuộc tính của đối tượng
Giá trị (value) là một phần của dữ liệu. Các giá trị thường là các số hoặc là các ký

tự.
Thuộc tính của đối tượng là thuộc tính của lớp được mô tả bởi giá trị của mỗi đối

tượng trong lớp đó.
Khơng nên nhầm lẫn giá trị với đối tượng. Các đối tượng có định danh chứ không

phải là các giá trị.
Giá trị có thể là các giá trị của các kiểu dữ liệu nguyên thuỷ như các kiểu số hoặc

các kiểu xâu ký tự, hoặc là tập hợp của các giá trị nguyên thuỷ.
Các dữ liệu thành phần của một lớp có thể được bao gói thơng qua các thuộc tính

quản lý sự truy nhập để phục vụ việc che giấu thông tin của phương pháp hướng đối
tượng.

Trong UML ta có thể sử dụng các ký hiệu để đặc tả các thuộc tính đó.
Ký hiệu:
 ‘+’ đứng trước tên thuộc tính, hàm xác định tính cơng khai (public), mọi đối

tượng trong hệ thống đều nhìn thấy được. Nghĩa là mọi đối tượng đều có thể truy nhập
được vào dữ liệu cơng khai. Trong Rose ký hiệu là ổ khố khơng bị khố.
 ‘#’ đứng trước tên thuộc tính, hàm xác định tính được bảo vệ (protected),
chỉnhững đối tượng có quan hệ kế thừa với nhau nhìn thấy được. Trong Rose ký hiệu
là ổ khố bị khố, nhưng có chìa để bên cạnh.
 ‘-‘ đứng trước tên thuộc tính, hàm xác định tính sở hữu riêng (private), chỉ các
đối tượng trong cùng lớp mới nhìn thấy được. Trong Rose ký hiệu là ổ khoá bị khoá và
khơng có chìa để bên cạnh.

Trần Thị Bình – CT13CTT02 Trang 5

Trong trường hợp không sử dụng một trong ba ký hiệu trên thì đó là trường hợp
mặc định. Thuộc tính quản lý truy cập mặc định của những hệ thống khác nhau có thể
khác nhau,

Ví dụ :trong C++, các thuộc tính mặc định trong lớp được qui định là private, còn
trong Java lại qui định khác, đó là những thuộc tính rộng hơn private. Những thuộc
tính trên thiết lập quyền truy cập cho mọi đối tượng trong các lớp, các gói, các hệ
thống con của hệ thống phần mềm.

1.2.5. Các thao tác và phương thức
Thao tác là một hàm hay thủ tục có thể áp dụng (gọi hàm) cho hoặc bởi các đối

tượng trong một lớp. Khi nói tới một thao tác là ngầm định nói tới một đối tượng đích
để thực hiện thao tác đó.

Ví dụ: thao tác (hàm) hienThi() của lớp MonHoc khi gọi để hiển thị về các sinh
viên học một mơn học cụ thể như “Lập trình hướng đối tượng”

Một số thao tác có thể là đa xạ, được nạp chồng, nghĩa là nó có thể áp dụng cho

nhiều lớp khác nhau với những nội dung thực hiện có thể khác nhau, nhưng cùng tên
gọi.

Trần Thị Bình – CT13CTT02 Trang 6

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1. Các q trình phân tích thiết kế hướng đối tượng

2.1.1. Phân tích hướng đối tượng (Object Oriented Analysis - OOA)
Là giai đọan phát triển một mơ hình chính xác và súc tích của vấn đề, có thành

phần là các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng.
Trong giai đoạn OOA, vấn đề được trình bày bằng các thuật ngữ tương ứng với

các đối tượng có thực. Thêm vào đó, hệ thống cần phải được định nghĩa sao cho
người không chuyên Tin học có thể dễ dàng hiểu được.

Dựa trên một vấn đề có sẵn, nhà phân tích cần ánh xạ các đối tượng hay thực thể
có thực như Khách hàng, Nhân viên, Sản phẩm … vào thiết kế để tạo ra được bản thiết
kế gần cận với tình huống thực. Mơ hình thiết kế sẽ chứa các thực trong một vấn đề có
thực và giữ nguyên các mẫu hình về cấu trúc, quan hệ cũng như hành vi của chúng.
Nói một cách khác, sử dụng phương pháp hướng đối tượng chúng ta có thể mơ hình
hóa các thực thể thuộc một vấn đề có thực mà vẫn giữ được cấu trúc, quan hệ cũng
như hành vi của chúng

Đối với ví dụ một cơng ty bán thiết bị máy tính, giai đoạn OOA sẽ nhận biết được
các thực thể như:

- Khách hàng.
- Người bán hàng.

- Phiếu (hoá đơn) thanh toán.
- Sản phẩm.
Tương tác và quan hệ giữa các đối tượng trên là:
- Người bán hàng dẫn khách hàng xem sản phẩm mà khách hàng yêu cầu.
- Khách hàng chọn sản phẩm cần mua.
- Khách hàng trả tiền thiết bị
- Sản phẩm được giao cho khách hàng
Xin chú ý là ở đây, như đã nói, ta chú ý đến cả hai khía cạnh: thơng tin và cách
hoạt động của hệ thống (tức là những gì có thể xảy ra với những thơng tin đó).
Lối phân tích bằng kiểu ánh xạ "đời thực” vào máy tính như thế thật sự là ưu điểm
lớn của phương pháp hướng đối tượng.
2.1.2. Thiết kế hướng đối tượng (Object Oriented Design - OOD):
Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối
tượng trong đó là thực thể của một lớp. Các lớp là thành viên của một cây cấu trúc với
mối quan hệ thừa kế.
Mục đích của giai đoạn OOD là tạo thiết kế dựa trên kết quả của giai đoạn OOA,
dựa trên những quy định phi chức năng, những yêu cầu về môi trường, những yêu cầu
về khả năng thực thi,.... OOD tập trung vào việc cải thiện kết quả của OOA, tối ưu

Trần Thị Bình – CT13CTT02 Trang 7

hóa giải pháp đã được cung cấp trong khi vẫn đảm bảo thoả mãn tất cả các yêu cầu đã
được xác lập.

Trong giai đoạn OOD, nhà thiết kế định nghĩa các chức năng, thủ tục (operations),
thuộc tính (attribute) cũng như mối quan hệ của một hay nhiều lớp (class) và quyết
định chúng cần phải được điều chỉnh sao cho phù hợp với môi trường phát triển. Đây
cũng là giai đoạn để thiết kế ngân hàng dữ liệu và áp dụng các kỹ thuật tiêu chuẩn
hóa.


Về cuối giai đoạn OOD, nhà thiết kế đưa ra một loạt các biểu đồ (diagram) khác
nhau. Các biểu đồ này có thể được chia thành hai nhóm chính là Tĩnh và Động. Các
biểu đồ tĩnh biểu thị các lớp và đối tượng, trong khi biểu đồ động biểu thị tương tác
giữa các và phương thức hoạt động chính xác của chúng. Các lớp đó sau này có thể
được nhóm thành các gói, tức là các đơn vị thành phần nhỏ hơn của ứng dụng.

2.1.3. Lập trình hướng đối tượng (Object Oriented Programming - OOP)
Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật lập trình

hướng đối tượng. Đó là phương thức thực hiện thiết kế hướng đối tượng qua việc sử
dụng một ngơn ngữlập trình có hỗ trợ các tính năng hướng đối tượng. Một vài ngôn
ngữ hướng đối tượng thường được nhắc tới là C++ và Java. Kết quả chung cuộc của
giai đoạn này là một loạt các code chạy được, nó chỉ được đưa vào sử dụng sau khi đã
trải qua nhiều vòng quay của nhiều bước thử nghiệm khác nhau.
2.2. Ưu điểm của mơ hình hướng đối tượng

 Thông qua nguyên lý kế thừa chúng ta có thể loại bỏ những đoạn mã trùng lặp,
dư thừa trong q trình mơ tả đối tượng.

 Rút ngắn thời gian xây dựng hệ thống và tăng năng suất lao động.
 Nguyên lý che giấu thông tin giúp bảo vệ an tồn chương trình trước sự truy

nhập tùy tiện của các đối tượng khác.
 Có thể xây dựng được ánh xạ đối tượng của bài toán và đối tượng của chương

trình.
 Có thể xây dựng được mơ hình phù hợp với thực tế hơn.
 Kỹ thuật truyền thông điệp giúp trao đổi thông tin giữa các đối tượng giúp cho

việc mô tả giao diện với các hệ thống bên ngoài đơn giản hơn.

 Có thể quản lý phức tạp của các sản phẩm phần mềm.
 Tùy thuộc vào dự án tin học mà ta có thể sử dụng các tính chất khác nhau của

lập trình hướng đối tượng.
 Xoá bỏ được hố ngăn cách giữa các pha phân tích, thiết kế và cài đặt trong quá

trình xây dựng phần mềm.

Trần Thị Bình – CT13CTT02 Trang 8

2.3. Các mơ hình phát triển của hệ thống phần mềm
 Mơ hình thác nước (Waterfall).
Đây là mơ hình phát triển đầu tiên, được Royce đề xuất năm 1970 để mô tả sự phát

triển hệ thống tin học.
Quá trình phần mềm được chia thành các pha liên tiếp từ phân tích yêu cầu, phân

tích các thành phần, thiết kế, lập trình đến thử nghiệm và triển khai hệ thống.
Giai đoạn sau chỉ bắt đầu khi giai đoạn trước đã hồn thành. Vì vậy, chu trình phát

triển này cịn được gọi là chu trình tuyến tính.
Ưu điểm:
 Thích hợp cho những dự án lớn.
 Dự án thực hiện lần lượt theo các pha của một tiến trình nên việc quản lý dự
án sẽ dễ dàng và thuận tiện.
 Trước khi lập trình thì các yêu cầu về hệ thống được xác định rất chi tiết và
đầy đủ => giảm thiểu được sự thay đổi về yêu cầu trong quá trình phát triển hệ
thống.
Nhược điểm:
 Các yêu cầu của người sử dụng không phản ánh, trao đổi được với nhóm phát

triển cho đến khi hoàn tất từng giai đoạn phát triển.
 Không cho phép thay đổi nhiều theo các đặc tả yêu cầu của hệ thống.
 Thời gian từ khi đề xuất dự án đến khi có sản phẩm cuối cùng thường rất dài
(vài tháng -> vài năm

Hình 2.1. Phương pháp mơ hình thốt nước
 Mơ hình xoắn ốc (The spiral model)

Mơ hình xoắn ốc do Boehm đề xuất năm 1988. Là sự kết hợp tính lặp của mơ hình
ngun mẫu và tính hệ thống của mơ hình thác nước. Về bản chất, mơ hình mô tả
sự phát triển của phần mềm qua các giai đoạn tiến hố, mỗi giai đoạn được coi như
một mơ hình thác nước.

Trong mơ hình xoắn ốc, quy trình phát triển phần mềm được biểu diễn như một
vịng xoắn ốc. Các pha trong quy trình phát triển xoắn ốc bao gồm:

Thiết lập mục tiêu: xác định mục tiêu cho từng pha của dự án.

Trần Thị Bình – CT13CTT02 Trang 9

Đánh giá và giảm thiểu rủi ro: rủi ro được đánh giá và thực hiện các hành động để
giảm thiểu rủi ro.

Phát triển và đánh giá: sau khi đánh giá rủi ro, một mơ hình xây dựng hệ thống sẽ
được lựa chọn từ những mơ hình chung.

Lập kế hoạch: đánh giá dự án và pha tiếp theo của mơ hình xoắn ốc sẽ được lập kế
hoạch.

Ưu điểm:

 Linh hoạt hơn trong quá trình phát triển hệ thống cho thích hợp với những
thay đổi trong đặc tả yêu cầu.
 Cho phép thay đổi tùy theo yêu cầu cho mỗi vòng xoắn ốc.
 Nó được xem như là một mơ hình tổng hợp của các mơ hình khác. Khơng chỉ
áp dụng cho phần mềm mà còn phải cho cả phần cứng.
 Kiểm sát rủi ro ở từng giai đoạn phát triển.

Nhược điểm:
 Các pha thực hiện bị lặp nhiều trong quá trình phát triển hệ thống.
 Cần có kỹ năng tốt về phân tích rủi ro.
 Phức tạp và khơng thích hợp với các dự án nhỏ và ít rủi ro.
 Chưa được dùng rộng rãi như mơ hình thác nước hay là tạo ngun mẫu.
 Đòi hỏi năng lực quản lý.

Hình 2.2. Phương pháp mơ hình xoắn ốc
 Tạo ngun mẫu (Prototyping model)

Mơ hình nguyên mẫu tức là ta tạo một mẫu của hệ thống cho thấy sự hạn chế và
chức năng khả năng của hệ thống đó. Sau khi xây dựng nguyên mẫu sẽ giao cho khách
hàng đánh giá. Mẫu thử nghiệm này sẽ giúp khách hàng hình dung các chức năng sẽ
có trong hệ thống của mình sau này. Đội ngũ phát triển sẽ tiếp nhận yêu cầu của khách
hàng để chỉnh sửa cho đến khi nào khách hàng và đội ngũ phát triển hiểu chính xác các

Trần Thị Bình – CT13CTT02 Trang 10

yêu cầu của khánh hàng. Sau đó sẽ đóng băng các yêu cầu đó lại và tiếp tục sang giai
đoạn sau.

Sau khi nguyên mẫu được hoàn thiện thì sẽ tiếp tục các giai đoạn giống như ở mơ
hình thác nước.


Ưu điểm:
 Cho phép xây dựng những hệ thống thực hiện hiệu quả các chức năng mà
Người sử dụng yêu cầu.
 Trong quá trình thực hiện cho phép kiểm tra các yêu cầu của Người sử dụng
có cần thiết, có đáp ứng hay không, do vậy cho phép bổ sung kịp thời và đồng
thời loại bỏ đi những điểm không cần thiết.

 Các chức năng, hiệu xuất và khả năng thao tác của hệ thống có thể kiểm
nghiệm trong quá trình phát triển hệ thống, do vậy tổng thời gian phát triển có
thể sẽ được rút ngắn.

Nhược điểm:
 Khơng thích hợp cho những dự án lớn, chỉ thích hợp cho những dự án vừa và
nhỏ.

Hình 2.3 Phương pháp mẫu hệ thống ban đầu
 Mơ hình phát triển nhanh (RAD model)

Mơ hình phát triển nhanh (RAD – Rapid Application Development) chính là mơ
hình tăng dần với chu kỳ phát triển cực ngắn. Để đạt được mục tiêu này, RAD dựa trên
phương pháp phát triển trên cơ sở thành phần hoá hệ thống cùng với việc tái sử dụng
các thành phần thích hợp. RAD thích hợp cho những hệ thống quản lý thơng tin.

RAD - dựa vào phương pháp luận,điều chỉnh các giai đoạn SDLC đểtạo ra một
sốphần của hệthống phát triển nhanh và vào các thao tác thủ công của người sử dụng.

Phần lớn RAD - dựa vào phương pháp luận mà người phân tích sử dụng các kỹ
thuậtđặc biệt và cơng cụ máy tínhđể tăng tốc các giaiđoạn phân tích, thiết kế và thực
hiện, như công cụ CASE (computer-aided software engineering).


Trần Thị Bình – CT13CTT02 Trang 11

 Mơ hình tăng trưởng (Incremental model)
Thay vì chuyển giao một lần, quá trình phát triển và chuyển giao được chia làm

nhiều lần, mỗi chuyển giao đáp ứng một phần chức năng.
Yêu cầu người dùng được phân loại ưu tiên, mức cao sẽ thuộc phần chuyển giao

sớm
Khi phát triển một bản tăng, yêu cầu tương ứng là cố định, tuy nhiên, yêu cầu cho

bản tăng sau vẫn phát triển.

Hình 2.4. Phương pháp mơ hình tăng trưởng
2.4. Các giai đoạn phát triển phần mềm theo hướng đối tượng

Quá trình phát triển phần mềm được xác định thông qua tập các hoạt động cần
thực hiện để chuyển đổi các yêu cầu của khách hàng (người sử dụng) thành hệ thống
phần mềm.

Có bốn bước chính cần thực hiện trong q trình phát triển phần mềm:
 Phân tích yêu cầu (Dự kiến kế hoạch)
 Phân tích hệ thống
 Thiết kế hệ thống
 Triển khai hệ thống

Có thể thực hiện các bước trên theo nhiều phương pháp khác nhau. Theo đó, số
các bước đề xuất của các phương pháp cũng có thể khác nhau. Các dự án có thể thực
hiện theo những mơ hình khác nhau như mơ hình "thác nước" (waterfall), mơ hình "tạo

ngun mẫu" (Prototype), mơ hình "xoắn ốc", v.v. tuỳ thuộc vào từng dự án khác nhau
2.5. Các biểu đồ trong phân tích thiết kế hướng đối tượng

2.5.1. Biểu đồ Ca sử dụng (Use Case Diagram)
Biểu đồ này chỉ ra tương tác giữa các Use Case và tác nhân. Use Case biểu diễn

các chức năng của hệ thống. Tác nhân là con người hay hệ thống khác cung cấp hay
thu nhận thông tin từ hệ thống đang được xây dựng.

Mơ hình UC được mơ tả bởi một hay nhiều biểu đồ UC.
 Số lượng biểu đồ UC cho một dự án là tùy ý:
- Không quá nhiều làm rối loạn.

Trần Thị Bình – CT13CTT02 Trang 12


×