Mẫu 4 – Cut and Paste

Mẫu Copy-and-Paste thường xảy ra trong việc sử dụng lại mã nguồn kiểu hộp trắng, có nghĩa là sao chép mã nguồn từ chương trình này qua chương trình khác khi muốn mở rộng tính năng của hệ thống

– Lập trình theo hình thức mô đun không được thể hiện rõ ràng,

– Thiếu kiến thức cũng như kinh nghiệm trong lập trình hướng đối tượng, chẳng hạn như: tính thừa kế, quan hệ composition và các chiến lược phát triển khác

Mẫu 2 – Boat Anchor

Mẫu Boat Anchor là mã nguồn phần mềm hoặc phần cứng không phục vụ vào mục đích nào của dự án hiện tại. Boat Anchor thường gây ra tốn kém, do ban đầu dự án có nhu cầu cần mua hoặc sử dụng các mô đun phần mềm hoặc thiết bị phần cứng nhưng cuối cùng thì không dùng đến

Mẫu 1 – Ambiguous Viewpoint

Khi phân tích và thiết kế mô hình hướng đối tượng (OOA & D) thường người phân tích thiết kế không diễn tả rõ được hết những góc nhìn của mô hình. Ngầm định, mô hình OOA & D trình bày quan điểm thực hiện nhưng mô hình này thường ít quan trọng bằng các mô hình khác. Nếu chúng ta dùng tổng hợp giữa các mô hình thì không cho phép tách rời được giữa giao diện và mã nguồn

Anti-Pattern – Giới thiệu

Các hệ thống phần mềm xu hướng ngày càng khó hơn, đòi hỏi phần mềm đáp ứng nhiều tính năng tiện lợi hơn, điều đó dẫn đến độ phức tạp của hệ thống ngày càng lớn, khó để thiết kế và cài đặt hệ thống một cách đầy đủ, hợp lý. Một số nghiên cứu đã chỉ ra rằng, trung bình năm trong số sáu dự án phần mềm thất bại. Các yếu tố thất bại nhìn chung vi phạm một trong ba yếu tố hoặc cả ba yếu tố sau: chi phi cho dự án vượt quá ngân sách, dự án bàn giao trễ tiến độ hoặc là dự án bị hủy bỏ (khoảng một phần ba của dự án phần mềm bị hủy bỏ).

Lý do thất bại rất đa dạng, nhưng một trong các lý do được rút ra từ những thất bại của các dự án có điểm chung là sự thiếu kinh nghiệm và kiến thức chuyên môn trong giải quyết vấn đề của các thành viên dự án; Quản lý dự án, kiến trúc phần mềm và lập trình viên. Nguyên nhân chủ yếu là do không nắm bắt được những vấn đề sau:

  • Những sai lầm chung nhất trong thiết kế phần mềm là gì, làm sao để nhận biết và khắc phục,
  • Làm thế nào để sửa(viết lại) những phần mềm kém,
  • Dự án được thực hiện theo chu trình,làm thế nào chúng ta có thể đi lùi lại,
  • Làm thế nào để biết dự án đang đi chệch hướng (nguyên nhân do bởi hãng thứ 3, công ty cung cấp giải pháp thứ 3),
  • Các chuẩn công nghệ mới hay điểm giao thoa công nghệ sẻ giải quyết vấn đề hiện tại của dự án,
  • Dự án có dẫn đến thất bại,
  • Việc sử dụng lại mã nguồn (code reuse), đâu là điểm yếu trong việc sử dụng lại mã nguồn mà chúng ta cần phải tránh.

Trăn trở chung lớn nhất của các doanh nghiệp phần mềm là làm sao đảm bảo dự án thành công, sản xuất những phần mềm có chất lượng, thỏa mãn được những yêu cầu thay đổi thường xuyên của khách hàng. Xác định được những sai lầm nhất trong sản xuất phần mềm, đồng thời cung cấp các giải pháp để sửa lỗi phần mềm và tránh lặp lại những lỗi thường gặp trong tương lai là cốt lõi của mẫu phòng ngừa và kỹ thuật tái cấu trúc mã nguồn. Mẫu phòng ngừa và tái cấu trúc mã nguồn được dùng để mô tả và giải quyết những vấn đề thực tế, giải quyết được tất cả các câu hỏi chúng ta đặt ra ở trên.

  • Tái cấu trúc mã nguồn (refactoring) là quá trình thay đổi bên trong hệ thống nhằm làm sạch mã nguồn, giảm tối thiểu lỗi, dễ bảo trì mà không làm thay đổi chức năng của hệ thống. Sau khi tái cấu trúc, mã nguồn sẽ tinh gọn hơn, thiết kế cũng được cải tiến.
  • Mẫu phòng ngừa (AntiPatterns) là hình thức để mô tả các giải pháp thường đem lại kết quả xấu, việc này nguyên nhân thường do người quản lý hoặc lập trình viên hiểu biết vấn đề không tường tận; không đủ kiến thức hoặc thiếu kinh nghiệm trong việc giải quyết một số bài toán hoặc áp dụng sai mẫu thiết kế. Mẫu phòng ngừa là hình thức mô tả những lỗi thường gặp, nguyên nhân dẫn đến lỗi, dấu hiệu để nhận biết và kết quả của nó và áp dụng kỹ thuật tái cấu trúc mã nguồn để chuyển mã nguồn đó trở nên tốt hơn.