Phần mềm

Từ VLOS
Bước tới: chuyển hướng, tìm kiế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 đó.

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.

Đặc điểm[sửa]

Trước đây, để tạo ra chương trình máy tính người ta phải làm việc trực tiếp với các con số 0 hoặc 1 (sử dụng hệ số nhị phân), hay còn gọi là ngôn ngữ máy. Công việc này vô cùng khó khăn, chiếm nhiều thời gian, công sức và đặc biệt dễ gây ra lỗi. Để khắc phục nhược điểm này, người ta đề xuất ra hợp ngữ, một ngôn ngữ cho phép thay thế dãy 0 hoặc 1 này bởi các từ gợi nhớ tiếng Anh. Tuy nhiên, cải tiến này vẫn còn chưa thật thích hợp với đa số người dùng máy tính, những người luôn mong muốn các lệnh chính là ý nghĩa của các thao tác mà nó mô tả. Vì vậy, ngay từ những năm 1950, người ta đã xây dựng những ngôn ngữ lập trình mà câu lệnh của nó gần với ngôn ngữ tự nhiên. Các ngôn ngữ này được gọi là ngôn ngữ lập trình bậc cao.

Chương trình máy tính thường được tạo ra bởi con người, những người này được gọi là lập trình viên, tuy nhiên cũng tồn tại những chương trình được sinh ra bởi các chương trình khác.

Phân loại[sửa]

Theo phương thức hoạt động[sửa]

  1. 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.
  2. 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.
  3. Các phần mềm chuyển dịch mã bao gồm trình biên dịch 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 dịch nó sang dạng ngôn ngữ máy mà máy tính có 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.
  4. Các nền tảng công nghệ như .NET,...

Theo khả năng ứng dụng[sửa]

  1. 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.
  2. 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,...

Ưu điểm: Có tính uyển chuyển, tùy biến cao để đáp ứng được nhu cầu của một nhóm người sử dụng nào đó. Khuyết điểm: Thông thường đây là những phần mềm ứng dụng chuyên ngành hẹp.

Quá trình tạo phần mềm[sửa]

Về mặt thiết kế[sửa]

Tùy theo mức độ phức tạp của phần mềm làm ra, người thiết kế phần mềm sẽ ít nhiều dùng đến các phương tiện để tạo ra mẫu thiết kế theo ý muốn (chẳng hạn như là các sơ đồ khối, các lưu đồ, các thuật toán và các mã giả), sau đó mẫu này được mã hoá bằng các ngôn ngữ lập trình và được các trình dịch chuyển thành các khối lệnh (module) hay/và các tệp khả thi. Tập họp các tệp khả thi và các khối lệnh đó làm thành một phần mềm. Thường khi một phần mềm được tạo thành, để cho hoàn hảo thì phần mềm đó phải được điều chỉnh hay sửa chữa từ khâu thiết kế cho đến khâu tạo thành phiên bản phần mềm một số lần. Một phần mềm thông thường sẽ tương thích với một hay vài hệ điều hành, tùy theo cách thiết kế, cách viết mã nguồn ngôn ngữ lập trình được dùng.

Sản xuất và phát triển[sửa]

Việc phát triển và đưa ra thị trường của một phần mềm là đối tượng nghiên cứu của bộ môn kỹ nghệ phần mềm hay còn gọi là công nghệ phần mềm (software engineering). Bộ môn này nghiên cứu các phương pháp tổ chức, cách thức sử dụng nguồn tài nguyên, vòng quy trình sản xuất, cùng với các mối liên hệ với thị trường, cũng như liên hệ giữa các yếu tố này với nhau. Tối ưu hoá quy trình sản xuất phần mềm cũng là đối tượng được cứu xét của bộ môn.

Một số loại phần mềm[sửa]

Phần mềm hệ thống[sửa]

Phần mềm hệ thống còn gọi là hệ điều hành giúp vận hành phần cứng máy tính và hệ thống máy tính. Nó bao gồm các hệ điều hành, phần mềm điều vận thiết bị (device driver), các công cụ phân tích (diagnostic tool), trình phục vụ, hệ thống cửa sổ, các tiện ích,... Mục đích của phần mềm hệ thống là để giúp các lập trình viên ứng dụng không phải quan tâm đến các chi tiết của hệ thống máy tính phức tạp được sử dụng, đặc biệt là các tính năng bộ nhớ và các phần cứng khác chẳng hạn như máy in, bàn phím, thiết bị hiển thị.

Phần mềm ứng dụng[sửa]

Phần mềm ứng dụng là những phần mềm được phát triển giải quyết tự động nhứng công việc hay vấn đề cụ thể nào đó thường gặp trong cuộc sống. Có những phần mềm ứng dụng được phát triển theo đơn đặt hàng riêng có tính đặc thù của một cá nhân hay tổ chức. có những phần mềm được thiết kế dựa trên yêu cầu chung của nhiều người ví dụ như các phần mềm soạn thảo văn bản. bảng tính, phần mềm thiết kế bản vẽ (AutoCad...) phần mềm nghe nhạc hay xem phim trên đĩa CD (như Jet Audio hay Mpeg Player...) Để hỗ trợ cho việc làm ra các sản phẩm phần mềm, người ta lại dùng chính các phần mềm khác, chúng được gọi là các phần mềm công cụ, những phần mềm này thường cung cấp các công cụ hỗ trợ lập trình viên trong khi viết chương trình và phần mềm bằng các ngôn ngữ lập trình khác nhau. Các công cụ này bao gồm các trình soạn thảo, trình biên dịch, trình thông dịch, trình liên kết, trình tìm lỗi, v.v... Một môi trường phát triển tích hợp (IDE) kết hợp các công cụ này thành một gói phần mềm, và một lập trình viên có thể không cần gõ nhiều dòng lệnh để dịch, tìm lỗi, lần bước,... vì IDE thường có một giao diện người dùng đồ họa cao cấp (GUI).

Các loại khác[sửa]

Cũng là một loại phần mềm, nhưng virus máy tính là các phần mềm có hại được viết để chạy với những mục đích riêng của một nhóm người nhằm lừa đảo, quảng cáo, ăn cắp, phá hoại thông tin, phá hoại phần cứng hoặc chỉ là để trêu chọc người dùng vi tính.

Xem thêm[sửa]

Tham khảo[sửa]


Liên kết đến đây

Xem thêm liên kết đến trang này.