Discuss the problems faced during software maintenance

1 Answer

Answer :

Ans. Problems During Maintenance The most important problem during maintenance is that before correcting or modifying a program, the programmer must first understand it. Then, the programmer must understand the impact of the intended change. Few problems are discussed below. Often the program is written by another person or group of persons working over the years in isolation from each other. Often the program is changed by person who did not understand it clearly, resulting in a deterioration of the program’s original organization. Program listing, even those that are well organized, are not structured to support reading or comprehension. We normally read article or book straight through, but with listing, programmer rummages back and forth. There is a high staff turnover within information Technology industry. Due to this many systems are maintained by persons who are not the original authors. These persons may not have adequate knowledge about the system. This may mean that these persons may introduce changes to programs without being aware of their effects on other parts of the system -the ripple effect. This problem may be worsened by the absence of documentation. Even where it exists, it may be out of date or inadequate. Some problems only become clearer when a system is in use. Many users know that they want but lack the ability to express it in a form understandable to programmers/analysts. This is primarily due to information gap. Systems are not designed for change. If there is hardly any scope for change, maintenance will be very difficult. Therefore approach of development should be the production of maintainable software.

Related questions

Description : Why is maintenance of a software important? Discuss some of the problems that are faced during maintenance of software.

Last Answer : Ans: The modification of a software product, after delivery, to correct faults, to improve performance or other attributes, or to adapt the product to a changed environment. Maintenance is an ... to express it in a form understandable to programmers. This is primarily due to information gap.

Description : Software project planning entails what activities? What are the difficulties faced in measuring the Software Costs?

Last Answer : Ans. Software project planning entails the following activities: Estimation: o -Effort, cost, resource, and project duration Project scheduling: Staff organization: o -staffing ... actual specifications of the system hence cost estimations based on uncertain information cannot be accurate.

Description : Explain a. the activities of software maintenance. b. key process areas of CMM.

Last Answer : Ans: a) Software maintenance is a broad activity that includes error correction, enhancement of capabilities, deletion of obsolete capabilities and optimization. b) Key process areas of CMM ... management which establishes and maintains the integrity of the products throughout the life cycle.

Description : What are the three generic phases of software engineering? (A) Definition, development, support (B) What, how, where (C) Programming, debugging, maintenance (D) Analysis, design, testing

Last Answer : (A) Definition, development, support

Description : Which phase is not available in software life cycle? (A) Coding (B) Testing (C) Maintenance (D) Abstraction

Last Answer : (D) Abstraction

Description : Modifying the software to match changes in the ever changing environment is called (A) adaptive maintenance (B) corrective maintenance (C) perfective maintenance (D) preventive maintenance

Last Answer : (A) adaptive maintenance

Description : Discuss any two software characteristics.

Last Answer : Ans.Software is not manufactured: The life of a software is from concept exploration to the retirement of the software product. It is one time development effort and continuous maintenance effort in order ... this characteristic may be the best and may help us to accommodate any kind of change.

Description : Changes made to the system to reduce the future system failure chances is called (A) Preventive Maintenance (B) Adaptive Maintenance (C) Corrective Maintenance (D) Perfective Maintenance

Last Answer : (A) Preventive Maintenance

Description : Changes made to an information system to add the desired but not necessarily the required features is called (A) Preventative maintenance. (B) Adaptive maintenance. (C) Corrective maintenance. (D) Perfective maintenance.

Last Answer : (D) Perfective maintenance.

Description : Discuss the various strategies of design. Which design strategy is most popular and practical?

Last Answer : Ans The most commonly used software design strategy involved decomposing the design into functional components with system state information held in a shared data area. The design strategies are: ... oriented design, the system state is decentralized and each object manages is own state information

Description : Explain throw-away prototyping and evolutionary prototyping. Discuss the differences between the two.

Last Answer : Ans Throw-Away Prototyping: Also called close ended prototyping. Throwaway or Rapid Prototyping refers to the creation of a model that will eventually be discarded rather than becoming part of the ... develop parts of the system that they understand instead of working on developing a whole system.

Description : Discuss the important issues that a SRS must address.

Last Answer : Ans. SRS is the process of establishing the services, the system should provide of the system in new, it is difficult for software engineer to understand the nature of problem constraints under ... life cycle of the system. (iv) It should characterize acceptable responses to the undesired events.

Description : What types of models are created during software requirements analysis? (A) Functional and behavioral (B) Algorithmic and data structure (C) Architectural and structural (D) Usability and reliability

Last Answer : (A) Functional and behavioral

Description : The spiral model of software development (A) Ends with the delivery of the software product (B) Is more chaotic than the incremental model (C) Includes project risks evaluation during each iteration (D) All of the above

Last Answer : (C) Includes project risks evaluation during each iteration

Description : What problems arise if two modules have high coupling?

Last Answer : Ans: Coupling means the interconnection of different modules with each other or we can say, it tells about the interrelationship of different modules of a system. A system with high ... unsophisticated software. So, it is always desirable to have inter-connection & interdependence between modules.

Description : Draw the flow chart of Risk Management-Activity and explain various Software risks.

Last Answer : Ans RISK is a problem that could cause some loss or threatens the success of the project, but which has not happened yet. Typical Software Risks:- 1. Dependencies: -Many ... Inadequate application domain experience. New technologies. Ineffective, poorly documented, or neglected processes.

Description : Explain various Object Oriented concepts used in Software Engineering. Give an example.

Last Answer : Ans .Various concepts of Object Oriented concepts used in Software Engineering: Object:- An object is something which is capable of being seen, touched or sensed. Each object has certain distinctions ... . A message can be sent between two objects only if they have an association between them.

Description : Spiral model is a realistic approach to the development of large-scale systems & software. Justify & explain the model?

Last Answer : Ans. There are several advantages of Spiral model that makes it a realistic approach to development of large-scale systems and software, viz: 1) The spiral model promotes quality assurance ... , which can help in identifying and resolving potential problems or errors in the software development.

Description : Explain the software life cycle model that incorporates risk factor.

Last Answer : Ans. The problem with traditional software process models is that they do not deal sufficiently with the uncertainty, which is inherent to software projects. Important software projects failed ... . The risk analysis and validation steps eliminate errors in the early phases of development

Description : Why does the software design improve when we use object-oriented concepts?

Last Answer : Ans. The software design improves when we use object-oriented concepts because 1.Object-orientation works at higher level of abstraction. The development can proceed at the object level and ... good programming techniques. 4.Object-oriented programming design and programming promote code re-use.

Description : List four reasons why it is difficult to improve software process.

Last Answer : Ans It is difficult to improve software process due to following reasons: 1. Lack of knowledge-Many software developers are not aware of best practices of industry. In fact best ... lack of true commitment. Management sets no expectations from the development community regarding process improvement.

Description : What are the objectives of software design? How do we transform an informal design to a detailed design?

Last Answer : Ans Objectives of software design The purpose of the design phase is to plan a solution of the problem specified by the requirements document. This phase is the first step in moving from ... details as the design is developed with constant backtracking to correct earlier, less formal, designs.

Description : Define capability. What are the quantities that determine the degree of capability of a software reliability model?

Last Answer : Ans: Capability refers to the ability of the model to estimate with satisfactory accuracy quantities needed by managers; engineers and users in planning and managing software development or running ... , expected date of reaching reliability, resource and cost requirements to reach the objectives.

Description : How is software design different from coding ?

Last Answer : Ans: Points of difference between software design and coding can be laid down as under: Design : 1. Design is most crucial and time-consuming activity 2. Screen of the system depends ... languages front-end tools, database management system, utilities etc are used to facilitate the coding process.

Description : Define software testing. Explain various level of testing .

Last Answer : Ans: Software testing is a process used to help identify the correctness, completeness and quality of developed computer software. With that in mind, testing can never completely establish the ... various level of testing are : Unit Testing Integrating testing Validation testing System testing

Description : Distinguish software faults and software failures

Last Answer : Ans: In case of a failure, the software does not do what the user expects. A fault is a programming error that may or may not actually manifest as a failure. A fault can also be ... software is ported to a different hardware platform or a different compiler, or when the software gets extended.

Description : Define software reliability. What is the difference between hardware & software reliability?

Last Answer : Ans:Software reliability is the probability that software will provide failure-free operation in a fixed environment for a fixed interval of time. Probability of failure is the probability ... get system reliability. The source of failure in hardware has generally being physically deterioration.

Description : How does the risk factor affect the spiral model of software development?

Last Answer : Ans:Risk Analysis phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed ... data and find out possible solution in order to deal with the potential changes in the requirements.

Description : What is the advantage of using prototype software development model instead of waterfall model? Also explain the effect of defining a prototype on the overall cost of the software project?

Last Answer : Ans:The waterfall model: This is the classic SDLC model, with a linear and sequential method that has goals for each development phase. The waterfall model simplifies task scheduling, because ... acceptable prototype is finally achieved from which the complete system or product can now be developed.

Description : Define a software process. How do software myths affect a software process ?

Last Answer : Ans:Software process is a Coherent set of activities for specifying, designing, implementing and testing software systems. Software myths propagates misinformation and confusion. Software myths had a no of ... feel , and they were often promulgated by experienced practitioners who know the score .

Description : The goal of quality assurance is to provide management with the data needed to determine which software engineers are producing the most defects. (A) True (B) False

Last Answer : (B) False

Description : The software metrics chosen by an organization are driven by the business or technical goals an organization wishes to accomplish. (A) True (B) False

Last Answer : (A) True

Description : FP-based estimation techniques require problem decomposition based on (A) information domain values (B) project schedule (C) software functions (D) process activities

Last Answer : (C) software functions

Description : Software feasibility is based on which of the following (A) business and marketing concerns (B) scope, constraints, market (C) technology, finance, time, resources (D) technical prowess of the developers

Last Answer : (C) technology, finance, time, resources

Description : What is the normal order of activities in which software testing is organized? (A) unit, integration, system, validation (B) system, integration, unit, validation (C) unit, integration, validation, system (D) none of the above

Last Answer : (A) unit, integration, system, validation

Description : The ISO quality assurance standard that applies to software engineering is (A) ISO 9000 (B) ISO 9001 (C) ISO 9002 (D) ISO 9003

Last Answer : (B) ISO 9001

Description : Which of the following is not an attribute of software engineering (A) Efficiency. (B) Scalability. (C) Dependability. (D) Usability.

Last Answer : (C) Dependability.

Description : Which of the items listed below is not one of the software engineering layers? (A) Process (B) Manufacturing (C) Methods (D) Tools

Last Answer : (B) Manufacturing

Description : Software deteriorates rather than wears out because (A) software suffers from exposure to hostile environments. (B) defects are more likely to arise after software has been used often. ( ... requests introduce errors in component interactions. (D) software spare parts become harder to order.

Last Answer : (B) defects are more likely to arise after software has been used often.

Description : Site for Alpha Testing is (A) Software Company (B) Installation place (C) Any where (D) None of the above

Last Answer : (A) Software Company

Description : Software consists of (A) Set of instructions + operating procedures (B) Programs + documentation + operating procedures (C) Programs + hardware manuals (D) Set of programs

Last Answer : (B) Programs + documentation + operating procedures

Description : CASE Tool is (A) Computer Aided Software Engineering (B) Component Aided Software Engineering (C) Constructive Aided Software Engineering (D) Computer Analysis Software Engineering

Last Answer : (A) Computer Aided Software Engineering

Description : The tools that support different stages of software development life cycle are called: (A) CASE Tools (B) CAME tools (C) CAQE tools (D) CARE tools

Last Answer : (A) CASE Tools

Description : The level at which the software uses scarce resources is (A) reliability (B) efficiency (C) portability (D) all of the above

Last Answer : (B) efficiency

Description : Each time a defect gets detected and fixed, the reliability of a software product (A) increases. (B) decreases. (C) remains constant. (D) cannot say anything.

Last Answer : (A) increases.

Description : SRD stands for (A) Software requirements definition (B) Structured requirements definition (C) Software requirements diagram (D) Structured requirements diagram

Last Answer : (B) Structured requirements definition

Description : If every requirement stated in the Software Requirement Specification (SRS) has only one interpretation, SRS is said to be (A) correct. (B) unambiguous. (C) consistent. (D) verifiable.

Last Answer : (B) unambiguous.

Description : IEEE 830-1993 is a IEEE recommended standard for (A) Software requirement specification. (B) Software design. (C) Testing. (D) Both (A) and (B)

Last Answer : (A) Software requirement specification.

Description : What specific languages can be used in SRS? What are the advantages of using these specific languages of SRS?

Last Answer : Ans. Requirement specification necessitates the use of some specification language. The language should support the desired qualities of the SRS- modifiability, understandability, unambiguous, and so forth. ... formally specify the behavior of a system on different combination of input or settings.

Description : What is Data Dictionary? Explain each component?

Last Answer : Ans Data dictionary is a storehouse of data giving information about data. It is a list of terms and their definition for all data items and data files of a system. A data dictionary contains ... Data Stores- data Flows are data structures in motion whereas data stores are data structures at rest.