Phân tích thiết kế phần mềm tính lương

  • Số trang: 110 |
  • Loại file: PDF |
  • Lượt xem: 19 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

ĐẠ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 ĐẠ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 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. Mục Lục GIỚI THIỆU CHUNG VỀ PHẦN MỀM QUẢN LÝ LƯƠNG ........................ 1 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............................................................... 2 1.1 Phương pháp hướng đối tượng .............................................................................................. 2 1.1.1 1.1.2 1.1.3 1.1.4 1.2 Hướng đối tượng (Object Orientation - OO)........................................................................................2 Phân tích hướng đối tượng (Object Oriented Analysis - OOA).............................................................2 Thiết kế hướng đối tượng (Object Oriented Design - OOD).................................................................3 Lập trình hướng đối tượng ..................................................................................................................3 Vài nét khái quát về ngôn ngữ mô hình hóa UML (Unified Modeling Language) ............... 4 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.2.10 1.2.11 1.3 1.3.1 1.3.2 Biểu đồ ca sử dụng (Use Case)............................................................................................................5 Biểu đồ lớp (Class diagram)................................................................................................................5 Biểu đồ tuần tự (Sequence diagram)....................................................................................................6 Biểu đồ đối tượng (Object Diagram) ...................................................................................................6 Biểu đồ cộng tác (Collaboration Diagram) ..........................................................................................6 Biểu đồ hoạt động (Activity Diagram).................................................................................................6 Biểu đồ trạng thái (State Diagram) ......................................................................................................7 Biểu đồ thành phần (Component Diagram)..........................................................................................7 Biểu đồ triển khai (Deployment Diagram)...........................................................................................7 Biểu đ ồ gói (Package Diagram).........................................................................................................8 Biểu đồ liên lạc (Communication Diagram)........................................................................................8 UML 2.0 .................................................................................................................................. 8 Biểu đồ tương tác (Interaction Overview Diagram)..............................................................................8 Biểu đồ thời gian (Timing Diagram) ...................................................................................................9 CHƯƠNG 2 NẮM BẮT CÁC YÊU CẦU CỦA HỆ THỐNG PHẦN MỀM TÍNH LƯƠNG ............................................................................................. 10 2.1 2.1.1 2.1.2 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 Mô tả hệ thống phần mềm tính lương .................................................................................. 10 Quy trình tính lương .........................................................................................................................10 Cách tính lương ................................................................................................................................10 Nhiệm vụ của bộ phận .......................................................................................................... 11 Bộ phận quản lý lao động trực tiếp....................................................................................................11 Bộ phận quản lý lao động gián tiếp ...................................................................................................11 Bộ phận kế toán làm lương ...............................................................................................................12 Xác định các ca sử dụng ....................................................................................................... 12 Xác định các tác nhân, các ca sử dụng và mô tả các ca sử dụng..........................................................12 Biểu đồ ca sử dụng theo gói ..............................................................................................................16 Mô tả các ca sử dụng ........................................................................................................................18 CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG TÍNH LƯƠNG ............ 31 3.1 Phân tích hệ thống tính lương .............................................................................................. 31 Gói quản trị hệ thống ........................................................................................................................31 Gói tính lương ..................................................................................................................................34 Gói quản lý danh mục.......................................................................................................................39 Gói tìm kiếm ....................................................................................................................................44 Gói thống kê, báo cáo .......................................................................................................................48 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.2 Thiết kế hệ thống tính lương ................................................................................................ 52 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 Gói ca sử dụng quản trị hệ thống.......................................................................................................52 Gói ca sử dụng tính lương.................................................................................................................59 Gói ca sử dụng quản lý danh mục......................................................................................................66 Gói ca sử dụng tìm kiếm ...................................................................................................................76 Gói ca sử dụng báo cáo.....................................................................................................................82 3.3 Ràng buộc giữa các ca sử dụng, biểu đồ lớp mô tả mối quan hệ giữa các ca sử dụng trong từng gói............................................................................................................................................. 87 Biểu đồ lớp của gói quản trị hệ thống ................................................................................................87 Biểu đồ lớp của gói tính lương ..........................................................................................................87 Biểu đồ lớp của gói quản lý danh mục...............................................................................................88 Biểu đồ lớp của gói tìm kiếm ............................................................................................................88 3.3.1 3.3.2 3.3.3 3.3.4 3.4 Thiết kế các file dữ liệu chính của hệ thống ......................................................................... 89 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.4.10 3.4.11 File dữ liệu nhân viên ...................................................................................................................89 File dữ liệu tổ...............................................................................................................................89 File dữ liệu đơn giá sản phẩm hàng tháng......................................................................................89 File dữ liệu danh mục công việc....................................................................................................90 File dữ liệu nhân viên danh sách công nhân viên ...........................................................................90 File dữ liệu bảng lương sản phẩm .................................................................................................90 File dữ liệu bảng lương thời gian ..................................................................................................90 File dữ liệu bảng lương thưởng .....................................................................................................91 File dữ liệu bảng lương tam ứng ...................................................................................................91 File dữ liệu bảng danh mục sản phẩm............................................................................................91 File dữ liệu bảng danh mục người dùng.........................................................................................91 CHƯƠNG 4 GIỚI THIỆU CHƯƠNG TRÌNH ............................................. 93 4.1 Ngôn ngữ sử dụng và môi trường cài dặt............................................................................. 93 4.2 Thiết kế giao diện.................................................................................................................. 93 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 Giao diện chính của chương trình......................................................................................................93 Giao diện đăng nhập hệ thống. ........................................................................................................94 Giao diện danh sách công nhân viên của tổ ......................................................................................94 Giao diện lương sản phẩm...............................................................................................................95 Giao diện lương thời gian ................................................................................................................96 Giao diện lương tạm ứng:..................................................................................................................96 Giao diện lương thưởng ..................................................................................................................97 KẾT LUẬN .................................................................................................. 98 TÀI LIỆU THAM KHẢO............................................................................. 99 DANH MỤC BẢNG BIỂU VÀ HÌNH VẼ STT Hình vẽ Trang 1 Hình1: Biểu đồ User-case của gói quản trị hệ thống 16 2 Hình 2: Biểu đồ User-case của gói tính lương 16 3 Hình 3: Biểu đồ User-case của gói quản lý danh mục 17 4 Bảng 4: Biểu đồ User-case của gói quản lý forum 17 5 Bảng 5: Biểu đồ User-case của gói thống kê, báo cáo 18 6 Bảng 6: Form đăng nhập hệ thống 31 7 Hình 7: Form quản lý người dùng 32 8 Hình 8: Form sao lưu dữ liệu hiện tại 33 9 Hình 9: Form thay đổi mật khẩu 34 10 Hình 10: Form cập nhật khối lượng công việc cho tổ 35 11 Hình 11: Form cập nhật lương thời gian cho tổ 36 12 Hình 12: Form cập nhật lương tạm ứng cho tổ 37 13 Hình 13: Form cập nhật lương thưởng cho công nhân viên 38 14 Hình 14: Form danh mục tổ, bộ phận sản xuất 39 15 Hình 15: Form danh mục cán bộ công nhân viên 40 16 Hình 16 : Form danh mục công nhân viên của tổ trong tháng 41 17 Hình 17: Form danh mục sản phẩm 42 18 Hình 18: Form cập nhật định mức sản phẩm 43 19 Hình 19: Form tìm kiếm thông tin công nhân viên 44 20 Hình 20: Form tìm kiếm thông tin tổ 45 21 Hình 21: Form tìm kiếm thông tin đơn giá sản phẩm 46 22 Hình 22: Form tìm kiếm lương 47 23 Hình 23: Form bảng thanh toán lương cho tổ 48 24 Hình 24: Form tổng hợp khối lượng ngày công 49 25 Hình 25: Form danh mục công nhân viên của tổ trong tháng 50 26 Hình 26: Form định mức sản phẩm trong tháng 51 27 Hình 27: Biểu đồ tuần tự ca sử dụng đăng nhập 52 28 Hình 28: Biểu đồ cộng tác ca sử dụng đăng nhập 53 29 Hình 29: Biểu đồ tuần tự ca sử dụng quản lý người dùng 54 30 Hình 30: Biểu đồ cộng tác ca sử dụng quản lý người dùng 55 31 Hình 31: Biểu đồ tuần tự ca sử dụng sao lưu, phục hồi dữ liệu 56 32 Hình 32: Biểu đồ tuần tự ca sử dụng sao lưu, phục hồi dữ liệu 56 33 Hình 33: Biểu đồ tuần tự ca sử dụng thay đổi mật khẩu 57 34 Hình 34: Biểu đồ cộng tác ca sử dụng thay đổi mật khẩu 57 35 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 36 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 37 Hình 37: Biểu đồ tuần tự ca sử dụng tính lương sản phẩm 60 38 Hình 38: Biểu đồ cộng tác ca sử dụng tính lương sản phẩm 60 39 Hình 39: Biểu đồ tuần tự ca sử dụng tính lương thời gian 61 40 Hình 40: Biểu đồ cộng tác ca sử dụng tính lương thời gian 62 41 Hình 41: Biểu đồ tuần tự ca sử dụng tính lương tạm ứng 63 42 Hình 42: Biểu đồ cộng tác ca sử dụng tính lương tạm ứng 63 43 Hình 43: Biểu đồ tuần tự ca sử dụng tính lương thưởng 64 44 Hình 44: Biểu đồ cộng tác ca sử dụng tính lương thưởng 64 45 Hình 45: Biểu đồ tuần tự ca sử dụng quản lý danh mục tổ 66 46 Hình 46: Biểu đồ cộng tác ca sử dụng quản lý danh mục tổ 66 47 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 48 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 49 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 50 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 51 Hình 51: Biểu đồ tuần tự ca sử dụng quản lý danh mục sản phẩm 72 52 Hình 52: Biểu đồ cộng tác ca sử dụng quản lý danh mục sản phẩm 72 53 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 54 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 55 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 56 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 57 Hình 57: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin 76 58 Hình 58: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin 76 59 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 60 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 61 Hình 61: Biểu đồ tuần tự ca sử dụng tìm kiếm thông tin về lương 79 62 Hình 62: Biểu đồ cộng tác ca sử dụng tìm kiếm thông tin về lương 79 63 Hình 63: Biểu đồ tuần tự ca sử dụng báo cáo 80 64 Hình 64: Biểu đồ cộng tác ca sử dụng báo cáo 80 65 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 66 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 67 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 68 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 69 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 70 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 71 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 72 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 73 Hình 73: Biểu đồ lớp của gói quản trị hệ thống 84 74 Hình 74: Biểu đồ lớp của gói tính lương 84 75 Hình 75: Biểu đồ lớp của gói quản lý danh mục 85 76 Hình 76: Biểu đồ lớp của gói tìm kiếm 85 77 Hình 77: Biểu đồ lớp của gói thống kê, báo cáo 86 78 Hình 78: Thiết kế quan hệ giữa các bảng 89 79 Hình 79: Giao diện chính của chương trình 90 80 Hình 80: Giao diện đăng nhập hệ thống 91 81 Hình 81: Giao diện danh sách công nhân viên của tổ 91 82 Hình 82: Giao diện công và khối lượng sản phẩm 92 83 Hình 83: Giao diện lương sản phẩm 92 84 Hình 84: Giao diện lương thời gian 93 85 Hình 85: Giao diện lương tạm ứng 93 86 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 1.1 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 2 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. 3 1.2 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. 4 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 5 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 ngữ cảnh là yếu tố quan trọng hơn, hãy chọn biểu đồ cộng tác. Trình tự tương tác giữa các đối tượng được thể hiện trong cả hai loại biểu đồ này. 1.2.6 Biểu đồ hoạt động (Activity Diagram) Một biểu đồ hoạt động chỉ ra một trình tự lần lượt của các hoạt động. Biểu đồ hoạt động thường được sử dụng để miêu tả các hoạt động được thực hiện trong một thủ tục, 6 mặc dù nó cũng có thể được sử dụng để miêu tả các dòng chảy hoạt động khác. Biểu đồ hoạt động bao gồm các trạng thái hành động, chứa đặc tả của một hoạt động cần phải được thực hiện. Một trạng thái hành động sẽ qua đi khi hành động được thực hiện xong. Dòng điều khiển ở đây chạy giữa các trạng thái hành động liên kết với nhau. Biểu đồ còn có thể chỉ ra các quyết định, các điều kiện, cũng như phần thực thi song song của các trạng thái hành động. Biểu đồ ngoài ra còn có thể chứa các loại đặc tả cho các thông điệp được gửi đi hoặc được nhận về, trong tư cách là thành phần của hành động được thực hiện. 1.2.7 Biểu đồ trạng thái (State Diagram) Một biểu đồ trạng thái thường là một sự bổ sung cho lời miêu tả một lớp. Nó chỉ ra tất cả các trạng thái mà đối tượng của lớp này có thể có, và những sự kiện (event) nào sẽ gây ra sự thay đổi trạng thái. Một sự kiện có thể xảy ra khi một đối tượng tự gửi thông điệp đến cho nó. Một chuyển đổi trạng thái cũng có thể có một hành động liên quan, xác định điều gì phải được thực hiện khi sự chuyển đổi trạng thái này diễn ra. Biểu đồ trạng thái không được vẽ cho tất cả các lớp, mà chỉ riêng cho những lớp có một số lượng các trạng thái được định nghĩa rõ ràng và hành vi của lớp bị ảnh hưởng và thay đổi qua các trạng thái khác nhau. Biểu đồ trạng thái cũng có thể được vẽ cho hệ thống tổng thể. 1.2.8 Biểu đồ thành phần (Component Diagram) Một biểu đồ thành phần chỉ ra cấu trúc vật lý của các dòng lệnh theo khái niệm thành phần code. Một thành phần code có thể là một tập tin mã nguồn (source code), một thành phần nhị phân hay một thành phần thực thi được. Một thành phần chứa các thông tin về các lớp logic hoặc các lớp mà nó thi hành, như thế có nghĩa là nó tạo ra một ánh xạ từ hướng nhìn logic vào hướng nhìn thành phần. Biểu đồ thành phần cũng chỉ ra những sự phụ thuộc giữa các thành phần với nhau, trợ giúp cho công việc phân tích hiệu ứng mà một thành phần được thay đổi sẽ gây ra đối với các thành phần khác. Thành phần cũng có thể được miêu tả với bất kỳ loại giao diện nào mà chúng bộc lộ. 1.2.9 Biểu đồ triển khai (Deployment Diagram) Biểu đồ triển khai chỉ ra kiến trúc vật lý của phần cứng cũng như phần mềm trong hệ thống. Bạn có thể chỉ ra từng máy tính cụ thể và từng trang thiết bị cụ thể (node) đi 7 kèm sự nối kết giữa chúng với nhau, bạn cũng có thể chỉ ra loại của các mối nối kết đó. Bên trong các nút mạng (node), các thành phần thực thi được cũng như các đối tượng sẽ được xác định vị trí để chỉ ra những phần mềm nào sẽ được thực thi tại những nút mạng nào. Bạn cũng có thể chỉ ra sự phụ thuộc giữa các thành phần. 1.2.10 Biểu đ ồ gói (Package Diagram) Phản ánh sự tổ chức các gói và các thành phần của chúng. Biểu đồ gói là tập hợp các biểu đồ lớp. Các biểu đồ gói thiết lập mối quan hệ giữa các biểu đồ, trong đó biểu đồ là những nhóm phần tử của hệ thống có mối quan hệ liên quan đến nhau. 1.2.11 Biểu đồ liên lạc (Communication Diagram) Biểu đồ liên lạc thể hiện thông tin giống như biểu đồ tuần tự nhưng nó nhấn mạnh vào mối quan hệ giữa các đối tượng. 1.3 UML 2.0 Những cải tiến trong UML 2.0 đã nhanh chóng trở thành chuẩn được chấp nhận trong việc nhận định, làm tài liệu, và mường tượng về hệ thống phần mềm. UML cũng được sử dụng trong việc mô hình hóa hệ thống không phải là hệ thống phần mềm, và nó được dùng một cách rộng rãi trong hầu hết các lĩnh vực công nghiệp gồm tài chính, quân đội, thiết kế. UML 2.0 định nghĩa 13 loại biểu đồ cơ bản và được chia làm hai nhóm: nhóm biểu đồ cấu trúc (Structural Modeling Diagram) và nhóm biểu đồ hành vi (Behavioral Modeling Diagram). Trong đó 11 loại đầu tiên giống như trong UML 1.0. và có 2 biểu đồ mới. 1.3.1 Biểu đồ tương tác (Interaction Overview Diagram) Biểu đồ tương tác tổng quan đưa ra một cái nhìn tổng quan về cách các thành phần tương tác (như biểu đồ tuần tự, biểu đồ cộng tác, biểu đồ phối hợp thời gian…) gắn kết với nhau để thực thi một hệ thống nào đó. Biểu đồ tương tác tổng quan giống với biểu đồ hoạt động, chỉ khác là các trạng thái hoạt động là các biểu đồ tương tác tạo nên hệ thống. Trong khi các thành phần tương tác mô tả chi tiết các tương tác, các luồng điều khiển của các thông điệp; thì biểu đồ tương tác tổng quan mô tả tương tác, luông điều khiển của các thành phần tương tác đơn này trong hệ thống. 8 1.3.2 Biểu đồ thời gian (Timing Diagram) Biểu đồ thời gian mô tả hoạt động của từng đối tượng và tương tác của các đối tượng đó, cụ thể là thể hiện thời gian xảy ra các sự kiện làm thay đổi trạng thái. Trong một biểu đồ phối hợp thời gian, mỗi sự kiện gắn với một thông tin thời gian mô tả thời điểm xảy ra, thời gian để thành phần khác nhận được sự kiện, thời gian để thành phần nhận sự kiện chuyển trạng thái. Biểu đồ thời gian thường được sử dụng cho các hệ thống thời gian thực hoặc hệ thống nhúng. Trong thực tế, việc lưu thông tin thời gian xảy ra các tương tác rất quan trọng với mọi hệ thống được mô hình hóa. 9
- Xem thêm -