Académique Documents
Professionnel Documents
Culture Documents
Software impact on our society and culture continues to be profound. As its importance grows, the
software community continually attempts to develop technologies that will make it easier, faster, and less expensive programs at to build high-quality computer
specific application domain and others focus on a 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 time, the vehicle for delivering a
product. As a product, it delivers the computing potential and as a vehicle used to deliver the product, software acts as the basis for the control of the
computer, the networks and the creation and control of other programs. Software delivers the most
important product of our time information. Software transforms personal data so that the data can be made more useful in a local context. It manages competitiveness. It
provides a gateway to worldwide information networks and provides the means for acquiring information in all of its forms. The role of computer software has
undergone significant change over a time span of little more than 50 years. Dramatic improvements in hardware performance, profound
changes in computing architecture, vast increase in memory and storage capacity, and a wide variety of input and output options have all made it possible
Software Engineering is the systematic approach to the development, operation, maintenance and retirement of software. This is the definition as per IEEE According to Bauer, Software Engineering and use of sound
engineering principles in order to obtain economical software that is reliable and works efficiently on real machines. There is yet another definition for
software engineering. It is the application of science and mathematics by which the capabilities of computer equipment are made useful to humans via
approach to softwar e engineering is characterized by a practical, orderly, and measured development of of this approach is to
prod uce satisfactory systems on time and within budget. There is a good reason for tackling the problem of planning, developing, evaluating and
maintaining software using the engineering approach. Quite simply this approach is needed to avoid chaos in developing software. The engineering
approach is practical because it is based on proven methods and practices in software development. The approach is orderly and development can be mapped to fit customer requirements. Finally, this approach is
measured, during each phase, software metrics are applied to products to gauge quality, cost and reliability of what has been produced.
Explain.
Software reliability is a function of the number of failures experienced by software. a particular user of that
service expected by the user. Software failures are not the same as software faults although these terms are often used interchangeably. Formal specifications
and proof do not guarantee that the software will be reliable in practical use. The reasons for this are: (1) The specifications may not reflect the real requirements of system users many failures
experienced by users were a consequence of specification errors and omissions, which could be detected by not
notations makes it more difficult for users to establish whether or not a system meets their real requirements. (2) The proof may contain errors Program proofs are large and complex so, like large and complex
programs, they usually contain errors. (3) The Proof may assume a usage pattern, which is incorrect. If the system is not used as if it is
possible to measure if a system is 100% reliable as this would require an amount of time equal to the
lifetime of the system. However, as reliability requirements increase, system costs usually rise exponentially. This is mostly due to the need of
redundant hardware and a vast increase in testing costs to check that the required reliability has been achieved. As discussed some specifications, which
call for, ultra-reliable systems are unrealistic. The number of tests required to validate these specifications cannot be carried out in a reasonable time. 3.Explain the different stages in software design. Any software design problem must be tackled in three stages: I. Study and understand the problem without software design is
understanding effective
impossible. The problem should be examined from a number of different angles or viewpoints as t hese provide different requirements. II. Identify gross features of at least one possible useful to identify a number of choice of insights into the design
solution. It is often
availability of reusable components, and the simplicity of the derived solutions. Designers
usually prefer familiar solutions even if these are not optimal, as they understand their advantages and disadvantages. III. Describe each abstraction used in the solution. formal documentation, the designer description. This may
Before creating
be analyzed by developing it in detail. Errors and omissions in the high-level design will //////////////////////////////////////////////////////// For full Version visit http://smudeassignments.blogspot.com/
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. //////////////////////////////////////////////////////