What is Software?
Software and Software Engineering is a branch of computer science. Software is a collection of data or computer instructions that tell the computer how to work. It is a set of instructions. In Computer Science and Software Engineering, computer software is all the information processed by computer systems, programs and data. Software Engineering combines two concepts, Software and Engineering.
It includes computer programs, libraries and related non-executable data, such as online documentation or digital data. Software is considered as an information transformer or producer irrespective of whether it resides within a smart phone or functions inside a mainframe computer.
Now-a-days the software becomes more sophisticated as well as complex because of various aspects such as spectacular improvements in hardware performance, tremendous up-gradations in computing architectures, huge enhancements in memory and storage capacity.
In an earlier era, an individual person can develop his own software easily. Now-a-days an entire team works for it in which every person is responsible for one part of the technology which is necessary to deliver a complex application.
- System Software
- Application Software
- Engineering Software
- Embedded Software
- Product-line Software
- Web Applications
- Artificial Intelligence Software
Advantages of Software
- The Company will get the exact software/system that they need.
- The software will work exactly how they want it to work.
- We can put various features in software as much as we want.
- Software are very easy to use as compare to other websites.
Disadvantages of Software
- Software takes a long time to develop.
- Softwares are costly if they consist of many features and licensed.
- It always require update after an interval of time.
- Company need to employ a team of people such as analysts or programmers to develop software.
What is Software Engineering?
Software Engineering combines two concepts, Software and Engineering. Above we have already mentioned that the software is a set of executed programs. Engineering is an application of knowledge and well defined principles to develop products.
It is a method of applying scientific and technological knowledge, procedures. It rules to design, develop and maintain the software product. Understanding the user requirements is the first most important activity in software engineering.
Without any standard method or management, it is difficult to address defects in the product and correct them as early as possible. Software engineering provides this functionality. It provides a way in which software system can be able to scale as needed in future.
It is the model for managing the creation of software from customer initiation to the release of the finished product. Software Process involves some methods are as follows:
(1) Requirement gathering and analysis : In this phase stakeholders communicate with customer and system users to gather the business requirements.
(2) Design Phase : This phase includes output of requirement gathering. Data Flow Diagram and Flow Chart are include in this phase for design specification document.
(3) Implementation Phase : This phase is the longest phase of system development. Output of this phase is actual code using specific programming language.
(4) Testing : It involves testing of actual code of system. Output of testing phase is corrected and modified software code.
(5) Deployment : Customer uses the software and give feedback to development team for modification in system in Deployment phase.
(6) Maintenance : It is responsibility of development team to solve users problem time to time.