Các công cụ bảo trì có thể được phân lại theo các chức năng sau:
100% Mẫu trên giấy
Soạn thảo màn hình
PRO/SIM tools
CASE có công cụ tạo mẫu
CASE có khả năng sinh mã
Mức độ áp dụng mẫu trong quá trình phát triển phần mềm ứng dụng 0%
+ Thiết kế ngược với các công cụ đặc trưng. + Các công cụ phân tích và cấu trúc lại mã. + Các công cụ kiến tạo lại hệ thống trực tuyến.
Các công cụ thiết kế ngược: Các công cụ thiết kế ngược tiến hành tạo lại các phân tích ban đầu trên cơ sở các chương trình đã tồn tại. Các công cụ này cũng có thể phân ra loại tĩnh và động.
Một công cụ thiết kế ngược dùng mã nguồn như đầu vào và phân tích lấy ra kiến trúc chương trình, cấu trúc điều khiển, luồng logic, cấu trúc dữ liệu, luồng dữ liệu. Các công cụ thiết kế phụ thuộc (Dependency analysis tools) tiến hành phần lớn các chức năng trên, ngoài ra nó còn xây dựng sơ đồ graphic biểu diễn sự phụ thuộc chỉ sự liên kết giữa các cấu trúc dữ liệu, khối chương trình, và các đặc tính khác của chương trình.
Các công cụ thiết kế ngược quan sát phần mềm khi nó chạy và sử dụng các thông tin nhận được để xây dựng mô hình dáng điệu của chương trình. Mặc dù chúng ít được dùng nhưng cần thiết cho việc bảo trì các chương trình thời gian thực hoặc được nhúng trong hệ thống khác.
Các công cụ thiết kế: Các công cụ thiết kế lại có thể chia làm hai nhóm: công cụ cấu trúc lại mã, công cụ thiết kế lại dữ liệu.
Các công cụ cấu trúc mã lại nhận mã nguồn phi cấu trúc như là đầu vào, tạo thiết kế ngược, sau đó cấu trúc lại mã mới. Mặc dù các công cụ như vậy có thể hữu ích, chúng chỉ tập trung trong việc thiết kế thủ tục của chương trình.
Các công cụ thiết kế lại dữ liệu làm việc tại cực kia của thiết kế. Các công cụ như vậy truy nhập định nghĩa dữ liệu hoặc cơ sở dữ liệu được mô tả trong ngôn ngữ lập trình hoặc ngôn ngữ mô tả cơ sở dữ liệu. Sau đó nó chuyển sang dạng biểu diễn graphic có thể phân tích được bởi kỹ sư phần mềm.
Tương tác với các công cụ thiết kế lại, kỹ sư phần mềm có thể thay đổi cấu trúc của cơ sở dữ liệu, chuẩn hoá dữ liệu, sau đó tự động sinh mã mới. Các công cụ có thể sử dụng hệ chuyên gia.