TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Software Engineering

Software engineering is the systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software. It applies engineering principles to create high-quality, reliable, and efficient software systems on time and within budget, covering the entire lifecycle from initial requirements to final maintenance.

Select University

TUFWU

Select Program

BSC-CSITBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . Software Engineering . TU . BSC-CSIT

Software Engineering

0%

Course Title: Software Engineering

Course No: CSC375

Nature of the Course: Theory + Lab

Semester: 6

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction
2 hrs
1.1. Software Engineering Fundamentals
  • Software and its Types
  • Attributes of Good Software
  • Software Engineering and its Importance
  • Fundamental Software Engineering Activities
  • Difference between Software Engineering and Computer Science
  • Difference between Software Engineering and System Engineering
  • Challenges and Cost of Software Engineering
  • Professional Software Development
  • Software Engineering Diversity
  • Internet Software Engineering
  • Software Engineering Ethics
2. Software Processes
5 hrs
2.1. Software Process
2.2. Software Process Models
  • Waterfall Model
  • Incremental Development
  • Integration and Configuration
2.3. Process Activities
  • Software Specification
  • Software Design and Implementation
  • Software Validation
  • Software Evolution
2.4. Change and Improvement
  • Coping with Change
  • Prototyping
  • Incremental Delivery
  • Process Improvement
3. Agile Software Development
3 hrs
3.1. Agile Methodologies
  • Agile Development
  • Plan-Driven vs. Agile Development
  • Agile Methods
  • Agile Development Techniques
  • Introduction to Agile Project Management
4. Requirements Engineering
3 hrs
4.1. Requirements Analysis
  • Concept of User and System Requirements
  • Functional and Non-Functional Requirements
  • Requirements Engineering Process
  • Requirements Elicitation
  • Requirements Specification
  • Requirements Validation
  • Requirements Change
5. System Modeling
6 hrs
5.1. Modeling Techniques
  • Introduction to System Modeling
  • Context Models
  • Interaction Models
  • Structural Models
  • Behavioral Models
  • Model-Driven Architecture
6. Architectural Design
6 hrs
6.1. Software Architecture
  • Introduction
  • Architectural Design Decisions
  • Architectural Views
  • Architectural Patterns
  • Application Architectures
7. Design and Implementation
5 hrs
7.1. Design and Development
  • Introduction
  • Object-Oriented Design using UML
  • Design Patterns
  • Implementation Issues
  • Open-Source Development
8. Software Testing
5 hrs
8.1. Testing Methods
  • Introduction
  • Validation and Verification Testing
  • Software Inspection
  • Software Testing Process
  • Development Testing
  • Test-Driven Development
  • Release Testing
  • User Testing
9. Software Evolution
3 hrs
9.1. Evolution and Maintenance
  • Evolution Process
  • Legacy Systems
  • Software Maintenance
10. Software Management
7 hrs
10.1. Project Management
  • Software Project Management
  • Project Planning
  • Risk Management
  • People Management
  • Reporting and Proposal Writing
10.2. Planning and Estimation
  • Software Pricing
  • Plan-Driven Development
  • Project Scheduling
  • Estimation Techniques
  • COCOMO Cost Modeling
10.3. Quality and Configuration
  • Introduction to Quality Management
  • Introduction to Configuration Management

Laboratory Works

  1. 1.Software Engineering Project

Text Books

  1. 1.Software Engineering, 10th Edition, Ian Sommerville, Pearson Education 2016

Reference Books

  1. 1.Software Engineering: A Practitioner's Approach, 8th Edition, Roger S. Pressman and Bruce R. Maxim, McGraw-Hill Education 2015
  2. 2.Beginning Software Engineering, Rod Stephens, John Wiley & Sons Inc 2015

Notes:

Source:

This course familiarizes students with different concepts of software engineering mainly focusing on software process models, agile development, requirements engineering, models, design, implementation, testing, evolution, and software project management.
Provide knowledge of different concepts of software engineering so that students will be able to develop high quality software using different software management skills
Students should prepare a project report along with software product using different concepts of software engineering. The project can be done in groups with at most four members in each group using any suitable database, programming, interfacing technologies, and project management concepts.
This syllabus follows the official B.Sc. CSIT curriculum of Tribhuvan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.