Nhập môn công nghệ phần mềm | Tài liệu, cơ sở ngành CNTT
Nhập môn công nghệ phân mềm, nghe tên chắc chắc các bạn sẽ liên tưởng tới việc học môn này sẽ được các thầy dạy về code 1 phần mềm như nào và rồi bài tập lớn sẽ được làm 1 project về tạo một phần mềm nào đó nghe cũng đã thấy thích rồi. Thực chất nếu ai suy nghĩ như trên thì chỉ đúng được 1 phần nhỏ thôi. Môn này chúng ta sẽ được học 1 quy trình đầy đủ để tạo ra 1 phần mềm gồm rất nhiều bước không chỉ riêng gì bước xây dựng phần mềm bằng các ngôn ngữ lập trình, chúng ta sẽ phải:
- Đặc tả yêu cầu, phân tích yêu cầu, thương lượng với khách hàng
- Đặc tả chức năng, trạng thái,... bằng các biểu đồ như DFD, Use-case,...
- Thiết kế UI
- Xây dựng phần mềm
- Kiểm thử
Nói chung thì rất là lý thuyết, nhàm chán nhưng cũng là những thứ mà mình nghĩ là nên biết chút ít để biết đường sau có thể còn tìm hiểu tài liệu trên Google, chứ nếu không biết gì thì sau còn không cả biết cách search như nào.
Ngoài ra khi làm bài tập lớn môn này các bạn phải làm quen với rất nhiều công nghệ như là git để quản lý mã nguồn hay là một số công cụ để mô hình hóa khác. Bài tập lớn môn này thì là các bạn sẽ phải làm một phần mềm nha, tùy vào thầy/ cô và tùy vào kì học thì yêu cầu sẽ khác nhau với từng kì nhưng sẽ giống nhau cho các lớp. Thường thì sẽ là các thầy sẽ cho trước đề tài và các bạn sẽ phải xây dưng phần mềm để đáp ứng yêu cầu đó, và nên nhớ là không chỉ code đâu nha, các bạn còn phải đặc tả, vẽ use-case, DFD,... các kiểu, xong rồi test,... Mình sẽ nói rõ hơn ở phần dưới nha.
Môn này bạn có thể học thầy Tuấn, thầy dạy thì đều đều giọng nên rất buồn ngủ, tuy nhiên thì thầy cho điểm khá thoáng, chấm bài tập lớn cũng khá thoáng nên điểm cũng rất cao. Còn thầy Nguyễn Nhất Hải các bạn cũng có thể cân nhắc, nhưng thầy Hải cho điểm khá chặt nên điểm không được cao cho lắm.
Môn này thì nói chung rất là phong phú, kiến thức để học phải nói là cực nhiều, ôn thi bạn nên ôn thi theo hướng dẫn của thầy/ cô giáo chứ để đọc lại slide mà nhớ hết để thi chắc khó, các bạn có thể tham khảo 1 số tài liệu của mình dưới đây nha:
- Slide bài giảng môn NM CNPM - thầy Nguyễn Mạnh Tuấn: TẢI VỀ SLIDE
- Nhập môn CNPM Mindmap chương 1-2-3: TẢI VỀ MINDMAP
- Git cheat sheet: TẢI VỀ SHEET
- Một số đề các kì trước: TẢI VỀ ĐỀ THI
- Ngân hàng câu hỏi môn CNPM: TẢI VỀ NGÂN HÀNG CÂU HỎI
BÀI TẬP LỚN
Mình muốn nói qua về phần bài tập lớn này thôi, các bạn có thể xem qua 1 báo cáo về bài tập lớn TẠI ĐÂY và các bạn cũng có thể thấy là chúng ta cần phải làm rất nhiều việc và mỗi việc không phải chỉ làm qua loa mà phải chi tiết để ghi lại trong báo cáo này. Mẫu báo cáo các bạn sẽ được cho sẵn nên yên tâm phần này.
Ví dụ về 1 bài tập lớn, các bạn sẽ được cho một ngữ cảnh về 1 khu dân phố nào đó và có 7 yêu cầu cần làm cho tổ dân phố đấ ví dụ như là:
- Quản lý thông tin sổ hộ khẩu
- Quản lý thu phí, đóng góp
- Quản lý sử dụng nhà văn hóa
- Quản lý sinh hoạt, họp tổ dân phố
- Quản lý cấp phần thưởng
- Quản lý thông tin phản ánh, kiến nghị
- Quản lý thông tin phòng tránh COVID-19
Với đề tài (1) - "Quản lý thông tin sổ hộ khẩu" thì các bạn đã được các thầy/ cô cung cấp đầy đủ từ 1 file báo cáo đầy đủ tới 1 sản phẩm được bằng App sử dụng Java Swing. Các bạn được quyền lựa chọn các đề tài từ (2) tới (7) và phát triển từ App mà các thầy/ cô đã cung cấp ( có thể là sửa đổi từ App của thầy/ cô giáo) hoặc các bạn có thể tự làm 1 App mới có thể trên nền tảng Web hoặc App bằng bất cứ ngôn ngữ gì bạn muốn nha. Tuy nhiên, như mình nói là không chỉ ra sản phẩm các bạn còn phải làm rất nhiều việc để có 1 quy trình tạo ra phần mềm hoàn chỉnh và bước xây dựng phân mềm chỉ là 1 bước nhỏ mà hầu hết các bạn sẽ tập chung vào nó dẫn tới chểnh mảng các phần khác.
Các bạn có thể xem danh sách các BÀI TẬP TUẦN ở đây nha, từng tuần các bạn sẽ có những task riêng để hoàn thành và nó chính là một phần trong bài tập lớn của các bạn, sau chỉ cần kết hợp lại thôi (Bài tập tuần 1 sẽ bao gồm cả đề tài để cả nhóm lựa chọn).
Các bạn có thế lựa chọn công nghệ JavaFX cho sản phẩm của mình, nếu ai chưa biết có thể xem 1 bài chia sẻ của website về JavaFX TẠI ĐÂY nha.
anh vẽ Mindmap bằng gì thế ạ?
ReplyDelete