Theo em, phát triển phần mềm có phải chỉ là việc viết các đoạn mã lệnh bằng một ngôn ngữ lập trình nào đó để máy tính có thể hiểu và giải quyết một bài toán trong thực tế?
Không phải. Ngoài việc viết các đoạn mã lệnh, phát triển phần mềm cần làm thêm rất nhiều công việc khác như khảo sát, phân tích yêu cầu bài toán, sửa chữa, bảo trì code sau khi được viết, …
Hoạt động 1 Hiểu về phát triển phần mềm
Nhiều em mong muốn biết lập trình để làm ra các phần mềm ứng dụng. Vậy em có biết việc sản xuất phần mềm gồm có các công đoạn nào không?
Các công đoạn: điều tra khảo sát, phân tích hệ thống, 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. PHÁT TRIỂN PHẦN MỀM LÀ GÌ?
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).
Phát triển phần mềm gồm các công việc: đ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.
Câu hỏi (trang 161)
Theo em điều nào là đúng nhất trong các điều sau khi nói về phát triển phần mềm?
A. Phát triển phần mềm là lập trình.
B. Phát triển phần mềm là quá trình gồm nhiều công việc và hoạt động.
C. Phát triển phần mềm là quá trình gồm nhiều công việc và hoạt động, có thể lặp đi lặp lại.
D. Phát triển phần mềm là quản trị dự án phần mềm.
Đáp án C
Đáp án C đầy đủ và đúng nhất khi nói về phát triển phần mềm.
Hoạt động 2 Tìm hiểu về các vị trí trong phát triển phần mềm
Theo em, phát biểu “tất cả những người phát triển phần mềm đều có vai trò như nhau” là đúng hay sai?
- Phát biểu đó sai.
- Mỗi người phát triển phần mềm có những vai trò riêng tuỳ vào hoạt động của họ trong công việc, có 3 hoạt động chính: lập trình, tổ chức phát triển phần mềm và quản trị dự án phát triển phần mềm.
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à:
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.
Câu hỏi (trang 163)
Hãy ghép mỗi hoạt động phát triển phần mềm ở cột trái với tố chất ở cột phải cho thích hợp.
Hoạt động | Tố chất |
1) Lập trình (viết code). 2) Phân tích và thiết kế hệ thống. 3) Quản lí dự án. | a) Cẩn thận, tỉ mỉ. b) Có khả năng học hỏi, tìm hiểu nghiệp vụ của lĩnh vực ứng dụng. c) Có kiến thức toán, thuật toán tốt. d) Làm chủ được ngôn ngữ lập trình. e) Hiểu biết công nghệ. g) Có tầm nhìn, kĩ năng tổ chức và điều phối nguồn lực. |
1) ghép với a); c); d)
2) ghép với b); c)
3) ghép với e); g)
Hoạt động 3 Công việc của người phát triển phần mềm
Em có biết làm thế nào để trở thành người tham gia phát triển phần mềm? Theo em có những cơ hội nghề nghiệp nào cho người phát triển phần mềm?
- Để 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 ở vị trí kĩ sư phần mềm, cần theo học đại học về tin học hay công nghệ thông tin.
- Cơ hội việc làm:
+ Lập trình ứng dụng.
+ Phát triển giao diện người dùng.
+ Phát triển ứng dụng trên web,…
+ Lập trình trí tuệ nhân tạo.
+ Phát triển games.
+ Phát triển ứng dụng di động.
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.
Câu hỏi (trang 122)
1. Em đánh giá thế nào về cơ hội nghề nghiệp trong tương lai đối với nghề phát triển phần mềm?
2. Theo em, người tốt nghiệp các trường đại học về công nghệ thông tin có thể làm những công việc gì? Cho những đơn vị như thế nào?
1. Trong bối cảnh cách mạng khoa học 4.0, có rất nhiều cơ hội nghề nghiệp đa dạng đối với nghề phát triển phần mềm.
2. - Công việc có thể làm: lập trình viên, kiểm duyệt chất lượng phần mềm, chuyên viên phân tích hệ thống, chuyên gia quản lí, kinh doanh, giảng dạy và nghiên cứu về công nghệ thông tin,…
- Đơn vị: các công ty, tập đoàn về công nghệ thông tin, công ty sản xuất, lắp ráp thiết bị phần cứng, các trường đại học, cao đẳng,…
1. Mô tả quy trình phát triển phần mềm.
2. Theo em, để theo học ngành phát triển phần mềm, em cần chuẩn bị tốt những môn học nào?
3. Hãy liệt kê một vài phần mềm ứng dụng mà em biết.
1. Quy trình phát triển phần mềm: đ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.
2. Các môn học cần chuẩn bị: Toán, Tin học, Vật lí, Ngoại ngữ,…
3. Một số phần mềm ứng dụng mà em biết: Word, Excel, Powerpoint,…
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
Luyện tập
Làm phần VẬN DỤNG (SGK trang 164)
Các em làm 10 câu hỏi trắc nghiệm Online để củng cố bài.
1. Đăng nhập vào trang thaycai.net
2. Nháy chuột vào Học Online
3. Nháy chuột vào 2. Ôn bài vui nhộn tin học 10 – sách Kết nối tri thức
4. Nháy chuột vào 34. Trắc nghiệm: Bài 34-Nghề phát triển phần mềm.