Sign In

 SWE 418: Software Engineering Project II

Course Information

Class/Laboratory Schedule: 

6 hours lab per week(0-6-2)

Designation:   Required Course

Course Level:   Undergraduate


Prerequisite(s) by Topic: 

  • Software tools and environments
  • Software processes
  • Software requirements and specifications
  • Software design
  • Using APIs
  • Software Validation
  • Software project management
  • Communication skills
  • Writing skills

Prerequisite Courses: 

Catalog Description: 

This is the second part of a two-semester, senior-year capstone project. Student teams employ knowledge gained from courses throughout the program such as the development of requirements, design, implementation, and quality assurance to develop a software solution to a real-world problem from conception to completion. In this part, students implement the design they produced in SWE 417, test their code, and evaluate their final product.


Pressman, R.S. Software Engineering: A Practitioner’s Approach, 6th Ed., McGraw-Hill Companies, Inc., 2005.
Somerville, Ian. Software Engineering, 7th Ed., Addison-Wesley, 2004.

Course Outcomes: 

Upon completion of this course, students will have the ability to:

  • Develop implementation and testing project plans for a software development project.
  • Review and inspect software requirements specification (SRS) and software design document (SDD).
  • Design and implement test plans and apply appropriate testing techniques.
  • Implement a software system given requirements and design documents using sound development practices.
  • Work as a responsible member, and possibly a leader, of a team in developing software solutions.
  • Express technical ideas, strategies and methodologies in written form.
  • Prepare and conduct oral presentations.
  • Self-learn and use the available software tools, technologies and techniques.
  • Understand the impact of computing solutions in a global and societal context.
  • Realize ethical and professional responsibilities.

Topics Covered: 

  • Rapid software development
  • Software reuse
  • Component-based SWE
  • Critical systems development
  • Software evolution
  • Configuration management
  • Web engineering
  • Analysis of web applications
  • Design for web applications
  • Testing web applications