Software Technology
Software and hardware
A common definition of software is the multitude of programs that is provided with a computer or created after obtaining the computer. The part that comes with the computer contains the operating system, the drivers for the components and other useful programs.
When we talk about software we have to talk about hardware too, they go hand in hand. Hardware is the multitude of physical components or circuit network that forms a processing unit. The software cannot exist without hardware and the hardware cannot function without software technology. We can see a program as a stored amount of data and the hardware equipment as storage space. Actually the difference is not as big as it seems, for instance we can’t buy a Windows operating system if we don’t take the entire package, the operating system is stored on CD’s (the disks are the hardware in this case), some say that these disks are the “software”.
System software and applications
The system software is all that keeps the computer running, from operating systems to utility applications like drivers for the components, file management tools and so on. Computer applications are for the end-user, for example word processors, drawing programs, databases, picture viewers, games etc. These cannot be used if the system software is not installed.
What is software technology?
Software technology is the continuous development of programs that make possible and enhance the use of hardware equipments. The goal is the improvement of the interactivity that people have with computer systems, creating standards, improving software quality with the use of research, and in the end, having a big impact on the comfort of everyday life, making all types of work easier than ever before.
In its early times, software technology made and used by companies and distributed to consumers by the aid of their IT department including the services that are involved, in our days the growth of the Internet has made possible the permanent availability of any software product for immediate download, free or under cost and the services for any type of device has been accessible to anybody in easy way. . The combination of these two methods is what gives a new light to costumers, the classic service and the internet service. It helps the employees of the company also; a local services company has to always update the software while an internet based firm will work directly from the Internet. The limits are lifted, the employees can work not only when they are at the office, but they become available through internet on mobile devices. This is a short step to gain more time and new possibilities. This combination is helpful not only for the employees and customers but also for the managers and the developers of software technology.
Software engineering
Those people who are participating in the creation of software technology are known as software engineers and developers (programmers). The difference between engineers and programmers is the logical and preventive approach that engineers have contrary to the crafting and artwork that a programmer has the tendency to use.
For example as a programmer you cannot work from the artistic side on a project that involves systems from aircraft, nuclear reactors, or hospital hardware. These all require a high standard management in all stages because human lives depend on any error or bug that may exist in the final program. A software engineer can avoid many catastrophes if he/she works in a good team and has a good management of the coding. This type of engineering is related to another domain named software testing which ensures quality for products in terms of respecting schedules, error free software and a good market price.
How Does Software Technology Work?
The computer has internal hardware and external (the so called peripherals or input and output devices); these are physical things, touchable. Along with these comes the magical stuff that we only see on the monitor and we control with the peripherals, the thing called software, this is like an electronic interface that allows users to run the internal hardware or to use it for sophisticated applications that create virtual environments for the user. The electrical signals that are resulted from the combined work of all hardware equipment are projected on a screen and they are interactive with the user by the aid of peripheral devices.
Free, Open Source and Proprietary Software
The history of free software technology begins in the ‘50s when the hardware owners were happy if someone made a program for their equipment and the technology circulated free of charge and was shared between people later in the ‘60s and ‘70s. Then the cost of producing new programs was rising so there was a need for putting a price to the releases too. Products began to be licensed and editing was started to have restrictions. The open source programs have a special that allows users to view, edit and personalize the initial code made for them for the purpose of studying and enhancing it. The new content can be redistributed under the same license as the first product. The proprietary software is registered under a legal license that gives the owner exclusive rights for sale and distribution. The costumer does not have the rights to modify the product, reverse engineer it redistribute it.
These three types of software technology have also secondary or mixed uses but this is particular to every case and product.
Software testing
Part of the software technology is software testing, which is used for finding bugs to make the final product perfect for the requirements of the market. The testing is made to be objective and independent to avoid any risk before the implementation of the product. It is made in three distinct phases: 1) Checking the item to see if they fit to the requirements; 2) Bug finding; 3) Checking if the items are valid for what they are built. The real purpose of testing is not top quality, but gaining a confidence in the item by stressing it in the main areas of usage but testing does not provide all the details that would add in real life usage.