TÓM TẮT NỘI DUNG:
1. Phát triển phần mềm là gì?
2. Kiến thức, kỹ năng của người phát triển phần mềm
3. Công việc phát triển phần mềm
1. Phát triển phần mềm là gì?
2. Kiến thức, kỹ năng của người phát triển phần mềm
3. Công việc phát triển phần mềm
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ó:
Đ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ì: 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). 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ế.
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 trình 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.
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ư các kiến trúc sư và thợ xây trong xây 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 quá trình lập trình.
Người quản lí 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.
Đối với các dự án phần mềm lớn, hoạt động quản trị dự án có vai trò cốt yếu cho sự thành công của dự án phần mềm.
3. CÔNG VIỆC PHÁT TRIỂN PHẦN MỀM
- Để trở thành người phát triển phần mềm, có thể bắt đầu với các khóa đà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 lũy 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, 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 khóa, ngành đào tạo, 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ể.
- Phát triển giao diện người dùng: Xây dựng 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 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.
- 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.
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.
Đ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ì: 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). 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ế.
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 trình 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.
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ư các kiến trúc sư và thợ xây trong xây 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 quá trình lập trình.
Người quản lí 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.
Đối với các dự án phần mềm lớn, hoạt động quản trị dự án có vai trò cốt yếu cho sự thành công của dự án phần mềm.
3. CÔNG VIỆC PHÁT TRIỂN PHẦN MỀM
- Để trở thành người phát triển phần mềm, có thể bắt đầu với các khóa đà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 lũy 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, 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 khóa, ngành đào tạo, 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ể.
- Phát triển giao diện người dùng: Xây dựng 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 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.
- 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.
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.
--- The end! ---
CÙNG CHUYÊN MỤC:
Chủ đề 1.MÁY TÍNH VÀ XÃ HỘI TRI THỨC
Bài 1. Thông tin và xử lí thông tin
Bài 2. Vai trò của thiết bị thông minh và tin học đối với xã hội
Bài 3. Một số kiểu dữ liệu và dữ liệu văn bản
Bài 4. Hệ nhị phân và dữ liệu số nguyên
Bài 5. Dữ liệu lôgic
Bài 6. Dữ liệu âm thanh và hình ảnh
Bài 7. Thực hành sử dụng thiết bị thông dụng
Chủ đề 2.Bài 2. Vai trò của thiết bị thông minh và tin học đối với xã hội
Bài 3. Một số kiểu dữ liệu và dữ liệu văn bản
Bài 4. Hệ nhị phân và dữ liệu số nguyên
Bài 5. Dữ liệu lôgic
Bài 6. Dữ liệu âm thanh và hình ảnh
Bài 7. Thực hành sử dụng thiết bị thông dụng
MẠNG MÁY TÍNH VÀ INTERNET
Bài 8. Mạng máy tính trong cuộc sống hiện đại
Bài 9. An toàn trên không gian mạng
Bài 10. Thực hành khai thác tài nguyên trên Internet
Chủ đề 3.Bài 9. An toàn trên không gian mạng
Bài 10. Thực hành khai thác tài nguyên trên Internet
ĐẠO ĐỨC, PHÁP LUẬT VÀ VĂN HÓA TRONG MÔI TRƯỜNG SỐ
Chủ đề 4.
ỨNG DỤNG TIN HỌC
Bài 12. Phần mềm thiết kế đồ hoạ
Bài 13. Bổ sung đối tượng đồ hoạ
Bài 14. Làm việc với đối tượng đường và văn bản
Bài 15. Hoàn thiện hình ảnh đồ hoạ
Chủ đề 5.Bài 13. Bổ sung đối tượng đồ hoạ
Bài 14. Làm việc với đối tượng đường và văn bản
Bài 15. Hoàn thiện hình ảnh đồ hoạ
GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
Bài 16. Ngôn ngữ lập trình bậc cao và Python
Bài 17. Biến và lệnh gán
Bài 18. Các lệnh vào ra đơn giản
Bài 19. Câu lệnh điều kiện if
Bài 20. Câu lệnh lặp for
Bài 21. Câu lệnh lặp while
Bài 22. Kiểu dữ liệu danh sách
Bài 23. Một số lệnh làm việc với dữ liệu danh sách
Bài 24. Xâu kí tự
Bài 25. Một số lệnh làm việc với xâu kí tự
Bài 26. Hàm trong Python
Bài 27. Tham số của hàm
Bài 28. Phạm vi của biến
Bài 29. Nhận biết lỗi chương trình
Bài 30. Kiểm thử và gỡ lỗi chương trình
Bài 31. Thực hành viết chương trình đơn giản
Bài 32. Ôn tập lập trình Python
Chủ đề 6.Bài 17. Biến và lệnh gán
Bài 18. Các lệnh vào ra đơn giản
Bài 19. Câu lệnh điều kiện if
Bài 20. Câu lệnh lặp for
Bài 21. Câu lệnh lặp while
Bài 22. Kiểu dữ liệu danh sách
Bài 23. Một số lệnh làm việc với dữ liệu danh sách
Bài 24. Xâu kí tự
Bài 25. Một số lệnh làm việc với xâu kí tự
Bài 26. Hàm trong Python
Bài 27. Tham số của hàm
Bài 28. Phạm vi của biến
Bài 29. Nhận biết lỗi chương trình
Bài 30. Kiểm thử và gỡ lỗi chương trình
Bài 31. Thực hành viết chương trình đơn giản
Bài 32. Ôn tập lập trình Python
HƯỚNG NGHIỆP VỚI TIN HỌC
CÁC CHUYÊN MỤC LIÊN QUAN: