Carousel Next. What is Scribd? Explore Ebooks. Bestsellers Editors' Picks All Ebooks. Explore Audiobooks. Bestsellers Editors' Picks All audiobooks. Explore Magazines. Editors' Picks All magazines. Explore Podcasts All podcasts. Difficulty Beginner Intermediate Advanced.
Explore Documents. Rajib Mall Lecture Notes. Uploaded by Anuj Nagpal. Did you find this document useful? Is this content inappropriate? Report this Document. Description: Rajib Mall Lecture Notes. Flag for inappropriate content. Download now. Related titles. Carousel Previous Carousel Next. Jump to Page. Search inside document. Software Reliability Lecture 13 Dr. Users not only want highly reliable products: want quantitative estimation of reliability before making buying decision.
Introduction Accurate measurement of software reliability: a very difficult problem Several factors contribute to making measurement of software reliability difficult. Major Problems in Reliability Measurements Errors do not cause failures at the same frequency and severity.
Software Reliability Intuitively: It is also clear: a software product having a large number of defects is unreliable. Difficulties in Software Reliability Measurement 1 No simple relationship between: Removing errors from parts of software which are rarely used: observed system reliability and the number of latent software defects. Effect of Operational Profile on Software Reliability Measurement If we select input data: only correctly implemented functions are executed, none of the errors will be exposed perceived reliability of the product will be high.
Effect of Operational Profile on Software Reliability Measurement On the other hand, if we select the input data: such that only functions containing errors are invoked, perceived reliability of the system will be low. Software Reliability Different users use a software product in different ways.
Reliability of a software product: clearly observer-dependent cannot be determined absolutely. Software Reliability Hardware failures: Most hardware failures are due to component wear and tear: inherently different from software failures. Hardware vs. Software Reliability A logic gate can be stuck at 1 or 0, To fix hardware faults: or a resistor might short circuit.
Software Reliability Software faults are latent: system will continue to fail: unless changes are made to the software design and code. Software Reliability When a hardware is repaired: its reliability is maintained its reliability may increase or decrease. Software Reliability Goal of hardware reliability study : Goal of software reliability study stability i. Reliability Metrics A good reliability measure should be observer-independent, so that different people can agree on the reliability.
Mean Time To Failure MTTF MTTF is not as appropriate for software as for hardware: Hardware fails due to a components wear and tear When a software error is detected and repaired: thus indicates how frequently the component fails the same error never appears.
Measures the likelihood of the system failing: when a service request is made. POFOD of 0. Availability Measures how likely the system shall be available for use over a period of time: considers the number of failures occurring during a time interval, also takes into account the repair time down time of a system. Availability This metric is important for systems like: telecommunication systems, operating systems, etc. Reliability metrics All reliability metrics we discussed: centered around the probability of system failures: take no account of the consequences of failures.
Reliability metrics Failures which are transient and whose consequences are not serious: of little practical importance in the use of a software product. Software reengineering Efficiency improvements are brought about by better design.
However, this approach is more costly than the first approach. Reengineering is preferable when: amount of rework is high, product exhibits high failure rate. CASE tools help in software development and maintenance. CASE is a much talked about topic in software industries. Other tools help non-phase activities: project management and configuration management. CASE Environment Tools covering different stages of life cycle share information data : they should integrate through some central repository store consistent view of development information.
CASE Environment The central repository is the data dictionary: contains definition of all composite and elementary data. A CASE environment helps: automate step-by-step methodologies. In contrast to CASE environment: a programming environment denotes tools supporting coding phase alone. CASE tools help produce higher quality and consistent documents. Benefits of CASE Data relating to a software product are maintained in a central repository: redundancy in the stored data is reduced.
Introduction of a CASE environment: impacts the style of working of engineers. Prototyping Support The user should be allowed to define: data entry forms, menus and controls. Another reasonable requirement is traceability from source code to design. Code Generation It should automatically generate header information: copyright messages, brief description of the module, author name and date of creation, etc. Code Generation The tool should generate data records or structures automatically: using data dictionary definitions.
It should generate database tables for relational database management systems. Code Generation The tool should generate code for user interface from the prototype: for X window and MS window based applications.
Testing Support Static and dynamic program analysis of programs. It should generate test reports in ASCII format: which can be directly imported into the test plan document. Desirable Features The tool should work satisfactorily when many users work simultaneously.
The tool should support windowing interface: Enable the users to see more than one diagram at a time. Facilitate navigation and switching from one part to the other. The deliverable documents: should be able to incorporate text and diagrams from the central repository. It should be possible to export text, graphics, tables, data dictionary reports: to DTP packages in standard formats such as PostScript.
Project Management It should support collecting, storing, and analyzing information on the software project's progress: such as the estimated task duration, scheduled and actual task start, completion date, dates and results of the reviews, etc. External Interface The tool should allow exchange of information for reusability of design.
Data Dictionary Interface Data dictionary interface should provide viewing and updating the data definitions. Tutorial and Help Successful use of CASE tools: depends on the users capability to effectively use all supported features. Tutorial and Help The tutorial should not be limited to teaching the user interface part only: The tutorial should logically classify and cover all techniques and facilities.
The tutorial should be supported by proper documentation and animation. The user should be allowed to: integrate many different tools into one environment. It is highly unlikely that any one vendor will be able to deliver a total solution. A preferred tool would support tune up: user would act as a system integrator. This is possible only if some data dictionary standard emerges. Customization Support The user should be allowed to define new types of objects and connections.
This facility may be used to build some special methodologies. Ideally it should be possible to specify the rules of a methodology to a rule engine: for carrying out the necessary consistency checks. Summary We discussed some fundamental concepts in software maintenance. Maintenance is the mostly expensive phase in software life cycle: during development emphasize on maintainability to reduce the maintenance costs. Reengineering is a reverse engineering cycle: followed by a forward engineering cycle Summary Maintenance process models: Process model for small changes Process model for reengineering.
Use of CASE tools is indispensable for large software projects: where a team of software engineers work together. Open navigation menu. Close suggestions Search Search. User Settings. Skip carousel. Carousel Previous. Carousel Next. What is Scribd? Explore Ebooks. Bestsellers Editors' Picks All Ebooks. Explore Audiobooks. Download Now! Register a free Trial Account. Download as many books as you like Personal use Cancel the membership at any time if not satisfied.
Join Over Happy Readers. Reply 1 Like Follow 1 hour ago. Markus Jensen I did not think that this would work, my best friend showed me this website, and it does! I get my most wanted eBook Reply 2 Like Follow 1 hour ago. Michael Strebensen wtf this great ebook for free?! Reply 2 Like Follow 48 minutes ago. Hun Tsu My friends are so mad that they do not know how I have all the high quality ebook which they do not!
0コメント