find and solve || findandsolve.com
Please wait.....

Software Development Approaches

Computer software has become a driving force. It is the engine that drives business decision-making. It serves as the basis for modern scientific investigation and engineering problem-solving. it is a key factor that differentiates modern products and services.


It is embedded in systems of all kinds: transportation, medical, telecommunications, military, industrial processes, entertainment, office products, etc. Software is virtually inescapable in the modern world. And as we move into the twenty-first century, it will become the driver for new advances in everything from elementary education to genetic engineering.


Computer software is the product that software engineers design and build. It encompasses programs that execute within a computer of any size and architecture, documents that encompass hard-copy and virtual forms, and data that combine numbers and text but also includes representations of pictorial, video, and audio information.


Software is important because it affects nearly every aspect of our lives and has become pervasive in our commerce, our culture, and our everyday activities.


Software is generally built like you build any other successful product, by applying a process that leads to a high-quality result that meets the needs of the people who will use the product. We apply a software enginee­ approach to develop this product.


From the point of view of a software engineer, the work product is programs, documents, and data that are computer software. But from the user's point of view, the work product is the resultant information that somehow makes the user's world better.


Objective

Upon completion of this Unit, you should be able to:

• Understand the evolving role of software

• The evolving role of software

• Software characteristics and

• Software applications


The evolving role of software


Software's impact on our society and culture continues to be profound. As importance grows, the software community continually attempts to develop technologies that will make it easier, faster, and less expensive to b high-quality computer programs. Some of these technologies are targeted at specific application domains and others focus on a technology domain still others are more broad-based and focus on operating systems.


Today software takes on a dual role. It is a product and at the same ti'" the vehicle for delivering a product. As a product, it delivers the complete potential and as a vehicle used to deliver the product, the software acts as a basis for the control of the computer, the networks, and the creative control of other programs.


The software delivers the most important product of our time - information Software transforms personal data so that the data can be made rT' useful in a local context. It manages business information to enha· competitiveness. It provides a gateway to a worldwide information network and provides the means for acquiring information in all of its forms.


The role of computer software has undergone significant change over an h span of little more than 50 years. Dramatic improvements in hard, performance, profound changes in computing architecture, a vast increase in memory and storage capacity, and a wide variety of input and output options have all made it possible for a significant contribution of software to our day-to-day life.


Why does it take so long to get software developed?

Why are development costs so high?

Why can't we find all the errors before we give the software to the customer?

Why do we continue to have difficulty in measuring progress as software is being developed?


These are some of the common questions that we have been asking programmers in all the history of the software development era and we continue to ask them even now. This concern intact has led us to the adoption of software engineering practice.


Software characteristics


Software is a logical rather than a physical system element. Therefore the software has characteristics that are considerably different than those of hardware:

a) Software is developed or engineered, it is not manufactured in the classical sense.

b) Software doesn't "wear out".

c) Although the industry is moving toward component-based assembly, most software continues to be custom-built.


Software Applications


Software may be applied in any situation for which a prespecified set of procedural steps has been defined. Information content and determinacy are important factors in determining the nature of a software application. Content refers to the meaning and form of incoming and outgoing information. Software that controls an automated machine accepts discrete data items with limited structure and produces individual machine commands in rapid succession.


Information determinacy refers to the predictability of the order and timing of information. An engineering analysis program accepts data that have a predefined order, executes the analysis algorithm without interruption, and produces resultant data in a report or graphical format. Such applications are determinate.


A multi-user operating system, on the other hand, accepts inputs that have varied content and arbitrary timing executes algorithms that can be interrupted by external conditions, and produces output that varies as a function of environment and time. Applications with these characteristics are indeterminate


Software applications can be neatly compartmentalized into different categories.


System software: System software is a collection of programs written to service other programs. Some system software process complex information structures. Other systems applications process largely indeterminate data. It is characterized by heavy interaction with hardware, heavy usage by multiple users, and the concurrent operation that requires scheduling, resource sharing, sophisticated process management, complex data structures, and multiple external interfaces.


Real-time software: Software that monitors/analyzes/controls real-world events as they occur is called real-time.


Business Software: Business information processing is the largest single software application area. Discrete systems like payroll and accounts receivable/payable have evolved into management information systems(MI S) software that accesses one or more large databases containing business information. Applications in this area restructure existing data in a way that facilitates business operations or management decision-making.


Engineering and scientific software: Engineering and scientific software has been characterized by "number crunching" algorithms. Applications range from astronomy to volcanology, from automotive stress analysis to space shuttle orbital dynamics, and from molecular biology to automated manufacturing.


Embedded software: Embedded software resides only in read-only memory and is used to control products and systems for the consumer and industrial markets. Embedded software can provide very limited and esoteric functions or provide significant function and control capability.


Personal computer software: Day to day useful applications like word processing, spreadsheets, multimedia; database management, and personal and business financial applications are some of the common examples of personal computer software


Web-based software: The web pages retrieved by a browser are software that incorporates executable instructions and data. In essence, the network becomes a massive computer providing an almost unlimited software resource that can be accessed by anyone with a modem.


Artificial Intelligence software: Artificial Intelligence software makes use of non-numerical algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Expert systems, also called knowledge-based systems, pattern recognition, and game-playing are representative examples of applications within this category.


Software crisis: The set of problems that are encountered in the development of computer software is not limited to software that does not function properly rather the affliction encompasses problems associated with how we develop software, how we support a growing volume of existing software, and how we can expect to keep pace with a growing demand for more software.


Web-based software: The web pages retrieved by a browser are software that incorporates executable instructions and data. In essence, the network becomes a massive computer providing an almost unlimited software resource that can be accessed by anyone with a modem.


Artificial Intelligence software: Artificial Intelligence software makes use of non-numerical algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Expert systems, also called knowledge-based systems, pattern recognition, and game-playing are representative examples of applications within this category.


Software crisis: The set of problems that are encountered in the development of computer software is not limited to software that does not function properly rather the affliction encompasses problems associated with how we develop software, how we support a growing volume of existing software, and how we can expect to keep pace with a growing demand for more software.


Summary

Software has become the key element in the evolution of computer-based systems and products. Over the past 50 years, the software has evolved from a specialized problem solving and information analysis tool to an industry in itself. But early programming culture and history have created a set of problems that persist even today. The software has become the limiting factor in the continuing evolution of computer-based systems. Software is composed of programs, data, and documents. Each of these items comprises a configuration that is created as part of the software engineering process. The intent of software engineering is to provide a framework for building software with higher quality.

Mahira  khanna

Mahira khanna

I have the skills you need for you company blog, website, or other content materials

If findandsolve.com felt valuable to you, feel free to share it.

Comments



Report Response