Xây dựng phần mềm hướng đối tượng
Contents
1. Công nghệ phần mềm
1.1 Định nghĩa
Quá trình giải quyết các vấn đề của khách hàng bằng cách phát triển và phát triển có hệ thống các hệ thống phần mềm lớn, chất lượng cao với chi phí, thời gian và các ràng buộc khác
1.2 Giải quyết vấn đề của khách hàng
- Là mục tiêu của CNPM
- Đôi khi giải pháp là mua, không xây dựng lại
- Các tính năng không cần thiết thì sẽ không giải quyết được vấn đề. Vì vậy nên bám sát vào yêu cầu của khách hàng.
- Giao tiếp hiểu quả với xác định và hiểu được vấn đề
1.3 Thách thức khi làm việc nhóm
Thách thức khi làm việc nhóm là chia công việc cho nhau:
- Làm sao ráp lại thì hệ thống phải chạy mà không bị lỗi.
- Một thành viên trong nhóm bị sự cố (bị bệnh, nghĩ việc,…) phải làm sao cho phần đó được đảm bảo. Nếu tuyển người thì người mới phải hiều và tiếp tục được tiến độ dự án.
1.4 Các vị trí của công nghệ phần mềm
- Người dùng: người dùng hệ thống.
- Khách hàng: người trả tiền cho phần mềm.
- Người phát triển (lập trình viên).
- Người quản lý dự án.
Lưu ý: có thể 1 người đảm nhận cả 4 vị trí trên: vừa là người phát triển, vừa quản lý dự án, vừa là người dùng cũng là khách hàng.
1.5 Chất lượng phần mềm
- Khả năng sử dụng: tiếp cận sử dụng phần mềm nhanh và đem lại được hiệu quả.
- Hiệu quả (không lãng phí tài nguyên – CPU)
- Độ tính cậy: là tính chính xác
- Bảo trì
- Tái sử dụng
Những xung đột và mục tiêu của chất lượng phần mềm
- Những xung đột về chất lượng:
+ Tăng hiệu quả thì sẽ giảm khả năng bảo trì hoặc tái sử dụng. Ví dụ: các nhà mạng nếu bạn đòi hỏi mật khẩu modem thì nhà mạng khó bảo trì, kiểm tra, sửa chữa cho bạn từ xa.
+ Tăng khả năng sử dụng có thể làm giảm hiệu quả (tăng tính dễ sử dụng). - Chất lượng phải được đặt lên hàng đầu
+ Cần thiết kế để đáp ứng các mục tiêu
+ Tránh sử dụng những kỹ thuật cao làm lãng phí tiền bạc. - Tối ưu hóa khi cần thiết.
2. Các đường link
3. A guide student to object-oriented development
3.1 Chương 1: tổng quan
3.2 Chương 2: Xác định yêu cầu
3.3 Chương 3: Sơ đồ UseCase
Lỗi khi vẽ usecase: https://thinhnotes.com/chuyen-nghe-ba/use-case-diagram-va-5-sai-lam-thuong-gap/#3_Mot_so_sai_lam_pho_bien_khi_ve_Use_Case
3.4 Chương 4: Object and Class
3.5 Chương 5: The Class Diagram
3.6 Chương 6: The Class Diagram
3.7 Chương 7: State Diagrams
3.8 Chương 8: Activity Diagram
3.9 Chương 9: Design
Mô hình ERD tạo ra cơ sở dữ liệu, mô hình lớp cũng tạo ra cơ sở dữ liệu. Vậy tại sao lại cần xây dựng thêm mô hình lớp?
Trả lời: Hai mô hình ERD và mô hình lớp là giống nhau. Chỉ là khác tên gọi.
- ERD: Thực thể | Mô hình lớp: đối tượng
- ERD: Trường | Mô hình lớp: thuộc tính
Mô hình lớp ra đời sau do đó nó có nhiều ưu điểm hơn:
- Có thêm các phương thức
- Có tính đóng gói
- Có tính kê thừa
=>Do đó mô hình lớp hỗ trợ chúng ta khi code dễ dàng hơn.
Lưu ý: Khi xây dựng cơ sở dữ liệu sai thì không cần phải code, bởi vì code sẽ sai theo và phải làm lại từ đầu. Code chỉ là giao diện cho người dùng thao tác với cơ sở dữ liệu dễ dàng hơn thôi.
Thầy Nhan Minh Phúc
4. Code và báo cáo đồ án
Đề tài: xây dựng hệ thống quản lý thực tập tốt nghiệp cho bộ môn CNTT – Khoa Kỹ Thuật và Công nghệ – trường Đại học Trà Vinh.
Link drive: https://drive.google.com/drive