Computer hardware and software, both are equally important. Hardware forms the computer, and software let it work.

Notes with worthy tutorials
Computer hardware and software, both are equally important. Hardware forms the computer, and software let it work.
Software specification or requirements engineering is one of the four activities of software process. In software specification, the task is to identifying and defining the services to be provided from the system and what are the constraints in the operations of the system and in the development of the system.
Risk management is a series of steps that help a software team to understand and manage uncertainty. It’s a really good idea to identify it, assess its probability of occurrence, estimate its impact, and establish a contingency plan that─ ‘should the problem actually occur’. Risk management is a part of umbrella activities.
Software project management is an essential part of software engineering. However, good management won’t guarantee success, but bad management results in project failure. Software managers are responsible for planning and scheduling development. They supervise the work to ensure that it is carried out to the required standards and monitor progress to check that the development is on time and within budget. Software engineering is different from other types of engineering in a number of way which particularly makes software engineering difficult.
Software development is totally a layered technology. That means, to develop software one will have to go from one layer to another. The layers are related and each layer demands the fulfillment of the previous layer. Figure below is the upward flowchart of the layers of software development.
Steps of Software Development: A software development process is a structure imposed on the development of a software product. Software development is a detailed process. It includes many steps which is dependent on the software to develop. But the main steps of a software development process have been discussed below.
Software, by definition, is a collection of computer programs, procedures and documentation that performs different tasks on a computer system. There are many types of software and this is increasing with the development of technology. Some of these types are described below.
It is often said that Software is engineered or developed but not manufactured. Although some similarities exists between software development and hardware manufacturing, the two activities are fundamentally different. Software is a design of strategies, instruction which finally perform the designed, instructed tasks. And a design can only be developed, not manufactured. On the other hand, design is just a material of hardware.
Before we learn about why software does not “wear out”, lets learn about the state “wear out”. When something is no longer of any use, it reaches the “wear out” state. That is, it can not perform the function it was built for. For example, a printer reaches “wear out” state it can’t print anymore. This doesn’t include the recycling options. One make use of a dead printer to do anything else but printing.
Software is a collection of executable instructions that can be executed by computer devices to perform instructed task or tasks. However, non-executable resources and data can also be referred as software.
Engineering of software is the establishment and use of sound engineering principles in order to obtain economical software that is reliable and work efficiently on real machines.