Kho tàng tài liệu học tập phong phú.

Tin học 10 Kết nối tri thức Bài 34: Nghề phát triển phần mềm

1.1. Phát triển phần mềm là gì?

– Nếu như kết quả của một bài tập lập trình thông thường chỉ dài vài chục câu lệnh và thường do một người làm ra, thì phần mềm ứng dụng có thể lên tới hàng vạn, hàng triệu dòng lệnh và nói chung do nhiều người thực hiện.

– Các công việc cơ bản, cũng chính là các công đoạn cần thực hiện đề sản xuất một phần mềm gồm có:

Các công đoạn sản xuất một phần mềm

+ Điều tra khảo sát: Tiếp xúc với khách hàng, tìm hiểu về yêu cầu nghiệp vụ, xây dựng hồ sơ yêu cầu của hệ thống.

+ Phân tích hệ thống: Dựa trên các tài liệu điều tra khảo sát, chuyên viên phân tích sẽ tạo ra tài liệu mô tả đầy đủ yêu cầu của phần mềm.

+ Thiết kế hệ thống: Dựa vào tài liệu phân tích, chuyên viên thiết kế sẽ đưa ra thiết kế tổng thể, thiết kế dữ liệu và thiết kế chức năng và có thể cả giao diện chi tiết.

+ Lập trình: Dựa vào tài liệu thiết kế, các lập trình viên sẽ tiến hành tạo cơ sở dữ liệu nếu cần và viết các đoạn mã thực hiện các chức năng.

+ Kiểm thử: Phát hiện để loại bỏ các lỗi cũng như các bất hợp lí trong sử dụng chương trình nếu có; kiểm tra kết quả thực hiện theo chức năng đã thiết kế, …

+ Chuyển giao: Cài đặt, khởi tạo dữ liệu, hướng dẫn sử dụng và chuyển giao.

+ Bảo trì: Nói chung, các phần mềm khi mới làm ra có thể còn những sai sót hoặc không đáp ứng đầy đủ yêu cầu của người sử dụng. Bảo trì là công việc rất quan trọng nhằm khắc phục triệt để các lỗi, nâng cấp cả về tính năng và giao diện của phần mềm. Công việc này có thể là một vòng phát triển mới, liên quan tới tất cả các công việc sản xuất phần mềm nêu trên.

– Hoạt động có tính bao trùm lên toàn bộ các công việc cơ bản của sản xuất phần mềm là quản trị dự án phần mềm, bao gồm lập kế hoạch, điều phối nhân sự, tài chỉnh, phương tiện, kiểm soát chất lượng, để đảm bảo thành công của dự án.

– Tất cả các công việc và hoạt động nẽu trên được gọi chung là phát triển phần mềm mà lập trình chỉ là một hoạt động trong đó. Những người tham gia vào các công việc và hoạt động đó đều được gọi là người phát triển phần mềm (Software Developer).

Phát triển phần mềm gồm các công việc và hoạt động sau: điều tra, khảo sát; phân tích và thiết kế hệ thống; lập trình; kiểm thử; chuyển giao; bảo trì và quản trị dự án.

1.2. Kiến thức, kĩ năng của người phát triển phần mềm

– Có ba hoạt động chính trong phát triền phần mềm là:

+ Lập trình.

+ Tổ chức phát triển phần mềm bao gồm việc vận dụng các kiến thức, hiểu biết và kĩ thuật để tổ chức các hoạt động phân tích, thiết kế, lập trình, kiểm thử, bảo trì, đánh giá, chuyển giao.

+ Quản trị dự án phát triển phần mềm.

– Khởi đầu, lập trình viên chỉ cần có các hiểu biết cơ bản về một ngôn ngữ lập trình phù hợp để có thể bắt đầu phụ trách những đoạn mã ngắn, đơn giản theo thiết kế sau khi trải qua một khoá đào tạo cơ bản tại các trường nghề, các trung tâm đào tạo hay các công ty phần mềm.

=> Với kiến thức và kĩ năng có được, ngoài việc lập trình, họ có thề tham gia một số công đoạn khác như kiểm thử, chuyển giao hay bảo trì phần mềm.

– Cấp độ cao hơn, lập trình viên được trang bị thêm các kiến thức về thuật toán, cấu trúc dữ liệu, trí tuệ nhân tạo, mật mã, … để có thể viết các chương trinh phức tạp đòi hỏi hiểu biết chuyên sâu về toán học và khoa học máy tỉnh.

– Hiểu biết thuật toán, cấu trúc dữ liệu, có những kiến thức về khoa học máy tính, có đức tính cẩn thận, tỉ mỉ, làm chủ được môi trường lập trình, là các tố chất cần thiết đối với lập trình viên.

– Khái niệm kĩ sư phần mềm thường để chỉ những người tổ chức làm phần mềm. Họ có thể phụ trách các khâu quan trọng như: phân tích, thiết kế hay trực tiếp tham gia hoặc chủ trì quản trị dự án phần mềm.

– Sự khác biệt giữa các kĩ sư phần mềm và lập trình viên tương tự như giữa kiến trúc sư và thợ xây trong xâỵ dựng công trình. Kĩ sư phần mềm không nhất thiết phải lập trình nhưng hiểu biết về lập trình rất quan trọng giúp họ có giải phảp thiết kế tốt. Trong thực tế, chuyên viên phân tích và thiết kể nói chung đều trải qua hoạt động lập trình.

– Quản trị dự án xuyên suốt quá trình hình thành, triển khai và kết thúc dự án phần mềm.

Người quản trị dự án cần có tầm nhìn, hiểu biết về quy trình làm phần mềm, hiểu biết xu hướng công nghệ, có khả năng tổ chức, lập kế hoạch, điều phối các nguồn lực, tổ chức giám sát. Nếu đã từng trải qua công việc lập trình hay phân tích và thiết kế hệ thống thì đây sẽ là một lợi thế cho người quản trị dự án.

– Đối với các dự án phần mềm lớn, hoạt động quản trị dự án đóng vai trò cốt yếu cho sự thành công của dự án phần mềm.

– Lập trình viên kĩ sư phần mềm, người quản trị dự án là những người đảm nhận những công việc quan trọng nhất trong phát triển phần mềm.

– Có những kiến thức nhất định về toán học, cấu trúc dữ liệu và giải thuật nói riêng và về khoa học máy tính nói chung ở các mức độ khác nhau cùng khả năng vận dụng thuần thục các kiến thức ấy vào thực tế là những yêu cầu cần có đối với lập trình viên và kĩ sư phần mềm – người đảm nhận những vị trí quan trọng trong tổ chức phát triển phần mềm.

– Quản trị dự án là công việc xuyên suốt quá trình sản xuất phần mềm, có vai trò cốt yếu cho sự thành công của dự án phần mềm. Việc có tầm nhìn, hiểu biết về quy trình làm phần mềm, hiểu biết xu hướng công nghệ, có khả năng tổ chức, lập kế hoạch, điều phối các nguồn lực, tổ chức giám sát, … là những yêu cầu không thể thiếu đối với người quản trị dự án phát triển phần mềm.

1.3. Công việc phát triển phần mềm

* Học tập:

– Để trở thành người phát triển phần mềm, các em có thể bắt đầu với các khoá đào tạo về lập trình, phát triển phần mềm tại các trung tâm, các trường dạy nghề, hoặc các công ty, tập đoàn, dần dần tích luỹ kinh nghiệm thông qua các công việc thực tế. Nếu muốn tham gia phát triển phần mềm ở vị trí kĩ sư phần mềm, em cần theo học ở bậc đại học về tin học hay công nghệ thông tin.

– Sau khi tốt nghiệp các khoản ngành đào tạo, em có thể tham gia các công việc phát triển phần mềm ở nhiều lĩnh vực như:

+ Lập trình ứng dụng: Viết chương trình với tác vụ cụ thể.

Lập trình ứng dụng

+ Phát triển giao diện người dùng: Xây dựng các giao diện thân thiện với người dùng.

+ Phát triển ứng dụng trên web, các phần mềm hệ thống hoặc quản trị các hệ thống thông tin, các kho dữ liệu, …

+ Lập trình trí tuệ nhân tạo/máy học: Các chương trình có thể bắt chước các hành động của con người, có khả năng học và cải thiện kết quả hành động.

Trí tuệ nhân tạo – AI

+ Phát triển games: Xây dựng các phần mềm trò chơi trên máy tính.

+ Phát triển ứng dụng di động: Viết các ứng dụng cho điện thoại di động, máy tính bảng và các thiết bị di động khác.

* Nhu cầu ngành nghề:

– Ở Việt Nam, phát triển phần mềm luôn là công việc được đánh giá cao trong lĩnh vực kĩ thuật, công nghệ cũng như các lĩnh vực liên quan tới STEM. Nhu cầu nhân lực phát triển phần mềm chiếm tỉ lệ cao nhất trong nhu cầu tuyển dụng ngành Công nghệ thông tin.

– Người muốn tham gia phát triển phần mềm có thể tìm kiếm cơ hội tại các hội chợ việc làm do các tỉnh, thành phố, các công ty, tập đoàn công nghệ như FPT, Viettel, VNPT, … hay các trường đại học tổ chức. Các em cũng có thể tìm kiếm cơ hội việc làm thông qua các trang thông tin tuyển dụng trực tuyến của các doanh nghiệp, hay các chuyên trang về tuyển dụng như: TopDev, Vietnamworks, LinkedIn.

– Có thể theo học phát triển phần mềm tại nhiều nơi khác nhau, các trung tâm, trường nghề, các công ty, các nhà trường, …

– Các cơ hội nghề nghiệp cho người phát triển phần mềm rất đa dạng. Nhu cầu nhân lực phát triển phần mềm không ngừng tăng cao cùng với sự phát triển ứng dụng khoa học và công nghệ.