Giới thiệu Công Nghệ Phần Mềm

Đây là blog nhằm mục đích giới thiệu về công nghệ phần mềm. Chúng ta sẽ cùng tìm hiểu một số nội dung sau đây:

  1. Phần mềm là gì ?
  2. Công nghệ phần mềm là gì ?
  3. Tại sao phải học Công nghệ phần mềm ?
  4. 5 ví dụ phần mềm khác nhau và phân tích đặc điểm tốt, chưa tốt của phần mềm đó.

1. Phần mềm là gì ?



    Phần mềm (Software) là một tập hợp các câu lệnh hoặc chỉ thị được viết bằng nhiều ngôn ngữ lập trình và tài liệu liên quan . Các câu lệnh, chỉ thị này được sắp xếp theo một trật tự xác định và các tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ,chức năng hay giải quyết một vấn đề nào đó.( Phần code chiếm 40% và tài liệu chiếm 60% vì phần mềm viết ra để cho khách hàng sử dụng nên document cần phải đầy đủ và dễ hiểu). Tất cả các chương trình chạy máy tính đều là phần mềm. 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 hoặc cung cấp dữ liệu để phục vụ chương trình hay phần mềm khác. Sản phẩm phầm mềm có thể được phát triển cho một khách hàng cụ thể hoặc có thể được phát triển cho một thị trường chung.Hiện nay có rất nhiều loại phần mềm chủ yếu dành cho máy tính, điện thoại,... và chúng phục vụ nhiều mục đích khác nhau trong đời sống.

    Phân loại phần mềm:

    - 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 nói riêng và các thiết bị điện tự nói riêng. Ví dụ như hệ điều hành Windows,Linux,...
  • Phần mềm ứng dụng – phần mềm máy tính : Các phần mềm văn phòng (Microsoft Office, OpenOffice), trò chơi điện tử (game), các công cụ & tiện ích khác.
  • Phần mềm dịch mã (trình dịch) gồm trình biên dịch và trình thông dịch, cụ thể là chúng dịch các câu lệnh từ mã nguồn của ngôn ngữ lập trình sang dạng ngôn ngữ máy sao cho thiết bị thực thi có thể hiểu được.
  • Nền tảng ứng dụng: như ASP.NET – nền tảng ứng dụng web của Microsoft, cái này hỗ trợ việc tạo ra các ứng dụng web, dịch vụ web (web service).
    - Phân loại theo quyền truy cập:
  • Phần mềm mã nguồn đóng (closed source software): Là phần mềm mà mã nguồn của nó không được công bố. Để sử dụng phần mềm nguồn đóng phải được cấp bản quyền.
  • Phần mềm mã nguồn mở (open source software): Là phần mềm mà mã nguồn của nó được công bố rộng rãi, công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Thường thì loại phần mềm này miễn phí.

2. Công nghệ phần mềm là gì ? 

    

    Công nghệ phần mềm là một ngành kĩ thuật liên quan đến tất cả các khía cạnh của sản xuất phầm mềm từ giai đoạn đầu của đặc tả hệ thống cho đến bảo trì hệ thống và sau đó là đưa vào sử dụng.

    Công nghệ phần mềm được xem là một bộ phận của quy trình hệ thống. Có sự liên quan đến sự phát triển của các ứng dụng, hạ tầng phần mềm,cơ sở dữ liệu và sự điều khiển hệ thống.

    Ngành tập trung vào việc xây dựng các ứng dụng giúp nâng cao hiệu quả hoạt động của các doanh nghiệp và chất lượng đời sống con người.

    Các phương pháp công nghệ phần mềm

    Phương pháp công nghệ phần mềm bao gồm các mô hình hệ thống,các ký pháp, quy tắc hướng dẫn thiết kế và quy trình để xây dựng phần mềm một các dễ dàng, đảm bảo chất lượng cao và chi phí hiệu quả.

    Một số phương pháp được đề xuất như sau:

  • Phân tích hướng cấu trúc: Tập trung xác định các chức năng cơ bản của hệ thống
  • Phân tích hướng đối tượng: Tập trung vào việc định nghĩa các đối tượng và sự cộng tác giữa chúng.
    Các công cụ:
  • Các công cụ lập kế hoạch hệ thống tác nghiệp: công cụ lập kế hoạch hệ thống tác nghiệp cung cấp một siêu mô hình mà từ đó hệ thống thông tin đặc trưng sẽ được suy ra.
  • Các công cụ quản lý dự án

  • Các công cụ hỗ trợ:Các công cụ tư liệu hoá cho phép phát triển ứng dụng tự động hoá cập nhật tài liệu và in các báo cáo về ứng dụng.

  • Các công cụ phân tích và thiết kế: cho phép các kỹ sư phần mềm tạo các mô hình của hệ thống. Nó bao gồm biểu diễn cho dữ liệu, luồng điều khiển, nội dung của dữ liệu, quá trình xử lý, các đặc tả điều khiển và các biểu diễn mô hình khác.

  • Các công cụ lập trình:bao gồm bộ dịch, soạn thảo, gỡ lỗi cho phép dùng phần lớn các ngôn ngữ lập trình truyền thống. Các công cụ này có liên quan nhiều tới môi trường lập trình hướng đối tượng, ngôn ngữ thế hệ bốn, sản sinh chương trình.

    
    

3. Tại sao phải học công nghệ phần mềm 

    Ngày càng có nhiều cá nhân và xã hội dựa vào các hệ thống phần mềm tiên tiến. Chúng ta cần có khả năng sản xuất các hệ thống phần mềm thực sự đáng tin cậy một cách kinh tế và nhanh chóng.

    Về lâu dài, việc sử dụng các phương pháp và kỹ thuật phần mềm cho các hệ thống phần mềm thường rẻ hơn là chỉ viết các chương trình như thể đó là một dự án độc lập cá nhân. Đối với hầu hết các loại hệ thống, phần lớn chi phí là chi phí thay đổi phần mềm sau khi nó đã được đưa và sử dụng.
    
    Với tính ứng dụng cao, nhu cầu thị trường lớn và không có dấu hiệu hạ nhiệt. Hầu hết cuộc sống thực tế xoay quanh chúng ta đều vẫn đang bị chi phối bởi các phần mềm, điển hình như: các phần mềm ứng dụng trên máy tính, điện thoại (word, excel, phần mềm quản lí công việc, phần mềm thiết kế, phần mềm chụp, chỉnh sửa ảnh, photoshop, mạng xã hội,…). 
    Việc theo học, phát triển với công việc trong ngành công nghệ sẽ mở ra tương lai tươi sáng, tiềm năng dồi dào.

4. 5 ví dụ về phần mềm khác nhau và phân tích điểm tốt, chưa tốt của những phần mềm đó.

    Facebook

    

    Với hơn 5 tỉ lượt tải xuống, Facebook là mạng xã hội được sử dụng rộng rãi và phổ biến trên toàn thế giới hiện nay, được sử dụng bởi nhiều lứa tuổi từ trẻ em cho tới những người lớn tuổi. Không thể phủ nhận được độ phủ sóng của Facebook trên thị trường. 
    Về mặt giao diện người dùng, giao diện Facebook khá dễ sử dụng, phù hợp cho nhiều lứa tuổi khác nhau và newfeed được sắp xếp phù hợp theo sở thích hay những thông tin mà người dùng quan tâm.
    Facebook mang lại những tính năng cho người dùng như: kết nối bạn bè trên khắp thế giới, video call, cập nhật thông tin một cách nhanh chóng, hoặc có thể giúp các tổ chức, doanh nghiệp hay nhà nước thực hiện việc thông báo, đưa ra công văn cho mọi người được biết,...
    Bên cạnh những ưu điểm thì Facebook còn tồn tại một số nhược điểm như:
  • Gần đây thường hay bị lỗi phầm mềm, khiến người dùng không thể xem comment hay thực hiện việc nhắn tin, gọi điện qua messenger.
  • Những thông tin trên Facebook vẫn còn nhiều "tin rác", không đúng sự thật.
    Google Chrome

    
    Là một trình duyệt web được sử dụng rộng rãi và phổ biến. Google Chrome dễ sử dụng và đơn giản, mang lại những tiện ích cho người dùng như tìm kiếm, tra cứu thông tin một cách nhanh chóng. 
    Google Chrome có các add-on và các tiện ích mở rộng như: Adblock extension, Chrome toolbox,Google Dictionary,Save to Pocket,...
    Google Chrome vẫn còn một số nhược điểm như: 
  • Tiêu thụ nhiều tài nguyên máy tính
  • Đóng tab mà không có cảnh báo
  • Luôn có các tiến trình chạy trong nền
Microsoft Excel



    Microsoft Excel là một trong số những công cụ phổ biến nhất mà kế toán viên sử dụng trong việc làm kế toán.
    Ưu điểm :
  • Excel phân phối rộng rãi, không mất phí sử dụng và được cài đặt sẵn trên máy tính. Điều này giúp người giảm bớt thời gian làm quen, cài đặt và giá rẻ khi sử dụng.
  • Excel có nhiều tính năng phân tích, lập báo cáo nhanh chóng mà không cần bất kỳ phần mềm nào khác hỗ trợ.
    Nhược điểm:
  • Khi cơ sở dữ liệu lớn, kế toán viên không thể kiểm soát hết thì excel lại trở nên bị động và gây nhiều khó khăn khi làm kế toán.
  • Tính bảo mật thấp, có thể dễ dàng bị xóa file và không thể phục hồi lại dữ liệu.
  • Tìm kiếm chứng từ, sổ sách, dữ liệu vô cùng khó khăn.
    Visual Studio Code
    
    
    
    Visual Studio Code  là trình soạn thảo code gọn nhẹ nhưng mạnh mẽ chạy trên máy tính, có sẵn cho Windows, macOS và Linux. VSCode đi kèm với sự hỗ trợ tích hợp cho JavaScript, TypeScript, Node.js và có một hệ sinh thái mở rộng phong phú cho các ngôn ngữ khác (như C++, C#, Java, Python, PHP, Go).
    Ưu điểm:
  • Phát triển rất tích cực với sự hỗ trợ của Microsoft. Các tài liệu chính thức được duy trì tốt.
  • Có sự hỗ trợ rất tích cực của cộng đồng với tất cả các plugin bạn cần. Nếu gửi một lỗi trên repo GitHub, bạn thường sẽ nhận được phản hồi trong vòng 4 ngày.
  • Tốc độ của VSCode rất cao, gần như tương đương với ST3 được xây dựng nguyên bản.
    Nhược điểm:
  • Bộ nhớ và mức sử dụng pin của VSCode khá tệ.
  • Các phím tắt mặc định không có ý nghĩa và người dùng phải cấu hình lại gần như tất cả chúng.
    Hệ điều hành Windows
    

    Có thể nói, hệ điều hành Windows chiếm thị phần lớn nhất hiện nay với số lượng khủng người sử dụng trên toàn thế giới. Windows cũng là hệ điều hành có nhiều phiên bản nhất trong lịch sử phát triển.
    Ưu điểm: 
  •  Hệ điều hành Windows rất phổ biến và có khả năng tương thích cao.
  • Dễ sử dụng:dù cho ra đời nhiều phiên bản nhưng các phiên bản sau luôn có tính kế thừa các phiên bản tiền nhiệm nên người dùng dễ làm quên khi sử dụng lần đầu.
  • luôn có những gói nâng cấp và miễn phí cập nhật, nhằm có thể vá các lỗ hỏng bảo mật.
  • Ứng dụng phong phú hơn so với các hệ điều hành khác.
    Nhược điểm:
  • Nhiều bản Win lậu
  • Là mục tiêu của tin tặc, hacker



        
  

    

Nhận xét

Bài đăng phổ biến từ blog này

Đạo đức trong phát triển phần mềm