1.NounThe scientific analysis of systems, and the interactions within them.
2.NounA range of techniques used especially in commercial computing in which the needs of a company or its staff are analysed and translated into a technical description of the necessary software - which is then created by programmers.