WEEKLY PLAN FOR THE SUBJECT OF SOFTWARE ENGINEERING
1st Week
1. Introduction to Software Engineering:
• Definition and Importance of Software Engineering
• Software Crisis and the Need for Software Engineering
• Difference Between Software Engineering and Programming
• Characteristics of Software (Complexity, Conformity, Changeability, Invisibility)
• Software Myths
2nd Week
2. Software Development Life Cycle (SDLC):
• Software Process Models: Waterfall Model, Incremental Model, Spiral Model, V-
Model, Agile Methods (Scrum, XP)
• Overview of Software Development Phases
• Feasibility Study and Planning
3rd Week
3. Software Requirements Engineering:
• Importance of Requirements Engineering
• Types of Requirements: Functional and Non-Functional
• Requirements Elicitation Techniques (Interviews, Surveys, Prototyping)
• Requirements Specification and Documentation
• Requirements Validation and Verification
• Use Case Modeling
4th Week
4. Software Design:
• Importance of Software Design
• Software Design Principles (Modularity, Abstraction, Encapsulation, Cohesion,
Coupling)
• Architectural Design and Patterns
• Design Notations (UML Diagrams: Class, Sequence, Activity, Use Case Diagrams)
• Interface Design and User-Centered Design
• Design Documentation
5th Week
5. Software Project Management:
• Software Project Planning and Scheduling
• Cost Estimation Techniques (COCOMO)
• Risk Management in Software Projects
• Team Structures and Roles in Software Development
• Configuration Management and Version Control Systems
6th Week
6. Software Testing and Quality Assurance:
• Introduction to Software Testing
• Types of Testing (Unit, Integration, System, Acceptance Testing)
• White-box and Black-box Testing
• Debugging and Error Management
• Quality Assurance and Software Standards (ISO, IEEE)
7th Week
7. Software Maintenance and Evolution:
• Types of Software Maintenance (Corrective, Adaptive, Perfective, Preventive)
• Challenges in Software Maintenance
• Software Re-engineering and Reverse Engineering
• Legacy Systems
8th Week
8. Software Documentation and Communication:
• Importance of Documentation
• Types of Documentation (User Manuals, Technical Documentation)
• Best Practices for Writing Effective Documentation
• Communication in Software Teams
9th Week
9. Ethics and Professional Practice in Software Engineering:
• Importance of Ethics in Software Engineering
• Professional Codes of Conduct (ACM, IEEE)
• Intellectual Property Rights and Software Licensing
• Privacy and Security Concerns in Software Development
Recommended Textbooks:
1. Ian Sommerville, "Software Engineering" (10th Edition), Pearson Education.
2. Roger S. Pressman, "Software Engineering: A Practitioner's Approach" (7th
Edition), McGraw-Hill.
Assessment Criteria:
• Mid-term Exam: 25%
• Final Exam: 40%
• Assignments: 10%
• Quizzes: 10%
• Projects/Case Study: 15%