0% found this document useful (0 votes)
1 views35 pages

Software Engineering

The document provides an overview of software engineering, highlighting the need for structured and efficient software development, various life cycle models, and the importance of requirements analysis and specification. It discusses software metrics, their applications, and challenges in implementation, along with risk management strategies and activities. Additionally, it includes a series of questions and answers to reinforce understanding of key concepts in software engineering.

Uploaded by

shrinjoyee30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views35 pages

Software Engineering

The document provides an overview of software engineering, highlighting the need for structured and efficient software development, various life cycle models, and the importance of requirements analysis and specification. It discusses software metrics, their applications, and challenges in implementation, along with risk management strategies and activities. Additionally, it includes a series of questions and answers to reinforce understanding of key concepts in software engineering.

Uploaded by

shrinjoyee30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

🔹 1.

Introduction to Software Engineering


●​ Need: Structured, efficient, error-free software development.​

●​ Issues: Complexity, scalability, maintainability, debugging large systems.​

●​ Life Cycle Models:​

○​ Waterfall – Linear, phase-wise.​

○​ V-Model – Validation/Verification.​

○​ Iterative & Incremental – Frequent improvements.​

○​ Agile – Flexible, fast feedback.​

○​ Spiral – Risk-driven model.​

🔹 2. Software Requirement Analysis and Specification


🔸 Requirements Engineering
●​ Why?: Foundation for building correct software.​

●​ Steps: Elicitation → Analysis → Specification → Validation.​

🔸 Techniques
●​ ER Diagram: Visual data relationships.​

●​ Code/Object Diagram: For object-oriented systems.​

●​ Structured Analysis:​

○​ DFDs (Data Flow Diagrams)​

○​ Data Dictionary: Describes all data items.​

○​ Prototyping: Early working models to refine requirements.​

🔸 Software Requirements Specification (SRS)


●​ Nature: Clear, complete, consistent, verifiable document.​

●​ Good SRS Characteristics:​

○​ Correctness, Unambiguity, Completeness, Consistency, Modifiability,


Traceability.​

🔹 3. Behavioral Requirements
●​ Finite State Machines (FSMs) – States + transitions.​

●​ Decision Trees & Tables – Logic visualization.​

●​ PDL (Program Design Language) – Structured pseudo-code for early design.

1. What are Software Metrics & Why Are They Used?

Definition:​

Software metrics are quantitative measures used to assess software quality,

performance, and development efficiency.

Why Use Them?

●​ Improve software quality (identify defects early).


●​ Estimate project costs & effort.
●​ Monitor progress (track development speed).
●​ Compare different software systems.

2. Areas of Application

Application Example Metrics


Project Cost, Schedule, Effort Estimation

Management

Code Quality Cyclomatic Complexity, Code

Duplication

Testing Defect Density, Test Coverage

Maintenance Mean Time to Repair (MTTR)

Performance Response Time, Throughput

3. Problems During Implementation

1.​ Incorrect Metric Selection → Misleading results.


2.​ Data Collection Issues → Inconsistent/incomplete data.
3.​ Over-reliance on Metrics → Ignoring qualitative factors.
4.​ Resistance from Teams → Fear of micromanagement.

4. Size Metrics (Measuring Software Size)

Metric Description Use Case

Lines of Code Total lines in source code Productivity

(LOC) measurement

Function Points Measures functionality from user Cost estimation

(FP) perspective
Halstead Metrics Computes complexity based on Maintainability

operators & operands analysis

5. Information Flow Models

5.1 Basic Information Flow Model

●​ Measures coupling (interdependence between modules).


●​ Formula:
●​ IF=Fan-in×Fan-out
●​ IF=Fan-in×Fan-out
○​ Fan-in: Number of modules calling a given module.
○​ Fan-out: Number of modules called by a given module.

5.2 Sophisticated Information Flow Model (Henry & Kafura)

●​ Considers complexity due to data flow.


●​ Formula:
●​ Complexity=(Fan-in×Fan-out)2
●​ Complexity=(Fan-in×Fan-out)
●​ 2

6. Metrics Analysis Using Statistics

6.1 Statistical Techniques

●​ Mean, Median, Mode → Central tendencies.


●​ Standard Deviation → Variability in data.
●​ Regression Analysis → Predict future trends.

6.2 Problems with Metric Data

●​ Outliers → Skew results.


●​ Correlation ≠ Causation → Misinterpretation.
●​ Inconsistent Baselines → Hard to compare projects.
7. Common Pool of Data

●​ Centralized repository of historical project data.


●​ Used for benchmarking (e.g., defect rates, productivity).
●​ Challenges:
○​ Data privacy concerns.
○​ Differences in measurement standards.

8. Pattern for Successful Applications

1.​ Define Clear Goals (What to measure & why).


2.​ Select Relevant Metrics (Avoid vanity metrics).
3.​ Automate Data Collection (Reduce human error).
4.​ Regularly Review & Adjust (Avoid metric fixation).
5.​ Combine Quantitative & Qualitative Analysis.

9. Sub-Cycle in Software Metrics

●​ Plan → Define metrics & tools.


●​ Collect → Gather data (automated/manual).
●​ Analyze → Use statistical methods.
●​ Improve → Adjust processes based on insights.

🔶 Software Risk Management


🔹 What is Risk?
A risk is a potential problem—an event that may or may not occur in the
future but can negatively affect the success of a project if it does.

●​ Risk ≠ Issue (Issues have already occurred)​

●​ Involves uncertainty and potential loss​


🔹 Typical Software Risks
Category Examples

Project Risks Cost overrun, schedule slippage, unclear objectives

Technical Unproven technology, complexity, performance


Risks bottlenecks

Business Changing customer requirements, market demand, ROI


Risks issues

People Risks Key personnel leaving, inexperienced team

External Risks Regulatory changes, third-party failure, cyber threats

🔹 Risk Management Activities


1.​ Risk Identification​

○​ Recognize possible risks using:​

■​ Brainstorming​

■​ Historical data​

■​ Checklists​

■​ Expert judgment​

2.​ Risk Analysis​


○​ Qualitative Analysis: Rank risks by probability and impact​

○​ Quantitative Analysis: Assign numerical values (probability × impact)​

3.​ Risk Planning​

○​ Create risk mitigation, contingency, and avoidance plans​

○​ Assign owners for each risk​

4.​ Risk Monitoring & Control​

○​ Track risks during the project lifecycle​

○​ Reassess risks and adjust plans​

🔹 Types of Risk Management Strategies


Strategy Description

Avoidance Change plan to eliminate the risk

Mitigation Reduce the likelihood/impact of the risk

Transfer Pass the risk to a third party (e.g.,


insurance)

Acceptanc Acknowledge and plan to manage if it


e happens

✅ Visual Tool: Risk Matrix


Impact ↓ / Probability Low Medium High

High M H H

Medium L M H

Low L L M

(L = Low Risk, M = Medium Risk, H = High Risk)

📌 Example in Software:
Risk: Frequent changes in client requirements

●​ Probability: High​

●​ Impact: High​

●​ Strategy: Mitigation through Agile model and constant communication​

✅ YouTube Recommendations:
●​ 🎥 Gate Smashers – Software Engineering Full Course​
●​ 🎥 Neso Academy – Software Requirements Engineering
1. Introduction to Software Engineering

1.​ The primary goal of software engineering is:​


a) To write code quickly​
b) To systematically develop high-quality software​
c) To eliminate all bugs​
d) To reduce documentation​
Answer: b) Systematic development of high-quality software
2.​ Which is not a software life cycle model?​
a) Waterfall​
b) Agile​
c) Spiral​
d) DMAIC​
Answer: d) DMAIC (Used in Six Sigma, not software life cycles)
3.​ The "waterfall model" is criticized for:​
a) Lack of flexibility to changes​
b) Being too iterative​
c) Not requiring documentation​
d) Encouraging prototyping​
Answer: a) Inflexibility to changes
4.​ Agile methodologies emphasize:​
a) Heavy upfront planning​
b) Iterative development and customer feedback​
c) Strict phase-wise execution​
d) Avoiding customer interaction​
Answer: b) Iterative development and feedback
5.​ The "spiral model" combines elements of:​
a) Waterfall and prototyping​
b) Only coding and testing​
c) Agile and Six Sigma​
d) None of the above​
Answer: a) Waterfall and prototyping

2. Software Requirements Analysis

6.​ A "data dictionary" in requirements engineering defines:​


a) Project costs​
b) Data items, their meanings, and relationships​
c) Team roles​
d) Coding standards​
Answer: b) Data items and relationships
7.​ An Entity-Relationship Diagram (ERD) is used to model:​
a) Software architecture​
b) Database structure​
c) User interfaces​
d) Test cases​
Answer: b) Database structure
8.​ Software prototyping is useful to:​
a) Finalize requirements early​
b) Replace testing​
c) Eliminate documentation​
d) Skip design phases​
Answer: a) Validate requirements with stakeholders
9.​ A good SRS (Software Requirements Specification) must be:​
a) Vague to allow flexibility​
b) Unambiguous and testable​
c) Written only in code​
d) Ignored during development​
Answer: b) Unambiguous and testable
10.​Finite State Machines (FSMs) are used to specify:​
a) Behavioral requirements​
b) Database schemas​
c) Team schedules​
d) Hardware configurations​
Answer: a) Behavioral requirements

3. Software Metrics

11.​Software metrics are used to:​


a) Measure code quality and progress​
b) Replace testing​
c) Eliminate documentation​
d) Reduce customer interaction​
Answer: a) Measure quality and progress
12.​Which is a "size metric"?​
a) Lines of Code (LOC)​
b) Cyclomatic complexity​
c) Defect density​
d) All of the above​
Answer: a) LOC
13.​Cyclomatic complexity measures:​
a) Code size​
b) Number of independent paths in code​
c) Team productivity​
d) Memory usage​
Answer: b) Independent paths
14.​A common problem with metrics is:​
a) Misinterpretation of data​
b) They are always accurate​
c) They replace human judgment​
d) They are never useful​
Answer: a) Misinterpretation
15.​The "Halstead complexity metric" calculates:​
a) Program vocabulary and volume​
b) Only code comments​
c) Team size​
d) Project budget​
Answer: a) Program vocabulary/volume

4. Software Project Planning

16.​COCOMO (Constructive Cost Model) estimates:​


a) Project cost and effort​
b) Only code quality​
c) Team morale​
d) User satisfaction​
Answer: a) Cost and effort
17.​Which COCOMO model is most detailed?​
a) Basic​
b) Intermediate​
c) Detailed​
d) Agile​
Answer: c) Detailed
18.​The Putnam model focuses on:​
a) Time-cost trade-offs​
b) Code formatting​
c) Database design​
d) UI prototyping​
Answer: a) Time-cost trade-offs
19.​Function Points (FP) measure software size by:​
a) User functionality​
b) Lines of code​
c) Number of bugs​
d) Team size​
Answer: a) User functionality
20.​Which is not a cost estimation technique?​
a) Expert judgment​
b) Algorithmic models (e.g., COCOMO)​
c) Code compilation​
d) Analogous estimation​
Answer: c) Code compilation

5. Software Risk Management

21.​A "software risk" is:​


a) A potential problem that could impact the project​
b) A guaranteed failure​
c) Only related to budgets​
d) Ignored in Agile​
Answer: a) Potential problem
22.​Risk management includes:​
a) Identification, analysis, mitigation​
b) Only coding​
c) Avoiding customers​
d) Skipping testing​
Answer: a) Identification, analysis, mitigation
23.​Which is a technical risk?​
a) Unclear requirements​
b) Use of untested technology​
c) Market competition​
d) Legal issues​
Answer: b) Untested technology
24.​Risk mitigation strategies include:​
a) Avoidance, transfer, acceptance​
b) Ignoring risks​
c) Stopping the project​
d) Only documentation​
Answer: a) Avoidance, transfer, acceptance
25.​A "risk register" documents:​
a) Identified risks and responses​
b) Only successful outcomes​
c) Team vacations​
d) Code syntax​
Answer: a) Risks and responses

6. Advanced Topics (26–40)

26.​Structured Analysis and Design Technique (SADT) uses:​


a) Hierarchical diagrams​
b) Only code​
c) Agile sprints​
d) Random prototyping​
Answer: a) Hierarchical diagrams
27.​Decision tables are used to model:​
a) Complex business rules​
b) Database indexes​
c) UI colors​
d) Team structure​
Answer: a) Business rules
28.​PDL (Program Design Language) is a:​
a) Pseudocode for design specification​
b) Programming language​
c) Testing tool​
d) Risk metric​
Answer: a) Pseudocode
29.​The "information flow metric" measures:​
a) Data coupling between modules​
b) Network bandwidth​
c) Team communication​
d) User feedback​
Answer: a) Data coupling
30.​Which is not a software quality attribute?​
a) Maintainability​
b) Scalability​
c) Cyclomatic complexity​
d) Usability​
Answer: c) Cyclomatic complexity (It’s a metric, not an attribute)
31.​The "cost of quality" includes:​
a) Prevention, appraisal, failure costs​
b) Only development costs​
c) Marketing expenses​
d) Hardware purchases​
Answer: a) Prevention, appraisal, failure
32.​A "work breakdown structure" (WBS) is used for:​
a) Project task decomposition​
b) Code optimization​
c) Database normalization​
d) Risk avoidance​
Answer: a) Task decomposition
33.​Which model is not iterative?​
a) Waterfall​
b) Spiral​
c) Agile​
d) Incremental​
Answer: a) Waterfall
34.​The "V-model" emphasizes:​
a) Parallel development and testing phases​
b) Only coding​
c) No documentation​
d) Avoiding validation​
Answer: a) Parallel development/testing
35.​"Configuration management" ensures:​
a) Control of software changes​
b) Only risk mitigation​
c) Team meetings​
d) User training​
Answer: a) Change control
36.​Which is a "functional requirement"?​
a) "The system shall allow users to login."​
b) "The system shall respond in 2 seconds."​
c) "The code shall have low complexity."​
d) "The UI shall be blue."​
Answer: a) User login capability
37.​"Non-functional requirements" include:​
a) Performance, security, usability​
b) Only database schemas​
c) Code comments​
d) Team size​
Answer: a) Performance, security, usability
38.​The "IEEE 830 standard" guides:​
a) SRS (Software Requirements Specification)​
b) Code compilation​
c) Risk avoidance​
d) Agile sprints​
Answer: a) SRS
39.​"User stories" are used in:​
a) Agile methodologies​
b) Waterfall only​
c) Spiral model​
d) COCOMO estimation​
Answer: a) Agile
40.​The "critical path" in project scheduling is:​
a) The longest sequence of dependent tasks​
b) The shortest path to completion​
c) A risk mitigation strategy​
d) A coding standard​
Answer: a) Longest dependent task sequence

1. Software Requirements & Specification

1.​ Which of the following is NOT a characteristic of a good Software


Requirements Specification (SRS)?​
a) Unambiguous​
b) Complete​
c) Implementation-dependent​
d) Verifiable​
Answer: c) Implementation-dependent​
Explanation: SRS should focus on what the system does, not how it is
implemented.
2.​ Entity-Relationship Diagrams (ERDs) are primarily used during:​
a) Requirement analysis​
b) Coding​
c) Testing​
d) Deployment​
Answer: a) Requirement analysis​
Explanation: ERDs model data relationships in the problem domain.
3.​ A decision table is useful for specifying:​
a) Complex business rules with multiple conditions​
b) Database schemas​
c) User interface layouts​
d) Network topologies​
Answer: a) Complex business rules
4.​ Which technique is used to validate requirements by building a simplified
version of the system?​
a) Prototyping​
b) Benchmarking​
c) Refactoring​
d) Debugging​
Answer: a) Prototyping
5.​ Functional requirements describe:​
a) What the system should do​
b) How the system should perform​
c) User interface aesthetics​
d) Programming language to be used​
Answer: a) What the system should do

2. Software Design & Architecture

6.​ High cohesion and low coupling are principles of:​


a) Good software design​
b) Poor requirements gathering​
c) Inefficient coding​
d) Minimal documentation​
Answer: a) Good software design
7.​ Which design pattern ensures only one instance of a class exists?​
a) Singleton​
b) Factory​
c) Observer​
d) Decorator​
Answer: a) Singleton
8.​ In the MVC architecture, the Controller handles:​
a) User input and business logic​
b) Data storage​
c) Display formatting​
d) Network communication​
Answer: a) User input and business logic
9.​ A "use case" describes:​
a) Interactions between actors and the system​
b) Database normalization rules​
c) Algorithm complexity​
d) Code compilation steps​
Answer: a) Actor-system interactions
10.​Which diagram shows the runtime interactions between objects?​
a) Sequence diagram​
b) Class diagram​
c) ER diagram​
d) Deployment diagram​
Answer: a) Sequence diagram

3. Software Testing

11.​Unit testing focuses on:​


a) Individual components/modules​
b) End-to-end system workflows​
c) User acceptance​
d) Network latency​
Answer: a) Individual components
12.​Which testing level checks interactions between integrated modules?​
a) Integration testing​
b) Unit testing​
c) Regression testing​
d) Smoke testing​
Answer: a) Integration testing
13.​A "test case" must include:​
a) Inputs, expected outputs, and execution conditions​
b) Only the code to be tested​
c) User manual drafts​
d) Marketing plans​
Answer: a) Inputs, outputs, and conditions
14.​Which technique is used to partition input data for testing?​
a) Equivalence partitioning​
b) Boundary value analysis​
c) Both a and b​
d) Code inspection​
Answer: c) Both a and b
15.​Regression testing ensures:​
a) New changes don’t break existing functionality​
b) All bugs are eliminated before release​
c) Users are trained on the system​
d) Documentation is up-to-date​
Answer: a) No new defects are introduced

4. Software Maintenance & Quality


16.​Corrective maintenance addresses:​
a) Defects/bugs in the system​
b) Performance optimization​
c) Adaptation to new environments​
d) Adding new features​
Answer: a) Defects/bugs
17.​The ISO 9126 standard defines:​
a) Software quality characteristics​
b) Coding standards​
c) Project management methods​
d) Hardware specifications​
Answer: a) Software quality characteristics
18.​Which metric measures the number of defects per KLOC?​
a) Defect density​
b) Cyclomatic complexity​
c) Function points​
d) Code coverage​
Answer: a) Defect density
19.​Refactoring aims to:​
a) Improve code structure without changing behavior​
b) Add new features​
c) Fix critical bugs​
d) Rewrite the entire system​
Answer: a) Improve code structure
20.​Which is NOT a software maintenance type?​
a) Adaptive​
b) Perfective​
c) Destructive​
d) Preventive​
Answer: c) Destructive

5. Advanced Topics (21–40)

21.​The "V-model" aligns each development phase with a:​


a) Corresponding testing phase​
b) Marketing milestone​
c) User training session​
d) Budget review​
Answer: a) Corresponding testing phase
22.​"Pair programming" is a practice of:​
a) Two developers working together on one workstation​
b) Writing code independently and merging later​
c) Outsourcing development​
d) Automated code generation​
Answer: a) Two developers collaborating
23.​Continuous Integration (CI) involves:​
a) Frequent code commits and automated builds​
b) Manual testing at the end of the project​
c) Ignoring version control​
d) Delaying integration until all modules are complete​
Answer: a) Frequent commits and automated builds
24.​Which tool is used for version control?​
a) Git​
b) JIRA​
c) Jenkins​
d) Selenium​
Answer: a) Git
25.​The "scrum" framework includes:​
a) Sprints, daily stand-ups, and retrospectives​
b) Gantt charts and critical path analysis​
c) Waterfall phases​
d) ISO compliance audits​
Answer: a) Sprints and stand-ups
26.​A "burn-down chart" tracks:​
a) Remaining work in a sprint​
b) Code compilation time​
c) Server uptime​
d) User satisfaction​
Answer: a) Remaining work
27.​"Technical debt" refers to:​
a) Shortcuts taken now that may require future rework​
b) Project funding issues​
c) Hardware depreciation​
d) Employee salaries​
Answer: a) Future rework due to shortcuts
28.​Which is a "white-box" testing technique?​
a) Path testing​
b) User acceptance testing​
c) Beta testing​
d) A/B testing​
Answer: a) Path testing
29.​The "IEEE 829 standard" covers:​
a) Test documentation​
b) Coding standards​
c) Risk management​
d) Cost estimation​
Answer: a) Test documentation
30.​"Code smell" indicates:​
a) Potential design flaws in code​
b) High-performance code​
c) Well-documented code​
d) Secure code​
Answer: a) Potential design flaws
31.​Which is NOT a UML diagram?​
a) Class diagram​
b) Flowchart​
c) Use case diagram​
d) Sequence diagram​
Answer: b) Flowchart
32.​The "Open-Closed Principle" states that software should be:​
a) Open for extension but closed for modification​
b) Closed for testing​
c) Open for debugging​
d) Closed for documentation​
Answer: a) Open for extension, closed for modification
33.​"Dependency Injection" promotes:​
a) Loose coupling between classes​
b) Tight integration of modules​
c) Hardcoding dependencies​
d) Avoiding interfaces​
Answer: a) Loose coupling
34.​Which agile practice involves writing tests before code?​
a) Test-Driven Development (TDD)​
b) Behavior-Driven Development (BDD)​
c) Waterfall testing​
d) Ad-hoc testing​
Answer: a) TDD
35.​The "Law of Demeter" discourages:​
a) Tight coupling between classes​
b) Loose coupling​
c) Modular design​
d) Encapsulation​
Answer: a) Tight coupling
36.​"Selenium" is used for:​
a) Automated web testing​
b) Version control​
c) Continuous integration​
d) Code refactoring​
Answer: a) Automated web testing
37.​A "mock object" is used in testing to:​
a) Simulate the behavior of real objects​
b) Replace the entire system​
c) Debug production code​
d) Optimize database queries​
Answer: a) Simulate real objects
38.​Which metric measures the percentage of code executed by tests?​
a) Code coverage​
b) Cyclomatic complexity​
c) Function points​
d) Defect density​
Answer: a) Code coverage
39.​The "Builder" design pattern is useful for:​
a) Constructing complex objects step-by-step​
b) Creating singleton instances​
c) Implementing observers​
d) Decorating classes​
Answer: a) Constructing complex objects
40.​"Kanban" emphasizes:​
a) Visualizing work and limiting work-in-progress​
b) Fixed-length iterations​
c) Comprehensive documentation​
d) Hierarchical team structures​
Answer: a) Visualizing work and limiting WIP

1. Software Requirements & Specification

1.​ Which of the following is NOT a characteristic of a good Software


Requirements Specification (SRS)?​
a) Unambiguous​
b) Complete​
c) Implementation-dependent​
d) Verifiable​
Answer: c) Implementation-dependent​
Explanation: SRS should focus on what the system does, not how it is
implemented.
2.​ Entity-Relationship Diagrams (ERDs) are primarily used during:​
a) Requirement analysis​
b) Coding​
c) Testing​
d) Deployment​
Answer: a) Requirement analysis​
Explanation: ERDs model data relationships in the problem domain.
3.​ A decision table is useful for specifying:​
a) Complex business rules with multiple conditions​
b) Database schemas​
c) User interface layouts​
d) Network topologies​
Answer: a) Complex business rules
4.​ Which technique is used to validate requirements by building a simplified
version of the system?​
a) Prototyping​
b) Benchmarking​
c) Refactoring​
d) Debugging​
Answer: a) Prototyping
5.​ Functional requirements describe:​
a) What the system should do​
b) How the system should perform​
c) User interface aesthetics​
d) Programming language to be used​
Answer: a) What the system should do

2. Software Design & Architecture

6.​ High cohesion and low coupling are principles of:​


a) Good software design​
b) Poor requirements gathering​
c) Inefficient coding​
d) Minimal documentation​
Answer: a) Good software design
7.​ Which design pattern ensures only one instance of a class exists?​
a) Singleton​
b) Factory​
c) Observer​
d) Decorator​
Answer: a) Singleton
8.​ In the MVC architecture, the Controller handles:​
a) User input and business logic​
b) Data storage​
c) Display formatting​
d) Network communication​
Answer: a) User input and business logic
9.​ A "use case" describes:​
a) Interactions between actors and the system​
b) Database normalization rules​
c) Algorithm complexity​
d) Code compilation steps​
Answer: a) Actor-system interactions
10.​Which diagram shows the runtime interactions between objects?​
a) Sequence diagram​
b) Class diagram​
c) ER diagram​
d) Deployment diagram​
Answer: a) Sequence diagram

3. Software Testing

11.​Unit testing focuses on:​


a) Individual components/modules​
b) End-to-end system workflows​
c) User acceptance​
d) Network latency​
Answer: a) Individual components
12.​Which testing level checks interactions between integrated modules?​
a) Integration testing​
b) Unit testing​
c) Regression testing​
d) Smoke testing​
Answer: a) Integration testing
13.​A "test case" must include:​
a) Inputs, expected outputs, and execution conditions​
b) Only the code to be tested​
c) User manual drafts​
d) Marketing plans​
Answer: a) Inputs, outputs, and conditions
14.​Which technique is used to partition input data for testing?​
a) Equivalence partitioning​
b) Boundary value analysis​
c) Both a and b​
d) Code inspection​
Answer: c) Both a and b
15.​Regression testing ensures:​
a) New changes don’t break existing functionality​
b) All bugs are eliminated before release​
c) Users are trained on the system​
d) Documentation is up-to-date​
Answer: a) No new defects are introduced

4. Software Maintenance & Quality

16.​Corrective maintenance addresses:​


a) Defects/bugs in the system​
b) Performance optimization​
c) Adaptation to new environments​
d) Adding new features​
Answer: a) Defects/bugs
17.​The ISO 9126 standard defines:​
a) Software quality characteristics​
b) Coding standards​
c) Project management methods​
d) Hardware specifications​
Answer: a) Software quality characteristics
18.​Which metric measures the number of defects per KLOC?​
a) Defect density​
b) Cyclomatic complexity​
c) Function points​
d) Code coverage​
Answer: a) Defect density
19.​Refactoring aims to:​
a) Improve code structure without changing behavior​
b) Add new features​
c) Fix critical bugs​
d) Rewrite the entire system​
Answer: a) Improve code structure
20.​Which is NOT a software maintenance type?​
a) Adaptive​
b) Perfective​
c) Destructive​
d) Preventive​
Answer: c) Destructive

5. Advanced Topics (21–40)

21.​The "V-model" aligns each development phase with a:​


a) Corresponding testing phase​
b) Marketing milestone​
c) User training session​
d) Budget review​
Answer: a) Corresponding testing phase
22.​"Pair programming" is a practice of:​
a) Two developers working together on one workstation​
b) Writing code independently and merging later​
c) Outsourcing development​
d) Automated code generation​
Answer: a) Two developers collaborating
23.​Continuous Integration (CI) involves:​
a) Frequent code commits and automated builds​
b) Manual testing at the end of the project​
c) Ignoring version control​
d) Delaying integration until all modules are complete​
Answer: a) Frequent commits and automated builds
24.​Which tool is used for version control?​
a) Git​
b) JIRA​
c) Jenkins​
d) Selenium​
Answer: a) Git
25.​The "scrum" framework includes:​
a) Sprints, daily stand-ups, and retrospectives​
b) Gantt charts and critical path analysis​
c) Waterfall phases​
d) ISO compliance audits​
Answer: a) Sprints and stand-ups
26.​A "burn-down chart" tracks:​
a) Remaining work in a sprint​
b) Code compilation time​
c) Server uptime​
d) User satisfaction​
Answer: a) Remaining work
27.​"Technical debt" refers to:​
a) Shortcuts taken now that may require future rework​
b) Project funding issues​
c) Hardware depreciation​
d) Employee salaries​
Answer: a) Future rework due to shortcuts
28.​Which is a "white-box" testing technique?​
a) Path testing​
b) User acceptance testing​
c) Beta testing​
d) A/B testing​
Answer: a) Path testing
29.​The "IEEE 829 standard" covers:​
a) Test documentation​
b) Coding standards​
c) Risk management​
d) Cost estimation​
Answer: a) Test documentation
30.​"Code smell" indicates:​
a) Potential design flaws in code​
b) High-performance code​
c) Well-documented code​
d) Secure code​
Answer: a) Potential design flaws
31.​Which is NOT a UML diagram?​
a) Class diagram​
b) Flowchart​
c) Use case diagram​
d) Sequence diagram​
Answer: b) Flowchart
32.​The "Open-Closed Principle" states that software should be:​
a) Open for extension but closed for modification​
b) Closed for testing​
c) Open for debugging​
d) Closed for documentation​
Answer: a) Open for extension, closed for modification
33.​"Dependency Injection" promotes:​
a) Loose coupling between classes​
b) Tight integration of modules​
c) Hardcoding dependencies​
d) Avoiding interfaces​
Answer: a) Loose coupling
34.​Which agile practice involves writing tests before code?​
a) Test-Driven Development (TDD)​
b) Behavior-Driven Development (BDD)​
c) Waterfall testing​
d) Ad-hoc testing​
Answer: a) TDD
35.​The "Law of Demeter" discourages:​
a) Tight coupling between classes​
b) Loose coupling​
c) Modular design​
d) Encapsulation​
Answer: a) Tight coupling
36.​"Selenium" is used for:​
a) Automated web testing​
b) Version control​
c) Continuous integration​
d) Code refactoring​
Answer: a) Automated web testing
37.​A "mock object" is used in testing to:​
a) Simulate the behavior of real objects​
b) Replace the entire system​
c) Debug production code​
d) Optimize database queries​
Answer: a) Simulate real objects
38.​Which metric measures the percentage of code executed by tests?​
a) Code coverage​
b) Cyclomatic complexity​
c) Function points​
d) Defect density​
Answer: a) Code coverage
39.​The "Builder" design pattern is useful for:​
a) Constructing complex objects step-by-step​
b) Creating singleton instances​
c) Implementing observers​
d) Decorating classes​
Answer: a) Constructing complex objects
40.​"Kanban" emphasizes:​
a) Visualizing work and limiting work-in-progress​
b) Fixed-length iterations​
c) Comprehensive documentation​
d) Hierarchical team structures​
Answer: a) Visualizing work and limiting WIP

Key Takeaways

●​ Requirements: SRS, ERDs, decision tables.


●​ Design: Patterns (Singleton, MVC), UML diagrams.
●​ Testing: Levels (unit, integration), techniques (TDD, equivalence partitioning).
●​ Maintenance: Types (corrective, perfective), refactoring.
●​ Agile: Scrum, CI/CD, technical debt.

Need further explanations or more questions? Let me know! 🚀


more 40

Here are 40 additional MCQs covering Software Engineering topics, including project

management, quality assurance, and emerging trends, with answers and

explanations:

1. Software Project Management

1.​ The primary purpose of a Work Breakdown Structure (WBS) is to:​


a) Decompose project tasks into manageable components​
b) Assign team member salaries​
c) Design user interfaces​
d) Write code documentation​
Answer: a) Decompose project tasks
2.​ Which factor is NOT considered in COCOMO estimation?​
a) Project size (KLOC)​
b) Team's favorite programming language​
c) Complexity factors​
d) Experience level of developers​
Answer: b) Favorite programming language
3.​ Critical Path Method (CPM) helps identify:​
a) The longest sequence of dependent tasks​
b) The shortest coding techniques​
c) Employee vacation schedules​
d) UI color schemes​
Answer: a) Longest dependent task sequence
4.​ Function Point Analysis measures software size by:​
a) User-visible functionality​
b) Lines of code​
c) Number of developers​
d) Hours spent in meetings​
Answer: a) User-visible functionality
5.​ Which is NOT a project management triangle constraint?​
a) Time​
b) Cost​
c) Quality​
d) Team shirt color​
Answer: d) Team shirt color

2. Software Quality Assurance

6.​ The PDCA cycle in quality management stands for:​


a) Plan-Do-Check-Act​
b) Program-Develop-Code-Analyze​
c) People-Data-Compute-Assess​
d) Process-Design-Configure-Audit​
Answer: a) Plan-Do-Check-Act
7.​ Which testing level validates the complete system against requirements?​
a) System testing​
b) Unit testing​
c) Integration testing​
d) Smoke testing​
Answer: a) System testing
8.​ ISO 9001 focuses on:​
a) Quality management systems​
b) Programming syntax standards​
c) Hardware manufacturing​
d) Office interior design​
Answer: a) Quality management systems
9.​ A "fishbone diagram" is used for:​
a) Root cause analysis​
b) Database schema design​
c) Code formatting​
d) Network topology mapping​
Answer: a) Root cause analysis
10.​Which metric measures the ratio of passed vs. failed test cases?​
a) Test effectiveness​
b) Code coverage​
c) Cyclomatic complexity​
d) Function points​
Answer: a) Test effectiveness

3. Software Configuration Management

11.​The main purpose of version control is to:​


a) Track changes and enable collaboration​
b) Increase code execution speed​
c) Automatically fix bugs​
d) Replace documentation​
Answer: a) Track changes and collaborate
12.​Which is NOT a version control system?​
a) Git​
b) SVN​
c) JIRA​
d) Mercurial​
Answer: c) JIRA (It's a project management tool)
13.​A "trunk" in SVN refers to:​
a) The main line of development​
b) A bug tracking system​
c) A type of software license​
d) An obsolete coding practice​
Answer: a) Main development line
14.​Continuous Integration (CI) aims to:​
a) Detect integration errors early​
b) Eliminate all manual testing​
c) Reduce team communication​
d) Slow down the development process​
Answer: a) Detect errors early
15.​Which file would you include in ".gitignore"?​
a) Temporary build files​
b) Source code files​
c) Version control history​
d) Project requirements​
Answer: a) Temporary build files

4. Emerging Trends

16.​DevOps combines:​
a) Development and operations​
b) Design and outsourcing​
c) Documentation and versioning​
d) Debugging and optimization​
Answer: a) Development and operations
17.​Microservices architecture emphasizes:​
a) Small, independent services​
b) Monolithic applications​
c) Tightly coupled components​
d) Single codebase for all features​
Answer: a) Small, independent services
18.​Which is a characteristic of containers (e.g., Docker)?​
a) Lightweight isolation​
b) Requires full OS per instance​
c) Only works on Windows​
d) Slower than virtual machines​
Answer: a) Lightweight isolation
19.​AI in software testing can help with:​
a) Automated test case generation​
b) Writing requirements documents​
c) Designing office spaces​
d) Calculating payroll​
Answer: a) Automated test generation
20.​Blockchain technology is most relevant for:​
a) Secure, decentralized transactions​
b) Improving CPU clock speeds​
c) Reducing code comments​
d) UI animation design​
Answer: a) Secure decentralized transactions

5. Software Maintenance & Documentation

21.​Perfective maintenance involves:​


a) Enhancing existing functionality​
b) Fixing critical bugs​
c) Adapting to new hardware​
d) Writing user manuals​
Answer: a) Enhancing functionality
22.​Which documentation describes "how to use" the software?​
a) User manual​
b) Technical design document​
c) Test plan​
d) Code comments​
Answer: a) User manual
23.​The primary goal of refactoring is to:​
a) Improve code structure without changing behavior​
b) Add new features quickly​
c) Reduce documentation​
d) Eliminate all testing​
Answer: a) Improve code structure
24.​Legacy systems often suffer from:​
a) Poor documentation and outdated technologies​
b) Excessive unit testing​
c) Overuse of modern frameworks​
d) Too many comments​
Answer: a) Poor documentation and outdated tech
25.​Reverse engineering is sometimes used to:​
a) Understand undocumented legacy systems​
b) Bypass software licenses illegally​
c) Avoid writing any documentation​
d) Replace all testing​
Answer: a) Understand legacy systems

6. Advanced Software Engineering (26-40)

26.​The "Capability Maturity Model (CMM)" assesses:​


a) An organization's software process maturity​
b) Individual programmer skill levels​
c) Code compilation speed​
d) Office space utilization​
Answer: a) Process maturity
27.​Which level of CMM represents "managed processes"?​
a) Level 4​
b) Level 1​
c) Level 3​
d) Level 5​
Answer: a) Level 4
28.​The "V-model" is an extension of:​
a) Waterfall model​
b) Agile methodology​
c) Spiral model​
d) Prototyping​
Answer: a) Waterfall model
29.​Which is NOT a Scrum artifact?​
a) Product Backlog​
b) Sprint Backlog​
c) Gantt chart​
d) Increment​
Answer: c) Gantt chart
30.​Daily stand-up meetings in Scrum should last:​
a) 15 minutes or less​
b) Exactly 1 hour​
c) Until all problems are solved​
d) Only when the manager is present​
Answer: a) 15 minutes or less
31.​A "spike" in Agile refers to:​
a) Time-boxed research/experimentation​
b) A severe bug​
c) Team disagreement​
d) Performance benchmark​
Answer: a) Research/experimentation
32.​Which metric would indicate good test coverage?​
a) 85% code coverage​
b) 100% meeting attendance​
c) Zero defects reported​
d) All documentation signed​
Answer: a) 85% code coverage
33.​The "DORA metrics" measure:​
a) DevOps performance​
b) Database size​
c) Developer salaries​
d) Documentation quality​
Answer: a) DevOps performance
34.​Which practice helps reduce "technical debt"?​
a) Regular refactoring​
b) Ignoring code reviews​
c) Skipping testing​
d) Avoiding documentation​
Answer: a) Regular refactoring
35.​"Shift-left testing" means:​
a) Testing earlier in the development cycle​
b) Only testing production code​
c) Eliminating unit tests​
d) Testing after documentation​
Answer: a) Testing earlier
36.​The "Test Pyramid" suggests having:​
a) Many unit tests, fewer UI tests​
b) Only manual tests​
c) Equal numbers of all test types​
d) No integration tests​
Answer: a) Many unit tests, fewer UI tests
37.​Which is a characteristic of "clean code"?​
a) Readable and maintainable​
b) Lots of comments explaining bad code​
c) Complex one-liners​
d) No error handling​
Answer: a) Readable and maintainable
38.​The "Boy Scout Rule" suggests:​
a) Always leave code cleaner than you found it​
b) Only senior developers should write code​
c) No code reviews needed​
d) Testing is optional​
Answer: a) Leave code cleaner
39.​"Feature flags" help with:​
a) Gradual feature rollouts​
b) Hiding all bugs​
c) Avoiding version control​
d) Eliminating documentation​
Answer: a) Gradual rollouts
40.​Which practice helps knowledge sharing in teams?​
a) Pair programming​
b) Siloed work​
c) No documentation​
d) Avoiding meetings​
Answer: a) Pair programming

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy