Course Description:
This course intends to provide the basic concepts of software engineering. Students will learn about important areas of software engineering such as project planning, estimation, scheduling, process models, management, quality management, change and configuration management. They will also be able to comprehend the knowledge in effective manner and implement the knowledge through implementation methodologies.

Course Learning Outcomes:
CLO:1 Apply the basic concepts and conventional methods of software engineering.
CLO:2 Analyze software project plans, cost and design/sketch plan considering risk management approaches using the knowledge of software engineering.
CLO:3 Design a medium sized software system based on functional and non-functional requirements.

Course Contents:
1. Software Engineering Concepts- Four Lectures
• Introduction
• Software components and its applications
• The classic life cycles
• Software process models.

2. Conventional Methods of Software Engineering- Four Lectures
• System Hierarchy
• Information Engineering
• Business areas analysis
• Functional and behavioral modeling.

3. Project Management Concepts- Four Lectures
• The management spectrum
• Requirement Engineering
• Agile Software development

4. Estimation and Planning- Four Lectures
• Planning objectives
• Project estimation
• Empirical estimation models
• Estimation tools
• Software project plan.

5. Software Engineering Design Methods- Four Lectures
• Design process,
• Design fundamentals
• Modular design data design
• Architectural design and Procedural design.
• Agile Software

6. Software Quality Assurance and Testing- Four Lectures
• QA concepts
• Software Testing
• Testing Objectives
• Testing Principles
• Testability.

7. Data Flow Oriented Design- Four Lectures
• Design and information flow
• Design considerations Transform analysis
• Transaction analysis
• Heuristics design
• Design post processing design optimizations

8. Object Oriented Design- Four Lectures
• Design and data Structure
• Design process considerations Jack’s son system development
• Data structured system development.
• UML diagram