After studying this course you should be able to:
describe the essential characteristics, and identify, using examples, the connections between the characteristics of a good software system
describe the elements of a basic software development process and illustrate the variety of different life cycles
understand the motivation for, and best practices of, an agile approach to software development
explain the benefits of the Unified Modeling Language (UML) as a standard notation for modelling
identify the different kinds of model used in the development of software and describe the relationship between models, viewpoints and software development.