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

1 Answer

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 or attributes which enable you to recognize and classify it. Each object has certain actions or methods associated with it.
• Class:-A class encapsulates data and procedural abstractions required to describe the content and behavior of some real world entity. A class is a generalized description that describes a collection of similar objects.
• Encapsulation:- An object is said to be encapsulate (hide) data and program. This means that the user cannot see the inside of the object but can use the object by calling the program part of the object. This hiding of details of one object from another object, which uses it, is known as encapsulation. • Inheritance:-Inheritance is defined as the property of objects by which instances of a class can have access to data and programs contained in a previously defined class, without those definitions being restated. Classes are linked together in a hierarchy. They form a tree, whose root is the class of “objects”. Each class (except for the root class) will have a super class (a class above it in the hierarchy) and possibly subclasses. A class can inherit (i.e. acquire) methods from its super class and in turn can pass methods on to its subclasses. A subclass must have all the properties of the parent class, and other properties as well. • Polymorphism:-Polymorphism includes the ability to use the same message to objects of different classes and have them behave differently. Thus we could define the message “+” for both the addition of numbers and the concatenation (joining) of characters. Polymorphism provides the ability to use the same word to invoke different methods, according to similarity of meaning. • Object/class associations:-Objects/classes interact with each other. Multiplicity defines how many instances of one object/class can be associated with one instance of another object/class. • Messages:-The interaction or communication between the different objects and classes is done by passing messages. The object, which requires communicating with another object, will send a request message to the latter. A message can be sent between two objects only if they have an association between them.

Related questions

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 : Describe the various steps of the reuse-oriented model.

Last Answer : Ans. The reuse-oriented model, also called reuse-oriented development (ROD), is a method of software development in which a program is refined by producing a sequence of prototypes called models, each ... requirements, resulting in a product that does not fully meet the needs of its intended users.

Description : Differentiate between object oriented and function oriented design .

Last Answer : Ans: Function-oriented design relies on identifying functions which transform their inputs to create outputs. In most systems, functions share some global system state. The functional design ... strategy is often a heterogeneous one where both functional and object-oriented approaches are used.

Description : If the objects focus on the problem domain, then we are concerned with (A) Object Oriented Analysis. (B) Object Oriented Design (C) Object Oriented Analysis & Design (D) None of the above

Last Answer : (A) Object Oriented Analysis.

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 : 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 : 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 : 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 : 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 : What is function point? Explain its importance. What is function-oriented metrics?

Last Answer : Ans. Function point measures the functionality from the user point of view, that is, on the basis of what the user request and receives in return. Therefore, it deals with ... empirical relationship based on countable measures of software's information domain and assessments of software complexity.

Description : What is reverse engineering?

Last Answer : Ans. It is a process of analysing software with a view to understanding its design and specification. - In reverse engineering, source code and executable code are the input. - It may be part of a ... to : - Serves as input to SRS for program replacement. - Be available to help program maintenance.

Description : Top down approach is used for (A) development. (B) identification of faults. (C) testing and validation. (D) reverse engineering.

Last Answer : (A) development.

Description : Which is not a step of requirement engineering? (A) Requirements elicitation (B) Requirements analysis (C) Requirements design (D) Requirements documentation

Last Answer : (C) Requirements design

Description : Explain various types of static and dynamic testing tools.

Last Answer : Ans. Static testing tools: 1. Static analysers A static analyser operates from a pre-computed database of descriptive information derived from the source text of the program. The idea of a static ... for documenting that the tests have been done and that no defects were found during the process.

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 : Describe the various types of restructuring techniques. How does restructuring help in maintaining a program?

Last Answer : Ans. Software restructuring modifies source code and / or data an effort to make it amenable to future changes. In general, restructuring does not modify the overall program architecture. It tends ... requires performing maintenance activities is reduced. (d) Software is easier to test and debug.

Description : An object encapsulates (A) Data (B) Behaviour (C) State (D) Both Data and behaviour

Last Answer : (D) Both Data and behaviour

Description : Which of the following statements is true (A) Abstract data types are the same as classes (B) Abstract data types do not allow inheritance (C) Classes cannot inherit from the same base class (D) Object have state and behavior

Last Answer : (B) Abstract data types do not allow inheritance

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 : 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 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 : Explain the following with the help of an example (i) Common coupling (ii) Communicational cohesion (iii) Class diagram (iv) Structure chart

Last Answer : Ans. (i) Common coupling: Common coupling is when two modules share the same global data (e.g. a global variable). Changing the shared resource implies changing all the modules using it ... Whether each identifiable function is a manageable entity or should be broken down into smaller components.

Description : Object-oriented concepts are not new. The first OO language was  considered to be a) ALGOL-68 B) FORTRAN 77 c) CMODULA d) SIMULA 67.

Last Answer : d) SIMULA 67.

Description : State the concepts of object oriented programming.

Last Answer : Basic Concepts of Object Oriented Programming:  1. Objects  Objects are the basic run time entities in an object-oriented system. They may represent a person, a place, a ... objects that communicate with each other. Objects communicate with one another by sending and receiving information.

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 : Discuss the problems faced during software maintenance

Last 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 ... be very difficult. Therefore approach of development should be the production of maintainable software.

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 : 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 : 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 : 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 : 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 : 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 : 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 : Which phase is not available in software life cycle? (A) Coding (B) Testing (C) Maintenance (D) Abstraction

Last Answer : (D) Abstraction

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