Skip to content

Course Introduction

Welcome to the course introduction, we'll try to go through the course syllabus and other out of course syllabus [some pratical knowledge] this notes may discuss about.

This notes will discuss most of the topics mentioned on the syllabus copy and also will discuss the case studies of other softwares, discuss about system designing [Noobs hand in trying to design systems and implementing them], I intend to keep writing on this notes even after I finish the course.

without any further ado let's dive into the syllabus:


  • Chapter 1: Introduction:
    • Professional Software Development: Software Engineering Ethics, Case studies.
    • Software Processes: Models, Process activities, Coping with Change, Process improvement. The Rational Unified Process. Computer Aided Software Engineering.
    • Agile Software Development: Introduction to agile methods, Agile development techniques, Agile project management and scaling agile methods.
  • Chapter 2: Requirement Engineering and Sysem Modelling:
    • Software Requirements: Functional and Non-functional requirements. Requirements Elicitation,Specification, Validation and Change.
    • System Modeling: Context models, Interaction models,Structural models, Behavioural models, Model driven architecture.
    • Architectural Design: Design decisions, Architectural views, Architectural patterns and architectures.
  • Chapter 3: Development and Testing & Software Evolution:
    • Design and Implementation: Object oriented design using UML, Design patterns, Implementation issues, Open-source development.
    • Software Testing: Development testing, Test-driven development,Release testing, User testing.
    • Software Evolution: Evolution processes. Legacy system evolution, Software maintenance.
  • Chapter 4: Advanced Software Engineering:
    • Dependable systems:Dependability properties, Sociotechnical systems, dependable processes, formal methods and dependability,
    • Reliability engineering: Availability and reliability, reliability requirements, Reliability measurements, Component based software engineering: Components and component models , CBSE processes, component composition.
  • Chapter 5: Software Management:
    • Project Management: Risk Management, Managing People, Teamwork, Project Planning: Software Pricing, Plan driven development, Project Scheduling, Agile planning, Estimation Techniques,COCOMO cost modeling.

“Learning never exhausts the mind.” ― Leonardo da Vinci