The science of building and designing Piece of software with the best quality and performance . It lays from behind the analysis , design  modelling , prototyping, testing , evaluating and developing and delivering . UML Design, Use cases, class diagrams , sequence diagrams,, components diagrams . communication diagrams..