Is A Collection Of: Computer Programs Data Computer
Is A Collection Of: Computer Programs Data Computer
software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it In other words software is a set of programs, procedures, algorithms and its documentation. software "cannot be touched" .Software is also sometimes used in a more narrow sense, meaning application software only. Application software includes end-user applications of computers such as video games etc.
The software: provides good product with useful information transforms the data so that it can be more useful in a local context manages business information to enhance competitiveness provides a gateway to worldwide networks like internet The role of computer software has undergone significant change over a time span of little more than 50 years. Software is a logical related rather than a physical system. So that the software have distinct characteristics but the hardware is not so, it is only the peripherals or devices or components software evolution pattern=where||why||what||when||how||by whom where Quality engineer why Error What GUI When component test
CHANGING NATURE OF SOFTWARE The following are the attributes of a good software--1: Software is developed or engineered, it is not manufactured in the Classical Sense. Although some similarities exist between software development and hardware manufacture, the two activities are fundamentally different. In both the activities, high quality is achieved through good design, but the manufacturing phase for hardware can introduce quality problems that are or easily corrected for software. Both the activities are dependent on people, but the relationship between people is totally varying.These two activities require the construction of a "product" but the approaches are different. Software costs are concentrated in engineering which means that software projects cannot be managed as if they were manufacturing. The reusability values are determined in the software. In the recent trend the main aim is t rely on the reusable components. And if analysed in the terms of Objected oriented programming refer to the checkboxes, drop down menus, buttons and layouts etc.
2: Software does not wear out The figure shows the relationship between failure rate and time. Consider the failure rate as a function of time for hardware. The relationship is called the bathtub curve, indicates that hardware failure rates early in its life, failure rate drops to a steady-state level for some period of time. As time passes, however, the failure rate rises again as hardware components suffer from affects of dust, vibration , temperature , and many other environmental factors.So, stated simply, the hardware begins to wear out.
Software is not affected by the environmental factors that cause hardware to Wear out. In theory, therefore, the failure rate curve for software should take the form of the idealized curve like a zigzag form. However, the implication is clear software doesn't wear out. But it does deteriorate. Before the curve can return to the original steady-state failure rate.. Slowly, the minimum failure rate level begins to risethe software is deteriorating due to change. When a hardware component wears out, it is replaced by a spare part unlike the software spare parts. The software failure indicates an error in design or in the process through which design as translated into machine executable code. Therefore, software maintenance involves more complexity than hardware maintenance
3: Although the industry is moving toward component-based assembly, most software continues to be custom built A software component should be designed and implemented so that it can be reused in many different programs. In the 1960s, we built scientific subroutine libraries that were reusable in a broad array of engineering and scientific applications. These subroutine libraries reused well-defined algorithms in an effective manner but had a limited domain of application and not extended algorithm only but included data structure too. Modern reusable components encapsulate both data and the processing applied to the data, enabling the software engineer to create new applications from reusable parts. RESUABILITY According to the IEEE standard reusability is defined as the degree to which the software module or the other work product can be used in more than one computing program or software System. It acts as an source code that can be used again to add new functionalities with slight or no modifications. This Reusability enables to create new applications for the software engineers. The advantages of Reusability are--1. Increases software reliability 2. Reduces the processing Risk 3. System development is made faster
Steps involved in the Reusability process are ---1. Start 2. Define 3. Identify 4. Selection 5. Find 6. Undestand 7. Incorporate 8. Testing 9. Confirmation SOFTWARE APPLICATIONS The various categories of software applications are: 1.System software: A collection of programs written to service other programs are called system software. Examples are compilers, editors, and file management utilities. Other systems applications such as operating system components, drivers etc process largely indeterminate data. 2.Real-time software: Software that monitors, analyzes and controls real-world events as they occur is called real time. Elements of real-time software include a data gathering component that collects and formats information from an external environment. A analysis component that transforms information as required by the application. A control/output component that responds to the external environment, and a monitoring component that coordinates all other components so that real-time response can be maintained. 3.Business software: The largest single software application area is Business information processing. Applications in this area restructure existing data in a way that facilitates business operations or management decision making. In addition to that conventional data processing application, business software applications also encompass interactive computing. 4.Engineering and scientific software: Engineering and scientific software have been characterized by many algorithms. Applications range from astronomy to volcanology.However, modern applications within the engineering and scientific area are moving away from conventional numerical algorithms. Computer-aided design, system simulation, and other interactive applications have begun to take on real-time and system software characteristics. 5.Embedded software: Embedded software resides in read-only memory. It is used to control products and systems for the consumer and industrial markets. Embedded software can perform very limited such as keypad control for a microwave oven or provide significant function and control capability like digital functions in an automobile such as fuel control, dashboard displays, and braking systems.
6.Personal computer software. The personal computer software is playing major role in the software market. The sample applications are word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, external network, and database access. 7.Web-based software. The Web pages retrieved by a browser are software that incorporates executable instructions like HTML, Perl, or Java and data may be in the form of hypertext and a variety of visual and audio formats. In essence, the network becomes a massive computer providing an almost unlimited software resource that can be accessed by anyone with a modem. 8.Artificial intelligence software. Artificial intelligence software makes use of non numerical algorithms to solve complex problems that are not willing to computation .Expert systems, also called knowledge based systems, pattern recognition like image and voice, artificial neural networks, theorem proving and game playing is representative of applications within this category.