UML là ngôn ngữ mô hình hóa thống nhất, biểu diễn các đối tượng thực bằng các ký hiệu trực quan. Một mô hình UML gồm nhiều biểu đồ thể hiện các khía cạnh khác nhau của hệ thống. OCL được sử dụng để mô tả các ràng buộc cho các đối tượng của mô hình UML. Một cách để kiểm tra sự đúng đắn của mô hình UML là chuyển đổi mô hình UML sang đặc tả Alloy và sử dụng công cụ Alloy Analyzer để phân tích tự động. Khóa luận này giới thiệu về UML, OCL, Alloy.