Software Engineering - Syllabus

Embark on a profound academic exploration as you delve into the Software Engineering course () within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-351) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60+20+20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


Course Synopsis: Discussion on types of software, developing process and maintaining the software.
Goal: This course introduces concept of software development paradigm and implementing these in real world.

Units

Unit 1

1.1 Introduction to Software Engineering: Definition of software, software engineering. Comparing between other engineering and software engineering.

1.2 System Engineering: Introduction to System, System properties, system and their environment, system modeling.

1.3 Software Process: Introduction, software process model, process iteration, software specification, software design and implementation, software validation, software evolution.

1.4 Project Management: Introduction, management activities, project planning, project scheduling, risk management.


Unit 2

2.1 Software Requirements: Introduction, Types of requirements, requirements engineering process: Feasibility study, requirements elicitation and analysis, requirement validation, requirement management.

2.2 Software Prototyping: Introduction, prototyping in the software process, rapid prototyping techniques, user interface prototyping.

2.3 Formal Specification: Introduction, formal specification in software process, interface specification, behavioral specification.


Unit 3

3.1 Architectural Design: Introduction, system structuring, control models, modular decomposition, domain specific architecture.

3.2 Object Oriented Design: Introduction, Features of object oriented design, object oriented software engineering.


Unit 4

4.1 Verification & Validation: Introduction, verification and validation planning, software inspection, cleanroom software development.

4.2 Software Testing: Introduction, types of testing, testing work benches.

4.3 Critical system validation: Introduction, formal methods and critical systems, reliability validation, safety assurance, security assessment.

4.4 Software Cost Estimation: Introduction, productivity, estimation techniques.

4.5 Software Reengineering: Introduction, source code translation, reverse engineering.