All About Software Engineering, Part 2

Basic Principles of Software Development

Gamze Yılan
3 min readMar 26, 2021

While the techniques and tools you will have to use depends on the type of software you’re developing and the needs of it, there are some basic principles that can be applied to all things software.

Principle 1: Although the development process might change depending on the type of the software we are developing, all software must still be developed using development processes that are easy to understand and manage.

Principle 2: Safety, dependability and performance are criterions that should be prioritized by all types of software.

Principle 3: The description and the requirements of the software to be developed should be easy to understand and manage. You know: your manager wouldn’t want to pay for you to build a program that he doesn’t understand what exactly will do, nor would they pay for your work environment expenses if you are not willing to compromise.

Principle 4: Unless if it’s very much necessary to develop a new one, you should try to use the already existing software. No need for a waste of time and resources, right?

Software Engineering & Web

Nowadays, there are more software running on web rather than the local systems such as personal computers and organizations prefer web over any other alternative. The reasoning behind is; web applications allow the users to reach the functionality of any application through web, without having to download anything or set up an entire environment. With the help of the cloud IT services, for example, the users can access the applications running on a remote computer and pay for their usage statistics instead of actually buying a software. This of course saves time, money, memory space and many other limited resources and therefore is highly preferred.

Here are the key points to consider while developing a web application;

  • While building web-based systems, it’s still important to use the existing software instead of creating new ones as much as you can.
  • Web applications should be developed and put up for use piece by piece. Experience shows that with this type of applications, it isn’t really effective to try and calculate the requirements of the project beforehand for that there will be many more that couldn’t be foreseen.
  • The browser matters. The user interface can only do what the browser allows it to do.
  • The application should be easy to develop, run and change. Although some technologies such as AJAX allows the developer to create beautiful, high-end user interfaces the software built using this are still hard to develop and run on some browsers. Which is why it’s more popular of an approach to use local-run scripts and design web forms.
  • A bunch of computers working together and appearing to the end-user as one single computer (think of the servers) is called a distributed system. Web applications are complex distributed systems, however, the basic principles of software engineering are still valid even on such systems.

Software engineering is an engineering field that covers all about software production. The very basic qualities expected for a software system to meet are sustainability, reliability and safety, efficiency and acceptability. The four processes of description, development, verification and evolution exist for all types of software and these basic concepts of software engineering can be applied to all forms of system engineering. There are many types of systems, and each require the right engineering tools and techniques.

--

--