Chương trình kỹ nghệ phần mềm

GS John Vu18/02/2023 10:00
Chương trình kỹ nghệ phần mềm

Con tôi sắp vào đại học năm nay. Nó băn khoăn giữa Khoa học máy tính và Kĩ nghệ phần mềm và tôi không thể giải thích được sự khác biệt.

Một người cha viết cho tôi: “Con tôi sắp vào đại học năm nay. Nó băn khoăn giữa Khoa học máy tính và Kĩ nghệ phần mềm và tôi không thể giải thích được sự khác biệt. Một cố vấn nhà trường bảo nó rằng chúng là như nhau với cái tên khác nhau nhưng cố vấn khác bảo nó rằng chúng không như nhau. Vì có các đại học dạy Khoa học máy tính và đại học khác dạy Kĩ nghệ phần mềm,  tôi cần quyết định về trường nào cho cháu theo học. Bạn tôi giới thiệu cho tôi về website của thầy nhưng tôi không chắc ngành nào sẽ là tốt hơn cho con trai tôi. Tôi cần giúp đỡ để chọn lĩnh vực đúng và trường đúng để cho con tôi vào học. Xin thầy giúp cho.”

Đáp: Có nhiều ý kiến về khác biệt giữa Khoa học máy tính và Kĩ nghệ phần mềm. Về căn bản đó là các từ khoá là “Khoa học” và  “Kĩ nghệ” và nó có nghĩa là “Nhà khoa học nghiên cứu” và “Người kĩ sư xây dựng” cho nên định nghĩa chung là Khoa học máy tính là NGHIÊN CỨU về điều máy tính làm và mọi lí thuyết liên kết với hệ thống máy tính như cấu trúc dữ liệu, thuật toán v.v. Kĩ nghệ phần mềm là PHÁT TRIỂN sản phẩm phần mềm dựa trên các qui trình và kỉ luật liên kết với hệ thống phần mềm.

Để giúp bạn hiểu sự khác biệt, chúng ta phải quay lại lịch sử. Hệ thống máy tính điển hình bao gồm phần cứng và phần mềm nhưng chính phần mềm biểu thị cho mọi chức năng mà người dùng cần và khi nhu cầu thay đổi, phần mềm phải được cập nhật.

Trong quá khứ, phần mềm là nhỏ và đơn giản cho nên viết phần mềm phần lớn dựa trên kĩ năng lập trình của nhà khoa học người hiểu vận hành của hệ thống máy tính. Khoa học máy tính được tạo ra để hội tụ vào các kĩ năng viết phần mềm dùng các ngôn ngữ lập trình (FORTRAN, COBOL, Pascal, C, C++ v.v.). Phần lớn đào tạo Khoa học máy tính đều dựa trên nhiều năm viết mã, học lí thuyết máy tính, hiểu cấu trúc dữ liệu, tạo ra thuật toán, dùng những công thức toán học nào đó và tổ chức cấu trúc dữ liệu v.v.

Khi phần mềm trở nên lớn hơn và phức tạp hơn, cách tiếp cận hội tụ chặt vào một mình viết mã là không đủ tốt. Khi nhiều dự án khoa học máy tính bị chậm trễ, tốn kém nhiều và khó bảo trì, một cách tiếp cận mới được cần tới để kiểm soát độ phức tạp và chất lượng của hệ thống phần mềm lớn và lĩnh vực Kĩ nghệ phần mềm được tạo ra. Mục đích của Kĩ nghệ phần mềm là phát triển phần mềm có chất lượng và có chi phi-hiệu quả mà dễ bảo trì và sử dụng.

Khoa học máy tính coi phần mềm như chương trình máy tính nhưng đây là cách nhìn rất hạn chế. Phần mềm không chỉ là chương trình mà còn là mọi tài liệu liên kết và dữ liệu cấu hình để làm cho những chương trình này vận hành một cách hiệu quả và đúng đắn. Kĩ nghệ phần mềm coi hệ thống phần mềm như một số các chương trình phần mềm tách rời (ứng dụng, điều hành, giao diện v.v.); các tệp cấu hình mà có thể được dùng để thiết lập các chương trình này; tài liệu hệ thống mô tả cấu trúc của hệ thống và cách chúng làm việc cùng nhau; tài liệu người dùng mô tả cách dùng hệ thống.

Đào tạo Kĩ nghệ phần mềm do đó không chỉ hội tụ vào viết mã mà còn vào mọi hoạt động liên kết với phát triển hệ thống phần mềm. Sinh viên phải học về qui trình phần mềm hay tập các hoạt động được cần để xây dựng phần mềm chất lượng; kĩ nghệ về yêu cầu hệ thống phần mềm dựa trên nhu cầu người dùng; cách tiếp cận cấu trúc tới phát triển phần mềm bao gồm mô hình hoá, kí pháp, qui tắc, kiến trúc, thiết kế và hướng dẫn qui trình; cũng như các thuộc tính chất lượng như hiệu năng, tính đổi qui mô, tính bảo trì được, tính dùng được v.v.

Nói chung, kĩ sư phần mềm tuân theo cách tiếp cận hệ thống và có tổ chức cho công việc của họ vì đây là cách hiệu quả nhất để tạo ra phần mềm chất lượng. Vì phần mềm là phức tạp và lớn, họ bao giờ cũng làm việc trong tổ cho nên kĩ năng mềm cũng được dạy trong hầu hết các chương trình kĩ nghệ phần mềm.


Gửi bình luận
(0) Bình luận
1

Vấn đề với cách tiếp cận Agile

Một người phát triển phần mềm hỏi tôi: “Người quản lí của tôi nói rằng hoạt động chính của Agile chỉ là viết mã và kiểm thử. Bạn không cần tài liệu cho nên chúng tôi có thể hoàn thanh nhanh và đó là lí do tại sao cái tên “Agile – mau lẹ” tới. Điều đó có đúng không?”

Tiến bộ nghề nghiệp

“Em vừa tốt nghiệp từ Quản lí hệ thông tin và có được việc làm tại một công ti tài chính lớn. Em muốn thành công và xây dựng nghề nghiệp trong lĩnh vực này; tuy nhiên em vẫn lo nghĩ về tương lai của em. Xin thầy lời khuyên.”

An ninh máy tính

Ngày nay an ninh máy tính là mối quan tâm chính trên toàn thế giới vì việc hack và tấn công cyber là những đe doạ lớn cho mọi doanh nghiệp và người dùng. Không may là phần lớn công nhân Công nghệ thông tin (CNTT) không được đào tạo để nhận ra và ngăn ngừa những cuộc tấn công này. Theo một báo cáo công nghiệp, có trên 4 triệu cuộc tấn không cyber trong năm 2013 và nó sẽ tăng lên trong năm tới. Một số trong chúng tới từ những chính phủ nào đó làm do thám chính phủ khác, nhưng nhiều cuộc tấn công tới từ tội p

Giải quyết vấn đề thất nghiệp

Với lí thuyết kinh tế, khi mọi sự tốt, các công ti sẽ đầu tư nhiều hơn và thuê nhiều người hơn để tăng trưởng kinh doanh thì thất nghiệp phải sụt xuống, nhưng điều này đã không xảy ra.

Kỉ nguyên mới: Di động

Hai mươi nhăm năm trước đây Internet được hình thành và nó đã làm thay đổi thế giới. Ngày nay thế giới đang trải qua một thay đổi lớn khác do công nghệ di động.

Lời khuyên của Kathy

Tôi có vài “Cựu sinh viên” ở các lớp của tôi, nhiều người trong số họ có bằng cấp và kinh nghiệm làm việc nhưng trở lại trường để học kĩ năng mới và theo đuổi nghề nghiệp mới.

Thị trường khoán ngoài đang thay đổi

Trong hai mươi năm qua, các nước phương tây đã khoán ngoài phần mềm “không thiết yếu” cho các nước có chi phí thấp để tiết kiệm tiền.

Kiểm tra việc dự lớp

Một thầy giáo trẻ hỏi tôi: “Thầy có kiểm việc dự lớp của thầy không? Làm sao thầy biết liệu sinh viên có học hay không nếu họ không dự lớp?”

Quyết định

Scott McCloud một quan chức điều hành của một công ti phần mềm đã chia sẻ cách nhìn của anh ấy về việc làm quyết định cho sinh viên của tôi.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS