1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

67 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Trần Thị Bình
Trường học Trường Đại Học Quảng Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại khóa luận tốt nghiệp đại học
Năm xuất bản 2015
Thành phố Quảng Nam
Định dạng
Số trang 67
Dung lượng 2,13 MB

Nội dung

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin 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 quá 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 toán ...............................20 3.2. Bài toá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 CaseQuản lý sản phẩ m .....................................................................25 3. Use CaseQuản lý hóa đơn ........................................................................26 4. Use CaseQuả n lý Nhân viên.....................................................................26 5. Use CaseQuả n lý Khách hàng .................................................................27 6 Use CaseQuản lý Nhà cung cấp ................................................................28 7 Use CaseLưu Cơ sở dữ liệ u.......................................................................29 8. Use CaseThố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 CaseQuản lý sản phẩ m .....................................................................30 3. Use CaseLập hóa đơ n ..............................................................................33 4. Use CaseQuả n lý nhân viên .....................................................................34 5. Use CaseQuả n lý khách hàng ..................................................................37 6. Use CaseQuản lý Nhà cung cấp ...............................................................40 7. Use CaseLưu cơ sở dữ liệ u.......................................................................43 8. Use CaseThố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 thoá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 toá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 quý 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 toà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 Trần Thị Bình – CT13CTT02 Trang 1 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ả. Ngoà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 toá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 toá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 2 - Ứng dụng trong bài toá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 3 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 toá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 4 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 toá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 5 Điểm khác nhau chính giữa một phương pháp và một ngôn ngữ mô hình hoá (modeling language) là ngôn ngữ mô hình hoá 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 hoá. Ngôn ngữ mô hình hoá 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à ổ khoá không bị khoá.  ‘’ đứ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à ổ khoá bị khoá, 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 6 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 7 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Các quá 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 8 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 quá 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 toà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 9 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 đã hoà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 thoá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 nguyên 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 hoá, 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 10 Đá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 nguyên 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 nguyên 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 11 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 12  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 quá 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 nguyên 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 13 - Phải đảm bảo đầy đủ để biểu diễn đầy đủ thông tin của hệ thống. Nó là công cụ mạnh giúp thu thập yêu cầu chức năng hệ thống. Nó chỉ ra quan hệ giữa UC và tác nhân và giữa UC với nhau. Sử dụng biểu đồ để làm tài liệu UC, tác nhân và các quan hệ giữa chúng. Lợi ích chính của biểu đồ UC là làm giao tiếp:  Khi quan sát các UC, customer biết hệ thống có các chức năng nào.  Khi quan sát các tác nhân, customer biết ai giao tiếp với hệ thống.  Khi quan sát cả UC và tác nhân, customer biết phạm vi dự án. Các chú ý khi xây dựng biểu đồ UC:  Không nên mô hình hóa quan hệ kết hợp giữa tác nhân với tác nhân -> vì giao tiếp giữa các tác nhân là ở bên ngoài hệ thống.Hãy sử dụng biểu đồ luồng công việc để khảo sát quan hệ giữa các tác nhân.  Không hình thành quan hệ Association giữa các UC. Biểu đồ chỉ ra có các UC nào nhưng không chỉ ra trật tự thực hiện chúng.  Mỗi UC phải có tác nhân kích hoạt (trừ UC trong quan hệ extends và quan hệ includes). Nên vẽ mũi tên thể hiện association đi từ tác nhân đến UC.  Có thể xem CSDL là lớp ở dưới biểu đồ UC.  Có thể nhập tin vào CSDL ở UC này và xâm nhập dữ liệu trong CSDL ở UC khác.  Không vẽ association giữa các UC để chỉ ra luồng thông tin . Hình 2.5.Biểu đồ Use Case của Quản lý thiết bị máy tính 2.5.2. Biểu đồ Lớp (Class Diagram) Chỉ ra tương tác giữa các lớp trong hệ thống, các lớp đực xem như kế hoạch chi tiết của các đối tượng. Trần Thị Bình – CT13CTT02 Trang 14 Một biểu đồ lớp là một dạng mô hình tĩnh. Một biểu đồ lớp miêu tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa chúng với nhau. Mặc dù nó cũng có những nét tương tự với một mô hình dữ liệu, nhưng nên nhớ rằng các lớp không phải chỉ thể hiện cấu trúc thông tin mà còn miêu tả hình vi. Một trong các mục đích của biểu bồ lớp là tạo nền tảng cho các biểu đồ khác, thể hiện các khía cạnh của hệ thống. Để tạo một biểu đồ lớp, đầu tiên ta phải nhận diện và miêu tả các lớp. Một khi đã có số lượng các lớp, ta sẽ xét đến quan hệ giữa các lớp đó với nhau.  Các bước thực hiện để thiết kế biểu đồ lớp 1. Xác định tất cả các lớp có đối tượng tương tác với nhau. 2. Vẽ chúng trong một biểu đồ lớp. 3. Xác định thuộc tính của chúng và bổ sung cho đầy đủ. 4. Phân tích các biểu đồ cộng tác để xác định các hàm và bổ sung cho các lớp. 5. Xác định các kiểu của các thuộc tính và các giá trị trả lại của phép toán. 6. Bổ sung những mối liên kết cần thiết để quản lý các quyền truy nhập của các thuộc tính. 7. Bổ sung các quan hệ phụ thuộc dữ liệu. 8. Xác định các mối quan hệ tổng quát hóa chi tiết hóa và bổ sung quan hệ kế thừa vào biểu đồ lớp. Ví dụ: Xây dựng biểu đồ quản lý thiết bị máy tính. Hình 2.6.Xây dựng biểu đồ lớp Quản lý thiết bị máy tính 2.5.3. Biểu đồ Tuần tự (Sequence Diagram) Chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ tương tác tập trung vào mô tả trật tự các thông điệp theo thời gian. Trần Thị Bình – CT13CTT02 Trang 15 Biểu đồ tuần tự có hai trục: trục nằm dọc chỉ thời gian, trục nằm ngang chỉ ra một tập hợp các đối tượng. Một biểu đồ tuần tự cũng nêu bật sự tương tác trong một cảnh kịch (scenario) – một sự tương tác sẽ xảy ra tại một thời điểm nào đó trong quá trình thực thi của hệ thống. Từ các hình chữ nhật biểu diễn đối tượng có các đường gạch rời (dashed line) thẳng đứng biểu thị đường đời đối tượng, tức là sự tồn tại của đối tượng trong chuỗi tương tác. Trong khoảng thời gian này, đối tượng được thực thể hóa, sẵn sàng để gửi và nhận thông điệp. Quá trình giao tiếp giữa các đối tượng được thể hiện bằng các đường thẳng thông điệp nằm ngang nối các đường đời đối tượng. Mỗi tên ở đầu đường thẳng sẽ chỉ ra loại thông điệp này mang tính đồng bộ, kh...

Trang 1

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

Trang 2

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 quá 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

Trang 3

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 toán 20

3.2 Bài toá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

Trang 4

[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

Trang 5

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

Hình 2.1 Phương pháp mô hình thoá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

Trang 6

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 toá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

Trang 7

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

Trang 8

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 toà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

Trang 9

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ả Ngoà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 toá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 toán xuất nhập của một kho hàng hóa

Phạm vi nghiên cứu:

Trang 10

- Ứng dụng trong bài toá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

Trang 11

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 toá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

Trang 12

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 toá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

Trang 13

Điểm khác nhau chính giữa một phương pháp và một ngôn ngữ mô hình hoá (modeling language) là ngôn ngữ mô hình hoá 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 hoá Ngôn ngữ mô hình hoá 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ý

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à ổ khoá không bị khoá

 ‘#’ đứ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à ổ khoá bị khoá, 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

Trang 14

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

Trang 15

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 Các quá 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ư:

Tương tác và quan hệ giữa các đối tượng trên là:

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

Trang 16

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 quá 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 toà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

Trang 17

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 đã hoà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

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 thoá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 nguyên 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 hoá, 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

Trang 18

Đá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 nguyên 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 nguyên 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

Trang 19

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)

Trang 20

 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 quá trình phát triển phần mềm:

 Phân tích yêu cầu (Dự kiến kế hoạch)

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

Trang 21

- Phải đảm bảo đầy đủ để biểu diễn đầy đủ thông tin của hệ thống

Nó là công cụ mạnh giúp thu thập yêu cầu chức năng hệ thống

Nó chỉ ra quan hệ giữa UC và tác nhân và giữa UC với nhau

Sử dụng biểu đồ để làm tài liệu UC, tác nhân và các quan hệ giữa chúng

Lợi ích chính của biểu đồ UC là làm giao tiếp:

 Khi quan sát các UC, customer biết hệ thống có các chức năng nào

 Khi quan sát các tác nhân, customer biết ai giao tiếp với hệ thống

 Khi quan sát cả UC và tác nhân, customer biết phạm vi dự án

Các chú ý khi xây dựng biểu đồ UC:

 Không nên mô hình hóa quan hệ kết hợp giữa tác nhân với tác nhân -> vì giao tiếp giữa các tác nhân là ở bên ngoài hệ thống.Hãy sử dụng biểu đồ luồng công việc để khảo sát quan hệ giữa các tác nhân

 Không hình thành quan hệ Association giữa các UC Biểu đồ chỉ ra có các UC nào nhưng không chỉ ra trật tự thực hiện chúng

 Mỗi UC phải có tác nhân kích hoạt (trừ UC trong quan hệ extends và quan hệ includes) Nên vẽ mũi tên thể hiện association đi từ tác nhân đến UC

 Có thể xem CSDL là lớp ở dưới biểu đồ UC

 Có thể nhập tin vào CSDL ở UC này và xâm nhập dữ liệu trong CSDL ở UC khác

 Không vẽ association giữa các UC để chỉ ra luồng thông tin

Hình 2.5.Biểu đồ Use Case của Quản lý thiết bị máy tính

2.5.2 Biểu đồ Lớp (Class Diagram)

Chỉ ra tương tác giữa các lớp trong hệ thống, các lớp đực xem như kế hoạch chi tiết của các đối tượng

Trang 22

Một biểu đồ lớp là một dạng mô hình tĩnh Một biểu đồ lớp miêu tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa chúng với nhau Mặc dù nó cũng có những nét tương tự với một mô hình dữ liệu, nhưng nên nhớ rằng các lớp không phải chỉ thể hiện cấu trúc thông tin mà còn miêu tả hình vi

Một trong các mục đích của biểu bồ lớp là tạo nền tảng cho các biểu đồ khác, thể hiện các khía cạnh của hệ thống Để tạo một biểu đồ lớp, đầu tiên ta phải nhận diện và miêu tả các lớp Một khi đã có số lượng các lớp, ta sẽ xét đến quan hệ giữa các lớp đó với nhau

 Các bước thực hiện để thiết kế biểu đồ lớp

1 Xác định tất cả các lớp có đối tượng tương tác với nhau

2 Vẽ chúng trong một biểu đồ lớp

3 Xác định thuộc tính của chúng và bổ sung cho đầy đủ

4 Phân tích các biểu đồ cộng tác để xác định các hàm và bổ sung cho các lớp

5 Xác định các kiểu của các thuộc tính và các giá trị trả lại của phép toán

6 Bổ sung những mối liên kết cần thiết để quản lý các quyền truy nhập của các thuộc tính

7 Bổ sung các quan hệ phụ thuộc dữ liệu

8 Xác định các mối quan hệ tổng quát hóa / chi tiết hóa và bổ sung quan hệ kế thừa vào biểu đồ lớp

Ví dụ: Xây dựng biểu đồ quản lý thiết bị máy tính

Hình 2.6.Xây dựng biểu đồ lớp Quản lý thiết bị máy tính

2.5.3 Biểu đồ Tuần tự (Sequence Diagram)

Chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ tương tác tập trung vào

mô tả trật tự các thông điệp theo thời gian

Trang 23

Biểu đồ tuần tự có hai trục: trục nằm dọc chỉ thời gian, trục nằm ngang chỉ ra một tập hợp các đối tượng Một biểu đồ tuần tự cũng nêu bật sự tương tác trong một cảnh kịch (scenario) – một sự tương tác sẽ xảy ra tại một thời điểm nào đó trong quá trình thực thi của hệ thống.

Từ các hình chữ nhật biểu diễn đối tượng có các đường gạch rời (dashed line) thẳng đứng biểu thị đường đời đối tượng, tức là sự tồn tại của đối tượng trong chuỗi tương tác Trong khoảng thời gian này, đối tượng được thực thể hóa, sẵn sàng để gửi

và nhận thông điệp Quá trình giao tiếp giữa các đối tượng được thể hiện bằng các đường thẳng thông điệp nằm ngang nối các đường đời đối tượng Mỗi tên ở đầu đường thẳng sẽ chỉ ra loại thông điệp này mang tính đồng bộ, không đồng bộ hay đơn giản

Để đọc biểu đồ tuần tự, hãy bắt đầu từ phía bên trên của biểu đồ rồi chạy dọc xuống và quan sát sự trao đổi thông điệp giữa các đối tượng xảy ra dọc theo tiến trình thời gian

Để có thể vẽ biểu đồ tuần tự, đầu tiên hãy xác định các đối tượng liên quan và thể hiện các sự kiện xảy ra giữa chúng

Khi vẽ biểu đồ tuần tự, cần chú ý:

 Sự kiện được biểu diễn bằng các đường thẳng nằm ngang

 Đối tượng bằng các đường nằm dọc

 Thời gian được thể hiện bằng đường thẳng nằm dọc bắt đầu từ trên biểu đồ Điều đó có nghĩa là các sự kiện cần phải được thể hiện theo đúng thứ tự mà chúng xảy ra, vẽ từ trên xuống dưới

Ví dụ: Xây dựng biểu đồ tuần tự mô tả hoạt động cập nhật thông tin nhân viên của quản lý thiết bị máy tính

Hình 2.7 đồ tuần tự mô tả hoạt động Cập nhật Nhân viên

2.5.4 Biểu đồ Cộng tác (Collaboration Diagram)

Chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tập trung tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp

Trang 24

Một biểu đồ cộng tác miêu tả tương tác giữa các đối tượng cũng giống như biểu đồ tuần tự, nhưng nó tập trung trước hết vào các sự kiện, tức là tập trung chủ yếu vào sự tương tác giữa các đối tượng

Trong một biểu đồ cộng tác, các đối tượng được biểu diễn bằng kí hiệu lớp Thứ tự trong biểu đồ cộng tác được thể hiện bằng cách đánh số các thông điệp Kỹ thuật đánh

số được coi là hơi có phần khó hiểu hơn so với kỹ thuật mũi tên sử dụng trong biểu đồ tuần tự Nhưng ưu điểm của biểu đồ cộng tác là nó có thể chỉ ra các chi tiết về các lệnh gọi hàm (thủ tục), yếu tố được né tránh trong biểu đồ tuần tự

Ví dụ: Xây dựng biểu đồ cộng tác mô tả hoạt động Cập nhật nhân viên trong quản

lý thiết bị máy tính

Hình 2.8 Biểu đồ cộng tác mô tả hoạt động Cập nhật nhân viên

2.5.5 Biểu đồ Chuyển trạng thái (State Diagram)

Cung cấp cách thức mô hình hóa các trạng thái khác nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp và các quan hệ của chúng thì biểu

đồ chuyển trạng thái được sử dụng để mô hình hóa các hành vi động của hệ thống

 Trạng thái đối tượng

Trạng thái đối tượng là kết quả của các hoạt động trước đó của đối tượng

Đối tượng luôn ở trong một trạng thái xác định tại một thời điểm

Ví dụ : Hóa đơn mua hàng: Đã thanh toán, chưa thanh toán

Xe ô tô: Đang chạy, đang đứng

Thay đổi trạng thái đối tượng khi có sự kiện xảy ra

 Biểu đồ trạng thái

Mô tả chu kỳ tồn tại của đối tượng từ khi nó sinh ra đến khi nó bị phá hủy

Sử dụng để mô hình hóa khía ca ̣nh động của lớp

Biểu đồ bao gồm các thông tin sau:

Trang 25

- Các trạng thái của đối tượng

- Các hành vi của đối tượng

- Sự kiện tác động làm thay đổi trạng thái

Thông thường xây dựng biểu đồ trạng thái cho một vài đối tượng của lớp có nhiều hành vi động trong dự án Không phải mọi dự án sử dụng biểu đồ loại này

Biểu đồ trạng thái dùng để:

- Phân tích viên, người thiết kế và người sử dụng hiểu hành vi đối tượng

- Người phát triển hành vi đối tượng để cài đặt nó

Trong biểu đồ trạng thái gồm hai phần tử đồ họa:

- Trạng thái khởi đầu: khi đối tượng được tạo ra

- Trạng thái kết thúc: Khi đối tượng bị phá hủy

 Xác định trạng thái

Trạng thái có các hành động kết hợp sau:

- OnEntry: Các hành động này sẽ thực hiện khi trạng thái đạt tới

- Do: Các hành động này thực hiện trong lúc trạng thái tồn tại

- OnEvent: Các hành động này thực hiện để phản ứng lại một sự kiện

- OnExit: Các hành động thực hiện khi thoát khỏi trạng thái

- Inlucde: gọi một máy trạng thái cob, được biểu diễn bởi một biểu đồ trạng thái khác

Chuyển trạng thái là bước chuyển từ trạng thái này sang trạng thái khác

Chuyển trạng thái là một bộ ba: Event[Condition] / Action các thành phần này đều không bắt buộc có

 Sự kiện

Sự kiện là nguyên nhân của trạng thái

Một sự kiện có thể kích hoạt một hoặc nhiều hành động bởi một tác nhân

Các kiểu sự kiện trong UML:

- Change events: Xuất hiện khi điều kiện thỏa mãn

- Signal events: Chỉ ra việc nhận một tín hiệu ngoài từ một đối tượng (hoặc tác nhân) sang đối tượng khác

- Call event: Chỉ ra việc nhận một tín hiệu ngoài từ một đối tượng hoặc tác nhân

- Time event: Đánh dấu việc chuyển trạng thái sau một khoảng thời gian

 Trạng thái cha (Superstates)

Trang 26

Để giảm quá nhiều trạng thái trong biểu đồ ta có thể lồng trạng thái vào trong trạng thái khác Trạng thái con (Substate), trạng thái cha (Superstate)

Sự kết hợp này cho phép UML biểu diễn biểu đồ trạng thái theo các mức trừu tượng khác nhau

Trạng thái cha chứa trong nó một hoặc nhiều trạng thái

Ví dụ: Xây dựng biểu đồ trạng thái của lớp Nhân viên trong phân tích thiết kế hướng đối tượng

Hình 2.9 Biểu đồ trạng thái của lớp Hóa đơn

2.5.6 Biểu đồ hoạt động (Activity Diagram)

Biểu đồ hoạt động nắm bắt hành động và các kết quả của chúng Biểu đồ hoạt động tập trung vào công việc được thực hiện trong khi thực thi một thủ tục (hàm), các hoạt động trong một lần thực thi một trường hợp sử dụng hoặc trong một đối tượng Biểu đồ hoạt động là một biến thể của biểu đồ trạng thái và có một mục tiêu tương đối khác, đó là nắm bắt hành động (công việc và những hoạt động phải được thực hiện) cũng như kết quả của chúng theo sự biến đổi trạng thái Các trạng thái trong biểu đồ hoạt động (được gọi là các trạng thái hành động) sẽ chuyển sang giai đoạn kế tiếp khi hành động trong trạng thái này đã được thực hiện xong (mà không xác định bất kỳ một sự kiện nào theo như nội dung của biểu đồ trạng thái)

Một điểm phân biệt khác giữa biểu đồ hoạt động và biểu đồ trạng thái là các hành động của nó được định vị trong các luồng (Swimlane) Một luồng sẽ gom nhóm các hoạt động, chú ý tới khái niệm người chịu trách nhiệm cho chúng hoặc chúng nằm ở đâu trong một tổ chức Một biểu đồ hoạt động là một phương pháp bổ sung cho việc miêu tả tương tác, đi kèm với trách nhiệm thể hiện rõ các hành động xảy ra như thế nào, chúng làm gì (thay đổi trạng thái đối tượng), chúng xảy ra khi nào (chuỗi hành động), và chúng xảy ra ở đâu (luồng hành động)

Trang 27

 Thanh tương tranh hay thanh đồng bộ

Trong hoạt động của hệ thống, có thể có nhiều luồng hành động được bắt đầu thực hiện hay kết thúc đồng thời Trong UML, thanh đồng bộ được vẽ bằng đoạn thẳng đậm được sử dụng để kết hợp nhiều luồng hành động đồng thời và để chia nhánh cho những luồng có khả năng thực hiện song song

 Tuyến công việc

Tuyến công việc được sử dụng để phân hoạch các hoạt động (trạng thái) theo các nhóm đối tượng hay theo tuyến hoạt động của từng đối tượng Mỗi đối tượng hoạt động theo tuyến đã xác định, đồng thời giữa các tuyến này có sự chuyển đổi thông tin với nhau

2.5.7 Biểu đồ Thành phần (Component Diagram)

Cho ta cái nhìn vật lý của mô hình Biểu đồ thành phần cho ta thấy các thành phần phần mềm trong hệ thống và quan hệ giữa chúng Có hai loại thành phần trong biểu

đồ, đó là thành phần khả thực và thành phần thư viện

2.5.8 Biểu đồ Triển khai (Development Diagram)

Chỉ ra cấu hình các phần tử xử lý lúc chương trình chạy, các nút trên mạng và các tiến trình phần mềm thực hiện trên những phần tử đó Nó chỉ ra mối quan hệ giữa các phần cứng và phần mềm của hệ thống Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng

Hình 2.10 Biểu đồ triển khai của hệ thống

Trang 28

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

3.1 Ứng dụng mô hình thác nước vào phân tích thiết kế bài toán

Mô hình phát triển phần mềm là một công thức cho việc phát triển một phần mềm,

nó nói với deverloper là các công đoạn để phát triển một phần mềm như thế nào Ví dụ như quy trình nấu cơm: vo gạo -> đổ nước vào nồi vừa đủ-> mang vào nồi cắm điện và bật nút xuống trạng thái cook -> cơm chính-> ăn cơm

Vậy vì sao khi làm phần mềm đòi hỏi phải có một mô hình Mô hình là sản phẩm công sức của trí tuệ và kinh nghiệm thực tế của người đi trước hay của bản thân cá nhân mình Mô hình nói lên từng bước tiến hành nó phải làm như thế nào ở bước này

và bước kế tiếp

Có rất nhiều mô hình phát triển phẩn mềm, tùy theo từng phần mềm mà áp dụng các mô hình khác nhau Với phần mềm quản lý thiết bị máy tính nó được xây dựng trên mô hình thác nước, đây là mô hình được coi là cổ điển, nó có mặt trong tất cả các

mô hình phát triển phần mềm

3.2 Bài toán ứng dụng

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

Đây là một qui trình cơ bản để hiểu tại sao (Why?) một hệ thống thông tin nên được xây dựng và xác định bằng cách nào mà một đội dự án có thể xây dựng được nó Dùng phương pháp phân tích Use Case để nắm bắt các yêu cầu của khách hàng, phân tích khả năng đáp ứng và tính khả thi của hệ thống

Đây là một bước quan trọng và sự thành công của bước này sẽ quyết định sự thành công của dự án Bởi vì một hệ thống dù có xây dựng tốt đến đâu nhưng không đáp ứng được những nhu cầu của khách hàng hệ thống sẽ thất bại Giai đoạn này gồm

2 bước: Khởi tạo dự án và Quản lý dự án

3.2.1.1 Định nghĩa

Công ty TNHH thương mại và xây dựng An An Sơn dự định sẽ thiết kế một phần mềm quản lý bán hàng, giúp người quản lý có thể bao quát được tổng thể hoạt động sản xuất kinh doanh của toàn công ty

Công ty yêu cầu một phần mềm có khả năng cập nhật danh sách các sản phẩm, tên sản phẩm mà khách hàng chọn có trong công ty Nhân viên tính tiền, lập hóa đơn thanh toán đối với mỗi sản phẩm mà khách hàng yêu cầu, khi thanh toán tiền thì hóa đơn phải được lưu trong cơ sở dữ liệu

Cuối tuần hay cuối ngày chủ quán sẽ thống kê doanh thu của quán, tiền hàng và thống kê theo mặt hàng

Trang 29

3.2.1.2 Yêu cầu phi chức năng

 Yêu cầu sản phẩm

- Được sử dụng trong môi trường hệ điều hành Window

- Đạt hiệu quả về thời gian: thời gian cần thiết để thực hiện tra cứu thông tin không quá 10 giây Thời gian cần thiết để cập nhật dữ liệu không quá 5 giây Thời gian cần thiết để tổng hợp in báo cáo không quá 20 giây

- Độ tin cậy cao: các kết quả đưa ra chính xác, ngắn gon, đầy đủ

- Linh động: có tính mở, thuận tiện cho việc bảo trì phát triển hệ thống Có đầy

đủ các tiện ích phục vụ cho người sử dụng Có khả năng lập bảng biểu cho các bảng báo cáo theo yêu cầu của người sử dụng Phải có từng cấp độ ưu tiên cho người sử dụng và đảm bảo việc bảo mật chương trình Phải có chương trình quản trị hệ thống cho người điều hành, chương trình phải có tiện ích thuận tiện cho việc thêm bớt user, cấp phát quyền, bảo trị theo nhóm Các phân hệ của chương trình phải tuân thủ theo trật tự thực hiện yêu cầu của người sử dụng và giao diện chung

 Yêu cầu phi chức năng

Yêu cầu phần mềm:

- Phần mềm IBM Rational Rose:

Rational Rose là phần mềm công cụ mạnh hỗ trợ phân tích, thiết kế hệ thống phần mềm theo hướng đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã chương trình Rational Rose hỗ trợ cho việc làm mô hình doanh nghiệp Giúp ta phân tích hệ thống và làm cho chúng ta có thể thiết kế được mô hình

Ưu điểm: Cung cấp nhiều tính năng

 Mô hình hướng đối tượng

 Cung cấp cho UML, COM, OMT

 Kiểm tra ngữ nghĩa

 Hỗ trợ phát sinh mã cho một số ngôn ngữ

Nhược điểm:

 Phải cân chỉnh nhiều cho mô hình được đẹp

 Trong bản free không hỗ trợ phát sinh mã cho một số ngôn ngữ

 Không lùi về những bước đã làm

 Dung lượng khá nặng

- SQL Server 2005 trở lên

Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (relational database management system – RDBMS) do Microsoft phát triển SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng Ngôn ngữ truy vấn quan

Trang 30

trọng của Microsoft SQL server là Transact-SQL Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) vàANSI (American National Standards Institute) được sử dụng trong SQL Server

 Yêu cầu cấu hình phần cứng đối với người sử dụng

Bảo mật: Mỗi người sử dụng trong hệ thống cần được phép truy cập đến các chức năng và thông tin cần thiết liên quan đến nhiệm vụ và trách nhiệm của mình, đồng thời không được truy cập đến các chức năng và nằm ngoài phạm vi trách nhiệm của mình Việc phân quyền trách nhiệm do quản trị hệ thống đảm nhiệm

An toàn: Tất cả các thông tin được lưu trữ,không bị mất mát thông tin, không có sự nhầm lẫn sai lệch, thông tin chính xác và được lưu trữ rõ ràng không dư thừa thông tin Tương thích: Dễ tương thích giữa các hệ thống chương trình

3.2.1.3.Yêu cầu chức năng của hệ thống

Qua khảo sát thực tế và tư liệu tại công ty, các chức năng được đặt ra cho hệ thống phần mềm là:

R1 Đăng nhập vào hệ thống

R1.1 Yêu cầu đăng nhập hệ thống

R1.2 Nhập thông tin đăng nhập

R1.3 Xác nhận thông tin đăng nhập

R1.4 Thông báo kết quả

Trang 31

R3 Quản lý hóa đơn

R3.1 Tiếp nhận số lượng cần mua của khách

R3.2 Tạo hóa đơn bán

R3.3 Đưa ra thông tin phiếu xuất

R3.4 In hóa đơn

R3.5 Thu tiền và thối tiền thừa (nếu có)

R4 Quản lý nhân viên

R4.1 Mở cửa sổ chương trình Quản lý nhân viên

R4.2 Thêm thông tin nhân viên

R4.2.1 Yêu cầu thêm thông tin nhân viên

R4.2.2 Nhập thông tin nhân viên

R4.2.3 Xác nhận thông tin nhân viên

R4.2.4 Trả kết quả

R4.3 Cập nhật thông tin nhân viên

R4.3.1 Yêu cầu cập nhật thông tin nhân viên

R4.3.2 Cập nhật thông tin nhân viên

R4.3.3 Yêu cầu ghi nhận thông tin

R4.3.4 Trả kết quả

R4.4 Xóa thông tin nhân viên:

R4.4.1 Yêu cầu xóa nhân viên

R4.4.2 Chọn nhân viên cần xóa

R4.4.3 Kết quả xóa nhân viên

R5 Quản lý khách hàng

R5.1 Mở cửa sổ chương trình Quản lý khách hàng

R5.2 Thêm thông tin khách hàng

R5.2.1 Yêu cầu thêm thông tin khách hàng

R5.4 Xóa thông tin khách hàng

R5.4.1 Yêu cầu xóa khách hàng

R5.4.2 Chọn khách hàng cần xóa

Trang 32

R5.4.3 Kết quả xóa khách hàng

R6 Quản lý nhà cung cấp

R6.1 Mở cửa sổ chương trình Quản lý nhà cung cấp

R6.2 Thêm thông tin nhà cung cấp

R6.2.1 Yêu cầu thêm thông tin nhà cung cấp

R6.2.2 Nhập thông tin nhà cung cấp

R6.2.3 Xác nhận thông tin nhà cung cấp

R6.2.4 Trả kết quả

R6.3 Cập nhật thông tin nhà cung cấp

R6.3.1 Yêu cầu cập nhật thông tin nhà cung cấp

R6.3.2 Cập nhật thông tin nhà cung cấp

R6.3.3 Yêu cầu ghi nhận thông tin

R6.3.4 Trả kết quả

R6.4 Xóa thông tin nhà cung cấp

R6.4.1 Yêu cầu xóa nhà cung cấp

R6.4.2 Chọn nhà cung cấp cần xóa

R6.4.3 Kết quả xóa nhà cung cấp

R7 Lưu cơ sở dữ liệu

R8 Thống kê doanh thu

R8.1 Yêu cầu thống kê doanh thu

R8.2 Chọn chi tiêu cần thống kê

R8.3 Kết quả thống kê

3.2.2 Giai đoạn phân tích

Giai đoạn phân tích trả lời những câu hỏi (Who) “Ai sẽ sử dụng hệ thống?”, (What) “Hệ thống sẽ làm gì?” (Where-When) “Ở đâu và khi nào hệ thống sẽ được sử dụng?”

Bước đầu tiên trong giai đoạn này là phân tích hệ thống, đội dự án nghiên cứu tỉ

mỉ hệ thống hiện tại (nếu có), xác định cơ hội triển khai và phát thảo ý niệm chung cho

hệ thống mới Sau khi đã biết được người dùng muốn gì, chúng ta tập trung mô tả lại

hệ thống, các khái niệm chính trong lĩnh vực của hệ thống cần xây dựng, trong hướng đối tượng gọi là các lớp lĩnh vực (domain class), mối quan hệ và sự tương tác giữa các đối tượng đó Mục đích chính là hiểu hệ thống hoạt động như thế nào?

Bước kế tiếp là tổng hợp các thông tin hoặc tổng hợp các yêu cầu cho hệ thống, thiết kế mô hình UC: xác định các hoạt động của hệ thống để nhóm lại trong những

UC chung; tiếp đến xây dựng các mô hình cấu trúc gồm các lớp, biểu đồ lớp

Bước cuối cùng là xây dựng mô hình hành vi có thể có trong từng UC, từng lớp đối tượng

Trang 33

3.2.2.1.Xác định các actor

Tác nhân (actor) được hiểu là một vai trò quan trọng tham gia vào hệ thống không giống như một con người cụ thể hoặc một công việc Một đối tượng có thể tham gia vào một hoặc nhiều vai trò

Qua quá trình khảo sát và phân tích tài liệu hệ thống, chúng ta có thể nhận ra các

tác nhân:

- Khách hàng: là người mua hàng

- Giám đốc: đăng nhập vào hệ thống có chức năng: quản lý thu, quản lý chi, quản

lý nhân viên, xem thông tin khách hàng,… là người quản lý toàn bộ công ty

- Người quản lý: đăng nhập vào hệ thống có chức năng: quản lý thu, quản lý chi, quản lý nhập, quản lý xuất, lưu các phiếu vào cơ sở dữ liệu, quản lý nhân viên, xem thông tin khách hàng,… là người quản lý hệ thống bán hàng

- Nhân viên: đăng nhập vào hệ thống chức năng: bán hàng, thêm khách hàng, lập hóa đơn, quản lý khách hàng, xem danh sách các mặt hàng

- Nhà cung cấp: cung cấp các mặt hàng, báo giá sản phẩm

- Người quản trị: Quản lý và bảo trì hệ thống

3.2.2.2 Xác định các Use Case

- Đăng nhập hệ thống

- Quản lý sản phẩm

- Quản lý hóa đơn

- Quản lý nhân viên

- Quản lý khách hàng

- Quản lý nhà cung cấp

- Lưu cơ sở dữ liệu

- Thống kê doanh thu

3.2.2.3 Đặc tả các ca sử dụng

[1] Use Case_Đăng Nhập

- Tên ca sử dụng: Đăng nhập

- Các tác nhân: Giám đốc, Nhân viên, Người quản lý

- Mô tả: Khi thành viênmuốn đăng nhập vào hệ thống thì hệ thống sẽ yêu cầu nhập tên, mật khẩu Nếu mật khẩu đúng thì hệ thống sẽ xử lý và cho phép thực hiện các thao tác tiếp theo Nếu sai thì yêu cầu nhập lại tên, mật khẩu và tiếp tục thực hiện bước tiếp theo

- Tham chiếu tới: Các chức năng R1, R1.1, R1.2, R1.3, R1.4

[2].Use Case_Quản lý sản phẩm

 Thêm sản phẩm

- Tên Use Case: Thêm sản phẩm

Ngày đăng: 17/03/2024, 08:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w