Security is the ability of a software application to prevent and protect against malicious attacks and the unauthorized use of the application and its data. It involves protecting one of the most important assets that an organization can possess, which is information. Information assets include not just data but also things such as logs and source code. It is the responsibility of software architects and developers to protect software applications and data. When we are designing and developing software systems, this is why we must focus the proper amount of attention on security considerations.
Security is a quality attribute and, as is the case with other quality attributes that we have covered in this book, we must think about and document the requirements for quality attributes. Requirements for security must be specified and they must be precise,...