Bcsc009: Software Engineering: No. Content Teaching Hours
Bcsc009: Software Engineering: No. Content Teaching Hours
Session 2018-19)
B.Tech. Computer Science & Engineering
Module Teaching
Content
No. Hours
Introductory Concepts: The evolving role of software – characteristics,
components and applications.
Process Models: Waterfall Model, Prototyping, Incremental, Spiral, RAD.
Software Requirement Specification: Requirement Process, SRS
I Components, Requirement Specifications with Use Cases Diagram, 13
Requirements Validation. Software Project Planning: Project Planning
Objectives.
Software Metrics: Size, Function Point, Staffing, Project Estimation Methods–
Decomposition Techniques; Empirical Estimation Models – COCOMO Model.
Function-Oriented Design: Problem Partitioning, Abstraction, Top Down and
Bottom Up Design.
Module-Level Concepts: Coupling, Cohesion, Design Notation and
Specification - Structure Charts; Structured Design Methodology - Data Flow
Diagram.
II OO Analysis and OO Design: OO Concepts, Introduction to UML Design 13
Patterns.
Design Verifications: Design Walkthroughs, Critical Design Review,
Consistency Checkers.
Coding: Coding Process, Verification - Code Inspections, Static Analysis,
Proving Correctness; Metrics- Size Measures and Complexity Metrics.
Testing Fundamentals: Test Case Design, White Box Testing, Basis Path
Testing, Control Structure Testing, Black Box Testing Strategies, Unit Testing,
Integration Testing, Validation Testing, Reliability Estimation, Basic Concepts
and Definitions, Reliability Model. Software Quality, ISO 9000 Certification for
Software Industry, SEI Capability Maturity Model.
III Software Configuration Management: Introduction to SCM, Version Control 14
and Change Management.
Risk Management: Risk Mitigation, Monitoring, and Management.
Software Maintenance: Models, Cost of Maintenance, Re-engineering,
Reverse Engineering.
Text Books:
• R. S. Pressman (2010), “Software Engineering: A Practitioners Approach”, 7thEdition, McGraw Hill.
Reference Books:
• K. K. Aggarwal and Yogesh Singh (2008), “Software Engineering”, 3rd Edition, New Age
International Publishers.
• Rajib Mall (2009), “Fundamentals of Software Engineering”, 3rd Edition, PHI Publication.
• R.E Fairley (2004), “Software Engineering”, McGraw Hill.
• Sommerville (2010), “Software Engineering”, 9th Edition, Pearson Education.
Outcome:
• The ability to apply software engineering theory, principles, tools and processes, as well as the theory
and principles of computer science and mathematics, to the development and maintenance of complex
software systems.
• The ability to design and experiment with software prototypes and to select and use software metrics.
• Effective communications skills through oral and written reports and software documentation
evaluated by both peers and faculty.
• The ability to elicit, analyze and specify software requirements through a productive working
relationship with project stakeholders.