CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU CHƯƠNG II. CƠ SỞ LÝ LUẬN VÀ THỰC TRẠNG QUẢN LÝ NHÂN SỰ CHO CÔNG TY ADMICRO – CÔNG TY CỔ PHẦN VCCROP. CHƯƠNG III.
PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ NHÂN SỰ CHO CÔNG TY ADMICRO –CÔNG TY CỔ PHẦN VCCROP. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 CHƯƠNG II: CƠ SỞ LÝ LUẬN VÀ THỰC TRẠNG HTTT QUẢN LÝ NHÂN SỰ CỦA CÔNG TY ADMICRO- CÔNG TY CỔ PHẦN VCCROP 2. Tổng quan về PTTK phần mềm 2.Một số khái niệm cơ bản 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 đó. ( Nguồn : Bài giảng công nghệ phần mềm- Trường đại học Kinh tế quốc dân) 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ốn thuộc tính chính mà một hệ phần mềm tốt phải có là: - Có thể bảo trì được: phần mềm tuổi thọ dài phải được viết và lập tư liệu sao cho việc thay đổi có thể tiến hành được mà không quá tốn kém. Để có thể bảo trì được, phần mềm phải có một thiết kế tốt có tính modum hóa cao, được viết bằng ngôn ngữ bậc cao và được lập tài liệu đầy đủ. - Đáng tin cậy: phần mềm phải thỏa mãn được nhu cầu người tiêu dùng.
Để đạt được yếu tố đáng tin cậy, trước tiên người phát triển cần phải hiểu một cách đúng đắn yêu cầu của người dùng và sau đó cần thỏa mãn được các yêu cầu này bằng các thiết kế và cài đặt tốt. - Có hiệu quả: phần mềm khi hoạt động phải không lãng phí tài nguyên hệ thống như bộ nhớ, bộ xử lý. - Dễ sử dụng: giao diện người sử dụng phải phù hợp với khả năng và kiến thức người dùng, có các tài liệu hướng dẫn và các tiện ích trợ giúp. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 Có thể thấy rõ, việc tối ưu hóa đồng thời các thuộc tính này là rất khó khăn.
Các thuộc tính này có thể mâu thuẫn nhau, ví dụ như tính hiệu quả và tính dễ sử dụng, tính bảo trì. Quan hệ giữa chi phí cải tiến và hiệu quả đối với từng thuộc tính không phải tuyến tính. Nhiều khi một cải thiện nhỏ trong bất kỳ thuộc tính nào cũng có thể là rất đắt. Một khó khăn khác của phát triển phần mềm là rất khó định lượng các thuộc tính của phần mềm.
Chúng ta thiếu các độ đo và các chuẩn về chất lượng của phần mềm. Vấn đề giá cả phải được tính đến khi xây dựng một phần mềm. Chúng ta sẽ xây dựng một phần mềm dù phức tạp đến đâu nếu không hạn chế về thời gian và chi phí. Điều quan trọng là chúng ta phải xây dựng một phần mềm tốt với một giá cả hợp lý và một lịch trình được định trước.
Các đặc trưng của phần mềm Khó khăn hàng đầu của việc phát triển phần mềm là do tính chất phần mềm là hệ thống logic, không phải là hệ thống vật lý. Do đó nó có đặc trưng khác biệt đáng kể so với phần cứng. Dưới đây là 3 yếu tố chính tạo ra sự phức tạp trong quá trình phát triển cũng như sử dụng, bảo trì phần mềm: - Phần mềm được phát triển, nó không được chế tạo theo nghĩa cổ điển Phần mềm cúng được thiết kế, phát triển như phần cứng nhưng nó không định hình trước. Chỉ khi phát triển xong người ta có sản phẩm cụ thể và hiểu được nó có hiệu quả hay không.
Giá thành của phần cứng chủ yếu bị chi phối bởi giá thành nguyên vật liệu và chúng ta tương đối dễ kiểm soát. Trong khi đó giá thành phần mềm chủ yếu tập trung vào chi phi nhân công. Quá trình phát triển phần mềm phụ thuộc vào con người (hiểu biết, khả năng vận dụng, kinh nghiệm và cách thức quản lý) và được tiến hành trong điều kiện môi trường (kỹ thuật, xã hội) đa dạng và không ngừng thay đổi. Do đó rất khó ước lượng chi phí và hiệu quả của phần mềm.
- Phần mềm không hỏng đi nhưng thoái hóa theo thời gian Phần mềm không cảm ứng đối với những tác động của môi trường vốn gây cho phần cứng bị mòn cũ đi, nhưng nó cũng thoái hóa theo thời gian. Thực tế, phần mềm trải qua thời gian sử dụng cần phải được bảo trì để đáp ứng nhu cầu luôn thay LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 đổi của tổ chức sử dụng nó. Mỗi khi thay đổi sẽ xuất hiện thêm một số khiếm khuyết mới không thể tránh làm cho số lỗi tiềm ẩn trong phần mềm tăng lên. Dần dần, phần mềm bị thoái hóa do tỷ lệ sai hỏng ngày càng tăng lên gây ra mức thiệt hại không thể chấp nhận được.
Việc bảo trì phần mềm phức tạp hơn nhiều và có bản chất khác so với bảo trì phần cứng do sự phức tạp của hệ thống phần mềm và sự không có sẵn phần thay thế cho bộ phận bị lỗi. Không thể thay thế bộ phận bị lỗi bằng cái có sẵn mà thực tế phải tạo ra một modum mới. Do đó, thông thường chỉ có nhà sản xuất phần mềm mới bảo trì được hỏng hóc. Sẽ rất khó ước lượng được hi phí cho bảo trì phần mềm.
- Phần lớn phần mềm đều được xây dựng từ đầu, ít khi được lắp ráp từ thành phần có sẵn Phần mềm không có danh mục các thành phần cố định như phần cứng. Phần mềm thường được đặt hàng theo một đơn vị hoàn chỉnh, theo yêu cầu riêng của khách hàng. Phần mềm ít khi có thể lắp ráp theo một khuôn mẫu có sẵn. Yêu cầu với phần mềm thay đổi theo môi trường cụ thể mà ở đó nó được xây dựng.
Môi trường của phần mềm (gồm phần cứng, phần mềm nền, con người và tổ chức) không thể định dạng từ trước và lại thường xuyên thay đổi. Ngoài ra, phần mềm còn có các dặc trưng sau: phần mềm được xây dựng theo đơn đặt hàng của khách, sự phức tạp và tính thay đổi luôn là bản chất của phần mềm và phần mềm được phát triển theo nhóm… Những yểu tố này đã đến chi phỉ cho phần mềm cao và rất khó đảm bảo được lịch biểu cho phát triển phần mềm. Ứng dụng của phần mềm Chúng ta có thể chia phần mềm theo miền ứng dụng thành 8 loại như sau: - Phần mềm hệ thống Phần mềm hệ thống là một tập hợp các chương trình giải quyết các bài toán điều khiển các chương trình và các thiết bị trong một máy tính hay một hệ máy tính. Nó có các đặc điểm sau: xử lý cấu trúc thông tin phức tạp nhưng xác định (trình biên dịch, trình soạn thảo, tiện ích quản lý tệp, lập lịch…) Phần mềm này đặc trưng bởi sự tương tác chủ yếu với phần cứng máy tính: quản lý các tài nguyên (bộ nhớ) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 và hoạt động của thiết bị ngoại vi (máy in, ổ đĩa,…) Và nó có cấu trúc dữ liệu phức tạp và nhiều giao diện ngoài.
- Phần mềm thời gian thực Phần mềm này điều phối, phân tích hoặc kiểm soát các sự kiện của thế giới ngay khi chúng xuất hiện nên được gọi là phần mềm thời gian thực. Hệ thống thời gian thực phải đáp ứng với các sự kiện của môi trường trong các điều kiện ràng buộc về thời gian rất chặt chẽ. Các thành phần loại này bao gồm các phần mềm điều khiển hệ tự động, điều khiển robot, các hệ quan sát… - Phần mềm nghiệp vụ Xử lý thông tin nghiệp vụ là lĩnh vực ứng dụng phần mềm lớn nhất. Nó gốm các hệ thống thông tin, hệ trợ giúp quyết định, các hệ xử lý nghiệp vụ theo quy tắc nghiệp vụ bao gồm cả tính toán tương tác (như xử lý giao tác cho các điểm bán hàng)… - Phần mềm khoa học và công nghệ Phần mềm lại này được đặc trưng bằng các thuật toán phức tạp và xử lý nhiều số liệu.
Nó thường đòi hỏi phần cứng có năng lực tính toán cao. - Phần mềm nhúng Phần mềm nhúng nằm trong bộ nhớ chỉ đọc và được dùng để điều khiển các sản phẩm và hệ thống cho người dùng và thị trường công nghiệp. Nó có đặc trưng của phần mềm thời gian thực và phần mềm hệ thống. - Phần mềm máy tính cá nhân Phần mềm máy tính cá nhân phục vụ trực tiếp cho một cá nhân làm việc với một máy.
Nó bùng nổ trong hơn hai thập kỷ qua như các hệ xử lý văn bản, trang tính, đồ họa, hệ quản trị cơ sở dữ liệu, trò chơi… Phần mềm loại này tiếp tục phát triển và được cải thiện không ngừng, đặc biệt là giao diện người máy. - Phần mềm trí tuệ nhân tạo Phần mềm này sử dụng các thuật toán phi số để giải quyết các vấn đề phức tạp mà tính toán hay phân tích trực tiếp không quản lý nổi. Đó là các phần mềm như các hệ chuyên gia (hệ cơ sở tri thức), các phần mềm trong lĩnh vực nhận dạng (hình ảnh và tiếng nói), chứng minh định lý và chơi trò chơi, các mạng nơ ron nhân tạo để mô phỏng cấu trúc của việc xử lý trong bộ óc con người. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 - Phần mềm trên nền web Một phần mềm chuyên dụng để ta có thể truy cập vào các trang web, là sự phối hợp của các câu lệnh có thể thực hiện được ( như HTML, java) và các dữ liệu siêu văn bản (Hypertext) Ngoài ra chúng ta còn có thể kể đến một dạng phần mềm đặc biệt là phần mềm phục vụ kỹ thuật phần mềm.
Đó là các phần mềm như chương trình dịch, phần mềm gỡ rối, các công cụ hỗ trợ phân tích thiết kế (CASE)… Các phần mềm này có thể xuất hiện dưới dạng phần mềm máy tính cá nhận, phần mềm hê thống hoặc phần mềm nghiệp vụ.