Explain software related problems




















The mathematical function is usually higher order exponential or logarithmic. Software modeling techniques can be divided into two subcategories: prediction modeling and estimation modeling.

The major difference of the two models are shown in Table 1. Table 1. Difference between software reliability prediction models and software reliability estimation models. Using prediction models, software reliability can be predicted early in the development phase and enhancements can be initiated to improve the reliability. Representative estimation models include exponential distribution models, Weibull distribution model, Thompson and Chelson's model, etc. The field has matured to the point that software models can be applied in practical situations and give meaningful results and, second, that there is no one model that is best in all situations.

Only limited factors can be put into consideration. By doing so, complexity is reduced and abstraction is achieved, however, the models tend to specialize to be applied to only a portion of the situations and a certain class of the problems.

We have to carefully choose the right model that suits our specific case. Furthermore, the modeling results can not be blindly believed and applied.

Measurement is commonplace in other engineering field, but not in software engineering. Though frustrating, the quest of quantifying software reliability has never ceased. Until now, we still have no good way of measuring software reliability. Measuring software reliability remains a difficult problem because we don't have a good understanding of the nature of software. There is no clear definition to what aspects are related to software reliability. We can not find a suitable way to measure software reliability, and most of the aspects related to software reliability.

Even the most obvious product metrics such as software size have not uniform definition. It is tempting to measure something related to reliability to reflect the characteristics, if we can not measure reliability directly. The current practices of software reliability measurement can be divided into four categories: [RAC96]. Software size is thought to be reflective of complexity, development effort and reliability.

But there is not a standard way of counting. This method can not faithfully compare software not written in the same language. The advent of new technologies of code reuse and code generation technique also cast doubt on this simple method. Function point metric is a method of measuring the functionality of a proposed software development based upon a count of inputs, outputs, master files, inquires, and interfaces.

The method can be used to estimate the size of a software system as soon as these functions can be identified. It is a measure of the functional complexity of the program. It measures the functionality delivered to the user and is independent of the programming language. It is used primarily for business systems; it is not proven in scientific or real-time applications.

Complexity is directly related to software reliability, so representing complexity is important. Complexity-oriented metrics is a method of determining the complexity of a program's control structure, by simplify the code into a graphical representation. Representative metric is McCabe's Complexity Metric.

Test coverage metrics are a way of estimating fault and reliability by performing tests on software products, based on the assumption that software reliability is a function of the portion of software that has been successfully verified or tested.

Detailed discussion about various software testing methods can be found in topic Software Testing. Researchers have realized that good management can result in better products. Research has demonstrated that a relationship exists between the development process and the ability to complete projects on time and within the desired quality objectives.

Costs increase when developers use inadequate processes. Higher reliability can be achieved by using better development process, risk management process, configuration management process, etc. Based on the assumption that the quality of the product is a direct function of the process, process metrics can be used to estimate, monitor and improve the reliability and quality of software.

ISO certification, or "quality management standards", is the generic reference for a family of standards developed by the International Standards Organization ISO. The goal of collecting fault and failure metrics is to be able to determine when the software is approaching failure-free execution. Minimally, both the number of faults found during testing i. Test strategy is highly relative to the effectiveness of fault metrics, because if the testing scenario does not cover the full functionality of the software, the software may pass all tests and yet be prone to failure once delivered.

Usually, failure metrics are based upon customer information regarding failures found after release of the software. The failure data collected is therefore used to calculate failure density, Mean Time Between Failures MTBF or other parameters to measure or predict software reliability. Software Reliability Improvement Techniques Good engineering methods can largely improve software reliability. Before the deployment of software products, testing, verification and validation are necessary steps.

Software testing is heavily used to trigger, locate and remove software defects. To add to the problem, when changes are made to this kind of software, there is a higher risk of creating new defects unintentionally. Unreliable results or performance - This means that the software does not deliver consistently correct results or cannot be depended to work correctly each time it is used.

Inadequate support of business needs or objectives - This refers to software that is inflexible to meeting business needs. For example, a system may be difficult to modify to meet and organization's needs or may lack features to allow the users to customize business rules. No longer supported by the vendor - This occurs when a vendor ceases to support a particular software product. This can occur due to the vendor's decision to no longer support a product, due to the vendor going out of business, or the vendor selling the product to another vendor.

Incorrect or inadequate interfaces with other systems - This means that the software does not correctly accept input data, control, parameters, etc. An example of this is when a system has an electronic data interfaces EDI with external systems, but does not correctly receive or format the information. Incorrect matching and merging of data - This refers to situations where data is obtained from one source and matched or merged with data from another source. Examples include sorting multiple files into a single file or table or matching data from a master file to an ID number entered as a lookup entry.

Data searches that yield incorrect results - This means that a search retrieves incorrect data as the result of a search. In the worst case situation, the data retrieved appears to be correct in format, but only by tracing back to source documents and other original data can it be determined that the data is incorrect for the search criteria.

An example of this would be searching for the time worked by a particular employee in a payroll system. The employee's name at the top of the information may be displayed correctly, but the detailed time data may belong to another employee.

The only ways to verify the information would be to compare the time worked back to time sheets or to tables that indicate the employee ID. Incorrect processing of data relationships - This means that data relationships are not created or maintained correctly between one or more data elements.

These data elements can reside on interactive interfaces, reports, or files. For example, a system may allow a user to incorrectly enter a telephone area code invalid for the state specified in an address field. Incorrect file and data handling - This refers to the software incorrectly retrieving data from files or tables.

This could include retrieving the wrong data from the right source or the right type of data from the wrong data source. An example of this would be retrieving data from an old version of a file or table, thinking the data is being retrieved from the most current version.

Another example is the inability of the software to process empty or full files correctly. Or, your computer has become very slow, taking ages to boot up a program. A lot of people assume their computer has broken, and don't want to invest in a whole new device. It can be tricky to figure out what the problem is or how to solve it.

Is it a software issue or a hardware problem? Once you find out, it makes the issue much easier to solve. In this article, we will be looking at the most common computer issues. We will also find out how to determine the difference between software or a hardware problem. In this article, we will dive into the specific problems you may encounter and how to identify the cause. But first, let's get an overview of how to determine which is a software or a hardware problem.

When it comes to software issues, they are usually easy enough to fix. They very rarely result in a complete system shut down. You can often fix these by clearing the cache or uninstalling malicious apps. When it's a hardware problem, it's usually more severe.

You can tell it's a hardware issue if the computer will not boot up or if it boots up with lots of issues. You may have to open up the machine and looking at what could be wrong. Getting a professional could be the best course of action. Now, let's take a look at some of the most common computer problems you may face. We'll help identify which are software and which are hardware problems.

One of the most common computer problems people report is a slow computer. We can view quality of a software product as having three dimensions:. The Problem of consistency : Though high quality, low cost and small cycle time are the primary objectives of any project, for an organization there is another goal: consistency. An organization involved in software development does not just want low cost and high quality for a project, but it wants these consistently.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. For any type of query or something that you think is missing, please feel free to Contact us. About Dinesh Thakur.



0コメント

  • 1000 / 1000