Explain the following with the help of an example
(i) Common coupling
(ii) Communicational cohesion
(iii) Class diagram
(iv) Structure chart

1 Answer

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. Diagnosing problems in structures with considerable common coupling is time consuming and difficult. However, this does not mean that the use of global data is necessarily ”bad”. It does not mean that a software designer must be aware of potential consequences of common coupling and take special care to guard against them. (ii)Communicational cohesion: Communicational cohesion is when parts of a module are grouped because they operate on the same data (e.g. a module which operates on the same record of information). In this all of the elements of a component operate on the same input data or produce the same output data. So we can say if a module performs a series of actions related be a sequence of steps to be followed by the product and all actions to be performed on the same data. (iii)Class diagram: A class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships between the classes. The UML specifies two types of scope for members: instance and classifier. In the case of instance members, the scope is a specific instance. For attributes, it means that its value can vary between instances. For methods, it means that its invocation affects the instance state, in other words, affects the instance attributes. Otherwise, in the classifier member, the scope is the class. For attributes, it means that its value is equal for all instances. For methods, it means that its invocation do not affect the instance state. Classifier members are commonly recognized as "static" in many programming languages.
(iv) Structure chart: A structure chart is a top-down modular design tool, constructed of squares representing the different modules in the system, and lines that connect them. The lines represent the connection and or ownership between activities and sub activities as they are used in organization charts. In structured analysis structure charts are used to specify the high-level design, or architecture, of a computer program. As a design tool, they aid the programmer in dividing and conquering a large software problem, that is, recursively breaking a problem down into parts that are small enough to be understood by a human brain. A structure chart depicts • the size and complexity of the system, and • number of readily identifiable functions and modules within each function and • Whether each identifiable function is a manageable entity or should be broken down into smaller components.

Related questions

Description : Modules X and Y operate on the same input and output data, then the cohesion is (A) Sequential (B) Communicational (C) Procedural (D) Logical

Last Answer : (B) Communicational

Description : Define cohesion & coupling? Give suitable examples.

Last Answer : Ans Coupling:Coupling refers to the strength of the relationship between modules in a system. Coupling represents how strongly different modules are interconnected with each other. Cohesion: Cohesion ... Cohesion represents how strongly the internal elements of a module are bound to each other.

Description : Explain the following: (i) Equivalence class testing. (ii) User and System documentation with examples. (iii) Core dumps.

Last Answer : Ans: (i) Equivalence class testing is based on partitioning the input domain of a program into a number of equivalence classes so that the test of a representative value of each ... indiscriminately. Sometimes it is difficult to interpret the dump which is represented using hexadecimal numbers.

Description : The desired level of coupling is (A) No coupling (B) Control coupling (C) Common coupling (D) Data coupling

Last Answer : (D) Data coupling

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 : 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 : The worst type of coupling is (A) Data coupling. (B) control coupling. (C) stamp coupling. (D) content coupling.

Last Answer : (D) content coupling.

Description : Define the following terms: (i) Product metrics (ii) Live variables (iii) FAN IN

Last Answer : Ans: (i) Product metrics: describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability, portability, etc. (ii) A variable is live from its first ... count of the number of other Components that can call, or pass control, to Component A.

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 : Explain Equivalence Class Partitioning and Boundary value analysis. Compare the two.

Last Answer : Ans. Equivalence Class Partitioning: It is a technique in black box testing. It is designed to minimize the number of test cases by dividing tests in such a way that the system is expected to act the ... valid data equivalence class, then you can select test case values like: 1, 11, 100, 950 etc.

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 : 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 : Pseudocode can replace (A) flowcharts (B) structure charts (C) decision tables (D) cause-effect graphs

Last Answer : (A) flowcharts

Description : Define the following: a. Aggregation among objects. b. Class. c. Repeated inheritance. d. Encapsulation. e. Scenario.

Last Answer : Ans: a).Aggregation among objects Aggregation among objects represents a relationship. It is a whole/part relationship. Aggregation may imply containment. b).Class A class is a template that specifies the ... or it can be shown as an event trace diagram in which events between objects are shown.

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 : A COCOMO model is (A) Common Cost Estimation Model. (B) Constructive Cost Estimation Model. (C) Complete Cost Estimation Model. (D) Comprehensive Cost Estimation Model.

Last Answer : (B) Constructive Cost Estimation Model.

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.

Description : Explain incremental model? Define core product and detailed plan.

Last Answer : Ans. The incremental model is proposed by D.L PARNAS. It is basically implemented by combining elements of linear sequential model and iterative prototyping model. Incremental development refer to the process ... . Risk of failure of product is decreased as user start using the product early.

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 : 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 : 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 acceptance testing and beta testing.

Last Answer : Ans. Acceptance Testing and Beta testing:System tests are designed to validate a fully developed system to assure that it meets its requirements. Acceptance and beta testing are form of system ... testing performed by the cutomer to determine whether he should accept the delivery of the system.

Description : Explain the concept of bottom-up, top-down and hybrid design.

Last Answer : Ans: Bottom up design:This approach leads to a style of design where we decide how to combine these modules to provide larger ones; to combine those to provide even larger ones, ... approaches are often not practical therefore hybrid approach which combines the above two approaches is often used.

Description : Explain any two requirement elicitation methods.

Last Answer : Ans. Interviews: After receiving the problem statement from the customer, the first step is to arrange a meeting with the customer. During the meeting or interview, both the parties would like to ... -Board, flip chart, worksheets, wall stickiest, etc. Participants should not criticize or debate.

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 : What are dynamic testing tools? Explain the functions that they must support.

Last Answer : Ans. Dynamic testing tools: 1: coverage analyzers (execution verifiers): A coverage analyzer is the most common and important tool for testing. It is often relatively simple. One of the common ... tester to plan tests so they are both efficient and also effective at forcing discovery of defects.

Description : Explain the development phases of the detailed COCOMO model.

Last Answer : Ans A software development is carried out in four successive phases, which are as follows: 1: plan/requirements: this is the first phase of the development cycle. The requirement is analyzed, the product ... product. This requires 16% to 34% of normal effort and 18% to 34% of the development time.

Description : Explain the development phases of the detailed COCOMO model.

Last Answer : Ans A software development is carried out in four successive phases, which are as follows: 1: plan/requirements: this is the first phase of the development cycle. The requirement is analyzed, the product ... product. This requires 16% to 34% of normal effort and 18% to 34% of the development time.

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 : Explain the waterfall model. Explain why it is more advantageous than adhoc methods.

Last Answer : Ans Waterfall Model: 1.The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, ... approach. b. Iteration is not required. c. It is widely use because it is easy.

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 : Explain some of the limitations of testing.

Last Answer : Ans: Though testing is an important part of system development and leads to a valid, verified and efficient system, it also faces some limitation in its scope. Following are some of such limitations. ... to a complete re- development of the module under testing and hence putting all effects in vain.

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 : Explain cause effect graphing .

Last Answer : Ans: Cause-effect graphing is a test case design technique that provides a concise representation of logical conditions and corresponding actions. There are four steps: 1. Causes (input conditions) and ... graph is converted to a decision table. 4. Decision table rules are converted to test cases.

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 : 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 : A good software design must have (A) High module coupling, High module cohesion (B) High module coupling, Low module cohesion (C) Low module coupling, High module cohesion (D) Low module coupling, Low module cohesion

Last Answer : (C) Low module coupling, High module cohesion

Description : The relationship of data elements in a module is called (A) Coupling (B) Modularity (C) Cohesion (D) Granularity

Last Answer : (C) Cohesion Explanation: Cohesion is the indication of the relationship within module. Coupling is the indication of the relationships between modules. While designing you should strive for high cohesion. While designing you should strive for low coupling. 

Description : A software design is highly modular if : (A) cohesion is functional and coupling is data type. (B) cohesion is coincidental and coupling is data type. (C) cohesion is sequential and coupling is content type. (D) cohesion is functional and coupling is stamp type.

Last Answer : (A) cohesion is functional and coupling is data type.

Description : Module design is used to maximize cohesion and minimize coupling. Which of the following is the key to implement this rule? (A) Inheritance (B) Polymorphism (C) Encapsulation (D) Abstraction

Last Answer : (C) Encapsulation

Description : Which of the following statement(s) is/are true with respect to software architecture? S1: Coupling is a measure of how well the things grouped together in a module belong together logically. S2: Cohesion is a measure of the ... ) Only S1 and S2 (2) Only S3 (3) All of S1, S2 and S3 (4) Only S1

Last Answer : Answer: 2

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 : 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 : How is cyclomatic complexity useful in program test? What is sequence of testing? What is testability?

Last Answer : Ans. Cyclomatic complexity measures the amount of decision logic in a single software module. It is used for two related purposes in the structured testing methodology. First, it gives the number of ... a lack of testability may hinder testing parts of the software or software requirements at all.

Description : Design black box test suits for a function that checks whether a character or string upto ten characters in a palindrome?

Last Answer : Ans Following may be the test cases: - Try with Even number of characters (MALAYALAM) - Try with Odd number of characters (ADDA) - Try with maximum length of string The following are negative test ... come for the following) - Try with empty string - Try with numbers - Try with special characters

Description : Compare and contrast reliability and availability?

Last Answer : Ans. Reliability:The probability of failure-free system operation over a specified time in a given environment for a given purpose is called reliability Availability:The probability that a system, at ... damage data, low reliability may not be a problem. Availability takes repair time into account.

Description : What is Data Binding?

Last Answer : Ans.The matrix that attempts to capture the module-level concept of coupling is data binding. Data binding are a measure that captures the data interaction across portions of a software system. In ... words, data binding try to specify how strongly coupled different modules in a software system are.

Description : What is CMM? Describe its levels & compare it with ISO 9001?

Last Answer : Ans. CAPABILITY MATURITY MODEL (CMM): CMM is a strategy for improving the software process, irrespective of the actual life cycle model used. Software Engineering Institute (SEI) of Carnegie- ... in the CMM are called out in the auditing practices of the verifying implementation common feature.

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 : Why is good design important for a product?

Last Answer : Ans: A good design is the key to successful product. Almost 2000 years ago a Roman Architect recorded the following attributes of a good design:  Durability  Utility and  Charm A well-designed system is easy to implement, understandable and reliable and allows for smooth evolution.