Handout

CS605 Software Engineering-II

Document Information

Subject
Computer Science
University
Virtual University of Pakistan
Academic Year
2025
Upload Date
November 5, 2025

Tags

CS605: Software Engineering-II

CS605 Software Engineering-II builds upon the foundational principles of software development (covered in Software Engineering-I) to explore the management and process aspects of building large-scale, industrial-strength software. While the first course focused on the technical 'how' of building software (analysis, design, coding, testing), this course focuses on the 'how-to-manage' building software, especially in a team environment.

This course delves into the activities related to managing the software development lifecycle. You will learn about software process models, project management, quality assurance, and the professional responsibilities of a software engineer. The focus shifts from individual programming to the coordination of teams, resources, and schedules to deliver a high-quality product on time and within budget.

Key Topics Covered:

  • Software Process Models: A deeper look at various development lifecycles beyond the traditional Waterfall model. This includes iterative models (like the Spiral model), agile methodologies (like Scrum and XP), and the V-Model.
  • Project Management: Key activities for managing a software project, including project planning, cost and effort estimation (e.g., COCOMO), scheduling (Gantt charts, PERT charts), and risk management.
  • Software Quality Assurance (SQA): Understanding the difference between quality assurance (process-oriented) and quality control (product-oriented). This includes formal technical reviews, standards (like ISO 9000), and process improvement models (like CMMI).
  • Software Configuration Management (SCM): The discipline of managing the evolution of a software system. This includes version control (using tools like Git), change control, and build management.
  • Software Testing Strategies: Moving beyond unit testing to explore integration testing, system testing, and acceptance testing. We will also discuss test case design, black-box vs. white-box testing, and debugging strategies.
  • Software Maintenance: Understanding the different types of maintenance (corrective, adaptive, perfective) and the challenges of managing software after its initial release.

Course Objectives:

  1. Understand and compare different software development process models, including agile methodologies.
  2. Apply key project management techniques for planning, estimation, and scheduling.
  3. Grasp the principles of Software Quality Assurance and process improvement.
  4. Implement Software Configuration Management practices, including version control.
  5. Develop comprehensive testing strategies for large-a_scale systems.

CS605 provides the essential non-technical skills that are critical for success in a professional software engineering career. It prepares students for leadership roles such as project manager, team lead, and quality assurance engineer, bridging the gap between being a programmer and being an engineer.

2025
Computer Science

Comments and Discussion

Comments (0)

0/2000 characters

No comments yet

Be the first to share your thoughts about this document!