2. Nội dung chính
1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
2) Vòng đời phát triển phần mềm
3) Đặc điểm của dự án bảo trì phần mềm
4) Tình huống vận dụng kỹ năng OOP đơn giản
5) Tình huống vận dụng kỹ năng OOP phức tạp
6) The Seam model
7) Design Pattern và Architectural Pattern
8) Lộ trình phát triển nghề Lập trình
3. 1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
• Sinh viên nên tìm hiểu nhu cầu thị trường lao động sớm nhất có thể
• Câu hỏi:
Sau khi ra trường, bạn sẽ làm nghề gì?
Nghề đó công ty nào đang tuyển?
Yêu cầu công việc như thế nào?
Nhiệm vụ của vị trí đó là gì?
Mức lương cho công việc đó có thể bao nhiêu?
4. 1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
• Dễ dàng có thể nắm bắt thông tin từ các trang tìm việc liên quan tới
ngành IT trong và ngoài nước:
ØVietnamworks.com
ØtopITworks.com
ØITViec.com
ØLinkedin.com/jobs
ØStackoverflow.com/jobs
Điểm chung:
Yêu cầu:
- Yêu cầu đọc/hiểu yêu cầu khách hàng/cấp trên
- Thành thạo ít nhất 1 ngôn ngữ lập trình
- Có kiến thức nền tàng chắc chắn: OOP, Database, Web
- Tiếng Anh
Công việc:
• Đọc hiểu yêu cầu – Lập trình – Kiểm thử
5. 2) Vòng đời phát triển phần mềm
Thị trường Software ở VN
- theo báo cáo thống kê của Vietnamwork 2017
6. 3) Đặc điểm của dự án bảo trì phần mềm
• Định nghĩa của bảo trì phần mềm: Xem ISO/IEC/IEEE 14764.
• 1 vài ví dụ để hiểu bảo trì phần mềm
Phải làm việc với source code đã tồn tại
Work with Legacy Code
7.
8. 3) Đặc điểm của dự án bảo trì phần mềm
• 4 lý do phải thay đổi code:
• Thêm tính năng
• Sửa lỗi
• Cải tiến thiết kế
• Tối ưu việc sử dụng tài nguyên
Con người hay mắc sai lầm. Nên phải các bước kiểm tra xung quanh
chỗ ta thay đổi code
Quy trình khi thay đổi code:
• Tìm điểm cần thay đổi
• Tìm cách kiểm tra
• Tách sự phụ thuộc
• Lên phương án kiểm tra (Viết test)
• Lập trình thay đổi và tái cấu trúc (Refactoring)
9. 4) Tình huống vận dụng kỹ năng OOP đơn giản
Giới thiệu mã nguồn demo
Phần mềm quản lý khách sạn
https://github.com/chungvinhkhang/seminar-
apply-oop-to-maintenance-demo
10. 4) Tình huống vận dụng kỹ năng OOP đơn giản
Thực hiện những công việc sau cho dự án
phần mềm quản lý khách sạn:
a) Sửa lỗi không search ra được khách bằng tên khi nhập
chữ thường
b) Đổi quy tắc sinh mã khách bằng quy tắc lấy 4 số cuối sdt
+ chữ cái đầu tiên từ cuối cùng của khách
c) Thêm tính năng search khách theo số điện thoại và giới
tính
15. 8) Lộ trình phát triển nghề lập trình
Lập trình Backend Lập trình FrontendLập trình Fullstack
Lập trình viên cao cấp (Senior Developer)
Trưởng nhóm kỹ thuật (Tech lead)
Quản lý dự án, sản phẩmKỹ sư trưởng
CTO, cố vấn công nghệ Giám đốc, trưởng phòng
Thực tập / Lập trình tập sự (Associate Developer)
Trưởng nhóm (Team lead)
Trưởng Marketing
Trưởng R&D
Kiến trúc sư giải pháp
Kỹ sư dữ liệu
Nhà khoa học dữ liệu
16. Tài liệu tham khảo
• P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering
Body of Knowledge, Version 3.0, IEEE Computer Society,
2014; www.swebok.org.
• Michael C. Feathers, Working Effectively with Legacy Code. 2004