Friday, 11 May 2012

A Step Towards Software Engineering

I am sharing this for those professional who either not be a part of this industry or a fresher. I feel in my journey that everyone who belongs to this category having a common question, what is software engineering?

They know the answer of this basic question but sometime they can’t express same in their words, so here is the answer. If I’ll split these two words then what they mean individually. I guess in 21st century everyone will understand that what is a software, but when this term sounds with term “Engineering”, it gives an essence of an art, skill, profession, discipline and technology of acquiring and applying scientific, mathematical, economic, social and practical knowledge, in order to design and build structures, systems, and processes.

So now we are in shape to derive the definition of Software Engineering (SE).

This is an application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; i.e. the application of engineering to software. It is the application of engineering to software because it integrates significant mathematics, computer science and practices whose origins are in engineering. It is also defined as a systematic approach to the analysis, design, assessment, implementation, testing, maintenance and reengineering of software, i.e. the application of engineering to software.

In simple words we can say that it is an engineering discipline which is concerned with all aspects of Software Production from the early stages of system requirements through to maintaining the system after is has gone into use. Now here we’ll discuss few terms:

a)      Computer Science: It is concerned with the theories and methods which underlie computers and software systems.
b)     Software Engineering: SE is concerned with the practical problem of producing Software.
c)      Engineering Discipline: Engineers make things work. They apply theories, methods and tools that are appropriate but use them selectively and always try to discover solutions to problems even when there are not applicable theories and methods to support them. Engineers have to work to organizational and financial constraints.
d)     Software Engineering View: it is not just concerned with the technical process of software development but also with activities such as software project management and the development of tools, methods and theories to support software production.

At last we can say, Software Engineering is a discipline whose aim is the production of fault – free software that is delivered on time, within budget, and satisfies the user’s needs.

For more on history of Software Engineering please refer below path:

Aspects, Scope and Design pattern of Software Engineering would be shared in upcoming posts.

Regards,
Puneet

Software Testing Inception and Perception

Hello friends I am Puneet Rajpal, and this is my first post on my blog named “Software Testing Inception and Perception” as I create a new blog & newer to blogging I need your support and co-operation, and my blog is for the testing community. I would like to share my thoughts and opinions with all testing professionals. My intention behind starting this blog is to share knowledge and experience which I have learned in my career till now. I came to know that there is a big pool of testing knowledge but most of the times; it lost somewhere because we can’t handle it in an easy way. So I think about starting a blog, through this I can help others as well as can get reference through this blog at anytime & anywhere. Friends I need your support and guidance to make this blog a bible of testing. Thanks to all my seniors, colleagues and friends who encourage me and give their support to go ahead on this way. With their suggestions I am going to post my first article with anticipation of your comments and feedbacks.

Regards,
Puneet