https://9pdf.org/document/qvl86njr-advanced-topics-in-software-engineering.html