1- Traditional of software engineering
2- Object-oriented software engineering
3- Component-based software engineering
4- Service-oriented software engineering
5- Agent-based software engineering.
6- Open source software engineering.
7- Distributed software engineering (Engineering of distributed/parallel software systems).
8- Run-time software engineering
9- Aspect-oriented software engineering.
10- Reverse Engineering
11- AI and Knowledge based software Engineering.
12- Web Engineering
13- Integration between component and service-oriented technologies.
14- Integration between service-oriented and agent technologies.
15- Integration between component and agent technologies.
16- Parallel programming languages and compilers.
17- Management of parallel processing systems
18- Grid computing (grid distributed systems)
19- Network management systems
20- Distributed systems Security and security engineering.
21- Remotely Administration of distributed databases.
22- Integration of heterogeneous distributed databases.
Items 1-12 concern with building software tools for each type of software engineering. The tools include: analysis tools, architecture and design tools, code generation tools, testing tools, maintenance tools, management tools, integration tools and middleware systems.