CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ NHÂN SỰ 1. Khái niệm chung 1. Phần mềm a) Khái niệm Phần mềm máy tính (tiếng Anh: Computer Software) hay gọi tắt là Phần mềm (Software) là một tập hợp những câu lệnh hoặc chỉ thị (Instruction) được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó [4]. Phần mềm thực hiện các chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng (hay phần cứng máy tính, Computer Hardware) hoặc bằng cách cung cấp dữ liệu để phục vụ các chương trình hay phần mềm khác.
Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ là "phần mềm không thể sờ hay đụng vào", và nó cần phải có phần cứng mới có thể thực thi được. b) Phân loại - Theo phương thức hoạt động: +) Phần mềm hệ thống: dùng để vận hành máy tính và các phần cứng máy tính, ví dụ như các hệ điều hành máy tính Windows, Linux, Unix, các thư viện động (còn gọi là thư viện liên kết động; tiếng Anh: dynamic linked library - DLL) của hệ điều hành, các trình điều khiển (driver), phần sụn (firmware) và BIOS. Đây là các loại phần mềm mà hệ điều hành liên lạc với chúng để điều khiển và quản lý các thiết bị phần cứng. +) Phần mềm ứng dụng: để người sử dụng có thể hoàn thành một hay nhiều công việc nào đó, ví dụ như các phần mềm văn phòng (Microsoft Office, OpenOffice), phần mềm doanh nghiệp, phần mềm quản lý nguồn nhân lực, phần mềm giáo dục, cơ sở dữ liệu, phần mềm trò chơi, chương trình tiện ích, hay các loại phần mềm độc hại.
+) Các phần mềm chuyển dịch mã bao gồm trình biên dịch và trình thông dịch: các loại chương trình này sẽ đọc các câu lệnh từ mã nguồn được viết bởi các lập trình viên theo một ngôn ngữ lập trình và dịch nó sang dạng ngôn ngữ máy mà máy tính có 5 thể hiểu đưọc, hay dịch nó sang một dạng khác như là tập tin đối tượng (object file) và các tập tin thư viện (library file) mà các phần mềm khác (như hệ điều hành chẳng hạn) có thể hiểu để vận hành máy tính thực thi các lệnh. +) Các nền tảng công nghệ như:. - Theo khả năng ứng dụng: +) Những phần mềm không phụ thuộc, nó có thể được bán cho bất kỳ khách hàng nào trên thị trường tự do. Ví dụ: phần mềm về cơ sở dữ liệu như Oracle, đồ họa như Photoshop, Corel Draw, soạn thảo và xử lý văn bản, bảng tính,.
Ưu điểm: Thông thường đây là những phần mềm có khả năng ứng dụng rộng rãi cho nhiều nhóm người sử dụng. Khuyết điểm: Thiếu tính uyển chuyển, tùy biến. +) Những phần mềm được viết theo đơn đặt hàng hay hợp đồng của một khách hàng cụ thể nào đó (một công ty, bệnh viện, trường học,. Ví dụ: phần mềm điều khiển, phần mềm hỗ trợ bán hàng, … 1.
Quản lý nhân sự - Nhân sự: bao gồm tất cả các tiềm năng của con người trong một tổ chức hay xã hội (kể cả những thành viên trong ban lãnh đạo doanh nghiệp) tức là tất cả các thành viên trong doanh nghiệp sử dụng kiến thức, khả năng, hành vi ứng xử và giá trị đạo đức để thành lập, duy trì và phát triển doanh nghiệp [2]. - Quản lý nhân sự hay quản lý nguồn nhân lực: là sự khai thác và sử dụng nguồn nhân lực của một tổ chức hay một công ty một cách hợp lý và hiệu quả. Quản lý nhân sự là công tác quản lý các lực lượng lao động của một tổ chức, công ty, xã hội, nguồn nhân lực, chịu trách nhiệm thu hút, tuyển dụng, đào tạo, đánh giá, và tưởng thưởng người lao động, đồng thời giám sát lãnh đạo và văn hóa của tổ chức, và bảo đảm phù hợp với luật lao động và việc làm [2]. - Tầm quan trọng: Sự tồn tại và phát triển của một doanh nghiệp phụ thuộc rất lớn vào việc khai thác và sử dụng có hiệu quả các nguồn lực: vốn, cơ sở vật chất, tiến bộ khoa học kỹ thuật, người lao động, các yếu tố này có mối quan hệ mật thiết với nhau và tác động lại với nhau.
Những yếu tố như: máy móc thiết bị, của cải vật chất, công nghệ kỹ thuật đều có thể mua được, học hỏi được, sao chép được nhưng con người thì không thể. Vì vậy có thể khẳng định rằng quản trị nhân sự có vai trò thiết yếu đối với sự tồn tại và phát triển của doanh nghiệp. 6 Con người, với khả năng sáng tạo, lao động cần cù siêng năng của mình, đã phát minh ra những dụng cụ từ ban đầu là thô sơ cho đến phát triển công nghệ cao, khoa học kỹ thuật cao như ngày nay đã phục vụ được nhu cầu bản thân và phát triển xã hội. Quản trị nhân sự góp phần vào việc giải quyết các mặt kinh tế xã hội của vấn đề lao động.
Đó là một vấn đề chung của xã hội, mọi hoạt động kinh tế nói chung đều đi đến một mục đích sớm hay muộn là làm sao cho người lao động hưởng thành quả do họ làm ra. Quản trị nhân sự gắn liền với mọi tổ chức, bất kỳ một cơ quan tổ chức nào cũng cần phải có bộ phận nhân sự. Quản trị nhân sự là một thành tố quan trọng của chức năng quản trị, nó có gốc rễ và các nhánh trải rộng khắp nơi trong mọi tổ chức. Quản trị nhân sự hiện diện ở khắp các phòng ban, bất cứ cấp quản trị nào cũng có nhân viên dưới quyền vì thế đều phải có quản trị nhân sự.
Cung cách quản trị nhân sự tạo ra bầu không khí văn hoá cho một doanh nghiệp. Đây cũng là một trong những yếu tố quyết định đến sự thành bại của một doanh nghiệp. Phần mềm quản lý Phần mềm quản lý là phần mềm ứng dụng trên máy vi tính với nhiệm vụ tin học hóa các quy trình của doanh nghiệp, là công cụ cung cấp thông tin ra quyết định chứ không chỉ đơn thuần là công việc lưu trữ hay xử lý thông tin. Phân tích thiết kế phần mềm Phân tích thiết kế phần mềm hướng chức năng Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thànhnhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xácđịnh.
Cách thực hiện của phương pháp hướng cấu trúc là phương pháp thiết kế từ trênxuống (top-down). Phương pháp này tiến hành phân rã bài toán thành các bài toán nhỏhơn, rồi tiếp tục phân rã các bài toán con cho đến khi nhận được bài toán có thể cài đặtđược ngay sử dụng các hàm ngôn ngữ lập trình hướng cấu trúc. Đặc điểm: - Tập trung vào công việc cần thực hiện (thuật toán). - Chương trình lớn được chia thành các hàm nhỏ hơn.
- Phần lớn các hàm sử dụng dữ liệu chung. - Các hàm (thủ tục) truyền thông tin cho nhau thông qua cơ chế truyền tham số. 7 - Dữ liệu trong hệ thống được chuyển động từ hàm này sang hàm khác. - Đóng gói chức năng( sử dụng hàm/thủ tục mà không cần biết nội dung cụ thể).
- Chương trình được thiết kế theo cách tiếp cận từ trên xuống (top - down). Một số phương pháp phân tích hướng chức năng: - Phương pháp SADT (Structured Analysis and Design Technie) của Mỹ đượcdựa theo phương pháp phân rã một hệ thống lớn thành các hệ thống con đơn giản hơn. Kỹthuật chủ yếu của SADT là dựa trên sơ đồ luồng dữ liệu, từ điển dữ liệu (Data Dictionnary), ngôn ngữ mô tả có cấu trúc, ma trận chức năng. Nhưng SADT chưa quantâm một cách thích đáng đối với mô hình chức năng của hệ thống.
- Phương pháp MERISE (MEthod pour Rassembler les Idees Sans Effort) củaPháp dựa trên các mức mức trừu tượng hoá của hệ thống thông tin như mức quan niệm, mức tổ chức, mức vật lý và có sự kết hợp với mô hình. - CASE (Computer-Aided System Engineering) là phương pháp phân tích và thiết kế tự động nhờ sự trợ giúp của máy tính. Đây là một cách tiếp cận theo hướng "top- down" và rất phù hợp với yêu cầu xây dựng một hệ thống thông tin trong các doanh nghiệp sản xuất kinh doanh thương mại. Phân tích thiết kế phần mềm hướng đối tượng - Phương pháp phân tích hướng đối tượng là phương pháp tập trung vào hai khíacạnh của hệ thống thông tin là dữ liệu và hành động.
Các đối tượng trong một hệ thốngtương đối độc lập với nhau và hệ thống sẽ được xây dựng bằng cách kết hợp các đốitượng đó với nhau thông qua các mối quan hệ và tương tác giữa chúng [1]. - Ưu điểm: +) Dễ bảo trì vì các đối tượng là độc lập. Các đối tượng có thể hiểu và cải biên như là một thực thể độc lập. Thay đổi trong thực hiện một đối tượng hoặc thêm các dịch vụ sẽ không làm ảnh hưởng tới các đối tượng hệ thống khác.
+) Các đối tượng là các thành phần dùng lại được thích hợp (do tính độc lập của chúng). Một thiết kế có thể dùng lại được các đối tượng đã được thiết kế trong các bản thiết kế trước đó. +) Có một vài lớp hệ thống thể hiện phản ánh quan hệ rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần phần cứng) với các đối tượng điều khiển nó trong hệ thống. Điều này đạt được tính dễ hiểu của thiết kế.
- Hạn chế: 8 +) Sự tường minh các đối tượng hệ thống thích hợp là khó khăn. Cách nhìn tự nhiên nhiều hệ thống là cách nhìn chức năng và việc thích nghi với cách nhìn hướng đối tượng đôi khi là khó khăn, nhất là đối tượng trừu tượng, không phải đối tượng cụ thể. +) Phương pháp thiết kế hướng đối tượng đang trong quá trình hoàn thiện, còn nhiều tranh luận, quy trình phát triển chưa thật hoàn chỉnh như phương pháp hướng cấu trúc và thị trường ứng dụng còn rất hẹp so với hướng cấu trúc. Khái niệm liên quan đến phân tích, thiết kế hướng đối tượng - UML (Unified Modeling Language) là ngôn ngữ trực quan được dùng trong quy trình phát triển các hệ thống phần mềm.
Nó là một ngôn ngữ đặc tả hình thức (formal specification language). UML có một tập các phần tử và một tập các quy tắc riêng. Hầu hết các phần tử của UML là các đối tượng đồ họa như đường thẳng, hình chữ nhật, hình oval,… và thường có nhãn kèm theo để tăng thông tin.