SlideShare a Scribd company logo
1 of 18
Download to read offline
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
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?
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ử
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
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
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)
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
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
The Seam model
Preprocessing Seams
Link Seams
Object Seams
Wiki danh sách các design pattern
https://en.wikipedia.org/wiki/Software_design_pattern#Classification_and_list
Design pattern
Architectural pattern
Onion Architecture
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
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
Giải đáp thắc mắc chung
XIN CÁM ƠN
THẦY VÀ CÁC BẠN
ĐÃ THEO DÕI
Liên hệ:
Chung Vĩnh Khang
chungvinhkhang@live.com

More Related Content

What's hot

Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Nhật Nguyễn Khắc
 
Sinh viên IT học và làm gì để không thất nghiệp
Sinh viên IT học và làm gì để không thất nghiệpSinh viên IT học và làm gì để không thất nghiệp
Sinh viên IT học và làm gì để không thất nghiệpHuy Hoàng Phạm
 
Hành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHuy Hoàng Phạm
 
Lộ trình học lập trình Android, iOS cơ bản
Lộ trình học lập trình Android, iOS cơ bảnLộ trình học lập trình Android, iOS cơ bản
Lộ trình học lập trình Android, iOS cơ bảnHồng Duy
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
 
Các loại nghề Công nghệ Thông tin - Học gì lương cao
Các loại nghề Công nghệ Thông tin - Học gì lương caoCác loại nghề Công nghệ Thông tin - Học gì lương cao
Các loại nghề Công nghệ Thông tin - Học gì lương caoVu Hung Nguyen
 
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVu Hung Nguyen
 
Khoa hoc lap trinh winform
Khoa hoc lap trinh winformKhoa hoc lap trinh winform
Khoa hoc lap trinh winformMinh Huy
 
Live chym kysubrse vs toidicodedao
Live chym kysubrse vs toidicodedaoLive chym kysubrse vs toidicodedao
Live chym kysubrse vs toidicodedaoHuy Hoàng Phạm
 

What's hot (11)

Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?Livestream - Học lập trình là học gì?
Livestream - Học lập trình là học gì?
 
Sinh viên IT học và làm gì để không thất nghiệp
Sinh viên IT học và làm gì để không thất nghiệpSinh viên IT học và làm gì để không thất nghiệp
Sinh viên IT học và làm gì để không thất nghiệp
 
Hành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơHành trình trở thành web đì ve lốp pơ
Hành trình trở thành web đì ve lốp pơ
 
Automation Testing & TDD
Automation Testing & TDDAutomation Testing & TDD
Automation Testing & TDD
 
Lộ trình học lập trình Android, iOS cơ bản
Lộ trình học lập trình Android, iOS cơ bảnLộ trình học lập trình Android, iOS cơ bản
Lộ trình học lập trình Android, iOS cơ bản
 
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1
 
Các loại nghề Công nghệ Thông tin - Học gì lương cao
Các loại nghề Công nghệ Thông tin - Học gì lương caoCác loại nghề Công nghệ Thông tin - Học gì lương cao
Các loại nghề Công nghệ Thông tin - Học gì lương cao
 
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTTVuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
Vuhung xDay4 Định hướng nghề nghiệp cho người làm nghề CNTT
 
Khoa hoc lap trinh winform
Khoa hoc lap trinh winformKhoa hoc lap trinh winform
Khoa hoc lap trinh winform
 
Live chym kysubrse vs toidicodedao
Live chym kysubrse vs toidicodedaoLive chym kysubrse vs toidicodedao
Live chym kysubrse vs toidicodedao
 
Clean code
Clean codeClean code
Clean code
 

Similar to Seminar apply OOP in maintain software

05_Project_management.ppt
05_Project_management.ppt05_Project_management.ppt
05_Project_management.ppttienlqtienlq
 
Quản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdQuản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdLNhtQuang11
 
Định hướng nghề nghiệp Tester NIIT - ICT Hà Nội
Định hướng nghề nghiệp Tester NIIT - ICT Hà NộiĐịnh hướng nghề nghiệp Tester NIIT - ICT Hà Nội
Định hướng nghề nghiệp Tester NIIT - ICT Hà NộiNIIT - ICT Hà Nội
 
đồ áN thiết kế web tuyển dụng sử dụng asp.net
đồ áN thiết kế web tuyển dụng sử dụng asp.netđồ áN thiết kế web tuyển dụng sử dụng asp.net
đồ áN thiết kế web tuyển dụng sử dụng asp.netnataliej4
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggHngPhmTh35
 
Câu hỏi phỏng vấn.pdf
Câu hỏi phỏng vấn.pdfCâu hỏi phỏng vấn.pdf
Câu hỏi phỏng vấn.pdfGrowup Work
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...VTrung46
 
Itlc2015
Itlc2015Itlc2015
Itlc2015Huy Do
 
Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Vu Hung Nguyen
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmPhạm Trung Đức
 
MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123LnNguynThnh4
 
Kien thuc Tuyen dung IT 2023.pdf
Kien thuc Tuyen dung IT 2023.pdfKien thuc Tuyen dung IT 2023.pdf
Kien thuc Tuyen dung IT 2023.pdfKhoa Nguyễn
 
10 buoc tro thanh lap trinh vien chuyen nghiep
10 buoc tro thanh lap trinh vien chuyen nghiep10 buoc tro thanh lap trinh vien chuyen nghiep
10 buoc tro thanh lap trinh vien chuyen nghiepVo Duc Thien
 
mo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdfmo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdfZACNguyenHoang
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềmLượng Võ Đại
 
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệpPhạm Văn Hưng
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptxTunTrung15
 

Similar to Seminar apply OOP in maintain software (20)

05_Project_management.ppt
05_Project_management.ppt05_Project_management.ppt
05_Project_management.ppt
 
Quản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdQuản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasd
 
Định hướng nghề nghiệp Tester NIIT - ICT Hà Nội
Định hướng nghề nghiệp Tester NIIT - ICT Hà NộiĐịnh hướng nghề nghiệp Tester NIIT - ICT Hà Nội
Định hướng nghề nghiệp Tester NIIT - ICT Hà Nội
 
đồ áN thiết kế web tuyển dụng sử dụng asp.net
đồ áN thiết kế web tuyển dụng sử dụng asp.netđồ áN thiết kế web tuyển dụng sử dụng asp.net
đồ áN thiết kế web tuyển dụng sử dụng asp.net
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
 
Câu hỏi phỏng vấn.pdf
Câu hỏi phỏng vấn.pdfCâu hỏi phỏng vấn.pdf
Câu hỏi phỏng vấn.pdf
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
 
Pbc day-01-introduction
Pbc day-01-introductionPbc day-01-introduction
Pbc day-01-introduction
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
 
Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)Phong cách phát triển mở (MHST 2014)
Phong cách phát triển mở (MHST 2014)
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềm
 
MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123
 
Kien thuc Tuyen dung IT 2023.pdf
Kien thuc Tuyen dung IT 2023.pdfKien thuc Tuyen dung IT 2023.pdf
Kien thuc Tuyen dung IT 2023.pdf
 
10 buoc tro thanh lap trinh vien chuyen nghiep
10 buoc tro thanh lap trinh vien chuyen nghiep10 buoc tro thanh lap trinh vien chuyen nghiep
10 buoc tro thanh lap trinh vien chuyen nghiep
 
mo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdfmo-hinh-phat-trien.pdf
mo-hinh-phat-trien.pdf
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềm
 
Lecture01
Lecture01Lecture01
Lecture01
 
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệp
 
Arrowjs.io
Arrowjs.ioArrowjs.io
Arrowjs.io
 
01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx01.1-Quy trinh phat trien phan mem.pptx
01.1-Quy trinh phat trien phan mem.pptx
 

Seminar apply OOP in maintain software

  • 1.
  • 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
  • 11.
  • 12. The Seam model Preprocessing Seams Link Seams Object Seams
  • 13. Wiki danh sách các design pattern https://en.wikipedia.org/wiki/Software_design_pattern#Classification_and_list Design pattern
  • 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
  • 17. Giải đáp thắc mắc chung
  • 18. XIN CÁM ƠN THẦY VÀ CÁC BẠN ĐÃ THEO DÕI Liên hệ: Chung Vĩnh Khang chungvinhkhang@live.com