What is software Engineering
(Khawar Hafeez Paracha, Rawalpindi)
What is software Engineering
It is an engineering discipline.it is concerned with all the different aspects
of software production from the early stages to the last stage of the software
development. The developers apply different theories, methods and tools where
these are suitable in the process of making software. They provide the different
solution for the problems with in the organizational and financial constraints
.software engineering is not only concerned with technical steps of software
development but also concerned project management of product and also the tools
which are used for development. The developer adopts a systematic and organized
approach for their work to produce the quality product.
software engineering
Difference Between software engineering and computer science
Computer science concerned with the theories, method that underlie computers and
software systems. While software engineering is concerned with the practical
problems of the whole development process .From above definition it is clear
that these both are interconnected with each other. Some knowledge of computer
science is essential for software engineering for example physics is essential
for electrical engineers.
Difference Between software engineering and system engineering
Now as we all know that software engineering is concerned with the development
and evolution of software. While system engineering is concerned with different
hardware development . System engineer role is to specifying the system,
defining its overall architecture and integrating of different parts to create
the final system.
What are the key challenges facing software engineering
there are three key challenges
1. The heterogeneity challenge is increasingly because now days systems are
operate on many networks (distributed networks). So it is necessary to integrate
new software (product) with the older systems which are in different languages.
Heterogeneity is the challenge of developing product that is flexible enough to
cope with the heterogeneity.
2. The delivery challenge means software engineering take time for producing
quality product .But today business change very rapidly so the software also
change rapidly to meet the business requirements.so we conclude that delivery
challenge is the challenge of shortening delivery times for large and complex
system without compromise on the quality of the system.
3. The trust challenge is, to develop technique that demonstrate that product
can be trusted By its user.