Syllabus & Course Curriculam
Course Type: MAJ-10
Semester: 6
Course Code: BBCAMAJ10C
Course Title: Software Engineering
(L-P-Tu): 4-2-0
Credit: 6
Practical/Theory: Combined
Course Objective: Course Objectives: To learn and understand the Concepts of Software Engineering. To Learn and understand Software Development Life Cycle. To apply the project management and analysis principles to software project development. To apply the design & testing principles to software project development.
Learning Outcome: Course Outcomes: Understand and apply fundamental software engineering concepts, methodologies, and principles. Design, develop, and test software systems using different techniques and tools. Apply project management techniques and collaborate effectively in software development teams. Demonstrate ethical and professional behaviour, stay updated with emerging technologies, and understand the broader impact of software engineering.
Syllabus:
Unit I: Theory Credit:4 (L 60)
Introduction: Introduction to Software Engineering, Software Components, Software Characteristics, Software Crisis, Software Engineering Paradigm. [L 3]
Software Development Life Cycle (SDLC): Need of SDLC Models, SDLC Models: Classical Waterfall, Iterative Waterfall, Prototype, Spiral, Evolutionary, V-Model, Agile Models. [L 7]
Software Requirement Specification (SRS): Requirement Engineering Process: Elicitation, Analysis, Documentation, Review and Management of Users Need; Functional and Non-Functional Requirements; Feasibility Study and its types; Data Flow Diagram; Entity-Relationship Diagram; Data Dictionary; Decision Tables; Creating SRS Documents based on IEEE standards. [L 8]
Software Quality Assurance (SQA): Verification and Validation, McCall’s Quality Factors, SQA Plans, Software Quality Framework, ISO 9000 models, SEI-CMM and PCMM models. [L 3]
Software Design: Software Design Principles, Architectural design, Low Level Design: Modularization, Design Structure Charts, Pseudo-codes; Design Strategies: Function oriented, Object oriented, Top down and Bottom up; Cohesion and Coupling; UML Diagrams: Use-Case, Class Diagram, Activity Diagram, Sequence Diagram, Collaboration Diagrams, Component Diagram. [L 10]
Software Measurement and Metrics: Software Metrics, Size Oriented Metrics, Halstead’s Software Metrics, Function Point Analysis, Cyclomatic Complexity using CFG’s. [L 6]
Software Testing: Testing Objective, Unit Testing, Integration Testing, Acceptance Testing, Regression Testing, Testing for Functionality and Testing for performance, Top-down and Bottom-up testing Strategies, Test Drivers and Test stubs, Structural Testing, Functional Testing, Alpha and Beta Testing of products, Test Cases and Test Case Suit preparation. [L 10]
Software Project Management: Project Management Activities, Project Management Tools, Role of Project Manager, Project Scheduling: WBS, Gantt Chart and PERT/CPM, Cost Estimation using COCOMO Model. [L 7]
Case Tools: Relevance of CASE tools, High-end and Low-end CASE Tools. [L 1]
Risk Management: Proactive and Reactive Risk Management, RMMM, Risk Assessment, Risk Control, Risk Mitigation. Software Maintenance: Software as an Evolutionary entity, Need of Maintenance, Concept of Legacy Systems, Category of Maintenance: Adaptive, Perfective, Preventive and Corrective Maintenance. MTTR, MTBF; Software Reengineering, Reverse Engineering, Change Control and Version Control; Software Reuse. [L 5]
Unit II: Software Engineering Lab Credit: 2 (L 60)
Implementation of following activities for given sample project:
(Open-Source tools are recommended)
Sample Activities:
Sample Projects:
Reading References:
Basic Features
Undergraduate degree programmes of either 3 or 4-year duration, with multiple entry and exit points and re-entry options, with appropriate certifications such as:
Note: The eligibility condition of doing the UG degree (Honours with Research) is- minimum75% marks to be obtained in the first six semesters.
Powered By CityHub web solution