Admission Open

Software Engineering – I Course in Mianwali

Course Title: Software Engineering I

Course Overview:
Software Engineering I is an introductory course that covers the fundamental principles and practices of software development. Students will learn about software development life cycles, requirements engineering, software design, testing, and project management. The course emphasizes both theoretical concepts and practical application through hands-on projects and case studies.

Course Objectives:

Understand the software development process and different development life cycle models.
Learn techniques for eliciting, analyzing, and documenting software requirements.
Gain knowledge of software design principles and patterns.
Develop skills in software testing, including test planning, execution, and evaluation.
Learn about project management concepts and tools used in software development.
Enhance problem-solving and teamwork skills through group projects and activities.
Course Outline:

Introduction to Software Engineering

Definition and scope of software engineering
Software development paradigms
Software processes and life cycle models (Waterfall, Agile, etc.)
Software Requirements Engineering

Requirements elicitation techniques
Requirements analysis and specification
Use case modeling and requirements documentation
Software Design

Principles of software design
Design patterns and architectural styles
UML (Unified Modeling Language) for software design
Software Testing

Testing fundamentals and objectives
Types of testing (unit testing, integration testing, system testing, etc.)
Test planning, execution, and reporting
Software Project Management

Project planning and estimation
Risk management in software projects
Agile project management practices (Scrum, Kanban)
Software Development Tools

Version control systems (e.g., Git)
Integrated Development Environments (IDEs)
Collaboration and communication tools (e.g., Slack, Jira)
Case Studies and Project Work

Analysis of real-world software projects
Group projects to apply concepts learned
Software development life cycle in practice
Assessment Methods:

Quizzes and exams to assess theoretical knowledge.
Individual and group assignments focusing on practical skills.
Software development projects with documentation and presentations.
Participation in discussions, workshops, and peer reviews.

“Software Engineering: A Practitioner’s Approach” by Roger S. Pressman

“Introduction to the Team Software Process” by Watts S. Humphrey
“Agile Estimating and Planning” by Mike Cohn

Admission Open for this course 
Contact Number: 03307615544

Leave a Reply

Your email address will not be published. Required fields are marked *