(SEM VI) THEORY EXAMINATION 2017-18 SOFTWARE ENGINEERING
Software Engineering (NCS602 / ECS602)
Complete Section-Wise Explanation – B.Tech Semester VI
Introduction to the Subject
Software Engineering is the systematic approach to the development, operation, maintenance, and retirement of software systems. The subject focuses on building high-quality, reliable, maintainable, and cost-effective software using well-defined processes, tools, and techniques.
This subject helps students understand:
Software development life cycle (SDLC)
Software process models
Requirement analysis and SRS
Software design principles
Testing strategies
Cost estimation and quality models
Software maintenance and risk management
The question paper is divided into three sections: A, B, and C, all of which must be attempted as per instructions.
SECTION A – Short Answer Questions
(2 × 10 = 20 marks)
Section A checks your basic conceptual clarity. Answers should be short but meaningful, usually 2–3 lines, and technically correct.
Explanation of Section A Questions
Software Crisis
Software crisis refers to the difficulties faced in developing large software systems, such as cost overruns, delayed delivery, low quality, and poor maintainability. It led to the emergence of software engineering as a discipline.
Software Quality Attributes
Software quality attributes include reliability, efficiency, usability, maintainability, portability, security, and correctness. These attributes determine how well software meets user and system requirements.
Verification vs Validation
Verification checks whether the software is built correctly according to specifications, while validation checks whether the right software is built to satisfy user needs.
Decision Tree
A decision tree is a graphical representation of decisions and their possible consequences. It is often used in testing and decision analysis.
Principles of Software Design
Software design principles focus on modularity, abstraction, information hiding, cohesion, and low coupling to make software easy to understand and maintain.
Pseudo Code and Algorithm
Pseudo code is an informal, English-like description of program logic, while an algorithm is a formal step-by-step procedure to solve a problem.
Code Inspection
Code inspection is a static verification technique where code is reviewed manually to detect defects without executing the program.
Stub and Driver
Stubs are dummy modules used during top-down testing, while drivers are dummy calling programs used during bottom-up testing.
CASE Tools
CASE (Computer-Aided Software Engineering) tools support activities such as analysis, design, coding, testing, and maintenance of software.
Adaptive and Corrective Maintenance
Corrective maintenance fixes defects found after delivery, while adaptive maintenance modifies software to work in a changed environment.
SECTION B – Descriptive & Analytical Questions
(Attempt any three, 10 × 3 = 30 marks)
Section B requires detailed explanations written in paragraph form, supported with diagrams, examples, and comparisons where applicable.
Spiral Model – Advantages and Disadvantages
The Spiral Model combines iterative development with risk analysis. Each loop of the spiral includes planning, risk analysis, engineering, and evaluation.
Its advantages include early risk identification, flexibility, and suitability for large projects.
Disadvantages include high cost, complexity, and the need for skilled risk assessment.
CMM Model and Comparison with ISO
The Capability Maturity Model (CMM) measures the maturity of software development processes across five levels: Initial, Repeatable, Defined, Managed, and Optimizing.
ISO focuses on quality standards and documentation, while CMM emphasizes continuous process improvement and maturity.
Methods of Verification
Verification ensures correctness without executing code.
Common methods include reviews, walkthroughs, inspections, and static analysis. These methods help detect errors early, reducing cost and rework.
Structure Chart and Its Basic Blocks
A structure chart represents the hierarchical organization of software modules.
Basic blocks include sequence, selection, and iteration.
It helps in understanding module relationships, data flow, and control flow.
Cost Analysis and COCOMO Model
Cost analysis estimates effort, time, and cost of software development.
The COCOMO (Constructive Cost Model) estimates effort based on software size and development mode (organic, semi-detached, embedded). It helps in project planning and budgeting.
SECTION C – Long Answer Questions
(5 × 10 = 50 marks)
Section C has the highest weightage and requires well-structured, in-depth answers.
Question 3
Phases of Software Development Life Cycle (SDLC)
SDLC includes requirement analysis, system design, implementation, testing, deployment, and maintenance. Each phase plays a vital role in ensuring software quality and user satisfaction.
OR
Iterative Enhancement Model
This model develops software in small increments. Each iteration adds functionality based on user feedback.
Advantages include early delivery and flexibility, while disadvantages include management complexity.
Question 4
Data Flow Diagram (DFD)
A DFD represents data flow within a system.
Basic components include processes, data stores, data flows, and external entities.
DFDs help in understanding system requirements visually.
OR
Software Requirement Specification (SRS)
SRS is a formal document describing software requirements.
A good SRS should be correct, complete, consistent, unambiguous, verifiable, and modifiable.
Question 5
Objectives and Approaches of Software Design
The objective of software design is to convert requirements into a workable solution.
Approaches include top-down design, bottom-up design, and structured design.
OR
Cyclomatic Complexity
Cyclomatic complexity measures program complexity based on control flow.
It can be calculated using control flow graph edges and nodes, number of decision points, or regions. It helps in testing and maintainability analysis.
Question 6
Regression Testing and Test Case Prioritization
Regression testing ensures that changes do not introduce new defects.
Test case prioritization orders test cases based on importance, risk, or recent changes to improve efficiency.
OR
Integration Testing
Integration testing checks interactions between modules.
Approaches include top-down, bottom-up, and sandwich testing.
Question 7
Software Configuration Management (SCM)
SCM manages changes in software artifacts.
Activities include configuration identification, version control, change control, status accounting, and audits.
OR
Software Risk Analysis and Management
Risk management identifies, analyzes, and mitigates project risks.
It involves risk identification, risk assessment, risk prioritization, and risk control to ensure project success.
Related Notes
BASIC ELECTRICAL ENGINEERING
ENGINEERING PHYSICS THEORY EXAMINATION 2024-25
(SEM I) ENGINEERING CHEMISTRY THEORY EXAMINATION...
THEORY EXAMINATION 2024-25 ENGINEERING MATHEMATICS...
(SEM I) THEORY EXAMINATION 2024-25 ENGINEERING CHE...
(SEM I) THEORY EXAMINATION 2024-25 ENVIRONMENT AND...
Need more notes?
Return to the notes store to keep exploring curated study material.
Back to Notes StoreLatest Blog Posts
Best Home Tutors for Class 12 Science in Dwarka, Delhi
Top Universities in Chennai for Postgraduate Courses with Complete Guide
Best Home Tuition for Competitive Exams in Dwarka, Delhi
Best Online Tutors for Maths in Noida 2026
Best Coaching Centers for UPSC in Rajender Place, Delhi 2026
How to Apply for NEET in Gurugram, Haryana for 2026
Admission Process for BTech at NIT Warangal 2026
Best Home Tutors for JEE in Maharashtra 2026
Meet Our Exceptional Teachers
Discover passionate educators who inspire, motivate, and transform learning experiences with their expertise and dedication
Explore Tutors In Your Location
Discover expert tutors in popular areas across India
Discover Elite Educational Institutes
Connect with top-tier educational institutions offering world-class learning experiences, expert faculty, and innovative teaching methodologies