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

Đ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

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...

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 Case_Quản lý sản phẩm .25 [3] Use Case_Quản lý hóa đơn 26 [4] Use Case_Quản lý Nhân viên 26 [5] Use Case_Quản lý Khách hàng 27 [6] Use Case_Quản lý Nhà cung cấp 28 [7] Use Case_Lưu Cơ sở dữ liệu .29 [8] Use Case_Thống kê doanh thu 29 3.2.2.4 Xây dựng biểu đồ Use case 29 3.2.2.5 Biểu đồ tương tác .29 [1] Use Case_Đăng nhập .29 [2] Use Case_Quản lý sản phẩm .30 [3] Use Case_Lập hóa đơn 33 [4] Use Case_Quản lý nhân viên .34 [5] Use Case_Quản lý khách hàng 37 [6] Use Case_Quản lý Nhà cung cấp .40 [7] Use Case_Lưu cơ sở dữ liệu .43 [8] Use Case_Thống kê doanh thu 43 3.2.2.6 Biểu đồ lớp 44 [1] Xác định các lớp .44 [2] Biểu đồ lớp 45 3.2.2.7 Biểu đồ trạng thái 45 [1] Biểu đồ trạng thái của lớp Hóa đơn 45 [2] Biểu đồ trạng thái của lớp Nhân viên 45 [3] Biểu đồ trạng thái của lớp Sản phẩm .46 [4] Biểu đồ trạng thái của lớp Khách hàng .46 [5] Biểu đồ trạng thái của lớp Nhà cung cấp 46 3.2.3 Giai đoạn thiết kế 46 [1] Mô hình cơ sở dữ liệu 47 [2] Mô hình quan hệ 49 3.2.4 Giai đoạn triển khai .49 [1] Form Đăng nhập 50 [2] Form Main 50 [3] Form Quản lý nhân viên 51 [4] Form Quản lý khách hàng 51 [5] Form Quản lý sản phẩm 52 [6] Form Quản lý nhà cung cấp .52 [7] Frm Quản lý hóa đơn 53 [8] Form Thanh toán 53 [9] Form Báo cáo thống kê 54 [10] Form Tìm kiếm sản phẩm .54 [11] Form Tìm kiếm nhà cung cấp 55 [12] Form Tìm kiếm khách hàng 55 [13] Form Tìm kiếm nhân viên .56 PHẦN 3 KẾT LUẬN VÀ KIẾN NGHỊ 57 3.1 Kết luận 57 3.2 Kiến nghị .57 PHẦN 4 TÀI LIỆU THAM KHẢO 58 DANH MỤC BIỂU MẪU VÀ HÌNH ẢNH Hình 2.1 Phương pháp mô hình 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 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 1 - Ứ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 2

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