Phần mềm máy tính là một tập hợp những câu lệnh hoặc chỉ thị (Instruction). Nó đượ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. Tổ chức, chuẩn hóa 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 đó.
Computer Software 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. 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. Software 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.
1. Đặc điểm software
Trước đây, để tạo ra chương trình máy tính, người ta sử dụng hệ số nhị phân. Hệ số nhị phân chỉ gồm 2 số 0 và 1. 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.
Có thể bạn quan tâm:
- Các chuyên ngành trong Điện Điện tử bao gồm những ngành nào?
- Tổng hợp về Kỹ thuật điện tử của Đại học Bách Khoa Hà Nội
- Cơ Hội Việc Làm Ngành Điện Tử Viễn Thông Tại Việt Nam Ra Sao?
Để 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 cải tiến. Chúng có câu lệnh gần với ngôn ngữ tự nhiên hơ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.
2. Phân loại phần mềm
2.1. 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 software 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 (hay còn gọi là phần mềm ERP), 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 Software 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ó 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 Software 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ư .NET,…
2.2. 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,…
Ư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.
3. Quá trình tạo Software
3.1. Về mặt thiết kế
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 Software đượ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 và ngôn ngữ lập trình được dùng.
3.2. Sản xuất và phát triển
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.
Có thể bạn quan tâm:
- Hệ thống viễn thông quan trọng như thế nào? Phân loại
- Kỹ thuật phần mềm – ngành học hot nhất mang nhiều cơ hội?
4. Một số loại Software
4.1. Phần mềm hệ thống
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ị.
4.2. Software ứng dụng
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).
4.3. Các loại khác
Virus cũng là một phần mềm máy tính. Chúng là các phần mềm có hại. Virus được viết để chạy với những mục đích riêng của một người hay một nhóm người lập trình viên. Họ có ý định xấu lừa đảo, quảng bá, ăn cắp, phá hoại tài sản. Hoặc đơn giản chỉ để trêu đùa cho vui với những người dùng máy tính.
Vừa rồi là tổng hợp thông tin về lĩnh vực phần mềm, những bạn đang học ngành kỹ thuật điện tử viễn thông hãy tham khao và ghi nhớ để áp dụng trong quá trình làm việc sau khi ra trường nhé.