MCA-104 Software Engineering

Note:Examiner will be required to set NINE questions in all. Question Number 1 will consist of total 8 parts (objective type/short-answer type questions) covering the entire syllabus and will carry 24 marks. In addition to the compulsory question there will be four units i.e. Unit-I to Unit-IV. Examiner will set two questions from each Unit of the syllabus and each question will carry 14 marks. Student will be required to attempt FIVE questions in all. Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more questions selecting One question from each Unit.

Total Marks : 100  Theory Paper : 80  Internal Assessment: 20

Time : 3 Hours

Unit-I

Introduction: Software Crisis-problem and causes, Software Processes, Software life cycle models: Waterfall, Prototype, Evolutionary and Spiral models, Overview of Quality Standards like ISO 9001, SEI-CMM, CMMI, PCMM, Six Sigma.

Software Metrics: Size Metrics like LOC, Token Count, Function Count, Design Metrics, Data Structure Metrics, Information Flow Metrics, cyclomatic complexity, Halstead Complexity measures.

Unit-II

Software Project Planning: Cost estimation, static, Single and multivariate models, COCOMO model, Putnam Resource Allocation Model, Risk management, project scheduling, personnel planning, team structure, Software configuration management, quality assurance, project monitoring.

Software Requirement Analysis and Specifications: Structured Analysis, Data Flow Diagrams, Data Dictionaries, Entity-Relationship diagrams, Software Requirement and Specifications, Behavioral and non-behavioral requirements.

Unit-III

Software Design: Design fundamentals, problem partitioning and abstraction, design methodology, Cohesion & Coupling, Classification of Cohesiveness & Coupling, Function Oriented Design, and User Interface Design.

Coding: Programming style, structured programming.

Software reliability: metric and specification, Musa and JM reliability model, fault avoidance and tolerance, exception handling, defensive programming.

Unit-IV

Software Testing: Testing fundamentals, Functional testing: Boundary Value Analysis, Equivalence class testing, Decision table testing, Cause effect graphing, Structural testing: Control flow based and data flow based testing, loop testing, mutation testing, load, stress and performance testing, software testing strategies: unit testing, integration testing, Validation testing, System testing, Alpha and Beta testing, debugging.

Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through, Code Inspection, Compliance with Design and Coding Standards.

Software Maintenance: Management of Maintenance, Maintenance Process, maintenance characteristics, maintainability, maintenance tasks, and maintenance side effects, Reverse Engineering, Software Re-engineering, Configuration Management, Documentation.

Text Books:

References :