#Software engineering? Is it a #craft or an #engineeringdiscipline? Neither? Both?

Software engineering… ammm what?

Well I did some research about Software engineering is and apparently according to the Institute of Electrical and Electronics Engineers, software engineering means apply all the principals of engineering to the software developing field. But let’s get deeper about this, shall we?

Software engineering is the #discipline providing methods and tools for the construction of quality software with a limited budget and a given deadline, in the context of constant requirements change. It involves the obtaining of the system’s requirements, the specification of the system, its architectural and detailed design. In addition, the system needs to be verified and validated, a set of activities that commonly take more than 50% of all development resources. Testing techniques and tools, at different levels (unit, integration, system) are needed.

Why is Software Engineering Important? In most systems, including telecommunication systems, software is the overriding component in terms of cost and complexity. Good software engineering practices and tools can therefore make a substantial difference, even to the extent that they may be the driving force of the project success.

High-quality software is characterized by:

  • High dependability (including safety, security and reliability)
  • Efficiency
  • Usability
  • Accessibility
  • Maintainability

Current challenges in software engineering research and development include:

  • Dealing with the increased complexity of software required in new applications
  • The diversity of software systems that need to communicate/operate with each other
  • The need to develop trustworthy software
  • Increased market demands for a quick turnaround from concept to deployment and operation
  • The quest for increased efficiency in component-based reuse and automatic code generation.

So here’s a a video where it explains all in just about 3 minutes, enjoy.

And here are the links with the information above.

https://www.unr.edu/cse/prospective-students/what-is-software-engineering

http://www.softwareengineerinsider.com/articles/what-is-software-engineering.html#.V9IxW5PhBo4