Software Engineering |
Software Engineering is an engineering discipline that is concerned with all aspects of software production. Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available. Software Engineering is still being debated by practitioners today as they struggle to come up with ways to produce software that is ” cheaper, better, faster “.
Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.
Software Engineers adopt a systematic and organized approach to their work, as this is often the most effective way to produce high-quality software. However, engineering is all about selecting the most appropriate method for a set of circumstances so a more creative, less formal approach to development may be effective in some circumstances. Less formal development is particularly appropriate for the development of web-based systems, which requires a blend of software & graphical design skills.
Software engineering is important for two reasons:
1. More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.
2. It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of systems, the majority of costs are the costs of changing the software after it has gone into use.
Open source software started to appear in the early 90s in the form of Linux and other software introducing the “bazaar” or decentralized style of constructing software.
Legal requirements for the licensing or certification of professional software engineers vary around the world. In the UK, the British Computer Society licenses software engineers and members of the society can also become Chartered Engineer (CEng), while in some areas of Canada, such as Alberta, Ontario and Quebec, software engineers can hold the Professional Engineer (P.Eng.) designation and or the Information System Professional [I.S.P] designation.
The IEE Computer Society and the ACM, the two main US – based professional organizations of software engineering, publish guides to the profession of software engineering.
Difference between Software Engineering and Computer Science |
Software Engineering is concerned with the practicalities of developing and delivering useful software; Computer science is concerned with theory and fundamentals. Computer Science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).
Difference between Software Engineering and System Engineering |
System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system.
Finally I likes to tell that
To become a software developer, you must should be know different programming language, high level Programming Language, graphic design including difficult mathematics, logical mathematics. Software engineer is not a small fact, that is large fact, but shortly say that a Software Engineer develop, evolution all hardware systems, software policy design – process of the complex system as well as analysis the software.
Try to respect to Software Engineer as well as all Engineers.