Match the following in Software Engineering: List – I List – II (a) Product Complexity (i) Software Requirements Definition (b) Structured System Analysis (ii) Software Design (c) Coupling and Cohesion (iii) Validation Technique (d) Symbolic Execution (iv) Software Cost Estimation
(a) – (iv), (b) – (i), (c) – (ii), (d) – (iii)
The question asks us to match software engineering concepts from List – I with their corresponding phases or related concepts from List – II. Let's analyze each pair based on the provided correct match.
Product Complexity is a significant factor in determining the effort required to develop software. More complex software systems generally require more time, resources, and skilled personnel, directly impacting the development cost. Metrics like cyclomatic complexity, function points, or lines of code (though less reliable) are used to quantify product complexity. Therefore, product complexity is closely associated with Software Cost Estimation.
Structured System Analysis (SSA) is a set of techniques and graphical tools used to develop logical specifications for a new system. It focuses on what the system should do. SSA methods like data flow diagrams (DFDs), data dictionaries, and process specifications are primarily employed during the initial phase of software development to understand and document the user's needs and system requirements. This phase is known as Software Requirements Definition or Requirements Analysis.
Coupling and Cohesion are fundamental concepts in Software Design, particularly in modular design. Cohesion refers to the degree to which elements within a module belong together. High cohesion is desirable. Coupling refers to the degree of interdependence between software modules. Low coupling is desirable. These concepts are crucial for creating well-structured, maintainable, and understandable software architecture during the design phase.
Symbolic Execution is a program analysis technique that executes a program using symbolic values for inputs, rather than concrete data. It explores multiple execution paths simultaneously. By analyzing the conditions along these paths, it can reveal potential errors, generate test cases, and verify program properties. This makes it a powerful Validation Technique used for testing, debugging, and formal verification of software.
| List – I (Concept) | List – II (Phase/Technique) |
| (a) Product Complexity | (iv) Software Cost Estimation |
| (b) Structured System Analysis | (i) Software Requirements Definition |
| (c) Coupling and Cohesion | (ii) Software Design |
| (d) Symbolic Execution | (iii) Validation Technique |
Based on the analysis, the correct matching is (a) – (iv), (b) – (i), (c) – (ii), and (d) – (iii).
| Phase/Area | Key Activities/Concepts |
| Requirements Definition | Gathering, analyzing, and documenting user needs and system requirements. Techniques like SSA are used here. |
| Software Design | Defining the architecture, components, interfaces, and other characteristics of a system. Principles like Coupling and Cohesion are crucial. |
| Software Cost Estimation | Predicting the resources (effort, time, cost) required for software development. Product complexity is a major influencing factor. |
| Validation/Testing | Ensuring the software meets the specified requirements and is free of defects. Techniques include unit testing, integration testing, system testing, and advanced methods like Symbolic Execution. |
Understanding the different phases of the software development lifecycle and the principles applied in each phase is key to successful software engineering.
Which of the following UML diagrams has a static view ?
Software validation mainly checks for inconsistencies between
Which of the following statements is/are TRUE?
P: In software engineering, defects that are discovered earlier are more expensive to fix
Q: A software design is said to be a good design, if the components are strongly cohesive and weakly coupled
Select the correct answer from the options given below:
Which of the following are the primary objectives of risk monitoring in software project tracking?
P: To assess whether predicted risks do, in fact, occur
Q: To ensure that risk aversion steps defined for the risk are being properly applied
R: To collect information that can be used for future risk analysis
To create an object-behavioral model, the analyst performs the following steps:
(A) Evaluates all use-cases
(B) Builds state transition diagram for the system.
(C) Reviews the object behaviour model to verify accuracy and consistency
(D) Identifies events that do not derive the interaction sequence.
Choose the correct answer from the options given below: