Khóa luận Phân tích thiết kế phần mềm tính lương

Hiên nay, tại Việt Nam các doanh nghiệp sản xuất sản phẩm thường gặp nhiều khó khăn hơn các doanh nghiệp kinh doanh trong bài toán tính lương vì trong bài toán tính lương của các doanh nghiệp sản xuất đa dạng hơn và phải tính các số liệu khác nhau, vì vậy việc tính toán rất phức tạp và phải lưu giữ nhiều giấy tờ phục vụ cho việc tính toán. Chính vì lý do đó, việc ứng dụng công nghệ thông tin vào việc tính lương cho các cán bộ công nhân viên trong công ty, các doanh nghiệp sản xuất là hết sức cần thiết. Măc dù đã có rất nhiều bài toán tính lương ra đời và phát triển, tuy nhiên trên cơ sở khảo sát và tìm hiểu thực tế em thấy bài toán tính lương vẫn cần phải được khảo sát và tìm hiểu kỹ hơn cho từng doanh nghiệp. Hệ thông được phân tích – thiết kế theo cách tiếp cận hướng đối tượng ngôn ngữ mô hình hóa UML và được xây dựng trên nền Visual Studio Dot Net Framework 2.0 sử dụng ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu SQL2000. Cấu trúc của khóa luận được chia như sau: “Vài nét về phương pháp hướng đối tượng và ngôn ngữ mô hình hóa UML”. Chương này khái quát những khái niệm cơ bản nhất về ngôn ngữ mô hình hóa UML được sử dụng trong khóa luận này để đặc tả: “Hệ thống phần mềm tính lương”. “Nắm bắt các yêu cấu của hệ thống phần mềm tính lương”. Chương này mô tả hoạt động và những chức năng của hệ thống. Sử dụng mô hình ca sử dụng để khái quát các thành phần, các chức năng của hệ thống, và mô tả chi tiết hoạt động của ca sử dụng. “Phân tích thiết kế chương trình tính lương”. Chương này làm rõ chức năng của từng ca sử dụng về mặt logic và sử dụng biểu đồ tuần tự, biểu đồ cộng tác, biểu đồ lớp để mô tả chi tiết các ca sử dụng về mặt kỹ thuật. “Giới thiệu chương trình”. Chương này đề cập về môi trường cài đặt và giới thiệu những giao diện chính.

doc107 trang | Chia sẻ: tuandn | Lượt xem: 2116 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Khóa luận Phân tích thiết kế phần mềm tính lương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nhâm Đức Phúc PHÂN TÍCH THIẾT KẾ PHẦN MỀM TÍNH LƯƠNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nhâm Đức phúc PHÂN TÍCH THIẾT KẾ PHẦN MỀM TÍNH LƯƠNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Giáo viên hướng dẫn: ThS. Tô Văn Khánh HÀ NỘI - 2009 HÀ NỘI - 2009 LỜI CẢM ƠN Lời đầu tiên em xin tỏ lòng biết ơn sâu sắc tới thầy ThS. Tô Văn Khánh đã tận tình hướng dẫn, giúp đỡ em trong suốt quá trình em nghiên cứu và thực hiện đề tài. Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trường Đại học Công nghệ, ĐHQGHN đã truyền đạt kiến thức và tạo điều kiện tốt nhất để em có thể học tập tốt trong suốt những năm đại học. Tôi cũng xin cảm ơn các bạn sinh viên K50-CNPM đã cho tôi những ý kiến giá trị khi thực hiện đề tài này. Hà Nội, ngày 23/5/2009 Nhâm Đức Phúc TÓM TẮT NỘI DUNG Hiên nay, tại Việt Nam các doanh nghiệp sản xuất sản phẩm thường gặp nhiều khó khăn hơn các doanh nghiệp kinh doanh trong bài toán tính lương vì trong bài toán tính lương của các doanh nghiệp sản xuất đa dạng hơn và phải tính các số liệu khác nhau, vì vậy việc tính toán rất phức tạp và phải lưu giữ nhiều giấy tờ phục vụ cho việc tính toán. Chính vì lý do đó, việc ứng dụng công nghệ thông tin vào việc tính lương cho các cán bộ công nhân viên trong công ty, các doanh nghiệp sản xuất là hết sức cần thiết. Măc dù đã có rất nhiều bài toán tính lương ra đời và phát triển, tuy nhiên trên cơ sở khảo sát và tìm hiểu thực tế em thấy bài toán tính lương vẫn cần phải được khảo sát và tìm hiểu kỹ hơn cho từng doanh nghiệp. Hệ thông được phân tích – thiết kế theo cách tiếp cận hướng đối tượng ngôn ngữ mô hình hóa UML và được xây dựng trên nền Visual Studio Dot Net Framework 2.0 sử dụng ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu SQL2000. Cấu trúc của khóa luận được chia như sau: “Vài nét về phương pháp hướng đối tượng và ngôn ngữ mô hình hóa UML”. Chương này khái quát những khái niệm cơ bản nhất về ngôn ngữ mô hình hóa UML được sử dụng trong khóa luận này để đặc tả: “Hệ thống phần mềm tính lương”. “Nắm bắt các yêu cấu của hệ thống phần mềm tính lương”. Chương này mô tả hoạt động và những chức năng của hệ thống. Sử dụng mô hình ca sử dụng để khái quát các thành phần, các chức năng của hệ thống, và mô tả chi tiết hoạt động của ca sử dụng. “Phân tích thiết kế chương trình tính lương”. Chương này làm rõ chức năng của từng ca sử dụng về mặt logic và sử dụng biểu đồ tuần tự, biểu đồ cộng tác, biểu đồ lớp để mô tả chi tiết các ca sử dụng về mặt kỹ thuật. “Giới thiệu chương trình”. Chương này đề cập về môi trường cài đặt và giới thiệu những giao diện chính. DANH MỤC BẢNG BIỂU VÀ HÌNH VẼ STT Hình vẽ Trang Hình1: Biểu đồ User-case của gói quản trị hệ thống 16 Hình 2: Biểu đồ User-case của gói tính lương 16 Hình 3: Biểu đồ User-case của gói quản lý danh mục 17 Bảng 4: Biểu đồ User-case của gói quản lý forum 17 Bảng 5: Biểu đồ User-case của gói thống kê, báo cáo 18 Bảng 6: Form đăng nhập hệ thống 31 Hình 7: Form quản lý người dùng 32 Hình 8: Form sao lưu dữ liệu hiện tại 33 Hình 9: Form thay đổi mật khẩu 34 Hình 10: Form cập nhật khối lượng công việc cho tổ 35 Hình 11: Form cập nhật lương thời gian cho tổ 36 Hình 12: Form cập nhật lương tạm ứng cho tổ 37 Hình 13: Form cập nhật lương thưởng cho công nhân viên 38 Hình 14: Form danh mục tổ, bộ phận sản xuất 39 Hình 15: Form danh mục cán bộ công nhân viên 40 Hình 16 : Form danh mục công nhân viên của tổ trong tháng 41 Hình 17: Form danh mục sản phẩm 42 Hình 18: Form cập nhật định mức sản phẩm 43 Hình 19: Form tìm kiếm thông tin công nhân viên 44 Hình 20: Form tìm kiếm thông tin tổ 45 Hình 21: Form tìm kiếm thông tin đơn giá sản phẩm 46 Hình 22: Form tìm kiếm lương 47 Hình 23: Form bảng thanh toán lương cho tổ 48 Hình 24: Form tổng hợp khối lượng ngày công 49 Hình 25: Form danh mục công nhân viên của tổ trong tháng 50 Hình 26: Form định mức sản phẩm trong tháng 51 Hình 27: Biểu đồ tuần tự ca sử dụng đăng nhập 52 Hình 28: Biểu đồ cộng tác ca sử dụng đăng nhập 53 Hình 29: Biểu đồ tuần tự ca sử dụng quản lý người dùng 54 Hình 30: Biểu đồ cộng tác ca sử dụng quản lý người dùng 55 Hình 31: Biểu đồ tuần tự ca sử dụng sao lưu, phục hồi dữ liệu 56 Hình 32: Biểu đồ tuần tự ca sử dụng sao lưu, phục hồi dữ liệu 56 Hình 33: Biểu đồ tuần tự ca sử dụng thay đổi mật khẩu 57 Hình 34: Biểu đồ cộng tác ca sử dụng thay đổi mật khẩu 57 Hình 35: Biểu đồ tuần tự ca sử dụng kết nối và ngắt kết nối cơ sở dữ liệu 58 Hình 36: Biểu đồ cộng tác ca sử dụng kết nối và ngắt kết nối cơ sở dữ liệu 58 Hình 37: Biểu đồ tuần tự ca sử dụng tính lương sản phẩm 60 Hình 38: Biểu đồ cộng tác ca sử dụng tính lương sản phẩm 60 Hình 39: Biểu đồ tuần tự ca sử dụng tính lương thời gian 61 Hình 40: Biểu đồ cộng tác ca sử dụng tính lương thời gian 62 Hình 41: Biểu đồ tuần tự ca sử dụng tính lương tạm ứng 63 Hình 42: Biểu đồ cộng tác ca sử dụng tính lương tạm ứng 63 Hình 43: Biểu đồ tuần tự ca sử dụng tính lương thưởng 64 Hình 44: Biểu đồ cộng tác ca sử dụng tính lương thưởng 64 Hình 45: Biểu đồ tuần tự ca sử dụng quản lý danh mục tổ 66 Hình 46: Biểu đồ cộng tác ca sử dụng quản lý danh mục tổ 66 Hình 47: Biểu đồ tuần tự ca sử dụng quản lý danh mục công nhân viên 68 Hình 48: Biểu đồ cộng tác ca sử dụng quản lý danh mục công nhân viên 68 Hình 49: Biểu đồ tuần tự ca sử dụng quản lý danh mục công nhân viên của tổ trong tháng 70 Hình 50: Biểu đồ cộng tác ca sử dụng quản lý danh mục công nhân viên của tổ trong tháng 70 Hình 51: Biểu đồ tuần tự ca sử dụng quản lý danh mục sản phẩm 72 Hình 52: Biểu đồ cộng tác ca sử dụng quản lý danh mục sản phẩm 72 Hình 53: Biểu đồ tuần tự ca sử dụng quản lý danh mục đơn giá sản phẩm 73 Hình 54: Biểu đồ cộng tác ca sử dụng quản lý danh mục đơn giá sản phẩm 74 Hình 55: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin về công nhân viên 75 Hình 56: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin về công nhân viên 75 Hình 57: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin 76 Hình 58: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin 76 Hình 59: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin về đơn giá sản phẩm 77 Hình 60: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin về đơn giá sản phẩm 77 Hình 61: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin về lương 79 Hình 62: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin về lương 79 Hình 63: Biểu đồ tuần tự ca sử dụng báo cáo 80 Hình 64: Biểu đồ cộng tác ca sử dụng báo cáo 80 Hình 65: Biểu đồ tuần tự ca sử dụng báo cáo khối lượng sản phẩm và ngày công 80 Hình 66: Biểu đồ cộng tác ca sử dụng báo cáo khối lượng sản phẩm và ngày công 81 Hình 67: Biểu đồ tuần tự ca sử dụng báo cáo danh sách công nhân viên của tổ 81 Hình 68: Biểu đồ cộng tác ca sử dụng báo cáo danh sách công nhân viên của tổ 81 Hình 69: Biểu đồ tuần tự ca sử dụng báo cáo thông tin chi tiết bảng lương 82 Hình 70: Biểu đồ cộng tác ca sử dụng báo cáo thông tin chi tiết bảng lương 82 Hình 71: Biểu đồ tuần tự ca sử dụng báo cáo thông tin đơn giá sản phẩm 83 Hình 72: Biểu đồ cộng tác ca sử dụng báo cáo thông tin đơn giá sản phẩm 83 Hình 73: Biểu đồ lớp của gói quản trị hệ thống 84 Hình 74: Biểu đồ lớp của gói tính lương 84 Hình 75: Biểu đồ lớp của gói quản lý danh mục 85 Hình 76: Biểu đồ lớp của gói tìm kiếm 85 Hình 77: Biểu đồ lớp của gói thống kê, báo cáo 86 Hình 78: Thiết kế quan hệ giữa các bảng 89 Hình 79: Giao diện chính của chương trình 90 Hình 80: Giao diện đăng nhập hệ thống 91 Hình 81: Giao diện danh sách công nhân viên của tổ 91 Hình 82: Giao diện công và khối lượng sản phẩm 92 Hình 83: Giao diện lương sản phẩm 92 Hình 84: Giao diện lương thời gian 93 Hình 85: Giao diện lương tạm ứng 93 Hình 86. Giao diện lương thưởng 94 GIỚI THIỆU CHUNG VỀ PHẦN MỀM QUẢN LÝ LƯƠNG Sự cần thiết của việc nghiên cứu và phát triển chương trình tính lương Trong mỗi một công ty may hiện nay, việc quản lý các thông số thống kê tiền lương cho công nhân là một vấn đề hết sức khó khăn và phức tạp. Vì các thông số thống kê tiền lương cho công nhân mỗi ngày là lưu động. Đăc biệt, số công nhân trong mỗi công ty lại rất đông cho nên việc thống kê tiền lương sẽ dễ xảy ra những sai xót ngoài ý muốn mà bất kỳ một cán bộ kế toán làm lương nào mong muốn. Khi công việc làm hằng ngày là như vậy mà các công ty lại quản lý bằng giấy tờ thì hết sức phức tạp, dễ xảy ra những nhầm lẫn và mất mát những giấy tờ cần thiết phục vụ cho việc tính lương hoàn chỉnh lúc cuối tháng của công nhân viên trong nhà máy. Do đó, để tránh xảy ra những mất mát và sai xót không đáng có của cán bộ kế toán làm lương khi phải lưu giữ các số liệu làm lương hàng tháng nên cần thiết phải xây dựng chương tình tính lương để hỗ trợ cho các cán bộ kế toán làm lương trong nhà máy. Mục đích của đề tài Từ những khó khăn trong việc quản lý các thông số tính lương cho công nhân viên trong các nhà máy sản xuất hiện nay nên em đã chọn đề tài “phân tích thiết kế phần mềm tính lương”. Em viết phần mềm này để mong có thể phục vụ cho việc tính lương của công ty hiện nay và để phần nào khắc phục những sai xót trong vấn đề tính lương. Phạm vi nghiên cứu của đề tài Đề tài chỉ dừng ở việc đưa ra một chương trình tính lương nhằm hỗ trợ cho các cán bộ kế toán làm lương trong việc tính toán và lưu trữ các số liệu làm lương của công ty hàng tháng. Chương trình hỗ trợ người dùng ở việc tìm kiếm, báo cáo các dữ liệu và tính toán các công thức làm lương phức tạp. Để phần mềm có thể hỗ trợ tốt cho công việc tính lương trước hết chúng ta phải tìm hiểu rõ cách thức tính lương, các yêu cầu, các khó khăn khi gặp phải trong việc tính toán. Trên cơ sở đó để rút ra những quy luật, những điểm mang tính đặc thù của công việc tính lương, để từ đó có thể đưa ra các yêu cầu mà chương trình cần đạt được. CHƯƠNG 1 VÀI NÉT VỀ PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ MÔ HÌNH HÓA UML Phương pháp hướng đối tượng 1.1.1 Hướng đối tượng (Object Orientation - OO) Hướng đối tượng là thuật ngữ thông dụng hiện thời của ngành công nghiệp phần mềm. Các công ty đang nhanh chóng tìm cách áp dụng và tích hợp công nghệ mới này vào các ứng dụng của họ. Hiện nay rất nhiều các ứng dụng được xây dựng dựa trên công nghệ hướng đối tượng. Nhưng hướng đối tượng có nghĩa là gì? Lối tiếp cận hướng đối tượng là một lối tư duy về vấn đề theo lối ánh xạ các thành phần trong bài toán vào các đối tượng thực tế. Với lối tiếp cận này, chúng ta chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau. Sau đó ta có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau. Hãy nghĩ đến trò chơi xây lâu đài bằng các mẫu gỗ. Bước đầu tiên là tạo hay mua một vài loại mẫu gỗ căn bản, từ đó tạo nên các khối xây dựng căn bản của mình. Một khi đã có các khối xây dựng đó, bạn có thể chắp ráp chúng lại với nhau để tạo lâu đài. Tương tự như vậy một khi đã xây dựng một số đối tượng căn bản trong thế giới máy tính, bạn có thể chắp chúng lại với nhau để tạo ứng dụng của mình. 1.1.2 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 tương ứng trong thực tế, 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, ô tô, người bán hàng… vào thiết kế để tạo ra được bản thiết kế tương ứng với tình huống thực. Mô hình thiết kế sẽ chứa các thực thể 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. 1.1.3 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 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 (attributes) 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 lớp 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 (Packages) tức là các đơn vị thành phần nhỏ hơn của ứng dụng. 1.1.4 Lập trình hướng đối tượng 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. Vài nét khái quát về ngôn ngữ mô hình hóa UML (Unified Modeling Language) Mục tiêu của giai đoạn phân tích hệ thống là sản xuất ra một mô hình tổng thể của hệ thống cần xây dựng. Mô hình này cần phải được trình bày theo hướng nhìn (View) của khách hàng hay người sử dụng và làm sao để họ hiểu được. Mô hình này cũng có thể được sử dụng để xác định các yêu cầu của người dùng đối với hệ thống và qua đó giúp chúng ta đánh giá tính khả thi của dự án. Tầm quan trọng của mô hình đã được lĩnh hội một cách thấu đáo trong hầu như tất cả các ngành khoa học kỹ thuật. Bất kỳ ở đâu, khi muốn xây dựng một vật thể nào đó, đầu tiên người ta đã tạo nên các bản vẽ để quyết định cả ngoại hình lẫn phương thức hoạt động của nó. Chẳng hạn các bản vẽ kỹ thuật thường gặp là một dạng mô hình quen thuộc. Mô hình nhìn chung là một cách mô tả của một vật thể nào đó. Vật đó có thể tồn tại trong một số giai đoạn nhất định, dù đó là giai đoạn thiết kế hay giai đoạn xây dựng hoặc chỉ là một kế hoạch. Nhà thiết kế cần phải tạo ra các mô hình mô tả tất cả các khía cạnh khác nhau của sản phẩm. Ngoài ra, một mô hình có thể được chia thành nhiều hướng nhìn, mỗi hướng nhìn trong số chúng sẽ mô tả một khía cạnh riêng biệt của sản phẩm hay hệ thống cần được xây dựng. Một mô hình cũng có thể được xây dựng trong nhiều giai đoạn và ở mỗi giai đoạn, mô hình sẽ được bổ sung thêm một số chi tiết nhất định. Mô hình thường được mô tả trong ngôn ngữ trực quan, điều đó có nghĩa là đa phần các thông tin được thể hiện bằng các ký hiệu đồ họa và các kết nối giữa chúng, chỉ khi cần thiết một số thông tin mới được biểu diễn ở dạng văn bản. Tạo mô hình cho các hệ thống phần mềm trước khi thực sự xây dựng nên chúng, đã trở thành một chuẩn mực trong việc phát triển phần mềm và được chấp nhận trong cộng đồng làm phần mềm giống như trong bất kỳ một ngành khoa học kỹ thuật nào khác. Việc biểu diễn mô hình phải thoã mãn các yếu tố sau: Chính xác (accurate): Mô tả đúng hệ thống cần xây dựng. Đồng nhất (consistent): Các view khác nhau không được mâu thuẩn với nhau. Có thể hiểu được (understandable): Cho những người xây dựng lẫn sử dụng Dễ thay đổi (changeable) Dễ dàng liên lạc với các mô hình khác. Có thể nói thêm rằng mô hình là một sự đơn giản hoá hiện thực. Mô hình được xây dựng nên để ta dễ dàng hiểu và hiểu tốt hơn hệ thống cần xây dựng. Tạo mô hình sẽ giúp cho chúng ta hiểu thấu đáo một hệ thống phức tạp trong sự toàn thể của nó. Nói tóm lại, mô hình hóa một hệ thống nhằm mục đích: Hình dung một hệ thống theo thực tế hay theo mong muốn của chúng ta . Chỉ rõ cấu trúc hoặc ứng xử của hệ thống. Tạo một khuôn mẫu hướng dẫn nhà phát triển trong suốt quá trình xây dựng hệ thống. Ghi lại các quyết định của nhà phát triển để sử dụng sau này. 1.2.1 Biểu đồ ca sử dụng (Use Case) Một biểu đồ ca sử dụng chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với ca sử dụng mà hệ thống cung cấp. Một ca sử dụng là một lời miêu tả của một chức năng mà hệ thống cung cấp. Để mô tả ca sử dụng người ta dùng tài liệu để miêu tả, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động. Các ca sử dụng được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân, không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao. Các ca sử dụng định nghĩa các yêu cầu về mặt chức năng đối với hệ thống. 1.2.2 Biểu đồ lớp (Class diagram) Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống . Các lớp là đại diện cho các “đối tượng” được xử lý trong hệ thống. Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết, phụ thuộc, chuyên biệt hóa, hay đóng gói. Tất cả các mối quan hệ đó đều được thể hiện trong biểu đồ lớp, các thành phần bên trong cấu trúc của các lớp là các thuộc tính (attribute) và thủ tục (operation). Biểu đồ được coi là biểu đồ tĩnh theo phương diện cấu trúc được miêu tả ở đây có hiệu lực tại bất kỳ thời điểm nào trong toàn bộ vòng đời hệ thống. Một hệ thống thường sẽ có một loạt các biểu đồ lớp – không nhất thiết tất cả các biểu đồ lớp này cũng được nhập vào một biểu đồ lớp tổng thể duy nhất – và một lớp có thể tham gia vào nhiều biểu đồ lớp 1.2.3 Biểu đồ tuần tự (Sequence diagram) Một biểu đồ tuần tự miêu tả một loạt các sự cộng tác giữa các đối tượng. Khía cạnh quan trọng của biểu đồ này là chỉ ra trình tự các thông điệp (message) được gửi giữa các đối tượng. Nó cũng chỉ ra trình tự tương tác giữa các đối tượng, điều sẽ xảy ra tại một thời điểm cụ thể nào đó trong trình tự thực thi của hệ thống. Các biểu đồ trình tự chứa một loạt các đối tượng được biểu diễn bằng các đường thẳng đứng. Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ chỉ ra sự trao đổi thông điệp giữa các đối tượng khi thời gian trôi qua. Các thông điệp được biểu diễn bằng các đường gạch ngang gắn liền với mũi tên nối liền giữa những đường thẳng đứng thể hiện đối tượng. Trục thời gian cùng những lời nhận xét khác thường sẽ được đưa vào phần lề của biểu đồ. 1.2.4 Biểu đồ đối tượng (Object Diagram) Một biểu đồ đối tượng là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu tuần tự. Sự khác biệt giữa hai loại biểu đồ này nằm ở chỗ biểu đồ đối tượng chỉ ra một loạt các đối tượng thực thể của lớp, thay vì các lớp. Biểu đồ đối tượng không quan trọng bằng biểu đồ lớp, chúng có thể được sử dụng để ví dụ hóa một biểu đồ lớp phức tạp, chỉ ra với những thực thể cụ thể và những mối quan hệ như thế thì bức tranh toàn cảnh sẽ ra sao. Một biểu đồ đối tượng thường thường được sử dụng làm một thành phần của một biểu đồ cộng tác (collaboration), chỉ ra lối ứng xử động giữa một loạt các đối tượng. 1.2.5 Biểu đồ cộng tác (Collaboration Diagram) Một biểu đồ cộng tác chỉ ra một sự cộng tác động, cũng giống như một biểu đồ trình tự. Thường người ta sẽ chọn hoặc dùng biểu đồ trình tự hoặc dùng biểu đồ cộng tác. Việc nên sử dụng biểu đồ trình tự hay biểu đồ cộng tác thường sẽ được quyết định theo nguyên tắc chung sau: Nếu thời gian hay trình tự là yếu tố quan trọng nhất cần phải nhấn mạnh thì hãy chọn biểu đồ trình tự; nếu